/* ===== Start_Attractor_Careers.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */


    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #4b5563;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }
    
    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
      margin-top: 0.35rem;
      margin-bottom: 0.4rem;
    }

    .tag-row span {
      font-size: 0.78rem;
      padding: 0.15rem 0.55rem;
      border-radius: 999px;
      background: var(--accent-soft);
      color: #0b567f;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    
    /* Program CTA image link (inside each Venture program card) */
    .program-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .program-cta img {
      width: clamp(190px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .program-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .program-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Start Club CTA image link (inside the Start Club card) */
    .startclub-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .startclub-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .startclub-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .startclub-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }

/* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: none;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: transparent;
	  overflow: hidden;     /* clip the image to the box */
  	  display: block;
      margin-bottom: 0.4rem;
    }
/* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
	  display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }
      
    /* Converging Skills (full-width card under the community grid) */
    .converging-card{
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: 1.25rem;
      align-items: center;
    }
    .converging-logo{
      display:flex;
      justify-content:center;
      align-items:center;
      padding: 0.5rem;
    }
    .converging-logo img{
      width: min(200px, 100%);
      height: auto;
      display:block;
    }
    @media (max-width: 840px){
      .converging-card{
        grid-template-columns: 1fr;
      }
      .converging-logo{
        justify-content:flex-start;
      }
      .converging-logo img{
        width: 180px;
      }
    }


    /* Footer brand alignment */
    .footer-inner {
      align-items: start;
    }

    .footer-brand {
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
    }

    
    .footer-brand-text{ padding-top: 0.1rem; }
.footer-brand-logo {
      width: 150px;
      height: 150px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
    }

    .footer-brand-name {
      color: #e5e7eb;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .footer-brand-address {
      margin-top: 0.35rem;
      white-space: nowrap;
    }

    .footer-brand-vat {
      margin-top: 0.35rem;
      color: #9ca3af;
    }

    @media (max-width: 520px) {
      .footer-brand-name,
      .footer-brand-address {
        white-space: normal;
      }
    }



  /* Careers page: keep additions minimal */
  .section-lead a { font-weight: 600; }
  /* Make the 'Work with us' nav anchor feel active on this page (optional, subtle) */
  nav ul li a[href="#open-roles"] { font-weight: 700; }


/* ===== Start_Attractor_Converging_Skills.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    /* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


    /* Footer brand alignment */
    .footer-inner {
      align-items: start;
    }

    .footer-brand {
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
    }

    
    .footer-brand-text{ padding-top: 0.1rem; }
.footer-brand-logo {
      width: 150px;
      height: 150px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
    }

    .footer-brand-name {
      color: #e5e7eb;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .footer-brand-address {
      margin-top: 0.35rem;
      white-space: nowrap;
    }

    .footer-brand-vat {
      margin-top: 0.35rem;
      color: #9ca3af;
    }

    @media (max-width: 520px) {
      .footer-brand-name,
      .footer-brand-address {
        white-space: normal;
      }
    }


    /* Committees card */
    .committee-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.25rem;
      margin-top: 1rem;
    }
    .committee-col h3{
      margin: 0 0 0.6rem 0;
      font-size: 1.05rem;
    }
    .committee-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:0.55rem;
    }
    .committee-list li{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:0.75rem;
      padding:0.55rem 0.65rem;
      border:1px solid rgba(0,0,0,0.06);
      border-radius:12px;
      background: rgba(255,255,255,0.65);
    }
    .member-name{ font-weight:700; }
    .li-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;
      height:34px;
      border-radius:10px;
      border:1px solid rgba(0,75,141,0.18);
      background: rgba(229,240,251,0.7);
      color:#004b8d;
      text-decoration:none;
      flex:0 0 auto;
    }
    .li-ico{ width:16px; height:16px; fill:currentColor; }
    @media (max-width: 900px){
      .committee-grid{ grid-template-columns: 1fr; }
    }


/* ===== Start_Attractor_Converging_Skills_Speakers.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    /* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


    /* Footer brand alignment */
    .footer-inner {
      align-items: start;
    }

    .footer-brand {
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
    }

    
    .footer-brand-text{ padding-top: 0.1rem; }
.footer-brand-logo {
      width: 150px;
      height: 150px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
    }

    .footer-brand-name {
      color: #e5e7eb;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .footer-brand-address {
      margin-top: 0.35rem;
      white-space: nowrap;
    }

    .footer-brand-vat {
      margin-top: 0.35rem;
      color: #9ca3af;
    }

    @media (max-width: 520px) {
      .footer-brand-name,
      .footer-brand-address {
        white-space: normal;
      }
    }


    /* Committees card */
    .committee-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.25rem;
      margin-top: 1rem;
    }
    .committee-col h3{
      margin: 0 0 0.6rem 0;
      font-size: 1.05rem;
    }
    .committee-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:0.55rem;
    }
    .committee-list li{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:0.75rem;
      padding:0.55rem 0.65rem;
      border:1px solid rgba(0,0,0,0.06);
      border-radius:12px;
      background: rgba(255,255,255,0.65);
    }
    .member-name{ font-weight:700; }
    .li-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;
      height:34px;
      border-radius:10px;
      border:1px solid rgba(0,75,141,0.18);
      background: rgba(229,240,251,0.7);
      color:#004b8d;
      text-decoration:none;
      flex:0 0 auto;
    }
    .li-ico{ width:16px; height:16px; fill:currentColor; }
    @media (max-width: 900px){
      .committee-grid{ grid-template-columns: 1fr; }
    }
    /* Speakers page */
    .speaker-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.25rem;
      margin-top: 1.2rem;
    }
    .speaker-card{ display:flex; flex-direction: column; gap: 0.75rem; }
    .speaker-photo{
      width: 100%;
      aspect-ratio: 4 / 3;
      border-radius: 0.9rem;
      border: 1px dashed #cbd5f5;
      background: #f9fafb;
      display:flex;
      align-items:center;
      justify-content:center;
      color: var(--muted);
      font-size: 0.8rem;
      overflow:hidden;
    }
    .speaker-photo img{ width:100%; height:100%; object-fit: cover; display:block; border-radius:0.9rem; }
    .speaker-name-row{ display:flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 0.2rem; }
    .speaker-name{ font-weight: 800; font-size: 1.02rem; margin: 0; color: var(--dark); line-height: 1.2; }
    .speaker-affil{ font-size: 0.88rem; color: var(--muted); margin: 0.15rem 0 0 0; }
    .speaker-role{ font-size: 0.85rem; color: var(--muted); margin: 0.35rem 0 0 0; }
    .speaker-bio{ font-size: 0.9rem; color: var(--muted); margin: 0.6rem 0 0 0; }
    .li-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width: 36px;
      height: 36px;
      border-radius: 10px;
      border: 1px solid rgba(0,75,141,0.18);
      background: rgba(229,240,251,0.7);
      color: #004b8d;
      text-decoration:none;
      flex: 0 0 auto;
    }
    .li-pill svg{ width: 16px; height: 16px; fill: currentColor; }
    @media (max-width: 960px){
      .speaker-hero{ grid-template-columns: 1fr; }
      .speaker-grid{ grid-template-columns: 1fr; }
    }


/* ===== Start_Attractor_Corporate_Learning.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    

    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }

/* Footer brand alignment */
    .footer-inner {
      align-items: start;
    }

    .footer-brand {
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
    }

    
    .footer-brand-text{ padding-top: 0.1rem; }
.footer-brand-logo {
      width: 150px;
      height: 150px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
    }

    .footer-brand-name {
      color: #e5e7eb;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .footer-brand-address {
      margin-top: 0.35rem;
      white-space: nowrap;
    }

    .footer-brand-vat {
      margin-top: 0.35rem;
      color: #9ca3af;
    }

    @media (max-width: 520px) {
      .footer-brand-name,
      .footer-brand-address {
        white-space: normal;
      }
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(170px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


/* ===== Start_Attractor_Master.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(170px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


    /* Curriculum / schedule table (full-width, no horizontal scrolling) */
    .schedule-wrap { overflow-x: visible; }
    .schedule-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 0;
      table-layout: fixed;
    }
    .schedule-table thead th {
      text-align: left;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      background: #f8fafc;
      border-bottom: 1px solid #e5e7eb;
      padding: 0.85rem 0.9rem;
      white-space: normal;
      word-break: break-word;
    }
    .schedule-table td {
      border-bottom: 1px solid #eef2f7;
      padding: 0.85rem 0.9rem;
      vertical-align: top;
      white-space: normal;
      word-break: break-word;
      font-size: 0.9rem;
      color: var(--muted);
    }
    .schedule-table tr:last-child td { border-bottom: none; }
    .schedule-table td.month { width: 100px; font-weight: 700; white-space: nowrap; color: var(--dark); }
    .schedule-table .session { font-weight: 600; color: var(--dark); margin-bottom: 0.15rem; }
    .schedule-table .meta { font-size: 0.85rem; color: var(--muted); }
    @media (max-width: 720px) {
      .schedule-table thead th,
      .schedule-table td { padding: 0.65rem 0.65rem; }
      .schedule-table td.month { width: 80px; }
    }


/* ===== Start_Attractor_Mentors.html (style block 1) ===== */
:root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }
    a { color: var(--primary); text-decoration: none; }
    a:hover { text-decoration: underline; }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }
    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }
    .logo-link {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.25rem;
      color: var(--primary);
      text-decoration: none;
    }
    .logo-mark {
      width: 72px;
      height: 72px;
      border-radius: 0;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }
    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
      flex-wrap: wrap;
    }
    .btn-primary, .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }
    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }
    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }
    .btn-primary:hover { background: #00386a; text-decoration: none; }
    .btn-outline:hover { border-color: var(--primary); background: #f3f4ff; text-decoration: none; }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }
    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2.25rem;
      align-items: center;
      padding: 2.25rem 0 1.75rem;
    }
    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.75rem;
    }
    .hero-title {
      font-size: clamp(2rem, 3vw, 2.6rem);
      margin: 0 0 0.75rem 0;
    }
    .hero-subtitle {
      color: var(--muted);
      margin: 0 0 1.1rem 0;
      max-width: 44rem;
    }
    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }
    .hero-side {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }
    .hero-side img {
      width: 100%;
      height: auto;
      display: block;
    }
    section {
      padding: 2.25rem 0;
      border-top: 1px solid #e5e7eb;
    }
    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }
    .section-title {
      font-size: 1.7rem;
      margin: 0 0 0.6rem 0;
      color: var(--dark);
    }
    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin: 0 0 1.25rem 0;
    }
    .grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.25rem;
    }
    .mentor-card {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .mentor-top {
      display: flex;
      gap: 0.9rem;
      align-items: center;
    }
    .avatar {
      width: 64px;
      height: 64px;
      border-radius: 16px;
      border: 1px dashed #cbd5f5;
      background: #f9fafb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      flex: 0 0 auto;
    }
    .mentor-name { font-weight: 700; }
    .mentor-role { color: var(--muted); font-size: 0.9rem; }
    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
    }
    .tag {
      font-size: 0.75rem;
      padding: 0.22rem 0.6rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }
    .note {
      color: var(--muted);
      font-size: 0.9rem;
    }
    
    /* Mentor cards with photos */
    .avatar-img {
      padding: 0;
      border: none;
      overflow: hidden;
      background: #f3f4f6;
    }
    .avatar-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .mentor-group + .mentor-group {
      margin-top: 1.75rem;
    }

footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }
    .footer-bottom {
      max-width: var(--max-width);
      margin: 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }
    .footer-bottom a { color: #9ca3af; }
    .footer-bottom a:hover { color: #e5e7eb; text-decoration: none; }

    @media (max-width: 960px) {
      .hero { grid-template-columns: minmax(0, 1fr); }
      .nav-inner { flex-direction: column; align-items: flex-start; }
    }
    @media (max-width: 860px) {
      .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      main { padding: 1.25rem 1rem 2.5rem 1rem; }
      .grid { grid-template-columns: minmax(0, 1fr); }
    }
  

    .mentor-links{
      margin-top: .5rem;
      display:flex;
      gap:.5rem;
      align-items:center;
    }
    .mentor-links .linkedin-link{
      width:20px;
      height:20px;
      color:#0A66C2;
      display:inline-flex;
    }
    .mentor-links .linkedin-link svg{width:100%;height:100%;fill:currentColor;}
    .mentor-links .linkedin-link:hover{color:#004182;}

    /* Mentor search */
    .mentor-search input:focus {
      outline: none;
      border-color: #c7d2fe;
      box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15);
    }


    /* Simplified mentor cards (uniform height) */
    .mentor-top--simple {
      display: grid;
      grid-template-columns: 64px 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .mentor-text {
      min-width: 0;
    }

    .mentor-title {
      color: var(--muted);
      font-size: 0.92rem;
      line-height: 1.3;
      margin-top: 0.1rem;
    }

    .mentor-company {
      color: var(--dark);
      font-size: 0.92rem;
      line-height: 1.3;
      margin-top: 0.2rem;
      font-weight: 600;
    }

    .mentor-card {
      min-height: 140px;
    }

    .mentor-links {
      margin-left: auto;
      display: flex;
      align-items: center;
    }


/* ===== Start_Attractor_Privacy_Policy.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.25rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 72px;
      height: 72px;
      border-radius: 0;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    }

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    .governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  


    /* Privacy page layout tweaks */
    .privacy-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.35rem 1.4rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    }
    .privacy-card h2, .privacy-card h3 { margin-top: 1.25rem; }
    .privacy-card ul { margin: 0.5rem 0 0.5rem 1.15rem; }


/* ===== Start_Attractor_Start_Club.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    
    /* Program CTA image link (inside each Venture program card) */
    .program-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .program-cta img {
      width: clamp(190px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .program-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .program-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Start Club CTA image link (inside the Start Club card) */
    .startclub-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .startclub-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .startclub-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .startclub-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }

/* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


/* ===== Start_Attractor_Teachers.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

.grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(170px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


    /* Curriculum / schedule table (full-width, no horizontal scrolling) */
    .schedule-wrap { overflow-x: visible; }
    .schedule-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 0;
      table-layout: fixed;
    }
    .schedule-table thead th {
      text-align: left;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      background: #f8fafc;
      border-bottom: 1px solid #e5e7eb;
      padding: 0.85rem 0.9rem;
      white-space: normal;
      word-break: break-word;
    }
    .schedule-table td {
      border-bottom: 1px solid #eef2f7;
      padding: 0.85rem 0.9rem;
      vertical-align: top;
      white-space: normal;
      word-break: break-word;
      font-size: 0.9rem;
      color: var(--muted);
    }
    .schedule-table tr:last-child td { border-bottom: none; }
    .schedule-table td.month { width: 100px; font-weight: 700; white-space: nowrap; color: var(--dark); }
    .schedule-table .session { font-weight: 600; color: var(--dark); margin-bottom: 0.15rem; }
    .schedule-table .meta { font-size: 0.85rem; color: var(--muted); }
    @media (max-width: 720px) {
      .schedule-table thead th,
      .schedule-table td { padding: 0.65rem 0.65rem; }
      .schedule-table td.month { width: 80px; }
    }


    
    /* Format card: add a decorative "details" image without changing card height */
    .format-card{ position:relative; overflow:hidden; }
    .format-card .format-details-img{
      position:absolute;
      right: 1.0rem;
      bottom: 0.9rem;
      height: clamp(64px, 9vw, 92px); /* height-driven so it always stays inside the card */
      width: auto;
      display:block;
      pointer-events:none;
      opacity: 0.98;
    }
    /* Keep action buttons from running underneath the image */
    .format-card .format-actions{
      max-width: calc(100% - 220px);
    }
    @media (max-width: 720px){
      .format-card .format-details-img{
        height: clamp(56px, 18vw, 84px);
        right: 0.85rem;
        bottom: 0.75rem;
      }
      .format-card .format-actions{ max-width: 100%; }
    }
      .format-card .format-actions{
        max-width: 100%;
      }
    }


    /* Teachers page */
    .teacher-grid{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
    @media (max-width: 1020px){ .teacher-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
    @media (max-width: 640px){ .teacher-grid{ grid-template-columns: 1fr; } }
    .teacher-head{ display:flex; gap: 1rem; align-items: center; }
    .teacher-avatar{
      width: 84px; height: 84px; border-radius: 18px; object-fit: cover;
      background: rgba(20, 44, 80, 0.08);
      border: 1px solid rgba(20, 44, 80, 0.10);
    }
    .teacher-meta{ display:flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
    .teacher-name{ font-weight: 800; font-size: 1.05rem; letter-spacing: -0.01em; margin:0; }
    .teacher-role{ color: var(--muted); margin:0; font-size: 0.92rem; }
    .teacher-links{ margin-left: auto; display:flex; gap: 0.5rem; align-items:center; }
    .linkedin-btn{
      display:inline-flex; align-items:center; justify-content:center;
      width: 40px; height: 40px; border-radius: 999px;
      border: 1px solid rgba(20, 44, 80, 0.14);
      background: rgba(255,255,255,0.72);
      color: var(--ink);
      transition: transform 120ms ease, background 120ms ease;
    }
    .linkedin-btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,0.92); }
    .teacher-body p{ margin: 0.6rem 0 0 0; color: var(--muted); line-height: 1.5; }
    .teacher-tags{ display:flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.85rem; }
    .teacher-tags .pill{ font-size: 0.78rem; }


/* ===== Start_Attractor_Terms_Open_Calls.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }



    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


/* ===== Start_Attractor_Venture_Kneading.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }
      
    .grid-1 {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    /* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }



    /* Curriculum / schedule table */
    .schedule-wrap { overflow-x: visible; }
    .schedule-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 0;           /* remove forced horizontal scroll */
      table-layout: fixed;    /* distribute columns within the page */
    }
    .schedule-table thead th {
      text-align: left;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      background: #f8fafc;
      border-bottom: 1px solid #e5e7eb;
      padding: 0.85rem 0.9rem;
      white-space: normal;    /* allow wrapping */
      word-break: break-word;
    }
    .schedule-table td {
      border-bottom: 1px solid #eef2f7;
      padding: 0.85rem 0.9rem;
      vertical-align: top;
      white-space: normal;
      word-break: break-word;
    }
    .schedule-table tr:last-child td { border-bottom: none; }
    .schedule-table td.week { width: 120px; font-weight: 700; white-space: nowrap; }
    .schedule-table .session { font-weight: 600; color: var(--dark); margin-bottom: 0.15rem; }
    .schedule-table .meta { font-size: 0.85rem; color: var(--muted); }
    .schedule-badge {
      display: inline-block;
      margin-left: 0.35rem;
      font-size: 0.65rem;
      font-weight: 700;
      padding: 0.16rem 0.45rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      vertical-align: middle;
      white-space: nowrap;
    }

    /* On small screens, reduce padding so the table fits comfortably */
    @media (max-width: 720px) {
      .schedule-table thead th,
      .schedule-table td {
        padding: 0.65rem 0.65rem;
      }
      .schedule-table td.week { width: 96px; }
    }


/* ===== Start_Attractor_Venture_Leavening.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    /* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }


  /* Page-specific tweaks */
  .breadcrumb {
    font-size: 0.85rem;
    color: var(--muted);
    margin-bottom: 0.75rem;
  }
  .breadcrumb a { color: var(--primary); }
  .program-hero {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
    gap: 2.5rem;
    align-items: start;
  }
  .program-hero .hero-graphic-placeholder img {
    border-radius: 1.1rem;
  }
  .program-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
  }
  @media (max-width: 960px) {
    .program-hero, .program-highlights { grid-template-columns: 1fr; }
  }
  

    /* Curriculum / schedule table */
    .schedule-wrap { overflow-x: auto; }
    .schedule-table { width: 100%; border-collapse: collapse; min-width: 720px; }
    .schedule-table thead th {
      text-align: left;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      background: #f8fafc;
      border-bottom: 1px solid #e5e7eb;
      padding: 0.85rem 0.9rem;
      white-space: nowrap;
    }
    .schedule-table td {
      border-bottom: 1px solid #eef2f7;
      padding: 0.85rem 0.9rem;
      vertical-align: top;
    }
    .schedule-table tr:last-child td { border-bottom: none; }
    .schedule-table td.week { width: 130px; font-weight: 600; white-space: nowrap; }
    .schedule-table .session { font-weight: 600; color: var(--dark); margin-bottom: 0.15rem; }
    .schedule-table .meta { font-size: 0.85rem; color: var(--muted); }
    .schedule-badge {
      display: inline-block;
      margin-left: 0.35rem;
      font-size: 0.65rem;
      font-weight: 700;
      padding: 0.16rem 0.45rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      vertical-align: middle;
      white-space: nowrap;
    }


/* ===== Start_Attractor_Venture_Seasoning.html (style block 1) ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    /* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: 1px dashed #cbd5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: #f9fafb;
      margin-bottom: 0.4rem;
    }

    
    /* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }



    /* Curriculum / schedule table */
    .schedule-wrap { overflow-x: visible; }
    .schedule-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 0;
      table-layout: fixed;
    }
    .schedule-table thead th {
      text-align: left;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      background: #f8fafc;
      border-bottom: 1px solid #e5e7eb;
      padding: 0.85rem 0.9rem;
      white-space: normal;
      word-break: break-word;
    }
    .schedule-table td {
      border-bottom: 1px solid #eef2f7;
      padding: 0.85rem 0.9rem;
      vertical-align: top;
      white-space: normal;
      word-break: break-word;
    }
    .schedule-table tr:last-child td { border-bottom: none; }
    .schedule-table td.week { width: 110px; font-weight: 700; white-space: nowrap; }
    .schedule-table .session { font-weight: 600; color: var(--dark); margin-bottom: 0.15rem; }
    .schedule-table .meta { font-size: 0.85rem; color: var(--muted); }

    @media (max-width: 720px) {
      .schedule-table thead th,
      .schedule-table td { padding: 0.65rem 0.65rem; }
      .schedule-table td.week { width: 92px; }
    }


/* ===== Start_Attractor_Main.html (style block 1) [AUTHORITATIVE] ===== */
/* Simple neutral styling so you can view locally.
       In WordPress this would normally be handled by the theme. */

    :root {
      --primary: #004b8d;
      --primary-light: #e5f0fb;
      --accent: #00a6a6;
      --dark: #1f2933;
      --muted: #6b7280;
      --bg: #f5f6fa;
      --white: #ffffff;
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--dark);
      line-height: 1.6;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    header {
      background: var(--white);
      border-bottom: 1px solid #e5e7eb;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .nav-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 800;
      font-size: 1.35rem;
      color: var(--primary);
    }

    .logo-mark {
      width: 96px;
      height: 96px;
      border-radius: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      line-height: 1;
    
      padding: 6px;

      border: none;
}

    nav ul {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0.95rem;
    }

    .btn-primary,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.1rem;
      font-size: 0.9rem;
      font-weight: 600;
      border: 1px solid transparent;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--primary);
      color: var(--white);
      border-color: var(--primary);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary);
      border-color: var(--primary-light);
    }

    .btn-primary:hover {
      background: #00386a;
      text-decoration: none;
    }

    .btn-outline:hover {
      border-color: var(--primary);
      background: #f3f4ff;
      text-decoration: none;
    }

    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem;
    }

    section {
      padding: 3rem 0;
      border-bottom: 1px solid #e5e7eb;
    }

    section:last-of-type {
      border-bottom: none;
      padding-bottom: 4rem;
    }

    .section-eyebrow {
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }

    .section-title {
      font-size: 1.9rem;
      margin: 0 0 0.75rem 0;
      color: var(--dark);
    }

    .section-lead {
      max-width: 720px;
      font-size: 1rem;
      color: var(--muted);
      margin-bottom: 1.75rem;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap: 2.5rem;
      align-items: center;
    }

    .hero-kicker {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      margin-bottom: 0.8rem;
    }

    .hero-title {
      font-size: 2.4rem;
      margin: 0 0 0.75rem 0;
    }

    .hero-subtitle {
      color: var(--muted);
      max-width: 32rem;
      margin-bottom: 1.5rem;
    }

    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 1.25rem;
    }

    .hero-graphic {
      background: radial-gradient(circle at 10% 20%, var(--primary-light), #ffffff);
      border-radius: 1.5rem;
      padding: 1.25rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
    }

    .hero-graphic-placeholder {
      border-radius: 1.1rem;
      border: 1px dashed #cbd5f5;
      padding: 1rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 1rem;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      font-size: 0.85rem;
    }

    .stat-card {
      background: #ffffff;
      border-radius: 0.9rem;
      padding: 0.75rem 0.9rem;
      border: 1px solid #e5e7eb;
    }

    .stat-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
      margin-bottom: 0.15rem;
    }

    .stat-value {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    .pill {
      font-size: 0.75rem;
      padding: 0.3rem 0.65rem;
      border-radius: 999px;
      background: var(--primary-light);
      color: var(--primary);
      white-space: nowrap;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.2rem 1.3rem;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    .card-header {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }

    .card-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
    }

    .card-title {
      font-weight: 600;
      margin: 0;
    }

    .card-body {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .card-list {
      margin: 0.5rem 0 0 1.1rem;
      padding: 0;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      color: var(--muted);
      margin-left: 0.25rem;
    }

    .pill-label {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 0.3rem;
    }

    .logos-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      font-size: 0.9rem;
      color: var(--muted);
    }

    .logo-placeholder {
      width: 120px;
      height: 40px;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      color: var(--muted);
      background: #ffffff;
    }

    .jobs-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .job-card {
      background: var(--white);
      border-radius: 0.9rem;
      padding: 1rem 1.1rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .job-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0.15rem 0 0.4rem 0;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 2rem;
    }

    .contact-card {
      background: var(--white);
      border-radius: 1.1rem;
      padding: 1.3rem 1.4rem;
      border: 1px solid #e5e7eb;
      font-size: 0.9rem;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem 1rem;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.85rem;
    }

    .form-field label {
      font-weight: 500;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      border-radius: 0.5rem;
      border: 1px solid #d1d5db;
      padding: 0.45rem 0.6rem;
      font: inherit;
    }

    .form-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .map-placeholder {
      background: #e5f0fb;
      border-radius: 1rem;
      border: 1px dashed #cbd5f5;
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

    /* Embedded map (Contact section) */
    .map-embed-wrap {
      margin-top: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
      height: 180px;
    }

    .map-embed {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }



    footer {
      background: #0b1220;
      color: #9ca3af;
      padding: 2.5rem 1.5rem;
      margin-top: 2rem;
    }

    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2.3fr) repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
      font-size: 0.85rem;
    }

    .footer-logo {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .footer-column-title {
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #e5e7eb;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.25rem;
    }

    .footer-links a {
      color: #9ca3af;
    }

    .footer-links a:hover {
      color: #e5e7eb;
    }

    .footer-bottom {
      max-width: var(--max-width);
      margin: 1.75rem auto 0 auto;
      border-top: 1px solid #1f2937;
      padding-top: 0.75rem;
      font-size: 0.8rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      display: inline-block;
      margin-right: 0.3rem;
    }




    /* Executive Master CTA image link */
    .master-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .master-cta img {
      width: clamp(220px, 28vw, 380px);
      height: auto;
      display: block;
    }

    .master-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .master-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Terms & Open Calls CTA image link (inside the program terms card) */
    .terms-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .terms-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .terms-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .terms-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }



    /* Row to place multiple CTA images on the same line */
    .cta-row {
      display: flex;
      gap: 0.9rem;
      justify-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      margin-top: 0.9rem;
    }

    .cta-row .terms-cta,
    .cta-row .mentors-cta {
      margin-top: 0;
      align-self: auto;
    }

    .cta-row .terms-cta img {
      width: clamp(160px, 20vw, 260px);
    }

    .cta-row .mentors-cta img {
      width: clamp(160px, 20vw, 260px);
    }


    /* Mentors CTA image link (inside the mentors card) */
    .mentors-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .mentors-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .mentors-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .mentors-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    }

    .mentors-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }
      
    
    /* Program CTA image link (inside each Venture program card) */
    .program-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .program-cta img {
      width: clamp(190px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .program-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .program-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }


    /* Start Club CTA image link (inside the Start Club card) */
    .startclub-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .startclub-cta img {
      width: clamp(170px, 22vw, 320px);
      height: auto;
      display: block;
    }

    .startclub-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .startclub-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }

/* Events CTA image link (inside the Events card) */
    .events-card-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }

    .events-cta {
      display: inline-flex;
      align-self: flex-end;
      margin-top: 0.9rem;
      border-radius: 14px;
      text-decoration: none;
      transition: transform 150ms ease, box-shadow 150ms ease;
    }

    .events-cta img {
      width: clamp(160px, 22vw, 300px);
      height: auto;
      display: block;
    }

    .events-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.12);
      text-decoration: none;
    }

    .events-cta:focus-visible {
      outline: 3px solid rgba(59, 130, 246, 0.6);
      outline-offset: 4px;
    }  


    /* Hero visual image (replaces placeholder content) */
    .hero-graphic-placeholder img {
      border-radius: 1.1rem;
    }

    .hero-graphic-placeholder:has(img) {
      border: none;
      padding: 0;
      margin-bottom: 1rem;
      background: transparent;
    }


    /* Location photo (Community > Spaces card) */
    .location-photo-wrap {
      border-radius: 1rem;
      overflow: hidden;
      border: 1px solid #e5e7eb;
      background: #ffffff;
    }

    .location-photo-wrap img {
      width: 100%;
      height: auto;
      display: block;
    }



    /* Clickable logo + title back-to-top links */
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    .logo-link:hover {
      text-decoration: none;
    }
    .title-link {
      color: inherit;
      text-decoration: none;
    }
    .title-link:hover {
      text-decoration: underline;
    }



    /* Footer bottom link color (make Privacy Policy link white) */
    .footer-bottom a {
      color: #ffffff;
    }
    .footer-bottom a:hover {
      color: #e5e7eb;
    }



    /* Governance LinkedIn link */
    .governance-links {
      margin-top: 0.4rem;
      display: flex;
    }

    .linkedin-link {
      display: inline-flex;
      width: 22px;
      height: 22px;
      color: #0A66C2;
    }

    .linkedin-link svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
    }

    .linkedin-link:hover {
      color: #004182;
    }

    .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;
    }



    /* Slightly larger SA logo mark + better image fit */
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }



    /* Header logo: no dotted/dashed border */
    .logo-mark {
      border: none !important;
      outline: none !important;
      background: transparent;
    }



    /* Partner logo boxes: remove dotted/dashed borders */
    .logo-placeholder {
      border: 1px solid #e5e7eb !important;
    }



    /* Founding partners logos as links */
    .logos-row .logo-placeholder a:hover {
      text-decoration: none;
      filter: brightness(0.98);
    }


    /* Responsive tweaks */
    @media (max-width: 960px) {
      .hero,
      .grid-3,
      .grid-2,
      .contact-layout,
      .jobs-list,
      .footer-inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .nav-inner {
        flex-direction: column;
        align-items: flex-start;
      }

      nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      main {
        padding: 1.25rem 1rem 2.5rem 1rem;
      }

      .hero-title {
        font-size: 2rem;
      }

      .hero-graphic {
        order: -1;
      }
    }
  
    .governance-section-intro {
      margin-top: 2.5rem;
    }

    .section-subtitle {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-group {
      margin-top: 1.5rem;
    }

    .governance-group-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      color: var(--dark);
    }

    .governance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }

    

    /* Board of Directors: 5 cards in a single row on wide screens */
    .governance-grid--board {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 1200px) {
      .governance-grid--board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .governance-grid--board {
        grid-template-columns: minmax(0, 1fr);
      }
    }
.governance-card {
      background: #ffffff;
      border-radius: 1rem;
      border: 1px solid #e5e7eb;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .governance-photo {
      width: 100%;
      aspect-ratio: 440 / 364;
      border-radius: 0.8rem;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      color: var(--muted);
      background: transparent;
      margin-bottom: 0.4rem;
    }
/* Governance photos: allow real images to fill the placeholder nicely */
    .governance-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
            object-position: center top;
display: block;
      border-radius: 0.8rem;
    }
.governance-name {
      font-weight: 600;
    }

    .governance-role {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-org {
      font-size: 0.85rem;
      color: var(--muted);
    }

    .governance-note {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 0.75rem;
    }

  
    /* Cookie disclaimer banner */
    .cookie-banner {
      position: fixed;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 9999;
      background: rgba(15, 23, 42, 0.95);
      color: #ffffff;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 1rem;
      padding: 1rem 1.05rem;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      display: none;
    }

    .cookie-banner .cookie-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.9rem;
      align-items: center;
    }

    .cookie-banner p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.35;
      color: rgba(255,255,255,0.92);
    }

    .cookie-banner a {
      color: #ffffff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .cookie-actions {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .cookie-btn {
      border-radius: 999px;
      padding: 0.6rem 0.9rem;
      font-weight: 700;
      border: 1px solid rgba(255,255,255,0.22);
      background: transparent;
      color: #ffffff;
      cursor: pointer;
      white-space: nowrap;
    }

    .cookie-btn.primary {
      background: #ffffff;
      color: #0f172a;
      border-color: #ffffff;
    }

    .cookie-btn:hover {
      filter: brightness(0.98);
    }

    @media (max-width: 720px) {
      .cookie-banner .cookie-inner {
        grid-template-columns: 1fr;
      }
      .cookie-actions {
        justify-content: flex-start;
      }
    }
      
    /* Converging Skills (full-width card under the community grid) */
    .converging-card{
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: 1.25rem;
      align-items: center;
    }
    .converging-logo{
      display:flex;
      justify-content:center;
      align-items:center;
      padding: 0.5rem;
    }
    .converging-logo img{
      width: min(200px, 100%);
      height: auto;
      display:block;
    }
    @media (max-width: 840px){
      .converging-card{
        grid-template-columns: 1fr;
      }
      .converging-logo{
        justify-content:flex-start;
      }
      .converging-logo img{
        width: 180px;
      }
    }


    /* Footer brand alignment */
    .footer-inner {
      align-items: start;
    }

    .footer-brand {
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
    }

    
    .footer-brand-text{ padding-top: 0.1rem; }
.footer-brand-logo {
      width: 150px;
      height: 150px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
    }

    .footer-brand-name {
      color: #e5e7eb;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .footer-brand-address {
      margin-top: 0.35rem;
      white-space: nowrap;
    }

    .footer-brand-vat {
      margin-top: 0.35rem;
      color: #9ca3af;
    }

    @media (max-width: 520px) {
      .footer-brand-name,
      .footer-brand-address {
        white-space: normal;
      }
    }


/* ===== Accessibility helpers (WCAG 2.1 AA) ===== */
.skip-link{
  position:absolute;
  left:-999px;
  top:0.5rem;
  z-index:1000;
  padding:0.6rem 1rem;
  background:#ffffff;
  color:var(--primary);
  border:2px solid var(--primary);
  border-radius:999px;
}
.skip-link:focus{left:0.75rem;}

:focus-visible{
  outline:3px solid #111827;
  outline-offset:3px;
}

a, button, input, select, textarea{scroll-margin-top:100px;}

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

/* Reduce motion if user prefers */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* Footer legal links alignment */
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.footer-legal{
  display:flex;
  gap:0.5rem;
  align-items:center;
  font-size:0.9rem;
}



/* WCAG helpers */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:10000;padding:0.75rem 1rem;border-radius:12px;background:#fff;color:#111;box-shadow:0 10px 30px rgba(0,0,0,0.18);outline:3px solid rgba(0,0,0,0.35);}
:focus-visible{outline:3px solid rgba(0,0,0,0.45);outline-offset:3px;}
.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;}
@media (prefers-reduced-motion: reduce){*{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}}


/* WCAG AA strict enhancements */

/* Improve link distinguishability (WCAG 1.4.1) */
a{ text-decoration: underline; text-underline-offset: 0.16em; text-decoration-thickness: 0.08em; }
a:hover, a:focus-visible{ text-decoration-thickness: 0.12em; }
/* Buttons/CTAs should not be underlined */
a.btn-primary, a.btn-outline, a.btn-secondary, .btn-primary a, .btn-outline a{ text-decoration:none; }

/* Improve form control contrast and focus */
input, select, textarea{
  border-color: rgba(17,24,39,0.35);
}
input:focus, select:focus, textarea:focus{
  outline: 3px solid rgba(17,24,39,0.55);
  outline-offset: 2px;
}
::placeholder{ color: rgba(55,65,81,0.85); }

/* Ensure focus ring not removed by component styles */
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline: 3px solid rgba(17,24,39,0.55);
  outline-offset: 3px;
}

/* Ensure sufficient line-height for readability */
body{ line-height: 1.5; }
/* WCAG strict overrides */
:root{
  /* improve contrast for secondary text */
  --muted: #374151;
}

/* Ensure link visibility is not color-only, but keep buttons clean */
a{ text-decoration-thickness: 2px; text-underline-offset: 0.18em; }
.btn-primary, .btn-outline, .btn{ text-decoration: none; }

/* Stronger outline buttons for contrast */
.btn-outline{
  border-color: rgba(0,0,0,0.35) !important;
}
.btn-outline:hover{
  border-color: var(--primary) !important;
}

/* Form field focus and error visibility */
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible{
  outline: 3px solid rgba(17,24,39,0.7);
  outline-offset: 3px;
}

/* Increase default text spacing for readability (WCAG 1.4.12 friendly) */
body{ line-height: 1.55; }

/* Design override: remove underlines from all links */
a, a:visited, a:hover, a:active {
  text-decoration: none !important;
  text-decoration-thickness: initial !important;
  text-underline-offset: initial !important;
}

/* Mentors cards: simplified availability + keywords */
.mentor-availability{
  margin-top:0.5rem;
  font-size:0.92rem;
  color: rgba(0,0,0,0.75);
}
.mentor-keywords{
  margin-top:0.35rem;
  font-size:0.9rem;
  color: rgba(0,0,0,0.65);
  line-height:1.35;
}

/* --- FIX overflow orizzontale tabelle (mettere in fondo al CSS) --- */
#main-content .schedule-wrap{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#main-content .schedule-table{
  width: 100%;
  min-width: 720px; /* forza lo scroll interno su schermi stretti */
  border-collapse: collapse;
}

@media (max-width: 720px){
  #main-content .schedule-table{ min-width: 640px; }
}

/* MASTER page: applica lo stesso contenitore di <main> ai <section> */
body.page-id-2329 > section{
  max-width: var(--max-width, 1100px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}