:root {
  --c1: #1F5FE0; --c1b: #EEF4FF;
  --c2: #6A3DE8; --c2b: #F3EEFF;
  --c3: #127A7A; --c3b: #E8F6F5;
  --c4: #C0262D; --c4b: #FDEFEF;
  --c5: #D97706; --c5b: #FFF6E8;
  --c6: #0E7490; --c6b: #E9F6FA;
  --c7: #4F46E5; --c7b: #EEF2FF;
  --c8: #059669; --c8b: #ECFDF5;
}

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

    html,
    body {
      background: #090d16;
      font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
      color: #0f172a;
      -webkit-font-smoothing: antialiased;
      line-height: 1.6;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      margin: 0;
      padding: 0;
      overflow-x: hidden !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    .site-nav {
      background: transparent;
      border-bottom: 1px solid rgba(255, 255, 255, 0.12);
      padding: 0 36px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 76px;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000
    }

    .nav-links {
      display: flex;
      gap: 32px;
      align-items: center
    }

    .nav-links a {
      font-size: 14px;
      color: rgba(255, 255, 255, 0.85);
      text-decoration: none;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s
    }

    .nav-links a:hover {
      color: #38bdf8
    }

    .nav-cta {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      color: #fff !important;
      border: none;
      border-radius: 10px;
      padding: 10px 22px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      text-decoration: none;
      box-shadow: 0 4px 14px rgba(124, 58, 237, .35);
      transition: all .2s;
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .nav-cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(124, 58, 237, .5)
    }

    .api-banner {
      display: none !important;
      background: linear-gradient(90deg, #fffbeb, #fef3c7);
      border-bottom: 1px solid #fde68a;
      padding: 12px 36px;
      align-items: center;
      gap: 16px;
      box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.02)
    }

    .api-banner.ok {
      background: linear-gradient(90deg, #f0fdf4, #dcfce7);
      border-color: #bbf7d0
    }

    .api-label {
      font-size: 13px;
      font-weight: 700;
      color: #92400e;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      gap: 8px
    }

    .api-banner.ok .api-label {
      color: #166534
    }

    .api-input-wrap {
      display: flex;
      flex: 1;
      gap: 10px;
      max-width: 540px
    }

    .api-input-wrap input {
      flex: 1;
      border: 1.5px solid #fcd34d;
      border-radius: 10px;
      padding: 9px 14px;
      font-size: 13px;
      font-family: monospace;
      outline: none;
      background: #fff;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
      transition: all 0.2s
    }

    .api-banner.ok .api-input-wrap input {
      border-color: #86efac
    }

    .api-input-wrap input:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15)
    }

    .api-save-btn {
      background: #2563eb;
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 9px 18px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      white-space: nowrap;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: all 0.2s;
      box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2)
    }

    .api-save-btn:hover {
      background: #1d4ed8;
      transform: translateY(-1px)
    }

    .api-status {
      font-size: 13px;
      color: #6b7280;
      flex-shrink: 0;
      font-weight: 600
    }

    .api-banner.ok .api-status {
      color: #15803d
    }

    .api-banner.err {
      background: #fef2f2;
      border-color: #fca5a5
    }

    .api-banner.err .api-label,
    .api-banner.err .api-status {
      color: #991b1b
    }

    .api-banner.testing {
      background: #f0f4ff;
      border-color: #c7d7fd
    }

    .api-banner.testing .api-label,
    .api-banner.testing .api-status {
      color: #1e40af
    }

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

    .spin {
      animation: spin-icon 1s linear infinite;
      display: inline-block
    }

    /* HERO & PROFILER SPLIT LAYOUT */
    /* ELEMENTOR HEADER OVERRIDES */
    #masthead {
      position: absolute;
      width: 100%;
      z-index: 1000;
      top: 0;
      left: 0;
      right: 0;
    }

    #masthead .elementor-section {
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 !important;
    }

    #masthead .elementor-container {
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 !important;
    }

    #masthead .elementor-widget-wrap {
      padding: 0 !important;
    }

    /* ELEMENTOR GLOBAL OVERRIDES (REMOVE GAPS) */
    .elementor-section:not(.hero) {
      padding: 0 !important;
    }

    .elementor-widget-wrap {
      padding: 0 !important;
    }

    .elementor-widget {
      margin-bottom: 0 !important;
    }

    /* ELEMENTOR HERO OVERRIDES */
    .elementor-section:has(.hero-content) {
      background: #0b111e;
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.96) 100%), url('../images/hero_bg.png') center/cover no-repeat;
      padding: 120px 0 100px !important;
      position: relative;
      overflow: hidden;
      color: #fff;
    }

    .elementor-section:has(.hero-content)>.elementor-container {
      display: grid !important;
      grid-template-columns: 1fr 480px !important;
      align-items: center !important;
      gap: 40px !important;
      max-width: 1400px !important;
      padding: 0 40px !important;
      margin: 0 auto !important;
    }

    .elementor-section:has(.hero-content) .elementor-column {
      width: 100% !important;
    }

    .elementor-section:has(.hero-content)::before {
      content: '';
      position: absolute;
      top: -100px;
      left: 15%;
      width: 350px;
      height: 350px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, rgba(11, 17, 30, 0) 70%);
      pointer-events: none;
    }

    .elementor-section:has(.hero-content)::after {
      content: '';
      position: absolute;
      bottom: -50px;
      right: 10%;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(139, 92, 246, 0.1) 0%, rgba(11, 17, 30, 0) 70%);
      pointer-events: none;
    }

    .hero {
      background: #0b111e;
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.96) 100%), url('../images/hero_bg.png') center/cover no-repeat;
      padding: 120px 0 100px;
      position: relative;
      overflow: hidden;
      color: #fff
    }

    .hero-orb-1 {
      position: absolute;
      top: -100px;
      left: 15%;
      width: 350px;
      height: 350px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, 0.25) 0%, rgba(0, 0, 0, 0) 70%);
      pointer-events: none;
      filter: blur(40px)
    }

    .hero-orb-2 {
      position: absolute;
      bottom: -80px;
      right: 15%;
      width: 300px;
      height: 300px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(168, 85, 247, 0.2) 0%, rgba(0, 0, 0, 0) 70%);
      pointer-events: none;
      filter: blur(40px)
    }

    .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.18);
      backdrop-filter: blur(8px);
      border-radius: 30px;
      padding: 8px 20px;
      font-size: 12px;
      font-weight: 700;
      color: #60a5fa;
      letter-spacing: 0.08em;
      margin-bottom: 24px;
      text-transform: uppercase;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15)
    }

    .hero-eyebrow .dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #2563eb;
      box-shadow: 0 0 10px rgba(37, 99, 235, 0.8);
      animation: pulse 2s infinite
    }

    @keyframes pulse {

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

      50% {
        opacity: 0.5;
        transform: scale(1.3)
      }
    }

    .hero-container {
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 56px;
      align-items: center;
      text-align: left
    }

    .hero-content {
      display: flex;
      flex-direction: column;
      align-items: flex-start
    }

    .hero h1 {
      font-size: 46px;
      font-weight: 800;
      color: #ffffff;
      line-height: 1.15;
      margin-bottom: 20px;
      max-width: 100%;
      margin-left: 0;
      margin-right: 0;
      letter-spacing: -0.03em
    }

    .hero h1 span {
      background: linear-gradient(135deg, #93c5fd 0%, #2563eb 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent
    }

    .hero p {
      font-size: 16.5px;
      color: #94a3b8;
      max-width: 100%;
      margin: 0 0 40px;
      line-height: 1.75;
      font-weight: 400;
      text-align: left
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      width: 100%;
      gap: 16px;
      margin: 0
    }

    .hero-stat {
      background: rgba(255, 255, 255, 0.05);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 14px;
      padding: 16px 12px;
      transition: all 0.3s;
      text-align: center
    }

    .hero-stat:hover {
      background: rgba(255, 255, 255, 0.09);
      transform: translateY(-3px);
      border-color: rgba(56, 189, 248, 0.4)
    }

    .hero-stat .num {
      font-size: 26px;
      font-weight: 800;
      color: #f8fafc;
      background: linear-gradient(180deg, #fff 0%, #cbd5e1 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent
    }

    .hero-stat .lab {
      font-size: 12px;
      color: #94a3b8;
      margin-top: 4px;
      font-weight: 600
    }

    .profiler-wrap {
      width: 100%;
      margin: 0;
      padding: 0;
      position: relative;
      z-index: 10
    }

    .profiler-card {
      background: #fff;
      border-radius: 24px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.06)
    }

    @media (max-width:992px) {
      .hero {
        background: #0b111e;
        padding: 100px 0 60px
      }

      .hero-container {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center
      }

      .hero-content {
        align-items: center
      }

      .hero h1 {
        font-size: 36px;
        text-align: center
      }

      .hero p {
        text-align: center
      }

      .hero-stats {
        grid-template-columns: repeat(2, 1fr)
      }

      .profiler-wrap {
        max-width: 600px;
        margin: 0 auto
      }
    }

    .prog-header {
      background: linear-gradient(135deg, #2563eb, #1d4ed8);
      padding: 22px 32px
    }

    .prog-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 16px
    }

    .prog-title-text {
      color: #fff;
      font-size: 16px;
      font-weight: 700
    }

    .prog-count {
      color: rgba(255, 255, 255, 0.7);
      font-size: 13px;
      font-weight: 600
    }

    .steps-row {
      display: flex;
      align-items: center
    }

    .sdot {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 700;
      flex-shrink: 0;
      transition: all 0.2s
    }

    .sdot.done {
      background: #38bdf8;
      color: #0f172a
    }

    .sdot.active {
      background: #fff;
      color: #2563eb;
      box-shadow: 0 0 12px rgba(255, 255, 255, 0.5)
    }

    .sdot.pending {
      background: rgba(255, 255, 255, 0.18);
      color: rgba(255, 255, 255, 0.6)
    }

    .sline {
      flex: 1;
      height: 3px;
      background: rgba(255, 255, 255, 0.2);
      margin: 0 6px;
      border-radius: 2px
    }

    .sline.done {
      background: #38bdf8
    }

    .card-body {
      padding: 30px 34px
    }

    .sec {
      display: none
    }

    .sec.active {
      display: block
    }

    .stitle {
      font-size: 18px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 4px
    }

    .ssub {
      font-size: 14px;
      color: #64748b;
      margin-bottom: 24px;
      line-height: 1.5
    }

    .field {
      margin-bottom: 18px
    }

    .field label {
      display: block;
      font-size: 12px;
      font-weight: 700;
      color: #475569;
      margin-bottom: 6px;
      text-transform: uppercase;
      letter-spacing: 0.05em
    }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      border: 1.5px solid #e2e8f0;
      border-radius: 10px;
      padding: 11px 14px;
      font-size: 14px;
      color: #0f172a;
      background: #fff;
      transition: all 0.2s;
      outline: none
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12)
    }

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

    .grid2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px
    }

    .upzone {
      border: 2px dashed #cbd5e1;
      border-radius: 12px;
      padding: 22px 18px;
      text-align: center;
      cursor: pointer;
      background: #f8fafc;
      transition: all 0.2s
    }

    .upzone:hover {
      border-color: #2563eb;
      background: #eff6ff
    }

    .upzone.ok {
      border-color: #10b981;
      border-style: solid;
      background: #f0fdf4
    }

    .upzone i {
      font-size: 28px;
      color: #94a3b8;
      display: block;
      margin-bottom: 8px
    }

    .upzone.ok i {
      color: #10b981
    }

    .upzone .ut {
      font-size: 14px;
      font-weight: 600;
      color: #334155
    }

    .upzone.ok .ut {
      color: #065f46
    }

    .upzone .us {
      font-size: 12px;
      color: #94a3b8;
      margin-top: 4px
    }

    #cv-file {
      display: none
    }

    .chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 6px
    }

    .chip {
      padding: 8px 16px;
      border-radius: 24px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      border: 1.5px solid #e2e8f0;
      background: #fff;
      color: #475569;
      transition: all 0.2s;
      user-select: none
    }

    .chip:hover {
      border-color: #2563eb;
      color: #2563eb;
      background: #eff6ff
    }

    .chip.sel {
      background: #2563eb;
      color: #fff;
      border-color: #2563eb;
      box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25)
    }

    .errmsg {
      font-size: 12px;
      color: #ef4444;
      margin-top: 6px;
      display: none;
      font-weight: 600
    }

    .lang-grid {
      display: grid;
      grid-template-columns: 110px 1fr;
      gap: 12px;
      align-items: center;
      padding: 12px 16px;
      border-bottom: 1px solid #f1f5f9
    }

    .lang-n {
      font-size: 14px;
      font-weight: 700;
      color: #334155
    }

    .lang-btns {
      display: flex;
      gap: 8px
    }

    .lbtn {
      padding: 6px 12px;
      border-radius: 8px;
      font-size: 12px;
      font-weight: 600;
      border: 1.5px solid #e2e8f0;
      background: #fff;
      color: #64748b;
      cursor: pointer;
      transition: all 0.2s
    }

    .lbtn.on {
      background: #2563eb;
      color: #fff;
      border-color: #2563eb;
      box-shadow: 0 2px 6px rgba(37, 99, 235, 0.2)
    }

    .nav-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 26px;
      padding-top: 20px;
      border-top: 1px solid #f1f5f9
    }

    .btn-back {
      background: transparent;
      color: #64748b;
      border: 1.5px solid #e2e8f0;
      border-radius: 10px;
      padding: 11px 22px;
      font-size: 14px;
      cursor: pointer;
      font-weight: 600;
      transition: all 0.2s
    }

    .btn-back:hover {
      border-color: #334155;
      color: #0f172a
    }

    .btn-next {
      background: #2563eb;
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 11px 24px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 8px;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
      transition: all 0.2s
    }

    .btn-next:hover {
      background: #1d4ed8;
      transform: translateY(-1px)
    }

    .btn-go {
      background: linear-gradient(135deg, #2563eb, #06b6d4);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 12px 28px;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 10px;
      box-shadow: 0 6px 20px rgba(37, 99, 235, 0.35);
      transition: all 0.2s
    }

    .btn-go:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(37, 99, 235, 0.45)
    }

    .loader {
      text-align: center;
      padding: 50px 20px
    }

    .spinner {
      width: 48px;
      height: 48px;
      border: 4px solid #e2e8f0;
      border-top-color: #2563eb;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
      margin: 0 auto 16px
    }

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

    .loader p {
      color: #64748b;
      font-size: 15px;
      font-weight: 500
    }

    .loader .ltag {
      font-size: 12px;
      color: #06b6d4;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 8px
    }

    .gemini-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      border-radius: 8px;
      padding: 4px 12px;
      font-size: 12px;
      font-weight: 700;
      color: #2563eb;
      margin-bottom: 14px
    }

    .res-banner {
      background: linear-gradient(135deg, #0f172a, #1e293b);
      border-radius: 14px;
      padding: 20px 24px;
      margin-bottom: 20px;
      display: flex;
      gap: 16px;
      align-items: flex-start;
      border: 1px solid rgba(255, 255, 255, 0.1)
    }

    .res-banner i {
      font-size: 26px;
      color: #38bdf8;
      flex-shrink: 0;
      margin-top: 2px
    }

    .res-banner h3 {
      color: #fff;
      font-size: 16px;
      font-weight: 800;
      margin-bottom: 6px
    }

    .res-banner p {
      color: #94a3b8;
      font-size: 14px;
      line-height: 1.65
    }

    .pcard {
      border: 1.5px solid #e2e8f0;
      border-radius: 14px;
      padding: 18px 20px;
      margin-bottom: 14px;
      background: #fff;
      transition: all 0.2s
    }

    .pcard.top {
      border-color: #2563eb;
      border-width: 2px;
      background: #f8fafc;
      box-shadow: 0 4px 20px rgba(37, 99, 235, 0.08)
    }

    .pcard-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 10px
    }

    .pcard-left {
      flex: 1;
      padding-right: 12px
    }

    .best-tag {
      display: inline-block;
      background: #2563eb;
      color: #fff;
      font-size: 10px;
      font-weight: 800;
      border-radius: 6px;
      padding: 3px 10px;
      margin-bottom: 6px;
      letter-spacing: 0.05em;
      text-transform: uppercase
    }

    .pname {
      font-size: 16px;
      font-weight: 800;
      color: #0f172a
    }

    .ptype {
      display: inline-block;
      font-size: 11px;
      font-weight: 700;
      border-radius: 6px;
      padding: 4px 10px;
      margin-top: 6px
    }

    .t-mba {
      background: #dbeafe;
      color: #1e40af
    }

    .t-emba {
      background: #e0e7ff;
      color: #3730a3
    }

    .t-ms {
      background: #ede9fe;
      color: #5b21b6
    }

    .t-cert {
      background: #d1fae5;
      color: #065f46
    }

    .t-xcert {
      background: #fef3c7;
      color: #92400e
    }

    .pcard-right {
      text-align: right;
      flex-shrink: 0
    }

    .pscore {
      font-size: 28px;
      font-weight: 800;
      color: #2563eb;
      line-height: 1
    }

    .pscore-lab {
      font-size: 11px;
      color: #94a3b8;
      margin-top: 2px;
      font-weight: 600
    }

    .pwhy {
      font-size: 14px;
      color: #475569;
      line-height: 1.7;
      margin-bottom: 12px
    }

    .ptags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px
    }

    .ptag {
      font-size: 11px;
      padding: 4px 10px;
      background: #f1f5f9;
      color: #334155;
      border-radius: 6px;
      font-weight: 600
    }

    .ptag.warn {
      background: #fef9c3;
      color: #854d0e
    }

    .conseil-box {
      background: #eff6ff;
      border-left: 4px solid #2563eb;
      border-radius: 0 10px 10px 0;
      padding: 16px 18px;
      margin-top: 8px;
      display: flex;
      gap: 12px;
      align-items: flex-start
    }

    .conseil-box i {
      font-size: 20px;
      color: #2563eb;
      flex-shrink: 0
    }

    .conseil-box p {
      font-size: 14px;
      color: #1e40af;
      line-height: 1.65;
      font-weight: 500
    }

    /* ──────────────────────────────────────────────────────
       BILAN DE COMPÉTENCES
    ────────────────────────────────────────────────────── */
    .bilan-section {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 24px;
      margin-top: 24px;
      margin-bottom: 4px
    }

    .bilan-title {
      font-size: 16px;
      font-weight: 900;
      color: #0f172a;
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 4px
    }

    .bilan-sub {
      font-size: 13px;
      color: #64748b;
      margin-bottom: 18px
    }

    .bilan-niveau {
      background: linear-gradient(135deg, #2563eb, #38bdf8);
      border-radius: 12px;
      padding: 14px 20px;
      margin-bottom: 18px;
      text-align: center;
      color: #fff
    }

    .bilan-niveau-label {
      font-size: 11px;
      font-weight: 700;
      opacity: 0.85;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 3px
    }

    .bilan-niveau-val {
      font-size: 20px;
      font-weight: 900
    }

    .bilan-synthese {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 14px 16px;
      margin-bottom: 18px;
      font-size: 13px;
      color: #334155;
      line-height: 1.65
    }

    .bilan-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px
    }

    .bilan-col-title {
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 12px
    }

    .bilan-col-title.forces {
      color: #16a34a
    }

    .bilan-col-title.axes {
      color: #2563eb
    }

    .bilan-force-item {
      margin-bottom: 14px
    }

    .bilan-force-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 5px
    }

    .bilan-force-name {
      font-size: 13px;
      font-weight: 700;
      color: #0f172a
    }

    .bilan-force-score {
      font-size: 13px;
      font-weight: 800;
      color: #16a34a
    }

    .bilan-bar-track {
      background: #e2e8f0;
      border-radius: 20px;
      height: 6px;
      overflow: hidden;
      margin-bottom: 4px
    }

    .bilan-bar-fill {
      height: 100%;
      border-radius: 20px;
      background: linear-gradient(90deg, #22c55e, #16a34a);
      transition: width 0.6s ease
    }

    .bilan-force-desc {
      font-size: 12px;
      color: #64748b
    }

    .bilan-axe-item {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 12px 14px;
      margin-bottom: 10px
    }

    .bilan-axe-top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 5px
    }

    .bilan-axe-name {
      font-size: 13px;
      font-weight: 700;
      color: #0f172a
    }

    .bilan-axe-prio {
      font-size: 10px;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 10px;
      white-space: nowrap;
      margin-left: 8px;
      flex-shrink: 0
    }

    .bilan-axe-prio.haute {
      background: #fee2e2;
      color: #dc2626
    }

    .bilan-axe-prio.moyenne {
      background: #fef3c7;
      color: #d97706
    }

    .bilan-axe-prio.basse {
      background: #dbeafe;
      color: #2563eb
    }

    .bilan-axe-desc {
      font-size: 12px;
      color: #64748b;
      line-height: 1.5
    }

    /* ──────────────────────────────────────────────────────
       BOUTON EMAIL + MODALE MAILTRAP
    ────────────────────────────────────────────────────── */
    .btn-email-bilan {
      background: linear-gradient(135deg, #0f172a, #1e293b);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 11px 22px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
      transition: all 0.2s
    }

    .btn-email-bilan:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28)
    }

    /* Modale overlay */
    .mt-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.55);
      z-index: 9999;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(4px)
    }

    .mt-overlay.open {
      display: flex
    }

    .mt-modal {
      background: #fff;
      border-radius: 20px;
      padding: 32px 36px;
      max-width: 480px;
      width: 90%;
      box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
      position: relative;
      animation: slideUp 0.25s ease
    }

    @keyframes slideUp {
      from {
        transform: translateY(20px);
        opacity: 0
      }

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

    .mt-modal-close {
      position: absolute;
      top: 16px;
      right: 18px;
      background: none;
      border: none;
      font-size: 20px;
      color: #94a3b8;
      cursor: pointer;
      line-height: 1
    }

    .mt-modal-close:hover {
      color: #0f172a
    }

    .mt-modal-header {
      margin-bottom: 20px
    }

    .mt-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #e0f2fe;
      color: #0369a1;
      font-size: 11px;
      font-weight: 800;
      padding: 4px 12px;
      border-radius: 20px;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 8px
    }

    .mt-modal-header h3 {
      font-size: 18px;
      font-weight: 900;
      color: #0f172a;
      margin-bottom: 4px
    }

    .mt-modal-header p {
      font-size: 13px;
      color: #64748b
    }

    .mt-field {
      margin-bottom: 14px
    }

    .mt-field label {
      display: block;
      font-size: 11px;
      font-weight: 700;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 5px
    }

    .mt-field input {
      width: 100%;
      border: 1.5px solid #e2e8f0;
      border-radius: 8px;
      padding: 9px 12px;
      font-size: 13px;
      color: #0f172a;
      outline: none;
      transition: all 0.2s;
      box-sizing: border-box
    }

    .mt-field input:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12)
    }

    .mt-row2 {
      display: grid;
      grid-template-columns: 2fr 1fr;
      gap: 10px
    }

    .mt-info-box {
      background: #f0fdf4;
      border: 1px solid #bbf7d0;
      border-radius: 8px;
      padding: 10px 14px;
      font-size: 12px;
      color: #166534;
      margin-bottom: 16px;
      line-height: 1.5
    }

    .btn-send-email {
      width: 100%;
      background: linear-gradient(135deg, #2563eb, #06b6d4);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 13px 20px;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
      transition: all 0.2s
    }

    .btn-send-email:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 18px rgba(37, 99, 235, 0.4)
    }

    .btn-send-email:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none
    }

    .mt-status {
      margin-top: 12px;
      font-size: 13px;
      font-weight: 600;
      text-align: center;
      min-height: 20px
    }

    .mt-status.ok {
      color: #16a34a
    }

    .mt-status.err {
      color: #dc2626
    }

    @media (max-width:600px) {
      .bilan-grid {
        grid-template-columns: 1fr
      }
    }

    .mahmoud-sec {
      width: 100%;
      background: #ffffff;
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      padding: 88px 0;
      margin: 64px 0 0
    }

    .mahmoud-container {
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 36px
    }

    .mahmoud-head {
      text-align: center;
      margin-bottom: 52px
    }

    .mahmoud-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 14px;
    }

    .mahmoud-head h3 {
      font-size: 34px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.02em;
      margin-bottom: 12px
    }

    .mahmoud-head h3 span {
      color: #2563eb
    }

    .mahmoud-head p {
      font-size: 16px;
      color: #64748b;
      max-width: 640px;
      margin: 0 auto;
      line-height: 1.6
    }

    .mahmoud-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px
    }

    .mahmoud-card {
      background: #f8fafc;
      border-radius: 20px;
      padding: 32px 24px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 4px 20px rgba(15, 23, 42, 0.02);
      position: relative;
      transition: all 0.3s;
      display: flex;
      flex-direction: column
    }

    .mahmoud-card:hover {
      background: #fff;
      transform: translateY(-6px);
      box-shadow: 0 16px 36px rgba(37, 99, 235, 0.12);
      border-color: #bfdbfe
    }

    .mstep-num {
      position: absolute;
      top: 22px;
      right: 22px;
      font-size: 24px;
      font-weight: 800;
      color: #cbd5e1
    }

    .mcard-icon {
      width: 56px;
      height: 56px;
      border-radius: 16px;
      background: linear-gradient(135deg, #eff6ff, #dbeafe);
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 26px;
      margin-bottom: 24px;
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1)
    }

    .mahmoud-card h4 {
      font-size: 18px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 12px
    }

    .mahmoud-card p {
      font-size: 14px;
      color: #64748b;
      line-height: 1.65;
      flex: 1
    }

    .mahmoud-features {
      margin-top: 48px;
      background: linear-gradient(135deg, #0f172a, #1e293b);
      border-radius: 20px;
      padding: 28px 40px;
      color: #fff;
      display: flex;
      justify-content: space-around;
      align-items: center;
      flex-wrap: wrap;
      gap: 24px;
      box-shadow: 0 12px 36px rgba(15, 23, 42, 0.15)
    }

    .mfeat-item {
      display: flex;
      align-items: center;
      gap: 14px;
      font-size: 15px;
      font-weight: 700;
      color: #f8fafc
    }

    .mfeat-item i {
      font-size: 22px;
      color: #38bdf8;
      background: rgba(56, 189, 248, 0.15);
      padding: 10px;
      border-radius: 12px
    }

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

    @media (max-width:576px) {
      .mahmoud-grid {
        grid-template-columns: 1fr
      }
    }

    /* ── TÉMOIGNAGES SECTION (CENTERED CAROUSEL) ── */
    .testimonials-sec {
      padding: 84px 0;
      background: linear-gradient(160deg, #f8fafc 0%, #eff6ff 50%, #f1f5f9 100%);
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      position: relative;
      overflow: hidden;
    }

    .testimonials-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .testimonials-head-flex {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      max-width: 720px;
      margin: 0 auto 44px;
    }

    .testimonials-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      color: #2563eb;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 14px;
      box-shadow: none;
    }

    .testimonials-head-flex h2 {
      font-size: 36px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.02em;
      margin-bottom: 14px;
    }

    .testimonials-head-flex h2 span {
      color: #2563eb;
    }

    .testimonials-head-flex p {
      font-size: 16px;
      color: #475569;
      line-height: 1.6;
      margin-bottom: 20px;
    }

    .testimonials-nav-btns {
      display: flex;
      gap: 12px;
      justify-content: center;
    }

    .t-nav-btn {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: #ffffff;
      border: 1px solid #cbd5e1;
      color: #0f172a;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      cursor: pointer;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
      transition: all 0.2s;
    }

    .t-nav-btn:hover {
      background: #2563eb;
      color: #ffffff;
      border-color: #2563eb;
      transform: scale(1.06);
      box-shadow: 0 6px 18px rgba(37, 99, 235, 0.3);
    }

    .testimonials-carousel-wrapper {
      overflow: hidden;
      padding: 10px 4px 20px;
      margin: -10px -4px -20px;
    }

    .testimonials-track {
      display: flex;
      gap: 24px;
      overflow-x: auto;
      scroll-behavior: smooth;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

    .testimonials-track::-webkit-scrollbar {
      display: none;
    }

    .testimonial-card {
      min-width: 380px;
      max-width: 380px;
      flex-shrink: 0;
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 24px;
      padding: 32px 24px;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
    }

    .testimonial-card:hover {
      transform: translateY(-6px);
      border-color: #bfdbfe;
      box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.12);
    }

    .t-badge {
      font-size: 11px;
      font-weight: 800;
      color: #2563eb;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      padding: 4px 14px;
      border-radius: 14px;
      width: fit-content;
      margin: 0 auto 16px auto;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .t-stars {
      color: #f59e0b;
      font-size: 14px;
      margin-bottom: 16px;
      display: flex;
      justify-content: center;
      gap: 3px;
    }

    .t-quote {
      font-size: 14px;
      color: #334155;
      line-height: 1.7;
      font-style: italic;
      text-align: center;
      margin-bottom: 24px;
      flex-grow: 1;
      position: relative;
    }

    .t-author {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding-top: 16px;
      border-top: 1px solid #f1f5f9;
      width: 100%;
      text-align: left;
    }

    .t-avatar {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      object-fit: cover;
      border: 2.5px solid #2563eb;
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
      flex-shrink: 0;
      display: block;
    }

    .t-author-info {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .t-author-info h4 {
      font-size: 15.5px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.2;
      margin: 0 0 3px 0;
    }

    .t-author-info p {
      font-size: 12px;
      color: #64748b;
      font-weight: 600;
      margin: 0;
      line-height: 1.35;
    }

    .testimonials-dots {
      display: flex;
      gap: 8px;
      justify-content: center;
      margin-top: 32px;
    }

    .t-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #cbd5e1;
      cursor: pointer;
      transition: all 0.3s;
    }

    .t-dot.active {
      width: 28px;
      border-radius: 10px;
      background: #2563eb;
    }

    @media (max-width: 640px) {
      .testimonial-card {
        min-width: 300px;
        max-width: 300px;
      }
    }

    /* ── COMPLETE FOOTER ── */
    .site-footer-complete {
      margin-top: auto;
      margin-bottom: 0;
      width: 100%;
      background: #090d16;
      margin-top: auto;
      margin-bottom: 0;
      width: 100%;
      background: #090d16;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      color: #94a3b8;
      padding: 72px 0 32px;
      font-size: 14px;
      position: relative;
      z-index: 10;
    }

    /* Force Elementor to let the footer span the full screen */
    .elementor-section:has(.site-footer-complete) {
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 !important;
    }

    .elementor-section:has(.site-footer-complete)>.elementor-container {
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 !important;
    }

    .footer-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 48px;
      margin-bottom: 56px;
    }

    .footer-col h4 {
      color: #ffffff;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: -0.01em;
      margin-bottom: 20px;
      position: relative;
    }

    .footer-col h4::after {
      content: "";
      display: block;
      width: 28px;
      height: 2px;
      background: #2563eb;
      margin-top: 8px;
      border-radius: 2px;
    }

    .footer-about p {
      font-size: 13.5px;
      line-height: 1.7;
      color: #64748b;
      margin-top: 16px;
      margin-bottom: 20px;
    }

    .footer-badges {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 20px;
    }

    .footer-cert-logos {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 22px;
      flex-wrap: wrap;
    }

    .footer-cert-badge {
      background: #ffffff;
      padding: 6px 14px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      height: 44px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
      border: 1px solid rgba(255, 255, 255, 0.15);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .footer-cert-badge:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    }

    /* Badge MESRS : logo pur sans background ni contour/ombre */
    .footer-cert-badge.footer-cert-mesrs,
    .footer-cert-mesrs {
      background: transparent !important;
      background-color: transparent !important;
      border: none !important;
      box-shadow: none !important;
      padding: 0 !important;
      height: auto !important;
      min-height: 0 !important;
      display: inline-flex !important;
      align-items: center !important;
    }

    .footer-cert-badge.footer-cert-mesrs:hover,
    .footer-cert-mesrs:hover {
      transform: translateY(-2px);
      box-shadow: none !important;
    }

    .footer-cert-badge img {
      height: 28px !important;
      width: auto !important;
      max-width: 120px !important;
      object-fit: contain !important;
      display: block !important;
    }

    .footer-cert-mesrs img,
    .footer-cert-badge.footer-cert-mesrs img {
      height: 46px !important;
      width: auto !important;
      max-width: none !important;
      flex-shrink: 0 !important;
      display: block !important;
      object-fit: contain !important;
    }

    .footer-about img {
      max-width: none !important;
    }

    .footer-cert-label {
      font-size: 11px;
      font-weight: 800;
      color: #0b2545;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      white-space: nowrap;
      line-height: 1.1;
    }

    .footer-socials {
      display: flex;
      gap: 12px;
    }

    .footer-socials a {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: #94a3b8;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      transition: all 0.2s;
      text-decoration: none;
    }

    .footer-socials a:hover {
      background: #2563eb;
      color: #ffffff;
      border-color: #2563eb;
      transform: translateY(-2px);
    }

    .footer-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 11px;
    }

    .footer-list a {
      color: #94a3b8;
      text-decoration: none;
      font-size: 13.5px;
      transition: color 0.2s;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .footer-list a:hover {
      color: #38bdf8;
    }

    .footer-contact-info {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .f-contact-item {
      display: flex;
      align-items: flex-start;
      gap: 12px;
    }

    .f-contact-item i {
      color: #38bdf8;
      font-size: 18px;
      margin-top: 2px;
      flex-shrink: 0;
    }

    .f-contact-item div {
      font-size: 13px;
      color: #94a3b8;
      line-height: 1.5;
    }

    .f-contact-item strong {
      display: block;
      color: #ffffff;
      font-weight: 600;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      padding-top: 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
      font-size: 12.5px;
      color: #64748b;
    }

    .footer-bottom.is-centered {
      justify-content: center !important;
      text-align: center !important;
    }

    .footer-bottom.is-centered > div {
      text-align: center !important;
      width: 100% !important;
      margin: 0 auto !important;
    }

    .footer-bottom-links {
      display: flex;
      gap: 20px;
    }

    .footer-bottom-links a {
      color: #64748b;
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-bottom-links a:hover {
      color: #94a3b8;
    }

    /* PARTNERS MARQUEE SLIDER - ZERO DISTORTION */
    .partners-sec {
      background: #070b13;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      padding: 36px 0 40px;
      position: relative;
      overflow: hidden;
    }

    .partners-sec::before,
    .partners-sec::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 140px;
      z-index: 3;
      pointer-events: none;
    }

    .partners-sec::before {
      left: 0;
      background: linear-gradient(90deg, #070b13 0%, transparent 100%);
    }

    .partners-sec::after {
      right: 0;
      background: linear-gradient(-90deg, #070b13 0%, transparent 100%);
    }

    .partners-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px 20px;
      text-align: center;
    }

    .partners-label {
      font-size: 12px;
      font-weight: 800;
      color: rgba(255, 255, 255, 0.5);
      text-transform: uppercase;
      letter-spacing: 0.12em;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

    .partners-label i {
      color: #38bdf8;
    }

    .partners-marquee {
      display: flex;
      overflow: hidden;
      user-select: none;
      width: 100%;
    }

    .partners-track {
      display: flex;
      gap: 18px;
      align-items: center;
      animation: partnerMarquee 30s linear infinite;
      flex-shrink: 0;
      min-width: 100%;
    }

    .partners-track:hover {
      animation-play-state: paused;
    }

    @keyframes partnerMarquee {
      0% {
        transform: translateX(0%);
      }

      100% {
        transform: translateX(-50%);
      }
    }

    .partner-logo-pill {
      width: 160px;
      height: 64px;
      background: #ffffff;
      border-radius: 16px;
      padding: 10px 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
      border: 1px solid rgba(255, 255, 255, 0.25);
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .partner-logo-pill:hover {
      transform: translateY(-4px) scale(1.04);
      box-shadow: 0 10px 25px rgba(56, 189, 248, 0.3);
      border-color: #38bdf8;
    }

    .partner-logo-pill img {
      max-width: 128px;
      max-height: 42px;
      width: auto;
      height: auto;
      object-fit: contain;
      display: block;
      margin: 0 auto;
    }

    .partner-logo-card img {
      transition: all 0.3s
    }

    .partner-logo-card:hover img {
      transform: scale(1.06)
    }

    @media (max-width:1024px) {
      .partners-logos-grid {
        grid-template-columns: repeat(4, 1fr)
      }
    }

    @media (max-width:640px) {
      .partners-logos-grid {
        grid-template-columns: repeat(2, 1fr)
      }
    }

    /* PARTNERS SECTION - CAROUSEL */
    .partners-sec-light {
      width: 100%;
      margin-left: 0;
      box-sizing: border-box;
      background: #ffffff;
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      padding: 56px 0 64px;
      position: relative;
      z-index: 5;
      overflow: hidden;
    }

    .partners-container-light {
      max-width: 1320px;
      margin: 0 auto;
      padding: 0 24px;
      box-sizing: border-box;
    }

    .partners-header-wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 24px;
      flex-wrap: wrap;
    }

    .partners-label-light {
      font-size: 13.5px;
      font-weight: 800;
      color: #334155;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0;
    }

    .partners-label-light i {
      color: #2563eb;
      font-size: 18px;
    }

    .partners-carousel-nav {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .partners-nav-btn {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: #ffffff;
      border: 1.5px solid #e2e8f0;
      color: #0f172a;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      font-size: 16px;
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
      outline: none;
      padding: 0;
    }

    .partners-nav-btn:hover {
      background: #eff6ff;
      border-color: #bfdbfe;
      color: #2563eb;
      transform: scale(1.06);
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15);
    }

    .partners-nav-btn:active {
      transform: scale(0.96);
    }

    /* Carousel Viewport with soft edge fades */
    .partners-carousel-viewport {
      position: relative;
      overflow: hidden;
      width: 100%;
      border-radius: 18px;
      user-select: none;
      cursor: grab;
      padding: 10px 0;
    }

    .partners-carousel-viewport:active {
      cursor: grabbing;
    }

    .partners-carousel-viewport::before,
    .partners-carousel-viewport::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 60px;
      z-index: 3;
      pointer-events: none;
    }

    .partners-carousel-viewport::before {
      left: 0;
      background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));
    }

    .partners-carousel-viewport::after {
      right: 0;
      background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));
    }

    /* Animated Carousel Track */
    .partners-carousel-track {
      display: flex;
      gap: 20px;
      align-items: center;
      width: max-content;
      will-change: transform;
      padding: 4px 6px;
    }

    /* Partner Card */
    .partner-light-card {
      background: #ffffff;
      border: 1.5px solid #e2e8f0;
      border-radius: 16px;
      padding: 16px 24px;
      width: 220px;
      height: 96px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      box-sizing: border-box;
    }

    .partner-light-card:hover {
      transform: translateY(-4px);
      border-color: #2563eb;
      box-shadow: 0 12px 24px -6px rgba(37, 99, 235, 0.16);
    }

    .partner-light-card img {
      max-width: 170px;
      max-height: 64px;
      width: auto;
      height: auto;
      object-fit: contain;
      display: block;
      margin: 0 auto;
      filter: grayscale(10%);
      transition: filter 0.25s, transform 0.25s;
    }

    .partner-light-card:hover img {
      filter: grayscale(0%);
      transform: scale(1.04);
    }

    @media (max-width: 640px) {
      .partners-sec-light {
        padding: 44px 0 52px;
      }

      .partners-header-wrap {
        margin-bottom: 18px;
      }

      .partners-label-light {
        font-size: 12px;
      }

      .partner-light-card {
        width: 165px;
        height: 82px;
        padding: 10px 16px;
      }

      .partner-light-card img {
        max-width: 130px;
        max-height: 52px;
      }

      .partners-carousel-viewport::before,
      .partners-carousel-viewport::after {
        width: 24px;
      }
    }

    .social-share-btn {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      color: #ffffff !important;
      font-size: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    }

    .social-share-btn i {
      color: #ffffff !important;
    }

    .social-share-btn:hover {
      transform: translateY(-4px);
      box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    }

    .social-share-btn.linkedin {
      background: #0077b5;
      border: 1px solid #0077b5;
    }

    .social-share-btn.facebook {
      background: #1877f2;
      border: 1px solid #1877f2;
    }

    .social-share-btn.twitter {
      background: #1da1f2;
      border: 1px solid #1da1f2;
    }

    /* ── NOS PROGRAMMES SECTION ── */
    .programmes-sec {
      padding: 80px 0;
      background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      position: relative;
    }

    .programmes-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .programmes-head {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 52px;
    }

    .programmes-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      color: #2563eb;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 14px;
    }

    .programmes-head h2 {
      font-size: 36px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.02em;
      margin-bottom: 14px;
    }

    .programmes-head h2 span {
      color: #2563eb;
    }

    .programmes-head p {
      font-size: 16px;
      color: #475569;
      line-height: 1.6;
    }

    .programmes-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }

    .programme-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      padding: 32px 24px;
      display: flex;
      flex-direction: column;
      box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
      overflow: hidden;
    }

    .programme-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, #2563eb, #38bdf8);
      opacity: 0;
      transition: opacity 0.3s;
    }

    .programme-card:hover {
      transform: translateY(-6px);
      border-color: #bfdbfe;
      box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.12);
    }

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

    .prog-img-wrap {
      position: relative;
      height: 170px;
      margin: -32px -24px 20px -24px;
      overflow: hidden;
      background: #1e293b;
    }

    .prog-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }

    .programme-card:hover .prog-img-wrap img {
      transform: scale(1.08);
    }

    .prog-partner-badge {
      position: absolute;
      bottom: 12px;
      left: 14px;
      font-size: 11px;
      font-weight: 700;
      color: #38bdf8;
      background: rgba(15, 23, 42, 0.85);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(56, 189, 248, 0.35);
      padding: 4px 12px;
      border-radius: 20px;
      width: fit-content;
      margin-bottom: 0;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

    .programme-card h3 {
      font-size: 20px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 12px;
      line-height: 1.3;
    }

    .programme-card p {
      font-size: 13.5px;
      color: #64748b;
      line-height: 1.6;
      margin-bottom: 20px;
    }

    .prog-list {
      list-style: none;
      padding: 0;
      margin: 0 0 24px 0;
      display: flex;
      flex-direction: column;
      gap: 9px;
      flex-grow: 1;
    }

    .prog-list li {
      font-size: 13px;
      color: #334155;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .prog-list li i {
      color: #10b981;
      font-size: 16px;
      flex-shrink: 0;
    }

    .btn-prog-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: #f8fafc;
      border: 1px solid #cbd5e1;
      color: #1e293b;
      font-size: 13.5px;
      font-weight: 700;
      padding: 11px;
      border-radius: 12px;
      text-decoration: none;
      transition: all 0.2s;
      margin-top: auto;
    }

    .btn-prog-link:hover {
      background: #2563eb;
      color: #ffffff;
      border-color: #2563eb;
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
    }

    @media (max-width: 1024px) {
      .programmes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }
    }

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

    /* ── NOS ATOUTS SECTION ── */
    .atouts-sec {
      background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      padding: 80px 0;
      position: relative;
      z-index: 6;
    }

    .atouts-container {
      max-width: 1320px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .atouts-head {
      text-align: center;
      max-width: 680px;
      margin: 0 auto 44px;
    }

    .atouts-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 14px;
    }

    .atouts-tag i,
    .testimonials-tag i,
    .na-tag i,
    .why-tag i,
    .faq-tag i,
    .contact-tag i,
    .agenda-tag i,
    .sec-tag i,
    .section-tag i,
    .programmes-tag i,
    .mahmoud-tag i {
      font-size: 13px !important;
      color: #2563eb !important;
      line-height: 1;
    }

    .atouts-tag svg,
    .testimonials-tag svg,
    .na-tag svg,
    .why-tag svg,
    .faq-tag svg,
    .contact-tag svg,
    .agenda-tag svg,
    .sec-tag svg,
    .section-tag svg,
    .programmes-tag svg,
    .mahmoud-tag svg {
      width: 13px !important;
      height: 13px !important;
      color: #2563eb !important;
      stroke: currentColor;
    }

    .atouts-head h2 {
      font-size: 38px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.03em;
      margin-bottom: 12px;
    }

    .atouts-head h2 span {
      background: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .atouts-head p {
      font-size: 16px;
      color: #64748b;
    }

    .atouts-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 16px;
    }

    .atout-card {
      background: #ffffff;
      border: 1.5px solid #e2e8f0;
      border-radius: 18px;
      padding: 24px 12px;
      text-align: center;
      box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                  border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                  box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                  opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
      overflow: hidden;
      will-change: transform, opacity;
    }

    .atouts-grid.atouts-prepare .atout-card {
      opacity: 0;
      transform: translateY(22px);
    }

    .atouts-grid.atouts-animated .atout-card {
      opacity: 1 !important;
      transform: translateY(0) !important;
    }

    @media (max-width: 768px) {
      .atouts-grid.atouts-prepare .atout-card {
        opacity: 1 !important;
        transform: none !important;
      }
    }

    .atout-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, #2563eb, #38bdf8);
      opacity: 0;
      transition: opacity 0.3s;
    }

    .atout-card:hover {
      transform: translateY(-6px);
      border-color: #bfdbfe;
      box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.15);
    }

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

    .atout-icon {
      width: 46px;
      height: 46px;
      border-radius: 14px;
      background: linear-gradient(135deg, #eff6ff, #dbeafe);
      border: 1px solid #bfdbfe;
      color: #2563eb;
      font-size: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
    }

    .atout-num {
      font-size: 38px;
      font-weight: 800;
      line-height: 1;
      background: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 8px;
      display: inline-block;
      font-variant-numeric: tabular-nums;
      transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .atout-num.is-counting {
      transform: scale(1.04);
    }

    .atout-num.is-complete {
      transform: scale(1);
    }

    .atout-title {
      font-size: 14.5px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 4px;
      line-height: 1.3;
    }

    .atout-sub {
      font-size: 12px;
      font-weight: 600;
      color: #64748b;
      line-height: 1.3;
    }

    @media (max-width: 1024px) {
      .atouts-grid {
        grid-template-columns: repeat(3, 1fr);
      }
    }

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

    /* ACTUALITÉS & AGENDA SECTION - LIGHT MODE */
    .news-agenda-sec {
      background: #f8fafc;
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      padding: 80px 0;
      color: #0f172a;
      position: relative;
    }

    .na-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .na-head {
      text-align: center;
      margin-bottom: 48px;
    }

    .na-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      color: #2563eb;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 14px;
      box-shadow: none;
    }

    .na-head h3 {
      font-size: 34px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 12px;
      letter-spacing: -0.025em;
    }

    .na-head p {
      font-size: 16px;
      color: #64748b;
      max-width: 680px;
      margin: 0 auto;
      line-height: 1.6;
    }

    .na-grid {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 32px;
      align-items: start;
    }

    .na-col-title {
      font-size: 16px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      padding-bottom: 12px;
      border-bottom: 1px solid #e2e8f0;
    }

    .na-col-title > span {
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }

    .na-col-title i {
      color: #2563eb;
      font-size: 20px;
    }

    .na-view-all {
      font-size: 12.5px;
      font-weight: 700;
      color: #2563eb;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      transition: gap 0.2s ease, color 0.2s ease;
    }

    .na-view-all:hover {
      color: #1d4ed8;
      gap: 8px;
    }

    /* Featured News Card (Article 1) */
    .news-card-feat {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      overflow: hidden;
      margin-bottom: 20px;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      display: flex;
      flex-direction: column;
      box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    }

    .news-card-feat:hover {
      border-color: #bfdbfe;
      transform: translateY(-3px);
      box-shadow: 0 16px 36px -10px rgba(37, 99, 235, 0.15);
    }

    .ncard-feat-img-wrap {
      display: block;
      position: relative;
      width: 100%;
      height: 220px;
      overflow: hidden;
      background: #f1f5f9;
      text-decoration: none;
    }

    .ncard-feat-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
      display: block;
    }

    .news-card-feat:hover .ncard-feat-img-wrap img {
      transform: scale(1.04);
    }

    .ncard-feat-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 5px 14px;
      border-radius: 20px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    }

    .ncard-feat-body {
      padding: 22px 24px;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
    }

    .news-card-feat h4 {
      font-size: 18px;
      font-weight: 800;
      color: #0f172a;
      margin: 10px 0 10px 0;
      line-height: 1.35;
    }

    .news-card-feat h4 a {
      color: #0f172a;
      text-decoration: none;
      transition: color 0.2s ease;
    }

    .news-card-feat h4 a:hover {
      color: #2563eb;
    }

    .news-card-feat p {
      font-size: 13.5px;
      color: #64748b;
      line-height: 1.6;
      margin-bottom: 16px;
    }

    .ncard-meta {
      display: flex;
      gap: 16px;
      font-size: 11.5px;
      color: #64748b;
      font-weight: 600;
    }

    .ncard-meta i {
      color: #2563eb;
    }

    .ncard-feat-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #2563eb;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      margin-top: auto;
      transition: gap 0.2s ease, color 0.2s ease;
    }

    .ncard-feat-link:hover {
      color: #1d4ed8;
      gap: 10px;
    }

    /* Fallback static feat card tags */
    .ncard-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 4px 12px;
      border-radius: 20px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 10px;
      width: fit-content;
    }

    /* Sub News Items (Articles 2 & 3) */
    .news-list-sub {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .sub-news-item {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 14px 16px;
      display: flex;
      gap: 16px;
      align-items: center;
      transition: all 0.25s ease;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    }

    .sub-news-item:hover {
      background: #ffffff;
      border-color: #bfdbfe;
      transform: translateX(4px);
      box-shadow: 0 8px 24px -6px rgba(37, 99, 235, 0.12);
    }

    .sub-news-thumb {
      width: 110px;
      height: 82px;
      border-radius: 10px;
      overflow: hidden;
      flex-shrink: 0;
      background: #f1f5f9;
      display: block;
      position: relative;
      text-decoration: none;
    }

    .sub-news-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.35s ease;
      display: block;
    }

    .sub-news-item:hover .sub-news-thumb img {
      transform: scale(1.08);
    }

    .sub-news-content {
      flex: 1;
      min-width: 0;
    }

    .sub-news-meta {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 5px;
      font-size: 11px;
    }

    .sub-news-cat {
      color: #2563eb;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .sub-news-date {
      color: #64748b;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .sub-news-date i {
      color: #94a3b8;
    }

    .sub-news-content h5 {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
      margin: 0 0 4px 0;
      line-height: 1.35;
    }

    .sub-news-content h5 a {
      color: #0f172a;
      text-decoration: none;
      transition: color 0.2s ease;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .sub-news-content h5 a:hover {
      color: #2563eb;
    }

    .sub-news-content p {
      font-size: 12px;
      color: #64748b;
      line-height: 1.45;
      margin: 0;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    @media (max-width: 600px) {
      .sub-news-item {
        flex-direction: column;
        align-items: flex-start;
      }

      .sub-news-thumb {
        width: 100%;
        height: 160px;
      }
    }

    /* Agenda List */
    .agenda-list {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .agenda-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 16px;
      display: flex;
      gap: 16px;
      align-items: center;
      transition: all 0.25s;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    }

    .agenda-card:hover {
      background: #ffffff;
      border-color: #bfdbfe;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px -4px rgba(37, 99, 235, 0.1);
    }

    .agenda-date-box {
      background: linear-gradient(135deg, #2563eb, #38bdf8);
      color: #fff;
      border-radius: 12px;
      width: 58px;
      height: 58px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
    }

    .agenda-date-box .day {
      font-size: 20px;
      font-weight: 800;
      line-height: 1;
    }

    .agenda-date-box .month {
      font-size: 9.5px;
      font-weight: 800;
      letter-spacing: 0.05em;
    }

    .agenda-info h4 {
      font-size: 13.5px;
      font-weight: 800;
      color: #0f172a;
      margin: 4px 0 6px;
      line-height: 1.35;
    }

    .agenda-badge {
      font-size: 10px;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 6px;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .badge-webinar {
      background: #ecfdf5;
      color: #059669;
      border: 1px solid #a7f3d0;
    }

    .badge-jpo {
      background: #fffbeb;
      color: #d97706;
      border: 1px solid #fde68a;
    }

    .badge-thesis {
      background: #f5f3ff;
      color: #7c3aed;
      border: 1px solid #ddd6fe;
    }

    .agenda-meta {
      display: flex;
      gap: 12px;
      font-size: 11.5px;
      color: #64748b;
      font-weight: 600;
    }

    .agenda-meta i {
      color: #2563eb;
    }

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

    /* WHY CHOOSE US - Premium Dark Theme with Compact Layout */
    .why-sec {
      width: 100%;
      background: #090d16;
      padding: 50px 0;
      position: relative;
      overflow: hidden;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05)
    }

    .why-sec::before {
      content: "";
      position: absolute;
      top: -10%;
      left: 50%;
      transform: translateX(-50%);
      width: 600px;
      height: 300px;
      background: radial-gradient(circle, rgba(99, 102, 241, 0.08) 0%, transparent 70%);
      pointer-events: none
    }

    .why-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 20px;
      position: relative;
      z-index: 2
    }

    .why-head {
      text-align: center;
      margin-bottom: 28px
    }

    .why-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 14px;
    }

    .why-head h3 {
      font-size: 28px;
      font-weight: 800;
      color: #fff;
      letter-spacing: -0.03em;
      margin-bottom: 8px;
      line-height: 1.2
    }

    .why-head p {
      font-size: 14px;
      color: #94a3b8;
      max-width: 700px;
      margin: 0 auto;
      line-height: 1.5
    }

    .why-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px
    }

    .why-card {
      background: rgba(255, 255, 255, 0.02);
      border: 1px solid rgba(255, 255, 255, 0.06);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-radius: 18px;
      padding: 22px 18px;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column
    }

    .why-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, transparent 100%);
      opacity: 0;
      transition: opacity 0.3s
    }

    .why-card:hover {
      transform: translateY(-4px);
      border-color: rgba(56, 189, 248, 0.35);
      box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.5), 0 0 20px rgba(56, 189, 248, 0.06)
    }

    .why-card:hover::before {
      opacity: 1
    }

    .wcard-icon {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(56, 189, 248, 0.15));
      color: #38bdf8;
      border: 1px solid rgba(56, 189, 248, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      margin-bottom: 14px;
      transition: transform 0.3s;
      flex-shrink: 0
    }

    .why-card:hover .wcard-icon {
      transform: scale(1.08) rotate(4deg)
    }

    .why-card h4 {
      font-size: 16.5px;
      font-weight: 800;
      color: #fff;
      margin-bottom: 8px;
      letter-spacing: -0.01em;
      line-height: 1.3
    }

    .why-card p {
      font-size: 12.5px;
      color: #94a3b8;
      line-height: 1.5
    }

    .why-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 10px;
      padding: 0
    }

    .why-list li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 12px;
      color: #cbd5e1;
      line-height: 1.4
    }

    .why-list li i {
      color: #38bdf8;
      font-size: 15px;
      margin-top: 1px;
      flex-shrink: 0
    }

    .why-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 10px
    }

    .why-chip {
      background: rgba(56, 189, 248, 0.08);
      border: 1px solid rgba(56, 189, 248, 0.2);
      color: #38bdf8;
      font-size: 11.5px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 14px;
      transition: all 0.2s
    }

    .why-chip:hover {
      background: rgba(56, 189, 248, 0.18);
      border-color: rgba(56, 189, 248, 0.4);
      transform: translateY(-1px)
    }

    .why-highlights {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 10px
    }

    .why-hitem {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.07);
      border-radius: 8px;
      padding: 8px 10px;
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 11.5px;
      font-weight: 700;
      color: #f8fafc;
      line-height: 1.35
    }

    .why-hitem i {
      color: #38bdf8;
      font-size: 16px;
      flex-shrink: 0
    }

    .why-cta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #38bdf8;
      font-weight: 700;
      font-size: 12px;
      margin-top: auto;
      padding-top: 12px;
      text-decoration: none;
      transition: all 0.2s
    }

    .why-cta i {
      transition: transform 0.2s
    }

    .why-cta:hover {
      color: #60a5fa
    }

    .why-cta:hover i {
      transform: translateX(4px)
    }

    /* FAQ SECTION - Clean Modern Accordions */
    .faq-sec {
      width: 100%;
      background: #ffffff;
      padding: 100px 0;
      border-bottom: 1px solid #e2e8f0;
      position: relative
    }

    .faq-container {
      max-width: 850px;
      margin: 0 auto;
      padding: 0 24px
    }

    .faq-head {
      text-align: center;
      margin-bottom: 64px
    }

    .faq-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 14px;
    }

    .faq-head h3 {
      font-size: 38px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.03em;
      margin-bottom: 16px;
      line-height: 1.2
    }

    .faq-head p {
      font-size: 16px;
      color: #64748b;
      max-width: 600px;
      margin: 0 auto;
      line-height: 1.7
    }

    .faq-accordion {
      display: flex;
      flex-direction: column;
      gap: 14px
    }

    .faq-item {
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      background: #fff;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.01)
    }

    .faq-item:hover {
      border-color: #2563eb;
      box-shadow: 0 12px 24px -10px rgba(37, 99, 235, 0.08)
    }

    .faq-question {
      padding: 22px 28px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      cursor: pointer;
      font-weight: 700;
      color: #0f172a;
      font-size: 16px;
      transition: all 0.2s
    }

    .faq-question i {
      font-size: 18px;
      color: #94a3b8;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)
    }

    .faq-answer {
      padding: 0 28px 24px;
      font-size: 14.5px;
      color: #64748b;
      line-height: 1.75;
      display: none;
      border-top: 1px solid transparent;
      transition: all 0.2s
    }

    .faq-item.open {
      border-color: #2563eb;
      box-shadow: 0 16px 36px -12px rgba(37, 99, 235, 0.12)
    }

    .faq-item.open .faq-answer {
      display: block;
      border-top-color: #f1f5f9
    }

    .faq-item.open .faq-question {
      color: #2563eb;
      padding-bottom: 16px
    }

    .faq-item.open .faq-question i {
      transform: rotate(135deg);
      color: #2563eb
    }

    /* CONTACT SECTION - High Converting Visual Split */
    .contact-sec {
      width: 100%;
      background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #e0e7ff 100%);
      border-top: 1px solid #bfdbfe;
      border-bottom: none;
      margin-bottom: 0;
      padding: 70px 0 60px;
      position: relative;
      overflow: hidden;
    }

    .contact-sec::before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, transparent 70%);
      pointer-events: none;
    }

    .contact-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 24px;
      position: relative;
      z-index: 2;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 64px;
      align-items: center;
    }

    .contact-info {
      padding-right: 20px;
    }

    .contact-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      box-shadow: none;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 14px;
    }

    .contact-info h3 {
      font-size: 38px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.03em;
      margin-bottom: 20px;
      line-height: 1.2;
    }

    .contact-info p {
      font-size: 16px;
      color: #475569;
      line-height: 1.7;
      margin-bottom: 40px;
    }

    .info-list {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    .info-item {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .info-item i {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      background: #ffffff;
      border: 1px solid #bfdbfe;
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
      transition: all 0.3s;
    }

    .info-item:hover i {
      background: #2563eb;
      color: #ffffff;
      transform: scale(1.05);
    }

    .info-lbl {
      font-size: 11px;
      font-weight: 700;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }

    .info-val {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      margin-top: 2px;
    }

    .contact-card-wrap {
      background: #ffffff;
      border: 1px solid #cbd5e1;
      border-radius: 28px;
      padding: 44px;
      box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.08);
    }

    .contact-form .field label {
      color: #334155;
      font-size: 11px;
      font-weight: 700;
    }

    .contact-form .field input,
    .contact-form .field select {
      background: #f8fafc;
      border: 1px solid #cbd5e1;
      color: #0f172a;
      padding: 12px 16px;
      border-radius: 12px;
      transition: all 0.3s;
    }

    .contact-form .field input::placeholder {
      color: #94a3b8;
    }

    .contact-form .field input:focus,
    .contact-form .field select:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
      background: #ffffff;
    }

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

    @media (max-width:992px) {
      .partners-container {
        flex-direction: column;
        align-items: flex-start
      }

      .contact-grid {
        grid-template-columns: 1fr;
        gap: 36px
      }
    }

    @media (max-width:640px) {
      .why-grid {
        grid-template-columns: 1fr
      }
    }

    /* ── ABOUT PAGE STYLES ── */
    .about-hero {
      padding: 80px 24px 72px;
      background: linear-gradient(160deg, #eff6ff 0%, #f8fafc 50%, #f0fdf4 100%);
      position: relative;
      overflow: hidden;
      text-align: center;
      border-bottom: 1px solid #e2e8f0;
    }

    .hero-blob-1 {
      position: absolute;
      top: -120px;
      left: -80px;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, .1) 0%, transparent 70%);
      pointer-events: none;
    }

    .hero-blob-2 {
      position: absolute;
      bottom: -100px;
      right: -60px;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(16, 185, 129, .08) 0%, transparent 70%);
      pointer-events: none;
    }

    .about-hero-container {
      max-width: 920px;
      margin: 0 auto;
      position: relative;
      z-index: 2
    }

    .about-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 30px;
      padding: 8px 20px;
      font-size: 12px;
      font-weight: 700;
      color: #2563eb;
      letter-spacing: .08em;
      margin-bottom: 24px;
      text-transform: uppercase;
      box-shadow: 0 2px 12px rgba(37, 99, 235, .08);
    }

    .about-eyebrow .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #22c55e;
      box-shadow: 0 0 8px #22c55e
    }

    .about-hero h1 {
      font-size: 46px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -.03em;
      line-height: 1.2;
      margin-bottom: 20px
    }

    .about-hero h1 span {
      background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent
    }

    .about-hero p.lead {
      font-size: 18px;
      color: #475569;
      line-height: 1.8;
      margin-bottom: 44px;
      max-width: 820px;
      margin-left: auto;
      margin-right: auto
    }

    .about-hero-stats {
      display: flex;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap
    }

    .about-hero-stat {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      padding: 20px 32px;
      text-align: center;
      box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
      transition: all .3s;
      min-width: 140px;
    }

    .about-hero-stat:hover {
      border-color: #bfdbfe;
      transform: translateY(-4px);
      box-shadow: 0 12px 28px rgba(37, 99, 235, .12)
    }

    .about-hero-stat .num {
      font-size: 28px;
      font-weight: 800;
      color: #2563eb
    }

    .about-hero-stat .lab {
      font-size: 11px;
      font-weight: 700;
      color: #94a3b8;
      margin-top: 4px;
      text-transform: uppercase;
      letter-spacing: .06em
    }

    .section-wrap {
      max-width: 1240px;
      margin: 0 auto;
      padding: 80px 24px
    }

    .sec-header {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 56px
    }

    .sec-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 16px;
    }

    .sec-title {
      font-size: 36px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -.03em;
      line-height: 1.25;
      margin-bottom: 14px
    }

    .sec-desc {
      font-size: 16px;
      color: #64748b;
      line-height: 1.7
    }

    /* ── Campus Split Banner ────────────────────────────── */
    .inst-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      border-radius: 28px;
      overflow: hidden;
      box-shadow: 0 24px 64px -12px rgba(15, 23, 42, .18);
      min-height: 340px;
    }

    .inst-card {
      position: relative;
      background: #0b1329;
      padding: 52px 44px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      overflow: hidden;
      transition: all .4s ease;
    }

    .inst-card:nth-child(1) {
      border-right: 1px solid rgba(255, 255, 255, .12);
    }

    .inst-card-bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
      z-index: 0;
    }

    .inst-card-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(145deg, rgba(11, 23, 44, 0.84) 0%, rgba(15, 34, 64, 0.78) 50%, rgba(11, 23, 44, 0.88) 100%);
      transition: background 0.4s ease;
      z-index: 1;
    }

    .inst-card:hover .inst-card-bg {
      transform: scale(1.06);
      filter: brightness(1.12);
    }

    .inst-card:hover .inst-card-overlay {
      background: linear-gradient(145deg, rgba(11, 23, 44, 0.74) 0%, rgba(15, 34, 64, 0.68) 50%, rgba(11, 23, 44, 0.78) 100%);
    }

    .inst-card-top {
      position: relative;
      z-index: 2;
    }

    .inst-card-bottom {
      position: relative;
      z-index: 2;
    }

    .inst-city-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      background: rgba(37, 99, 235, .18);
      border: 1px solid rgba(96, 165, 250, .35);
      color: #93c5fd;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .10em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 30px;
      margin-bottom: 22px;
    }

    .inst-card:nth-child(2) .inst-city-badge {
      background: rgba(14, 165, 233, .15);
      border-color: rgba(56, 189, 248, .3);
      color: #7dd3fc;
    }

    .inst-icon {
      display: none;
    }

    .inst-card h3 {
      font-size: 26px;
      font-weight: 900;
      color: #fff;
      margin-bottom: 14px;
      line-height: 1.2;
      letter-spacing: -.02em;
    }

    .inst-card p {
      font-size: 14.5px;
      color: #94a3b8;
      line-height: 1.75;
      margin: 0;
    }

    .inst-card-divider {
      width: 40px;
      height: 3px;
      background: linear-gradient(90deg, #3b82f6, #60a5fa);
      border-radius: 4px;
      margin: 22px 0 0;
    }

    .inst-card:nth-child(2) .inst-card-divider {
      background: linear-gradient(90deg, #0ea5e9, #38bdf8);
    }

    .inst-card-bg-number {
      position: absolute;
      bottom: -20px;
      right: -10px;
      font-size: 160px;
      font-weight: 900;
      color: rgba(255, 255, 255, .03);
      line-height: 1;
      pointer-events: none;
      user-select: none;
      z-index: 0;
    }

    .two-col-block {
      background: #fff;
      border-top: 1px solid #f1f5f9;
      border-bottom: 1px solid #f1f5f9;
      padding: 80px 0;
    }

    .two-col-inner {
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center
    }

    .text-content h2 {
      font-size: 32px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -.03em;
      line-height: 1.3;
      margin-bottom: 20px
    }

    .text-content p {
      font-size: 15.5px;
      color: #475569;
      line-height: 1.8;
      margin-bottom: 20px
    }

    .feature-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .feature-list.layout-horizontal {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }

    .feature-item {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      background: #ffffff;
      padding: 15px 18px;
      border-radius: 16px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 1px 4px rgba(15, 23, 42, .03);
      transition: all .2s cubic-bezier(.16, 1, .3, 1);
    }

    .feature-item:hover {
      border-color: #93c5fd;
      background: #f8fafc;
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(37, 99, 235, .07);
    }

    .feature-item i {
      color: #2563eb;
      font-size: 22px;
      margin-top: 1px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .feature-item div {
      flex: 1;
    }

    .feature-item div strong {
      display: block;
      font-size: 15.5px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 3px;
      line-height: 1.3;
    }

    .feature-item div span {
      font-size: 13.5px;
      color: #64748b;
      line-height: 1.5;
      display: block;
    }

    @media (max-width: 900px) {
      .feature-list.layout-horizontal {
        grid-template-columns: 1fr;
      }
    }

    .accred-banner {
      background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
      border-radius: 28px;
      padding: 56px 48px;
      color: #fff;
      margin: 40px 0 0;
      box-shadow: 0 20px 50px rgba(15, 23, 42, .15);
      position: relative;
      overflow: hidden;
    }

    .accred-banner::before {
      content: "";
      position: absolute;
      top: -100px;
      right: -100px;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, .25) 0%, transparent 70%);
      pointer-events: none;
    }

    .accred-grid {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 48px;
      align-items: center;
      position: relative;
      z-index: 2
    }

    .accred-left h2 {
      font-size: 32px;
      font-weight: 800;
      line-height: 1.25;
      margin-bottom: 18px
    }

    .accred-left p {
      font-size: 15.5px;
      color: #cbd5e1;
      line-height: 1.8;
      margin-bottom: 24px
    }

    .accred-box-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px
    }

    .accred-box {
      background: rgba(255, 255, 255, .06);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 18px;
      padding: 22px 20px;
      backdrop-filter: blur(10px);
    }

    .accred-box .tag {
      font-size: 11px;
      font-weight: 800;
      color: #38bdf8;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 6px
    }

    .accred-box h4 {
      font-size: 16px;
      font-weight: 800;
      color: #fff;
      margin-bottom: 6px
    }

    .accred-box p {
      font-size: 12.5px;
      color: #94a3b8;
      line-height: 1.6
    }

    @media(max-width:1024px) {
      .inst-grid {
        grid-template-columns: 1fr;
        gap: 0;
        border-radius: 20px;
        min-height: auto;
      }

      .inst-card:nth-child(1) {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
      }

      .inst-card {
        padding: 40px 28px;
      }

      .two-col-inner {
        grid-template-columns: 1fr;
        gap: 40px
      }

      .accred-grid {
        grid-template-columns: 1fr;
        gap: 32px
      }
    }

    @media(max-width:640px) {
      .about-hero h1 {
        font-size: 32px
      }

      .accred-banner {
        padding: 32px 24px
      }

      .accred-box-row {
        grid-template-columns: 1fr
      }
    }

    /* Force full width for About page sections trapped in Elementor containers */
    .elementor-widget-insag_about_hero,
    .elementor-widget-insag_about_institutions,
    .elementor-widget-insag_about_expertise,
    .elementor-widget-insag_about_accreditation {
      width: 100vw !important;
      margin-left: calc(-50vw + 50%) !important;
      margin-right: calc(-50vw + 50%) !important;
      max-width: 100vw !important;
    }

    .elementor-widget-insag_about_institutions,
    .elementor-widget-insag_about_accreditation {
      background-color: #f8fafc;
    }

    /* ── HERO CATALOGUE ── */
    .cat-hero {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      box-sizing: border-box;
      padding: 64px 24px 56px;
      background: linear-gradient(160deg, #eff6ff 0%, #f8fafc 50%, #f0fdf4 100%);
      position: relative;
      overflow: hidden;
      text-align: center;
      border-bottom: 1px solid #e2e8f0;
    }

    .hero-blob-1 {
      position: absolute;
      top: -120px;
      left: -80px;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, .1) 0%, transparent 70%);
      pointer-events: none;
    }

    .hero-blob-2 {
      position: absolute;
      bottom: -100px;
      right: -60px;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(16, 185, 129, .08) 0%, transparent 70%);
      pointer-events: none;
    }

    .cat-hero-container {
      max-width: 900px;
      margin: 0 auto;
      position: relative;
      z-index: 2
    }

    .cat-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 30px;
      padding: 8px 20px;
      font-size: 12px;
      font-weight: 700;
      color: #2563eb;
      letter-spacing: .08em;
      margin-bottom: 20px;
      text-transform: uppercase;
      box-shadow: 0 2px 12px rgba(37, 99, 235, .08);
    }

    .cat-hero h1 {
      font-size: 42px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.2;
      margin-bottom: 16px;
      letter-spacing: -0.03em
    }

    .cat-hero h1 span {
      background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent
    }

    .cat-hero p {
      font-size: 16px;
      color: #64748b;
      line-height: 1.75;
      margin-bottom: 32px;
      max-width: 760px;
      margin-left: auto;
      margin-right: auto
    }

    /* ── HERO CATALOGUE WITH BACKGROUND IMAGE ── */
    .cat-hero.has-bg-image {
      background-size: cover !important;
      background-position: center center !important;
      background-repeat: no-repeat !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.12);
      padding: 85px 24px 75px;
    }

    .cat-hero.has-bg-image .hero-overlay-backdrop {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 1;
    }

    .cat-hero.has-bg-image.hero-overlay-deep .hero-overlay-backdrop {
      background: linear-gradient(135deg, rgba(2, 6, 23, 0.88) 0%, rgba(15, 23, 42, 0.82) 50%, rgba(30, 58, 138, 0.85) 100%);
    }

    .cat-hero.has-bg-image.hero-overlay-dark .hero-overlay-backdrop {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.88) 0%, rgba(10, 16, 30, 0.96) 100%);
    }

    .cat-hero.has-bg-image.hero-overlay-medium .hero-overlay-backdrop {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.72) 0%, rgba(15, 23, 42, 0.85) 100%);
    }

    .cat-hero.has-bg-image .cat-hero-container {
      position: relative;
      z-index: 2;
    }

    .cat-hero.has-bg-image .cat-eyebrow {
      background: rgba(255, 255, 255, 0.12);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.25);
      color: #93c5fd;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    }

    .cat-hero.has-bg-image .cat-eyebrow i {
      color: #60a5fa;
    }

    .cat-hero.has-bg-image h1 {
      color: #ffffff;
      text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
    }

    .cat-hero.has-bg-image h1 span {
      background: linear-gradient(135deg, #60a5fa 0%, #c084fc 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .cat-hero.has-bg-image p {
      color: #e2e8f0;
      text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
    }

    .cat-hero.has-bg-image .search-wrap {
      background: rgba(255, 255, 255, 0.95);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
      border-color: rgba(255, 255, 255, 0.3);
    }

    .cat-hero.has-bg-image .ftab {
      background: rgba(255, 255, 255, 0.12);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      color: #e2e8f0;
      border: 1px solid rgba(255, 255, 255, 0.18);
    }

    .cat-hero.has-bg-image .ftab:hover {
      background: rgba(255, 255, 255, 0.22);
      color: #ffffff;
    }

    .cat-hero.has-bg-image .ftab.active {
      background: #2563eb;
      color: #ffffff;
      border-color: #2563eb;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4);
    }

    /* ── SEARCH & FILTER BAR ── */
    .search-wrap {
      background: #fff;
      border: 1.5px solid #e2e8f0;
      border-radius: 18px;
      padding: 8px 12px 8px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
      max-width: 680px;
      margin: 0 auto 24px;
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
      transition: all .25s;
    }

    .search-wrap:focus-within {
      border-color: #2563eb;
      box-shadow: 0 10px 30px rgba(37, 99, 235, 0.12)
    }

    .search-wrap i {
      color: #2563eb;
      font-size: 22px;
      flex-shrink: 0
    }

    .search-input {
      background: transparent;
      border: none;
      outline: none;
      color: #0f172a;
      font-size: 15px;
      width: 100%;
      font-family: inherit;
      font-weight: 500
    }

    .search-input::placeholder {
      color: #94a3b8
    }

    /* ── FILTER TABS ── */
    .filter-tabs {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin-top: 16px
    }

    .ftab {
      padding: 9px 20px;
      border-radius: 30px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      border: 1.5px solid #e2e8f0;
      background: #fff;
      color: #64748b;
      transition: all 0.2s;
      user-select: none;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.03);
    }

    .ftab:hover {
      background: #eff6ff;
      color: #2563eb;
      border-color: #bfdbfe
    }

    .ftab.active {
      background: linear-gradient(135deg, #2563eb, #3b82f6);
      color: #fff;
      border-color: transparent;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
    }

    /* ── MAIN LAYOUT ── */
    .cat-body-wrapper {
      background: #ffffff;
      width: 100vw;
      margin-left: calc(50% - 50vw);
      box-sizing: border-box;
      padding: 36px 0 60px;
    }

    body.page-id-22,
    .elementor-22,
    .elementor-widget-insag_catalogue {
      background: #ffffff;
    }

    .cat-body-wrapper:empty {
      display: none !important;
      padding: 0 !important;
      margin: 0 !important;
      height: 0 !important;
    }

    .cat-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .cat-container:empty {
      display: none !important;
      padding: 0 !important;
      margin: 0 !important;
      height: 0 !important;
    }

    .cat-header-meta {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 28px;
      padding-bottom: 14px;
      border-bottom: 1px solid #e2e8f0
    }

    .cat-count {
      font-size: 15px;
      font-weight: 700;
      color: #475569
    }

    .cat-count span {
      color: #2563eb;
      font-weight: 800
    }

    /* ── COURSE CARDS GRID ── */
    .cat-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px
    }

    .ccard {
      background: #fff;
      border-radius: 20px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
      overflow: hidden;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      display: flex;
      flex-direction: column;
    }

    .ccard:hover {
      transform: translateY(-6px);
      border-color: #bfdbfe;
      box-shadow: 0 16px 36px -10px rgba(37, 99, 235, 0.14)
    }

    .ccard-top {
      padding: 24px 24px 18px;
      border-bottom: 1px solid #f1f5f9;
      flex: 1
    }

    .ccard-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 14px
    }

    .cbadge-type {
      font-size: 11px;
      font-weight: 800;
      padding: 4px 10px;
      border-radius: 6px;
      text-transform: uppercase;
      letter-spacing: 0.05em
    }

    .b-mba {
      background: #dbeafe;
      color: #1e40af
    }

    .b-ms {
      background: #ede9fe;
      color: #5b21b6
    }

    .b-cert {
      background: #d1fae5;
      color: #065f46
    }

    .cbadge-partner {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      color: #64748b;
      font-size: 11px;
      font-weight: 700;
      padding: 3px 10px;
      border-radius: 6px;
      display: inline-flex;
      align-items: center;
      gap: 4px
    }

    .cbadge-partner i {
      color: #2563eb
    }

    .ccard h3 {
      font-size: 18px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 10px;
      line-height: 1.35
    }

    .ccard p.desc {
      font-size: 13.5px;
      color: #64748b;
      line-height: 1.65;
      margin-bottom: 18px;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden
    }

    .ccard-facts {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      background: #f8fafc;
      padding: 12px 14px;
      border-radius: 12px;
      margin-bottom: 16px;
      border: 1px solid #f1f5f9
    }

    .cfact {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: #334155;
      font-weight: 600
    }

    .cfact i {
      color: #2563eb;
      font-size: 16px;
      flex-shrink: 0
    }

    .ccard-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: auto
    }

    .cchip {
      font-size: 11px;
      background: #f1f5f9;
      color: #475569;
      font-weight: 600;
      padding: 3px 8px;
      border-radius: 6px
    }

    .ccard-footer {
      padding: 16px 24px;
      background: #fff;
      border-top: 1px solid #f1f5f9;
      display: flex;
      gap: 10px;
      align-items: center
    }

    .btn-detail {
      flex: 1;
      background: #f8fafc;
      color: #1e293b;
      border: 1.5px solid #e2e8f0;
      border-radius: 10px;
      padding: 10px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      text-align: center;
      text-decoration: none;
      transition: all 0.2s;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px
    }

    .btn-detail:hover {
      background: #eff6ff;
      color: #2563eb;
      border-color: #2563eb
    }

    .btn-card-apply {
      background: linear-gradient(135deg, #2563eb, #3b82f6);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 10px 16px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.2s;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
    }

    .btn-card-apply:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35)
    }

    /* ── MODAL CANDIDATURE ── */
    .modal-overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(15, 23, 42, 0.6);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      z-index: 2000;
      align-items: center;
      justify-content: center;
      padding: 20px
    }

    .modal-card {
      background: #fff;
      border-radius: 24px;
      border: 1px solid #e2e8f0;
      width: 100%;
      max-width: 540px;
      padding: 36px;
      color: #0f172a;
      box-shadow: 0 25px 60px -10px rgba(15, 23, 42, 0.2);
      position: relative;
      animation: modalIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    @keyframes modalIn {
      from {
        opacity: 0;
        transform: scale(0.95)
      }

      to {
        opacity: 1;
        transform: scale(1)
      }
    }

    .modal-close {
      position: absolute;
      top: 20px;
      right: 20px;
      background: #f1f5f9;
      border: 1px solid #e2e8f0;
      color: #64748b;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      transition: all 0.2s;
    }

    .modal-close:hover {
      background: #e2e8f0;
      color: #0f172a
    }

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

    @media(max-width:640px) {
      .cat-grid {
        grid-template-columns: 1fr
      }

      .cat-hero h1 {
        font-size: 30px
      }
    }

    /* HERO FORMATION */
    .course-hero {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%), url('../images/hero_bg.png') center/cover no-repeat;
      padding: 64px 0 80px;
      color: #fff;
      position: relative;
      overflow: hidden;
      width: 100%;
      box-sizing: border-box;
    }

    .hero-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 48px;
      align-items: start
    }

    .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: #94a3b8;
      margin-bottom: 20px;
      font-weight: 500
    }

    .breadcrumb a {
      color: #38bdf8;
      text-decoration: none
    }

    .course-badge-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px
    }

    .badge-type {
      background: #dbeafe;
      color: #1e40af;
      font-size: 12px;
      font-weight: 800;
      padding: 5px 12px;
      border-radius: 6px;
      text-transform: uppercase;
      letter-spacing: 0.05em
    }

    .badge-accred {
      background: rgba(255, 255, 255, 0.1);
      color: #38bdf8;
      border: 1px solid rgba(56, 189, 248, 0.3);
      font-size: 12px;
      font-weight: 700;
      padding: 4px 12px;
      border-radius: 6px;
      display: inline-flex;
      align-items: center;
      gap: 6px
    }

    .course-hero h1 {
      font-size: 38px;
      font-weight: 800;
      line-height: 1.25;
      margin-bottom: 18px;
      letter-spacing: -0.02em;
      color: #ffffff
    }

    .course-hero p.lead {
      font-size: 17px;
      color: #cbd5e1;
      line-height: 1.7;
      margin-bottom: 28px;
      max-width: 720px
    }

    .hero-quick-facts {
      display: flex;
      flex-wrap: wrap;
      gap: 24px;
      padding-top: 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.12)
    }

    .qfact {
      display: flex;
      align-items: center;
      gap: 10px
    }

    .qfact-icon {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: rgba(56, 189, 248, 0.15);
      color: #38bdf8;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px
    }

    .qfact-text .label {
      font-size: 11px;
      color: #94a3b8;
      font-weight: 600;
      text-transform: uppercase
    }

    .qfact-text .val {
      font-size: 14px;
      color: #fff;
      font-weight: 700
    }

    /* SIDEBAR CARD */
    .sidebar-card {
      background: #fff;
      border-radius: 20px;
      padding: 28px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
      color: #0f172a;
      position: sticky;
      top: 96px;
      border: 1px solid #e2e8f0
    }

    .sidebar-price {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid #f1f5f9
    }

    .price-title {
      font-size: 12px;
      font-weight: 700;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 4px
    }

    .price-val {
      font-size: 30px;
      font-weight: 800;
      color: #0f172a
    }

    .price-sub {
      font-size: 12px;
      color: #10b981;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 4px;
      margin-top: 4px
    }

    .sidebar-list {
      list-style: none;
      margin-bottom: 24px
    }

    .sidebar-list li {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 14px;
      color: #334155;
      padding: 8px 0;
      border-bottom: 1px dashed #f1f5f9
    }

    .sidebar-list li i {
      color: #2563eb;
      font-size: 18px
    }

    .sidebar-list li span.bold {
      font-weight: 700;
      color: #0f172a;
      margin-left: auto
    }

    .btn-apply {
      width: 100%;
      background: linear-gradient(135deg, #2563eb, #1d4ed8);
      color: #fff;
      border: none;
      border-radius: 12px;
      padding: 14px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
      transition: all 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-bottom: 12px
    }

    .btn-apply:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(37, 99, 235, 0.4)
    }

    .btn-brochure {
      width: 100%;
      background: #f8fafc;
      color: #475569;
      border: 1px solid #cbd5e1;
      border-radius: 12px;
      padding: 12px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px
    }

    .btn-brochure:hover {
      background: #f1f5f9;
      color: #0f172a
    }

    /* MAIN CONTENT LAYOUT */
    .main-layout {
      max-width: 1280px;
      margin: 56px auto 80px;
      padding: 0 24px;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 48px
    }

    .content-area {
      display: flex;
      flex-direction: column;
      gap: 48px
    }

    /* SECTION BLOCKS */
    .section-block {
      background: #fff;
      border-radius: 20px;
      padding: 36px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03)
    }

    .section-header {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 24px;
      padding-bottom: 16px;
      border-bottom: 2px solid #f1f5f9
    }

    .section-header-icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: #eff6ff;
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px
    }

    .section-header h2 {
      font-size: 22px;
      font-weight: 800;
      color: #0f172a
    }

    /* PILLAR 1: OBJECTIFS */
    .objectifs-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px
    }

    .obj-card {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 20px;
      display: flex;
      gap: 14px;
      align-items: start
    }

    .obj-card i {
      color: #2563eb;
      font-size: 20px;
      background: #fff;
      padding: 8px;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04)
    }

    .obj-card p {
      font-size: 14px;
      color: #334155;
      font-weight: 600;
      line-height: 1.5
    }

    /* PILLAR 2: PROGRAMME MODULES */
    .modules-list {
      display: flex;
      flex-direction: column;
      gap: 14px
    }

    .module-item {
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      overflow: hidden;
      transition: all 0.2s
    }

    .module-head {
      background: #f8fafc;
      padding: 16px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer;
      font-weight: 700;
      color: #0f172a;
      font-size: 15px
    }

    .module-head:hover {
      background: #f1f5f9
    }

    .module-badge {
      font-size: 12px;
      background: #e0e7ff;
      color: #4338ca;
      padding: 4px 10px;
      border-radius: 6px;
      font-weight: 700
    }

    .module-body {
      padding: 20px;
      font-size: 14px;
      color: #475569;
      background: #fff;
      border-top: 1px solid #e2e8f0;
      line-height: 1.7
    }

    /* PILLAR 3 & 4: PREREQUIS & DEBOUCHES */
    .pill-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px
    }

    .pill-tag {
      background: #f0fdf4;
      color: #166534;
      border: 1px solid #bbf7d0;
      font-size: 13px;
      font-weight: 700;
      padding: 8px 16px;
      border-radius: 30px;
      display: inline-flex;
      align-items: center;
      gap: 8px
    }

    .pill-tag.job {
      background: #f0f9ff;
      color: #0369a1;
      border-color: #bae6fd
    }

    /* MAHMOUD ADVISOR BOX */
    .advisor-banner {
      background: linear-gradient(135deg, #0f172a, #1e293b);
      border-radius: 20px;
      padding: 32px;
      color: #fff;
      display: flex;
      align-items: center;
      gap: 24px;
      margin-top: 20px;
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.1)
    }

    .advisor-avatar {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: linear-gradient(135deg, #2563eb, #38bdf8);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 32px;
      color: #fff;
      box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
      flex-shrink: 0
    }

    .advisor-info h4 {
      font-size: 18px;
      font-weight: 800;
      margin-bottom: 4px;
      color: #fff
    }

    .advisor-info p {
      font-size: 14px;
      color: #94a3b8;
      line-height: 1.5
    }

    .advisor-btn {
      margin-left: auto;
      background: #38bdf8;
      color: #0f172a;
      border: none;
      border-radius: 10px;
      padding: 12px 20px;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      white-space: nowrap;
      transition: all 0.2s
    }

    .advisor-btn:hover {
      background: #7dd3fc;
      transform: scale(1.03)
    }


    /* RESPONSIVE DESIGN FOR FORMATION TEMPLATE */
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .partners-logos-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 16px;
      align-items: center;
    }

    @media (max-width: 1024px) {
      .hero-container {
        grid-template-columns: 1fr !important;
        gap: 32px;
        padding: 0 24px;
      }

      .main-layout {
        grid-template-columns: 1fr !important;
        gap: 32px;
        padding: 0 24px;
        margin-top: 40px;
        margin-bottom: 40px;
      }

      .course-hero {
        padding: 48px 0;
      }

      .partners-logos-grid {
        grid-template-columns: repeat(4, 1fr);
      }

      .hero-brochure-form {
        margin-top: 0;
      }

      .sidebar-card {
        position: static;
        box-shadow: none;
        border: 1px solid #e2e8f0;
      }
    }

    @media (max-width: 768px) {
      .objectifs-grid {
        grid-template-columns: 1fr !important;
      }

      .course-hero h1 {
        font-size: 28px !important;
        margin-bottom: 12px;
      }

      .course-hero p.lead {
        font-size: 15px !important;
        margin-bottom: 20px;
      }

      .advisor-banner {
        flex-direction: column;
        text-align: center;
        gap: 16px;
      }

      .advisor-btn {
        margin: 0 auto;
        width: 100%;
      }

      .partners-logos-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .form-row {
        grid-template-columns: 1fr;
      }

      .hero-brochure-form {
        padding: 20px 16px;
      }

      .section-block {
        padding: 24px 20px;
      }
    }

    /* RESPONSIVE FOOTER & BREADCRUMB */
    .breadcrumb {
      flex-wrap: wrap;
    }

    @media (max-width: 1024px) {
      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
      }
    }

    @media (max-width: 768px) {
      .breadcrumb {
        font-size: 11px;
      }

      .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 16px;
        justify-content: center;
      }

      .footer-bottom-links {
        justify-content: center;
        flex-wrap: wrap;
      }
    }

    /* FIX STICKY SIDEBAR */
    .main-layout aside {
      height: 100% !important;
    }

    .sidebar-card {
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 96px !important;
      z-index: 10;
    }

    /* Prevent Elementor containers from breaking sticky */
    .elementor-section:has(.sidebar-card),
    .elementor-column:has(.sidebar-card),
    .elementor-widget-wrap:has(.sidebar-card),
    .elementor-widget:has(.sidebar-card) {
      overflow: visible !important;
    }

    /* CF7 BROCHURE FORM STYLES */
    .hero-brochure-form .wpcf7-form {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 20px;
    }

    .hero-brochure-form .wpcf7-form-control-wrap {
      display: block;
      width: 100%;
    }

    .hero-brochure-form input[type="text"],
    .hero-brochure-form input[type="email"],
    .hero-brochure-form input[type="tel"] {
      width: 100%;
      padding: 12px 14px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      color: #0f172a;
      font-size: 13.5px;
      outline: none;
      transition: all 0.2s;
      box-sizing: border-box;
    }

    .hero-brochure-form input:focus {
      border-color: #2563eb;
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    }

    .hero-brochure-form input[type="submit"] {
      width: 100%;
      background: linear-gradient(135deg, #2563eb, #1d4ed8);
      color: #fff;
      border: none;
      border-radius: 8px;
      padding: 14px;
      font-size: 14.5px;
      font-weight: 800;
      cursor: pointer;
      margin-top: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4);
      transition: all 0.2s;
    }

    .hero-brochure-form input[type="submit"]:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(37, 99, 235, 0.5);
    }

    /* FORCE 1 COLUMN FOR BROCHURE FORM ROWS */
    .hero-brochure-form .form-row {
      grid-template-columns: 1fr !important;
      gap: 12px !important;
    }

    /* CF7 RESPONSE MESSAGES STYLING */
    .hero-brochure-form .wpcf7 form .wpcf7-response-output {
      margin: 16px 0 0 0 !important;
      padding: 12px 16px !important;
      border-radius: 8px !important;
      font-size: 13.5px !important;
      font-weight: 500 !important;
      border: 1px solid transparent !important;
    }

    .hero-brochure-form .wpcf7 form.invalid .wpcf7-response-output,
    .hero-brochure-form .wpcf7 form.unaccepted .wpcf7-response-output,
    .hero-brochure-form .wpcf7 form.failed .wpcf7-response-output {
      background-color: #fef2f2 !important;
      color: #ef4444 !important;
      border-color: #fca5a5 !important;
    }

    .hero-brochure-form .wpcf7 form.sent .wpcf7-response-output {
      background-color: #f0fdf4 !important;
      color: #16a34a !important;
      border-color: #86efac !important;
    }

    .hero-brochure-form .wpcf7-not-valid-tip {
      font-size: 12px !important;
      color: #ef4444 !important;
      margin-top: 4px !important;
      display: block;
    }

    .hero-brochure-form .wpcf7-not-valid {
      border-color: #f87171 !important;
      background-color: #fef2f2 !important;
    }

    /* FIX EXCESSIVE SPACING IN CF7 */
    .hero-brochure-form .wpcf7 form p {
      margin: 0 !important;
      padding: 0 !important;
    }

    .hero-brochure-form .wpcf7 form br {
      display: none !important;
    }

    .hero-brochure-form .wpcf7-response-output {
      margin: 12px 0 0 0 !important;
    }

    .hero-brochure-form .form-row {
      margin-bottom: 0 !important;
    }

    /* CF7 SUCCESS STATE FULL FORM REPLACEMENT */
    .hero-brochure-form .wpcf7 form.sent .form-row,
    .hero-brochure-form .wpcf7 form.sent p,
    .hero-brochure-form .wpcf7 form.sent .wpcf7-spinner {
      display: none !important;
    }

    .hero-brochure-form .wpcf7 form.sent .wpcf7-response-output {
      display: flex !important;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: #f0fdf4 !important;
      color: #15803d !important;
      border: 2px dashed #86efac !important;
      padding: 40px 24px !important;
      margin: 0 !important;
      border-radius: 12px !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      min-height: 200px;
      box-sizing: border-box;
    }

    .hero-brochure-form .wpcf7 form.sent .wpcf7-response-output::before {
      content: "✓";
      font-size: 48px;
      line-height: 1;
      margin-bottom: 16px;
      color: #22c55e;
    }


    /* CONTACT PAGE STYLES */


    /* ── NAV ── */







    /* ── HERO ── */
    .contact-hero {
      padding: 140px 24px 80px;
      background: linear-gradient(160deg, #eff6ff 0%, #f8fafc 50%, #f0fdf4 100%);
      position: relative;
      overflow: hidden;
      text-align: center;
      border-bottom: 1px solid #e2e8f0;
    }

    .hero-blob-1 {
      position: absolute;
      top: -120px;
      left: -80px;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, .1) 0%, transparent 70%);
      pointer-events: none;
    }

    .hero-blob-2 {
      position: absolute;
      bottom: -100px;
      right: -60px;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(16, 185, 129, .08) 0%, transparent 70%);
      pointer-events: none;
    }

    .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 30px;
      padding: 8px 20px;
      font-size: 12px;
      font-weight: 700;
      color: #2563eb;
      letter-spacing: .08em;
      margin-bottom: 24px;
      text-transform: uppercase;
      box-shadow: 0 2px 12px rgba(37, 99, 235, .08);
    }

    .hero-eyebrow .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #22c55e;
      box-shadow: 0 0 8px #22c55e;
      animation: pulse 2s infinite
    }

    @keyframes pulse {

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

      50% {
        opacity: .5;
        transform: scale(1.3)
      }
    }

    .contact-hero h1 {
      font-size: 52px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -.04em;
      line-height: 1.1;
      margin-bottom: 20px
    }

    .contact-hero h1 span {
      background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent
    }

    .contact-hero>p {
      font-size: 17px;
      color: #64748b;
      max-width: 600px;
      margin: 0 auto 48px;
      line-height: 1.8
    }

    .contact-hero .hero-stats {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap
    }

    .contact-hero .hero-stat {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 16px 30px;
      text-align: center;
      box-shadow: 0 2px 12px rgba(15, 23, 42, .06);
      transition: all .3s;
      min-width: 110px;
    }

    .contact-hero .hero-stat:hover {
      border-color: #bfdbfe;
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(37, 99, 235, .12)
    }

    .contact-hero .hero-stat .num {
      font-size: 22px;
      font-weight: 800;
      color: #2563eb;
      background: none;
      -webkit-text-fill-color: initial;
    }

    .contact-hero .hero-stat .lab {
      font-size: 11px;
      font-weight: 600;
      color: #94a3b8;
      margin-top: 3px;
      text-transform: uppercase;
      letter-spacing: .06em
    }

    /* ── MAIN GRID ── */
    .contact-wrapper {
      max-width: 1240px;
      margin: 0 auto;
      padding: 80px 24px 100px;
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: 72px;
      align-items: start;
    }

    /* ── LEFT INFO ── */
    .section-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      color: #2563eb;
      border: 1px solid #bfdbfe;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 20px;
    }

    .contact-left h2 {
      font-size: 36px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -.03em;
      line-height: 1.2;
      margin-bottom: 16px
    }

    .contact-left>p {
      font-size: 15.5px;
      color: #64748b;
      line-height: 1.8;
      margin-bottom: 44px
    }

    .info-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 44px
    }

    .info-item {
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 18px 22px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      transition: all .3s;
      box-shadow: 0 1px 6px rgba(15, 23, 42, .04);
    }

    .info-item:hover {
      border-color: #bfdbfe;
      transform: translateX(5px);
      box-shadow: 0 4px 20px rgba(37, 99, 235, .1)
    }

    .info-icon {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      background: linear-gradient(135deg, #eff6ff, #dbeafe);
      border: 1px solid #bfdbfe;
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      flex-shrink: 0;
      transition: all .3s;
    }

    .info-item:hover .info-icon {
      background: linear-gradient(135deg, #2563eb, #3b82f6);
      color: #fff;
      border-color: transparent
    }

    .info-lbl {
      font-size: 10.5px;
      font-weight: 700;
      color: #94a3b8;
      text-transform: uppercase;
      letter-spacing: .07em
    }

    .info-val {
      font-size: 15px;
      font-weight: 700;
      color: #1e293b;
      margin-top: 3px
    }

    .info-val a {
      color: #1e293b;
      text-decoration: none;
      transition: color .2s
    }

    .info-val a:hover {
      color: #2563eb
    }

    .campus-title {
      font-size: 11px;
      font-weight: 800;
      color: #94a3b8;
      text-transform: uppercase;
      letter-spacing: .07em;
      margin-bottom: 14px
    }

    .campus-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
    }

    .campus-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      padding: 22px 20px;
      transition: all .3s;
      box-shadow: 0 1px 6px rgba(15, 23, 42, .04);
    }

    .campus-card:hover {
      border-color: #bfdbfe;
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(37, 99, 235, .12)
    }

    .campus-name {
      font-size: 14px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px
    }

    .campus-name i {
      color: #2563eb;
      font-size: 16px
    }

    .campus-addr {
      font-size: 12.5px;
      color: #94a3b8;
      line-height: 1.6;
      margin-bottom: 10px
    }

    .campus-phone {
      font-size: 13px;
      font-weight: 700;
      color: #2563eb
    }

    .social-row {
      display: flex;
      gap: 10px;
      margin-top: 36px
    }

    .social-btn {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      border: 1px solid #e2e8f0;
      background: #fff;
      color: #64748b;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 19px;
      text-decoration: none;
      transition: all .25s;
      box-shadow: 0 1px 4px rgba(15, 23, 42, .05);
    }

    .social-btn:hover {
      background: #2563eb;
      border-color: #2563eb;
      color: #fff;
      transform: translateY(-3px);
      box-shadow: 0 8px 20px rgba(37, 99, 235, .3)
    }

    /* ── FORM CARD ── */
    .form-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 28px;
      padding: 48px 44px;
      box-shadow: 0 20px 60px -10px rgba(15, 23, 42, .1);
      position: sticky;
      top: 96px;
    }

    .form-card-header {
      margin-bottom: 32px
    }

    .form-card-header h3 {
      font-size: 22px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 6px
    }

    .form-card-header p {
      font-size: 13.5px;
      color: #94a3b8
    }

    .field {
      margin-bottom: 18px
    }

    .field label {
      display: block;
      font-size: 11.5px;
      font-weight: 700;
      color: #94a3b8;
      text-transform: uppercase;
      letter-spacing: .06em;
      margin-bottom: 8px;
      transition: color .2s;
    }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 12px;
      padding: 12px 16px;
      font-size: 14px;
      font-weight: 500;
      color: #0f172a;
      font-family: inherit;
      outline: none;
      transition: all .25s;
    }

    .field select {
      cursor: pointer;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      background-size: 16px;
      padding-right: 40px;
    }

    .field select option {
      background: #fff;
      color: #0f172a
    }

    .field input::placeholder,
    .field textarea::placeholder {
      color: #cbd5e1
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 4px rgba(37, 99, 235, .1);
      background: #fff;
    }

    .field textarea {
      resize: vertical;
      min-height: 100px;
      line-height: 1.6
    }

    .field-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
    }

    .radio-group {
      display: flex;
      flex-direction: column;
      gap: 10px
    }

    .radio-opt {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 12px;
      cursor: pointer;
      transition: all .2s;
      user-select: none;
    }

    .radio-opt:hover {
      border-color: #bfdbfe;
      background: #eff6ff
    }

    .radio-opt input[type="radio"] {
      accent-color: #2563eb;
      width: 16px;
      height: 16px;
      cursor: pointer
    }

    .radio-opt span {
      font-size: 13.5px;
      font-weight: 600;
      color: #334155
    }

    .consent {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin-top: 6px;
      margin-bottom: 22px
    }

    .consent input[type="checkbox"] {
      accent-color: #2563eb;
      width: 16px;
      height: 16px;
      margin-top: 2px;
      cursor: pointer;
      flex-shrink: 0
    }

    .consent span {
      font-size: 12px;
      color: #94a3b8;
      line-height: 1.6
    }

    .consent span a {
      color: #2563eb;
      text-decoration: none
    }

    .btn-submit {
      width: 100%;
      padding: 15px;
      background: linear-gradient(135deg, #1d4ed8, #2563eb, #3b82f6);
      border: none;
      border-radius: 14px;
      font-size: 15px;
      font-weight: 700;
      color: #fff;
      cursor: pointer;
      font-family: inherit;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 6px 24px rgba(37, 99, 235, .35);
      transition: all .25s;
    }

    .btn-submit:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(37, 99, 235, .45)
    }

    .btn-submit:active {
      transform: translateY(0)
    }

    .success-msg {
      display: none;
      text-align: center;
      padding: 32px 16px;
      animation: fadeInUp .4s ease
    }

    .success-msg .check-circle {
      width: 72px;
      height: 96px;
      border-radius: 50%;
      background: linear-gradient(135deg, #10b981, #34d399);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 20px;
      font-size: 34px;
      color: #fff;
      box-shadow: 0 8px 24px rgba(16, 185, 129, .3);
    }

    .success-msg h4 {
      font-size: 20px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 10px
    }

    .success-msg p {
      font-size: 14px;
      color: #64748b;
      line-height: 1.7
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(20px)
      }

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

    /* ── FAQ + MAP ── */
    .two-col-sec {
      background: #fff;
      padding: 80px 0;
      border-top: 1px solid #f1f5f9;
      border-bottom: 1px solid #f1f5f9;
    }

    .two-col-inner {
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 72px;
      align-items: start
    }

    .faq-label {
      font-size: 11px;
      font-weight: 800;
      color: #2563eb;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 12px
    }

    .faq-title {
      font-size: 30px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 32px;
      line-height: 1.25
    }

    .faq-item {
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      margin-bottom: 10px;
      overflow: hidden;
      transition: all .3s;
      background: #fff
    }

    .faq-item.open {
      border-color: #bfdbfe;
      box-shadow: 0 4px 20px rgba(37, 99, 235, .08)
    }

    .faq-q {
      width: 100%;
      background: none;
      border: none;
      padding: 18px 22px;
      cursor: pointer;
      font-family: inherit;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      text-align: left
    }

    .faq-q-text {
      font-size: 14.5px;
      font-weight: 700;
      color: #1e293b
    }

    .faq-icon {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      background: #f1f5f9;
      border: 1px solid #e2e8f0;
      color: #94a3b8;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      flex-shrink: 0;
      transition: all .3s
    }

    .faq-item.open .faq-icon {
      background: #2563eb;
      border-color: #2563eb;
      color: #fff;
      transform: rotate(45deg)
    }

    .faq-a {
      max-height: 0;
      overflow: hidden;
      padding: 0 22px;
      font-size: 14px;
      color: #64748b;
      line-height: 1.8;
      transition: max-height .4s ease, padding .3s ease
    }

    .faq-item.open .faq-a {
      max-height: 300px;
      padding: 0 22px 18px
    }

    .map-label {
      font-size: 11px;
      font-weight: 800;
      color: #2563eb;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 12px
    }

    .map-title {
      font-size: 30px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 32px;
      line-height: 1.25
    }

    .map-tabs {
      display: flex;
      gap: 8px;
      margin-bottom: 20px
    }

    .map-tab {
      padding: 9px 20px;
      border-radius: 30px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      border: 1.5px solid #e2e8f0;
      background: #fff;
      color: #64748b;
      transition: all .2s;
      font-family: inherit
    }

    .map-tab.active,
    .map-tab:hover {
      background: linear-gradient(135deg, #2563eb, #3b82f6);
      border-color: transparent;
      color: #fff;
      box-shadow: 0 4px 14px rgba(37, 99, 235, .3)
    }

    .map-frame {
      border-radius: 18px;
      overflow: hidden;
      height: 300px;
      display: none;
      box-shadow: 0 8px 32px rgba(15, 23, 42, .1);
      border: 1px solid #e2e8f0
    }

    .map-frame.active {
      display: block
    }

    .map-frame iframe {
      width: 100%;
      height: 100%;
      border: none
    }

    .map-address {
      margin-top: 18px;
      padding: 16px 20px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      display: flex;
      align-items: center;
      gap: 14px
    }

    .map-address i {
      color: #2563eb;
      font-size: 20px;
      flex-shrink: 0
    }

    .map-address-text {
      font-size: 13px;
      color: #64748b;
      line-height: 1.6
    }

    .map-address-text strong {
      color: #1e293b;
      display: block;
      margin-bottom: 2px
    }

    /* ── COMPLETE FOOTER ── */

    .f-contact-item i {
      color: #38bdf8;
      font-size: 18px;
      margin-top: 2px;
      flex-shrink: 0;
    }

    .f-contact-item div {
      font-size: 13px;
      color: #94a3b8;
      line-height: 1.5;
    }

    .f-contact-item strong {
      display: block;
      color: #ffffff;
      font-weight: 600;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      padding-top: 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
      font-size: 12.5px;
      color: #64748b;
    }

    .footer-bottom.is-centered {
      justify-content: center !important;
      text-align: center !important;
    }

    .footer-bottom.is-centered > div {
      text-align: center !important;
      width: 100% !important;
      margin: 0 auto !important;
    }

    .footer-bottom-links {
      display: flex;
      gap: 20px;
    }

    .footer-bottom-links a {
      color: #64748b;
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-bottom-links a:hover {
      color: #94a3b8;
    }

    /* ── RESPONSIVE ── */
    @media(max-width:1024px) {
      .contact-wrapper {
        grid-template-columns: 1fr;
        gap: 48px
      }

      .form-card {
        position: static
      }

      .two-col-inner {
        grid-template-columns: 1fr;
        gap: 56px
      }

      .campus-cards {
        grid-template-columns: 1fr 1fr
      }
    }

    @media(max-width:640px) {
      .contact-hero h1 {
        font-size: 34px
      }



      .contact-wrapper {
        padding: 56px 20px 64px
      }

      .form-card {
        padding: 32px 22px
      }

      .field-row {
        grid-template-columns: 1fr
      }

      .campus-cards {
        grid-template-columns: 1fr
      }
    }

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

    @keyframes shake {

      0%,
      100% {
        transform: translateX(0)
      }

      20%,
      60% {
        transform: translateX(-6px)
      }

      40%,
      80% {
        transform: translateX(6px)
      }
    }

    /* CF7 FIXES FOR CONTACT PAGE */
    .contact-cf7-wrapper .wpcf7 form p {
      margin: 0 !important;
      padding: 0 !important;
    }

    .contact-cf7-wrapper .wpcf7 form br {
      display: none !important;
    }

    .contact-cf7-wrapper .wpcf7-response-output {
      margin: 16px 0 0 0 !important;
      padding: 12px 16px !important;
      border-radius: 8px !important;
      font-size: 13.5px !important;
      font-weight: 500 !important;
      border: 1px solid transparent !important;
    }

    .contact-cf7-wrapper .wpcf7 form.invalid .wpcf7-response-output,
    .contact-cf7-wrapper .wpcf7 form.unaccepted .wpcf7-response-output,
    .contact-cf7-wrapper .wpcf7 form.failed .wpcf7-response-output {
      background-color: #fef2f2 !important;
      color: #ef4444 !important;
      border-color: #fca5a5 !important;
    }

    .contact-cf7-wrapper .wpcf7 form.sent .wpcf7-response-output {
      background-color: #f0fdf4 !important;
      color: #16a34a !important;
      border-color: #86efac !important;
    }

    .contact-cf7-wrapper .wpcf7-not-valid-tip {
      font-size: 12px !important;
      color: #ef4444 !important;
      margin-top: 4px !important;
      display: block;
    }

    .contact-cf7-wrapper .wpcf7-not-valid {
      border-color: #f87171 !important;
      background-color: #fef2f2 !important;
    }

    /* Force Contact Page Widget to full width */
    .elementor-widget-insag_contact_page {
      width: 100% !important;
    }

    .elementor-widget-insag_contact_page .elementor-widget-container {
      margin: 0 !important;
      padding: 0 !important;
    }

    /* Force contact page Elementor container to full width to fix card width & background colors */
    .elementor-26 .elementor-section.elementor-section-boxed>.elementor-container {
      max-width: 100% !important;
      padding: 0 !important;
    }

    .elementor-26 .elementor-widget-wrap {
      padding: 0 !important;
    }

    /* Fix background for FAQ/Map section on Contact Page */
    .elementor-26 .two-col-sec {
      background: #f8fafc;
    }

    /* ACTUALITES PAGE STYLES */
    /* ── HERO ── */
    .news-hero {
      padding: 76px 24px 64px;
      background: linear-gradient(160deg, #eff6ff 0%, #f8fafc 50%, #f0fdf4 100%);
      position: relative;
      overflow: hidden;
      text-align: center;
      border-bottom: 1px solid #e2e8f0;
    }

    .hero-blob-1 {
      position: absolute;
      top: -120px;
      left: -80px;
      width: 480px;
      height: 480px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, .1) 0%, transparent 70%);
      pointer-events: none;
    }

    .hero-blob-2 {
      position: absolute;
      bottom: -100px;
      right: -60px;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(56, 189, 248, .08) 0%, transparent 70%);
      pointer-events: none;
    }

    .news-hero-container {
      max-width: 880px;
      margin: 0 auto;
      position: relative;
      z-index: 2
    }

    .news-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 30px;
      padding: 8px 20px;
      font-size: 12px;
      font-weight: 700;
      color: #2563eb;
      letter-spacing: .08em;
      margin-bottom: 20px;
      text-transform: uppercase;
      box-shadow: 0 2px 12px rgba(37, 99, 235, .08);
    }

    .news-eyebrow .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #38bdf8;
      box-shadow: 0 0 8px #38bdf8
    }

    .news-hero h1 {
      font-size: 42px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -.03em;
      line-height: 1.2;
      margin-bottom: 16px
    }

    .news-hero h1 span {
      background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent
    }

    .news-hero p.lead {
      font-size: 17px;
      color: #475569;
      line-height: 1.7;
      margin-bottom: 36px
    }

    /* ── CATEGORY FILTERS ── */
    .filter-pills {
      display: flex;
      gap: 10px;
      justify-content: center;
      flex-wrap: wrap
    }

    .pill-btn {
      background: #fff;
      border: 1px solid #cbd5e1;
      color: #475569;
      border-radius: 30px;
      padding: 10px 22px;
      font-size: 13.5px;
      font-weight: 700;
      cursor: pointer;
      text-decoration: none;
      transition: all .2s;
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .pill-btn:hover,
    .pill-btn.active {
      background: #2563eb;
      color: #fff;
      border-color: #2563eb;
      box-shadow: 0 4px 14px rgba(37, 99, 235, .25);
    }

    /* ── CONTENT WRAPPER ── */
    .main-wrap {
      max-width: 1280px;
      margin: 0 auto;
      padding: 64px 24px
    }

    /* FEATURED ARTICLE (À LA UNE) */
    .featured-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 4px 20px rgba(15, 23, 42, .04);
      display: grid;
      grid-template-columns: 360px 1fr;
      margin-bottom: 48px;
      transition: all .3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .featured-card:hover {
      border-color: #cbd5e1;
      box-shadow: 0 12px 32px -8px rgba(15, 23, 42, .08);
      transform: translateY(-3px)
    }

    .featured-img-wrap {
      display: block;
      text-decoration: none;
      position: relative;
      background: #0f172a;
      height: 100%;
      min-height: 230px;
      max-height: 280px;
      overflow: hidden
    }

    .featured-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform .4s ease
    }

    .featured-card:hover .featured-img-wrap img {
      transform: scale(1.04)
    }

    .featured-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      background: rgba(15, 23, 42, .85);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255, 255, 255, .2);
      color: #38bdf8;
      font-size: 10.5px;
      font-weight: 800;
      padding: 4px 12px;
      border-radius: 14px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }

    .featured-body {
      padding: 28px 32px;
      display: flex;
      flex-direction: column;
      justify-content: center
    }

    .news-meta {
      display: flex;
      align-items: center;
      gap: 14px;
      font-size: 12.5px;
      color: #64748b;
      margin-bottom: 10px;
      font-weight: 600
    }

    .news-meta i {
      color: #2563eb
    }

    .featured-body h2 {
      font-size: 20px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.35;
      margin-bottom: 10px
    }

    .featured-body h2 a {
      color: #0f172a;
      text-decoration: none;
      transition: color .2s ease;
    }

    .featured-body h2 a:hover {
      color: #2563eb;
    }

    .featured-body p {
      font-size: 14px;
      color: #64748b;
      line-height: 1.6;
      margin-bottom: 18px
    }

    @media (max-width: 900px) {
      .featured-card {
        grid-template-columns: 1fr;
      }

      .featured-img-wrap {
        height: 200px;
        min-height: 200px;
        max-height: 200px;
      }

      .featured-body {
        padding: 22px 20px;
      }
    }

    .btn-read-more {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #2563eb;
      font-weight: 800;
      font-size: 14px;
      text-decoration: none;
      transition: gap .2s;
      width: fit-content;
      margin-top: 12px;
    }

    .btn-read-more:hover {
      gap: 12px;
      color: #1d4ed8
    }

    /* ARTICLES GRID */
    .grid-title {
      font-size: 24px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 28px;
      display: flex;
      align-items: center;
      gap: 10px
    }

    .grid-title i {
      color: #2563eb
    }

    .news-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-bottom: 72px;
    }

    @media (max-width: 992px) {
      .news-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }
    }

    @media (max-width: 640px) {
      .news-grid {
        grid-template-columns: 1fr;
        gap: 20px;
      }
    }

    .news-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 4px 16px rgba(15, 23, 42, .03);
      display: flex;
      flex-direction: column;
      transition: all .3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .news-card:hover {
      transform: translateY(-6px);
      border-color: #bfdbfe;
      box-shadow: 0 16px 36px -8px rgba(37, 99, 235, .12)
    }

    .card-img-wrap {
      display: block;
      text-decoration: none;
      position: relative;
      height: 200px;
      background: #1e293b;
      overflow: hidden
    }

    .card-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .4s
    }

    .news-card:hover .card-img-wrap img {
      transform: scale(1.06)
    }

    .card-cat-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      background: rgba(15, 23, 42, .85);
      backdrop-filter: blur(8px);
      color: #38bdf8;
      border: 1px solid rgba(56, 189, 248, .3);
      font-size: 10.5px;
      font-weight: 800;
      padding: 4px 12px;
      border-radius: 14px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }

    .card-body {
      padding: 24px;
      display: flex;
      flex-direction: column;
      flex-grow: 1
    }

    .card-body h3 {
      font-size: 18px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.4;
      margin-bottom: 12px
    }

    .card-body h3 a {
      color: #0f172a;
      text-decoration: none;
      transition: color .2s ease;
    }

    .card-body h3 a:hover {
      color: #2563eb;
    }

    .card-body p {
      font-size: 14px;
      color: #64748b;
      line-height: 1.6;
      margin: 0;
    }

    .card-body .btn-read-more {
      margin-top: 12px;
      padding-top: 0;
    }

    .feat-cat-pill {
      background: #eff6ff;
      color: #1d4ed8;
      font-size: 11px;
      font-weight: 800;
      padding: 3px 10px;
      border-radius: 12px;
      text-transform: uppercase;
      letter-spacing: .04em;
    }

    .news-no-results {
      grid-column: 1 / -1;
      text-align: center;
      padding: 60px 20px;
      background: #f8fafc;
      border-radius: 16px;
      border: 1px dashed #cbd5e1;
      color: #64748b;
      font-size: 16px;
      font-weight: 600;
    }

    /* ── NEWS PAGINATION ── */
    .news-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin: 40px auto 72px;
      flex-wrap: wrap;
    }

    .news-pagination .page-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      padding: 0 16px;
      border-radius: 12px;
      background: #ffffff;
      border: 1px solid #e2e8f0;
      color: #1e293b;
      font-size: 14px;
      font-weight: 700;
      text-decoration: none;
      transition: all .2s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 2px 6px rgba(15, 23, 42, .03);
    }

    .news-pagination .page-link:hover {
      background: #f8fafc;
      border-color: #cbd5e1;
      color: #0f172a;
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(15, 23, 42, .06);
    }

    .news-pagination .page-link.active {
      background: #0f172a;
      border-color: #0f172a;
      color: #ffffff;
      box-shadow: 0 4px 14px rgba(15, 23, 42, .18);
    }

    .news-pagination .page-link.prev,
    .news-pagination .page-link.next {
      gap: 6px;
      padding: 0 18px;
      font-weight: 800;
    }

    .news-pagination .page-dots {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 44px;
      color: #94a3b8;
      font-weight: 800;
    }

    /* ARCHIVE PAGES (TAGS & CATEGORIES) */
    .insag-archive-page {
      background: #f8fafc;
      min-height: calc(100vh - 200px);
    }

    .archive-breadcrumb-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 24px 24px 0;
    }

    .archive-hero {
      padding: 48px 24px 52px;
      margin-bottom: 0;
    }

    .archive-hero h1 {
      font-size: clamp(2rem, 3.5vw, 2.75rem);
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.025em;
      margin-bottom: 12px;
    }

    .archive-count-pill {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      background: #ffffff;
      border: 1px solid #e2e8f0;
      padding: 6px 16px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 700;
      color: #475569;
      margin-top: 18px;
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    }

    .archive-count-pill i {
      color: #2563eb;
      font-size: 15px;
    }

    /* AGENDA SECTION - LIGHT MODE */
    .agenda-sec {
      background: linear-gradient(135deg, #f8fafc 0%, #edf2f7 100%);
      border: 1px solid #e2e8f0;
      border-radius: 28px;
      padding: 56px 48px;
      color: #0f172a;
      margin-bottom: 64px;
      box-shadow: 0 8px 32px rgba(15, 23, 42, .04);
    }

    .agenda-head {
      text-align: center;
      max-width: 640px;
      margin: 0 auto 44px
    }

    .agenda-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      color: #2563eb;
      font-size: 11px;
      font-weight: 800;
      padding: 6px 16px;
      border-radius: 30px;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 14px;
      box-shadow: none;
    }

    .agenda-head h2 {
      font-size: 32px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 10px
    }

    .agenda-head p {
      font-size: 15px;
      color: #64748b;
    }

    .events-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px
    }

    .event-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      padding: 28px 24px;
      display: flex;
      gap: 20px;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
      transition: all .3s;
    }

    .event-card:hover {
      border-color: #bfdbfe;
      transform: translateY(-4px);
      box-shadow: 0 12px 28px rgba(37, 99, 235, 0.12);
      background: #ffffff;
    }

    .event-date-box {
      background: linear-gradient(135deg, #2563eb, #38bdf8);
      border-radius: 14px;
      padding: 12px 16px;
      text-align: center;
      color: #fff;
      min-width: 68px;
      height: fit-content;
      flex-shrink: 0;
      box-shadow: 0 4px 14px rgba(37, 99, 235, .25);
    }

    .event-date-box .day {
      font-size: 24px;
      font-weight: 800;
      line-height: 1
    }

    .event-date-box .month {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      margin-top: 2px
    }

    .event-info h4 {
      font-size: 16px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 6px;
      line-height: 1.4
    }

    .event-info p {
      font-size: 13px;
      color: #64748b;
      line-height: 1.5;
      margin-bottom: 10px
    }

    .event-meta {
      font-size: 12px;
      color: #2563eb;
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 6px
    }

    /* NEWSLETTER BOX */
    .newsletter-sec {
      background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #e0e7ff 100%);
      border: 1px solid #bfdbfe;
      border-radius: 24px;
      padding: 48px;
      text-align: center;
      max-width: 860px;
      margin: 0 auto 40px;
    }

    .newsletter-sec h3 {
      font-size: 26px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 10px
    }

    .newsletter-sec p {
      font-size: 15px;
      color: #475569;
      margin-bottom: 28px
    }

    .news-form {
      display: flex;
      gap: 12px;
      max-width: 540px;
      margin: 0 auto
    }

    .news-form input {
      flex-grow: 1;
      background: #fff;
      border: 1px solid #cbd5e1;
      border-radius: 12px;
      padding: 14px 20px;
      font-size: 14px;
      color: #0f172a;
      outline: none;
      transition: border-color .2s;
    }

    .news-form input:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 4px rgba(37, 99, 235, .12)
    }

    .news-form button {
      background: linear-gradient(135deg, #2563eb, #1d4ed8);
      color: #fff;
      border: none;
      border-radius: 12px;
      padding: 14px 28px;
      font-weight: 700;
      font-size: 14px;
      cursor: pointer;
      box-shadow: 0 4px 14px rgba(37, 99, 235, .3);
      transition: all .2s;
      white-space: nowrap;
    }

    .news-form button:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 18px rgba(37, 99, 235, .4)
    }

    /* Force Actualités Page Widget to full width */
    .elementor-widget-insag_actualites_page {
      width: 100% !important;
    }

    .elementor-widget-insag_actualites_page .elementor-widget-container {
      margin: 0 !important;
      padding: 0 !important;
    }

    /* Force Actualités Page Elementor Container to full width and add background */
    .elementor-section:has(.elementor-widget-insag_actualites_page) {
      background: #f8fafc;
    }

    .elementor-section:has(.elementor-widget-insag_actualites_page)>.elementor-container {
      max-width: 100% !important;
      padding: 0 !important;
    }

    .elementor-section:has(.elementor-widget-insag_actualites_page) .elementor-widget-wrap {
      padding: 0 !important;
    }


    /* Reset specific to Actualités widget to avoid deforming (with zero specificity) */
    :where(.actualites-page-wrapper) * {
      box-sizing: border-box;
    }

    :where(.actualites-page-wrapper) h1,
    :where(.actualites-page-wrapper) h2,
    :where(.actualites-page-wrapper) h3,
    :where(.actualites-page-wrapper) h4,
    :where(.actualites-page-wrapper) p,
    :where(.actualites-page-wrapper) figure,
    :where(.actualites-page-wrapper) ul,
    :where(.actualites-page-wrapper) li {
      margin: 0;
      padding: 0;
    }

    /* Force columns and wrapper to full width to prevent left-alignment issues */
    .elementor-section:has(.elementor-widget-insag_actualites_page) .elementor-column {
      width: 100% !important;
    }

    .actualites-page-wrapper {
      width: 100% !important;
      display: block;
    }

    /* Force center alignment for the container itself just in case Elementor flex acts up */
    .elementor-section:has(.elementor-widget-insag_actualites_page)>.elementor-container {
      width: 100% !important;
      display: block !important;
    }

    .elementor-section:has(.elementor-widget-insag_actualites_page) .elementor-column,
    .elementor-section:has(.elementor-widget-insag_actualites_page) .elementor-widget-wrap {
      display: block !important;
      width: 100% !important;
    }

    .elementor-widget-insag_actualites_page {
      display: block !important;
      width: 100% !important;
    }

    .elementor-widget-insag_actualites_page .elementor-widget-container {
      display: block !important;
      width: 100% !important;
    }

    /* Fix agenda title link color */
    .event-info h4 a {
      color: inherit;
      text-decoration: none;
    }

    .event-info h4 a:hover {
      color: var(--primary);
    }

    /* Mini description */
    .event-mini-desc {
      font-size: 0.9rem;
      color: rgba(255, 255, 255, 0.7);
      margin-top: 10px;
      line-height: 1.4;
    }

    /* ========================================= */
    /* SINGLE POST PAGE STYLES                   */
    /* ========================================= */

    .single-post-wrapper {
      background-color: var(--bg-body);
      padding-bottom: 80px;
    }

    /* Hero Section */
    .single-hero {
      position: relative;
      width: 100%;
      height: 60vh;
      min-height: 400px;
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0 20px;
    }

    .single-hero-overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(to bottom, rgba(10, 15, 36, 0.4) 0%, rgba(10, 15, 36, 0.9) 100%);
      z-index: 1;
    }

    .single-hero-content {
      position: relative;
      z-index: 2;
      max-width: 900px;
    }

    .single-cat-badge {
      display: inline-block;
      background-color: var(--primary);
      color: white;
      padding: 6px 14px;
      border-radius: 20px;
      font-size: 0.85rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 20px;
    }

    .single-title {
      font-size: clamp(2.5rem, 5vw, 4rem);
      color: white;
      line-height: 1.2;
      margin-bottom: 20px;
      text-wrap: balance;
    }

    .single-meta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      color: rgba(255, 255, 255, 0.8);
      font-size: 0.95rem;
    }

    .single-meta span {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    /* Main Container */
    .single-main-container {
      max-width: 1200px;
      margin: -60px auto 0;
      position: relative;
      z-index: 10;
      padding: 0 20px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 60px;
    }

    .single-content-wrap {
      background-color: var(--bg-card);
      border: 1px solid var(--border-color);
      border-radius: 20px;
      padding: 50px;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    }

    /* ACF Event Box */
    .single-event-box {
      background: linear-gradient(135deg, rgba(230, 57, 70, 0.1) 0%, rgba(230, 57, 70, 0.05) 100%);
      border: 1px solid rgba(230, 57, 70, 0.2);
      border-radius: 16px;
      padding: 30px;
      margin-bottom: 40px;
    }

    .seb-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 25px;
      color: var(--primary);
    }

    .seb-header i {
      font-size: 1.8rem;
    }

    .seb-header h3 {
      font-size: 1.4rem;
      margin: 0;
      color: white;
    }

    .seb-body {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px;
    }

    .seb-item {
      display: flex;
      align-items: flex-start;
      gap: 15px;
    }

    .seb-item i {
      font-size: 1.5rem;
      color: var(--primary);
      background: rgba(230, 57, 70, 0.1);
      padding: 10px;
      border-radius: 10px;
    }

    .seb-item div {
      display: flex;
      flex-direction: column;
    }

    .seb-item strong {
      color: var(--text-muted);
      font-size: 0.85rem;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .seb-item span {
      color: white;
      font-size: 1.1rem;
      font-weight: 500;
    }

    .seb-footer {
      margin-top: 25px;
      padding-top: 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.8);
      font-size: 0.95rem;
      line-height: 1.6;
    }

    /* Article Body Typography */
    .single-article-body {
      color: rgba(255, 255, 255, 0.85);
      font-size: 1.1rem;
      line-height: 1.8;
    }

    .single-article-body p {
      margin-bottom: 25px;
    }

    .single-article-body h2 {
      color: white;
      font-size: 2rem;
      margin: 40px 0 20px;
    }

    .single-article-body h3 {
      color: white;
      font-size: 1.5rem;
      margin: 30px 0 15px;
    }

    .single-article-body ul,
    .single-article-body ol {
      margin-bottom: 25px;
      padding-left: 20px;
    }

    .single-article-body li {
      margin-bottom: 10px;
    }

    .single-article-body blockquote {
      border-left: 4px solid var(--primary);
      padding: 20px 30px;
      background: rgba(255, 255, 255, 0.03);
      margin: 30px 0;
      font-size: 1.2rem;
      font-style: italic;
      border-radius: 0 10px 10px 0;
    }

    .single-article-body img {
      max-width: 100%;
      height: auto;
      border-radius: 12px;
      margin: 30px 0;
    }

    /* Share Box */
    .single-share-box {
      margin-top: 60px;
      padding-top: 30px;
      border-top: 1px solid var(--border-color);
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .single-share-box span {
      font-weight: 600;
      color: white;
    }

    .share-btn {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      color: white;
      transition: all 0.3s ease;
      text-decoration: none;
    }

    .share-btn.linkedin {
      background: #0077b5;
    }

    .share-btn.facebook {
      background: #1877f2;
    }

    .share-btn.twitter {
      background: #1da1f2;
    }

    .share-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      color: white;
    }

    /* Related Posts */
    .single-related-section {
      margin-top: 40px;
    }

    .related-title {
      font-size: 2rem;
      color: white;
      margin-bottom: 30px;
      text-align: center;
    }

    .related-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 30px;
    }

    .related-card {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      border-radius: 16px;
      overflow: hidden;
      transition: all 0.3s ease;
      text-decoration: none;
      display: block;
    }

    .related-card:hover {
      transform: translateY(-10px);
      border-color: var(--primary);
      box-shadow: 0 15px 30px rgba(230, 57, 70, 0.1);
    }

    .rc-img {
      height: 200px;
      background-size: cover;
      background-position: center;
    }

    .rc-body {
      padding: 25px;
    }

    .rc-body h4 {
      color: white;
      font-size: 1.2rem;
      margin-bottom: 15px;
      line-height: 1.4;
    }

    .rc-date {
      color: var(--text-muted);
      font-size: 0.9rem;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    /* Responsive */
    @media (max-width: 768px) {
      .single-hero {
        height: 50vh;
      }

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

      .single-meta {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
      }

      .single-content-wrap {
        padding: 30px 20px;
      }

      .seb-body {
        grid-template-columns: 1fr;
      }
    }

    /* ========================================= */
    /* SINGLE POST PAGE (INSAG EDITORIAL CLEAN)  */
    /* ========================================= */

    .insag-article-page {
      background-color: #f8fafc;
      padding: 24px 16px 48px;
      font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    }

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

    /* Top Breadcrumbs & Back Link */
    .article-breadcrumb-bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 18px;
      gap: 12px;
      flex-wrap: wrap;
    }

    .article-breadcrumbs {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      color: #64748b;
    }

    .article-breadcrumbs a {
      color: #64748b;
      text-decoration: none;
      transition: color 0.15s;
    }

    .article-breadcrumbs a:hover {
      color: #1e40af;
    }

    .article-breadcrumbs .sep {
      color: #cbd5e1;
    }

    .article-breadcrumbs .current {
      color: #0f172a;
      font-weight: 600;
    }

    .article-back-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      font-weight: 600;
      color: #1e40af;
      text-decoration: none;
      transition: transform 0.15s ease;
    }

    .article-back-link:hover {
      transform: translateX(-3px);
      text-decoration: underline;
    }

    /* Layout Grid */
    .article-layout-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 320px;
      gap: 28px;
      align-items: start;
    }

    @media (max-width: 900px) {
      .article-layout-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Main Article Card */
    .article-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 28px 32px;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    }

    @media (max-width: 600px) {
      .article-card {
        padding: 20px 16px;
      }
    }

    /* Header */
    .article-card-header {
      margin-bottom: 20px;
    }

    .article-category-label {
      display: inline-block;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: #2563eb;
      text-decoration: none;
      margin-bottom: 8px;
      transition: color 0.15s ease;
    }

    .article-category-label:hover {
      color: #1d4ed8;
      text-decoration: underline;
    }

    .article-main-title {
      font-size: clamp(1.6rem, 2.4vw, 2.1rem);
      font-weight: 800;
      color: #0f172a;
      line-height: 1.3;
      letter-spacing: -0.02em;
      margin: 0 0 12px;
      text-wrap: balance;
    }

    .article-meta-line {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: #64748b;
      padding-bottom: 16px;
      border-bottom: 1px solid #f1f5f9;
      flex-wrap: wrap;
    }

    .article-meta-line span {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .article-meta-line .dot {
      color: #cbd5e1;
    }

    /* Hero Media */
    .article-hero-media {
      margin: 0 0 22px;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid #e2e8f0;
      background: #f1f5f9;
    }

    .article-hero-media img {
      width: 100%;
      max-height: 440px;
      object-fit: cover;
      display: block;
    }

    /* Article Body */
    .article-body-content {
      color: #334155;
      font-size: 15.5px;
      line-height: 1.75;
    }

    .article-body-content p {
      margin-bottom: 16px;
    }

    .article-body-content ul,
    .article-body-content ol {
      margin: 18px 0 22px 0;
      padding-left: 28px;
    }

    .article-body-content ul {
      list-style: disc outside;
    }

    .article-body-content ol {
      list-style: decimal outside;
    }

    .article-body-content li {
      margin-bottom: 8px;
      line-height: 1.7;
      color: #334155;
      padding-left: 4px;
    }

    .article-body-content li::marker {
      color: #2563eb;
      font-size: 0.95em;
    }

    .article-body-content ul ul,
    .article-body-content ol ol,
    .article-body-content ul ol,
    .article-body-content ol ul {
      margin: 8px 0 8px 0;
      padding-left: 22px;
    }

    .article-body-content h2 {
      font-size: 20px;
      font-weight: 700;
      color: #0f172a;
      margin: 24px 0 10px;
      letter-spacing: -0.01em;
    }

    .article-body-content h3 {
      font-size: 17px;
      font-weight: 700;
      color: #0f172a;
      margin: 20px 0 8px;
    }

    .article-body-content strong {
      color: #0f172a;
      font-weight: 700;
    }

    .article-body-content a {
      color: #2563eb;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .article-body-content a:hover {
      color: #1d4ed8;
    }

    .article-body-content blockquote {
      border-left: 3px solid #2563eb;
      background: #f8fafc;
      padding: 14px 18px;
      margin: 20px 0;
      font-style: italic;
      color: #475569;
      border-radius: 0 8px 8px 0;
    }

    .article-body-content img {
      max-width: 100%;
      height: auto;
      border-radius: 8px;
      margin: 16px 0;
      border: 1px solid #e2e8f0;
    }

    .article-body-content figure {
      margin: 20px 0;
    }

    .article-body-content figcaption {
      font-size: 12.5px;
      color: #64748b;
      text-align: center;
      margin-top: 6px;
      font-style: italic;
    }

    .article-body-content .wp-block-columns {
      display: flex;
      gap: 16px;
      margin: 18px 0;
    }

    @media (max-width: 700px) {
      .article-body-content .wp-block-columns {
        flex-direction: column;
      }
    }

    .article-body-content .wp-block-column {
      flex: 1;
      min-width: 0;
    }

    /* Article Tags */
    .article-tags-wrap {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
      padding-top: 20px;
      border-top: 1px solid #f1f5f9;
    }

    .article-tags-wrap .tags-title {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      font-weight: 700;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .article-tags-wrap .tags-title i {
      color: #2563eb;
      font-size: 15px;
    }

    .article-tags-wrap .tags-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .article-tags-wrap .article-tag-item {
      display: inline-flex;
      align-items: center;
      background: #f8fafc;
      color: #334155;
      border: 1px solid #e2e8f0;
      padding: 5px 12px;
      border-radius: 6px;
      font-size: 12.5px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.2s ease;
    }

    .article-tags-wrap .article-tag-item:hover {
      background: #eff6ff;
      border-color: #bfdbfe;
      color: #2563eb;
      transform: translateY(-1px);
    }

    /* Social Share Bar with REAL BRAND COLORS */
    .article-card-footer {
      margin-top: 28px;
      padding-top: 18px;
      border-top: 1px solid #f1f5f9;
    }

    .article-share-group {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }

    .share-label {
      font-size: 13.5px;
      font-weight: 700;
      color: #0f172a;
    }

    .share-network-buttons {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .rs-btn {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #ffffff !important;
      font-size: 17px;
      text-decoration: none;
      border: none;
      cursor: pointer;
      transition: transform 0.15s ease, opacity 0.15s ease;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    }

    .rs-btn:hover {
      transform: translateY(-2px);
      opacity: 0.92;
    }

    /* Vraies couleurs officielles des réseaux sociaux */
    .rs-linkedin {
      background-color: #0A66C2 !important;
    }

    .rs-facebook {
      background-color: #1877F2 !important;
    }

    .rs-twitter {
      background-color: #000000 !important;
    }

    .rs-whatsapp {
      background-color: #25D366 !important;
    }

    .rs-copy {
      background-color: #475569 !important;
    }

    .rs-copy.copied {
      background-color: #16A34A !important;
    }

    /* Article Nav Strip (Previous / Next) */
    .article-nav-strip {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 20px;
    }

    @media (max-width: 600px) {
      .article-nav-strip {
        grid-template-columns: 1fr;
      }
    }

    .nav-prev-link,
    .nav-next-link {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 12px 16px;
      text-decoration: none;
      display: flex;
      flex-direction: column;
      gap: 4px;
      transition: border-color 0.15s ease, background-color 0.15s ease;
    }

    .nav-prev-link:hover,
    .nav-next-link:hover {
      border-color: #93c5fd;
      background: #f8fafc;
    }

    .nav-next-link {
      text-align: right;
    }

    .nav-sub {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: #2563eb;
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .nav-next-link .nav-sub {
      justify-content: flex-end;
    }

    .nav-title-text {
      font-size: 13px;
      font-weight: 600;
      color: #0f172a;
      line-height: 1.35;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .nav-empty {
      display: block;
    }

    /* Sidebar Column */
    .article-sidebar-col {
      display: flex;
      flex-direction: column;
      gap: 20px;
      position: sticky;
      top: 90px;
      align-self: start;
    }

    /* Sidebar Articles Similaires */
    .sidebar-box {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 20px;
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03);
    }

    .sidebar-box-title {
      font-size: 15px;
      font-weight: 800;
      color: #0f172a;
      margin: 0 0 14px 0;
      padding-bottom: 12px;
      border-bottom: 1px solid #f1f5f9;
    }

    .sidebar-articles-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .sidebar-article-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 6px 0;
      text-decoration: none;
      border-bottom: 1px solid #f8fafc;
      transition: transform 0.15s ease;
    }

    .sidebar-article-item:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }

    .sidebar-article-item:hover {
      transform: translateX(2px);
    }

    .sai-thumb {
      width: 60px;
      height: 60px;
      border-radius: 8px;
      background-size: cover;
      background-position: center;
      flex-shrink: 0;
      border: 1px solid #e2e8f0;
    }

    .sai-info {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .sai-info h4 {
      font-size: 13px;
      font-weight: 700;
      color: #0f172a;
      line-height: 1.35;
      margin: 0;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      word-break: break-word;
      transition: color 0.15s;
    }

    .sidebar-article-item:hover .sai-info h4 {
      color: #2563eb;
    }

    .sai-date {
      font-size: 11px;
      color: #94a3b8;
    }

    /* Sidebar CTA Box */
    .sidebar-cta-box {
      background: #0B192C;
      border-radius: 12px;
      padding: 22px;
      color: #ffffff;
      border: 1px solid #1e293b;
    }

    .sc-tag {
      display: inline-block;
      font-size: 10.5px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: #38bdf8;
      margin-bottom: 8px;
    }

    .sidebar-cta-box h3 {
      color: #ffffff;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.35;
      margin: 0 0 8px 0;
    }

    .sidebar-cta-box p {
      color: #94a3b8;
      font-size: 12.5px;
      line-height: 1.5;
      margin: 0 0 16px 0;
    }

    .sc-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #2563eb;
      color: #ffffff !important;
      font-size: 13px;
      font-weight: 700;
      padding: 10px 16px;
      border-radius: 8px;
      text-decoration: none;
      transition: background 0.15s ease;
    }

    .sc-btn:hover {
      background: #1d4ed8;
    }

    /* ========================================= */
    /* 5 FORMATION CATEGORIES NAVIGATION & BADGES */
    /* ========================================= */
    .b-dba {
      background: #fef3c7 !important;
      color: #92400e !important;
      border: 1px solid #fde68a !important;
    }

    .b-emba {
      background: #ede9fe !important;
      color: #5b21b6 !important;
      border: 1px solid #ddd6fe !important;
    }

    .b-carte {
      background: #ccfbf1 !important;
      color: #115e59 !important;
      border: 1px solid #99f6e4 !important;
    }

    .cat-category-pills {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin: 24px auto 30px;
      max-width: 980px;
    }

    .cat-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #ffffff;
      border: 1.5px solid #e2e8f0;
      border-radius: 999px;
      padding: 10px 20px;
      font-size: 13.5px;
      font-weight: 700;
      color: #475569;
      text-decoration: none;
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    }

    .cat-pill:hover {
      background: #eff6ff;
      border-color: #93c5fd;
      color: #2563eb;
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12);
    }

    .cat-pill.active {
      background: linear-gradient(135deg, #1e40af, #2563eb) !important;
      border-color: #2563eb !important;
      color: #ffffff !important;
      box-shadow: 0 6px 20px rgba(37, 99, 235, 0.35) !important;
    }

    .cat-pill i {
      font-size: 15px;
    }

    @media (max-width: 768px) {
      .cat-category-pills {
        gap: 8px;
      }

      .cat-pill {
        padding: 8px 14px;
        font-size: 12.5px;
      }
    }

    /* ========================================= */
    /* CATEGORY EDITORIAL SECTION                */
    /* ========================================= */
    .cat-editorial-section {
      max-width: 1280px;
      margin: -10px auto 40px;
      padding: 0 24px;
    }

    .cat-editorial-card {
      background: transparent;
      border: none;
      border-radius: 0;
      padding: 72px 0 80px 0;
      box-shadow: none;
      margin-bottom: 24px;
    }

    .cat-editorial-grid {
      display: grid;
      grid-template-columns: 1.25fr 0.75fr;
      gap: 36px;
      align-items: start;
    }

    @media (max-width: 992px) {
      .cat-editorial-grid {
        grid-template-columns: 1fr;
      }
    }

    .cat-editorial-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      padding: 6px 14px;
      border-radius: 20px;
      margin-bottom: 14px;
    }

    .cat-editorial-title {
      font-size: 26px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.3;
      margin-bottom: 14px;
    }

    .cat-editorial-desc {
      font-size: 15px;
      color: #475569;
      line-height: 1.7;
      margin-bottom: 24px;
    }

    .cat-pillars-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-top: 20px;
    }

    @media (max-width: 640px) {
      .cat-pillars-grid {
        grid-template-columns: 1fr;
      }
    }

    .cat-pillar-item {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 16px 18px;
      transition: all 0.2s ease;
    }

    .cat-pillar-item:hover {
      background: #ffffff;
      border-color: #93c5fd;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.06);
      transform: translateY(-1px);
    }

    .cat-pillar-icon {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: #eff6ff;
      border: 1px solid #dbeafe;
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      flex-shrink: 0;
      margin: 2px 0 0;
    }

    .cat-pillar-content {
      flex: 1;
      min-width: 0;
    }

    .cat-pillar-title {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 4px;
      line-height: 1.35;
    }

    .cat-pillar-desc {
      font-size: 12.5px;
      color: #64748b;
      line-height: 1.5;
      margin: 0;
    }

    .cat-target-box {
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 18px;
      padding: 32px 30px;
      color: #0f172a;
      box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
    }

    .cat-target-box h4 {
      font-size: 16px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 8px;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .cat-target-box ul {
      list-style: none;
      padding: 0;
      margin: 0 0 20px;
    }

    .cat-target-box li {
      font-size: 13.5px;
      color: #334155;
      padding: 7px 0 7px 22px;
      position: relative;
      line-height: 1.5;
      border-bottom: 1px solid #e2e8f0;
    }

    .cat-target-box li:last-child {
      border-bottom: none;
    }

    .cat-target-box li::before {
      content: '✓';
      position: absolute;
      left: 0;
      color: #2563eb;
      font-weight: 800;
    }

    .cat-listing-divider {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 36px 0 24px;
      padding-bottom: 16px;
      border-bottom: 2px solid #e2e8f0;
    }

    .cat-listing-divider h3 {
      font-size: 22px;
      font-weight: 800;
      color: #0f172a;
      margin: 0;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    /* ========================================= */
    /* FORMATIONS À LA CARTE - PROSPECTION B2B   */
    /* ========================================= */
    body.page-id-80,
    body.page-formations-a-la-carte,
    .page-template-elementor_header_footer.page-id-80,
    .page-id-80 #page,
    .page-id-80 .elementor,
    .page-id-80 .elementor-section.elementor-top-section {
      background-color: #f8fafc !important;
    }

    .carte-hero {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      box-sizing: border-box;
      background: linear-gradient(160deg, #eff6ff 0%, #f8fafc 50%, #f0fdf4 100%);
      color: #0f172a;
      border-bottom: 1px solid #e2e8f0;
      padding: 68px 24px 60px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .carte-hero-container {
      max-width: 920px;
      margin: 0 auto;
      position: relative;
      z-index: 2;
    }

    .carte-hero h1 {
      font-size: 42px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 16px;
      letter-spacing: -0.02em;
    }

    .carte-hero h1 span {
      background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .carte-hero p {
      font-size: 16px;
      color: #475569;
      max-width: 760px;
      margin: 0 auto 28px;
      line-height: 1.7;
    }

    .carte-body-wrapper {
      background: #f8fafc;
      width: 100vw;
      margin-left: calc(50% - 50vw);
      box-sizing: border-box;
      padding: 40px 0 80px;
    }

    .carte-main-layout {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 36px;
      align-items: start;
    }

    @media (max-width: 992px) {
      .carte-main-layout {
        grid-template-columns: 1fr;
      }
    }

    .carte-content-col {
      display: flex;
      flex-direction: column;
      gap: 28px;
    }

    .carte-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      padding: 32px;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    }

    .carte-card h3 {
      font-size: 20px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .carte-modalities-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    @media (max-width: 640px) {
      .carte-modalities-grid {
        grid-template-columns: 1fr;
      }
    }

    .carte-modality-box {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 18px;
      transition: all 0.2s;
    }

    .carte-modality-box:hover {
      background: #ffffff;
      border-color: #93c5fd;
      box-shadow: 0 6px 18px rgba(37, 99, 235, 0.08);
    }

    .carte-modality-box h5 {
      font-size: 14.5px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .carte-modality-box p {
      font-size: 12.5px;
      color: #64748b;
      line-height: 1.55;
      margin: 0;
    }

    .carte-methodo-step {
      display: flex;
      gap: 16px;
      margin-bottom: 18px;
    }

    .carte-step-num {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: linear-gradient(135deg, #2563eb, #3b82f6);
      color: #ffffff;
      font-weight: 800;
      font-size: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .carte-step-content h5 {
      font-size: 15px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 4px;
    }

    .carte-step-content p {
      font-size: 13px;
      color: #64748b;
      line-height: 1.5;
      margin: 0;
    }

    .carte-form-card {
      background: #ffffff;
      border: 1.5px solid #e2e8f0;
      border-radius: 22px;
      padding: 36px 32px;
      box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
      position: sticky;
      top: 96px;
    }

    .carte-form-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      color: #2563eb;
      padding: 5px 12px;
      border-radius: 20px;
      font-size: 11.5px;
      font-weight: 800;
      text-transform: uppercase;
      margin-bottom: 12px;
    }

    .carte-form-card h3 {
      font-size: 22px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 6px;
    }

    .carte-form-card p.subtitle {
      font-size: 13.5px;
      color: #64748b;
      margin-bottom: 24px;
      line-height: 1.5;
    }

    .carte-form-group {
      margin-bottom: 16px;
    }

    .carte-form-group label {
      display: block;
      font-size: 11.5px;
      font-weight: 700;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 6px;
    }

    .carte-form-group input,
    .carte-form-group select,
    .carte-form-group textarea {
      width: 100%;
      padding: 11px 14px;
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 10px;
      font-size: 13.5px;
      color: #0f172a;
      font-family: inherit;
      outline: none;
      transition: border-color 0.2s;
      box-sizing: border-box;
    }

    .carte-form-group input:focus,
    .carte-form-group select:focus,
    .carte-form-group textarea:focus {
      border-color: #2563eb;
      background: #ffffff;
    }

    .carte-form-submit {
      width: 100%;
      background: linear-gradient(135deg, #2563eb, #1d4ed8);
      color: #ffffff;
      border: none;
      border-radius: 12px;
      padding: 15px;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 6px 20px rgba(37, 99, 235, 0.35);
      transition: all 0.2s;
      font-family: inherit;
      margin-top: 8px;
    }

    .carte-form-submit:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 25px rgba(37, 99, 235, 0.45);
    }

    /* Corps : badge + titre + description */
    .aoffer-card-body {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .aoffer-card-badge {
      display: inline-flex;
      align-items: center;
      background: #f0f9ff;
      border: 1px solid #bae6fd;
      color: #0369a1;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 20px;
      width: fit-content;
    }

    .aoffer-card-body h3 {
      font-size: 20px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.2;
      margin: 0;
    }

    .aoffer-card-body p {
      font-size: 14px;
      color: #64748b;
      line-height: 1.7;
      margin: 0;
    }

    /* Pied de carte : public cible */
    .aoffer-card-footer {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 14px 28px;
      background: #f8fafc;
      border-top: 1px solid #f1f5f9;
      font-size: 12.5px;
      font-weight: 600;
      color: #475569;
    }

    .aoffer-card-footer i {
      color: #2563eb;
      font-size: 15px;
    }

    /* Responsive */
    @media (max-width: 1024px) {
      .apos-grid {
        grid-template-columns: 1fr;
      }

      .aoffer-grid {
        grid-template-columns: 1fr;
      }

      .apos-title,
      .aoffer-title {
        font-size: 28px;
      }
    }

    @media (max-width: 640px) {

      .apos-section,
      .aoffer-section {
        padding: 56px 0;
      }

      .aoffer-card-top {
        flex-direction: column;
      }
    }

    /* ==========================================================================
   DBA DEDICATED SHOWCASE (EXECUTIVE DOCTORATE & PARCOURS DBA)
   ========================================================================== */
    .dba-showcase {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-bottom: 0;
    }

    .dba-section {
      width: 100%;
      box-sizing: border-box;
      position: relative;
    }

    .dba-section-inner {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
      box-sizing: border-box;
    }

    /* Backgrounds clairs alternés */
    .dba-sec-white {
      background: #ffffff;
      padding: 85px 0;
    }

    .dba-sec-light {
      background: #f8fafc;
      border-top: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      padding: 85px 0;
    }

    .dba-block {
      background: transparent;
      border-radius: 0;
      padding: 0;
      border: none;
      box-shadow: none;
      transition: none;
    }

    .dba-block:hover {
      box-shadow: none;
    }

    .dba-block-grid {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: 60px;
      align-items: center;
    }

    .dba-grid-reverse {
      grid-template-columns: 1.15fr 1fr;
    }

    .dba-img-wrapper {
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.12);
      border: none;
      background: #f8fafc;
    }

    .dba-img-wrapper img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
      transition: transform 0.4s ease;
    }

    .dba-block:hover .dba-img-wrapper img {
      transform: scale(1.02);
    }

    .dba-eyebrow {
      display: inline-block;
      font-size: 12px;
      font-weight: 800;
      color: #2563eb;
      background: rgba(37, 99, 235, 0.08);
      padding: 5px 14px;
      border-radius: 8px;
      border: 1px solid rgba(37, 99, 235, 0.16);
      text-transform: uppercase;
      letter-spacing: 1.5px;
      margin-bottom: 14px;
    }

    .dba-title {
      font-size: 32px;
      font-weight: 800;
      color: #002d62;
      line-height: 1.25;
      margin: 0 0 16px 0;
      letter-spacing: -0.5px;
    }

    .dba-lead {
      font-size: 16.5px;
      line-height: 1.65;
      color: #475569;
      margin: 0 0 26px 0;
    }

    /* Bullet list (Slide 1) */
    .dba-bullet-list {
      list-style: none;
      padding: 0;
      margin: 0 0 32px 0;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .dba-bullet-list li {
      display: flex;
      align-items: center;
      gap: 14px;
      font-size: 15.5px;
      font-weight: 600;
      color: #0f172a;
    }

    .dba-bullet-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #2563eb;
      flex-shrink: 0;
      box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.2);
    }

    .dba-actions {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
    }

    .dba-btn-primary {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      color: #ffffff;
      padding: 13px 26px;
      border-radius: 12px;
      font-weight: 700;
      font-size: 14.5px;
      border: none;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      box-shadow: 0 8px 22px rgba(37, 99, 235, 0.35);
      transition: all 0.25s ease;
      font-family: inherit;
    }

    .dba-btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(124, 58, 237, 0.4);
      background: linear-gradient(135deg, #1d4ed8, #6d28d9);
    }

    .dba-btn-secondary {
      background: #f8fafc;
      color: #002d62;
      padding: 13px 24px;
      border-radius: 12px;
      font-weight: 700;
      font-size: 14.5px;
      border: 1.5px solid #cbd5e1;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.2s ease;
    }

    .dba-btn-secondary:hover {
      background: #ffffff;
      border-color: #2563eb;
      color: #2563eb;
      transform: translateY(-2px);
    }

    /* Parcours DBA - Cardless Milestone Timeline */
    .dba-journey-timeline {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-top: 26px;
    }

    .dba-journey-step {
      display: flex;
      align-items: stretch;
      gap: 20px;
      position: relative;
    }

    .dba-journey-rail {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 40px;
      flex-shrink: 0;
    }

    .dba-journey-node {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: #ffffff;
      border: 2px solid #e2e8f0;
      color: #2563eb;
      font-weight: 800;
      font-size: 13.5px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
      transition: all 0.25s ease;
      z-index: 2;
      position: relative;
    }

    .dba-journey-step:hover .dba-journey-node {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      border-color: transparent;
      color: #ffffff;
      box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35);
      transform: scale(1.08);
    }

    .dba-journey-node.dba-node-highlight {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      border-color: transparent;
      color: #ffffff;
      font-size: 18px;
      box-shadow: 0 6px 18px rgba(124, 58, 237, 0.35);
    }

    .dba-journey-line {
      width: 2px;
      flex-grow: 1;
      background: #e2e8f0;
      margin: 6px 0;
      transition: background 0.3s ease;
    }

    .dba-journey-step:hover .dba-journey-line {
      background: linear-gradient(180deg, #2563eb, #7c3aed);
    }

    .dba-journey-card {
      flex: 1;
      background: transparent;
      border: none;
      border-radius: 0;
      padding: 4px 0 22px 0;
      margin-bottom: 0;
      box-shadow: none;
      transition: transform 0.25s ease;
    }

    .dba-journey-card::before {
      display: none;
    }

    .dba-journey-step:hover .dba-journey-card {
      transform: translateX(4px);
    }

    .dba-journey-card.dba-card-highlight {
      background: transparent;
      border: none;
    }

    .dba-journey-meta {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 4px;
    }

    .dba-journey-phase {
      font-size: 11.5px;
      font-weight: 800;
      color: #2563eb;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .dba-journey-phase.dba-phase-highlight {
      color: #7c3aed;
    }

    .dba-journey-tag {
      font-size: 11px;
      font-weight: 600;
      color: #64748b;
      background: #f1f5f9;
      padding: 2px 8px;
      border-radius: 6px;
    }

    .dba-journey-tag.dba-tag-highlight {
      background: #f3e8ff;
      color: #7c3aed;
    }

    .dba-journey-title {
      font-size: 16px;
      font-weight: 800;
      color: #002d62;
      margin: 0 0 4px 0;
      line-height: 1.3;
    }

    .dba-journey-desc {
      font-size: 13.5px;
      line-height: 1.55;
      color: #64748b;
      margin: 0;
    }

    /* Pillars Section - Open Editorial Grid */
    .dba-pillars-header {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 50px auto;
    }

    .dba-pillars-title {
      font-size: 28px;
      font-weight: 800;
      color: #002d62;
      margin: 8px 0 0 0;
      letter-spacing: -0.5px;
    }

    .dba-pillars-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }

    .dba-pillar-box {
      background: #ffffff;
      padding: 34px 26px;
      border-radius: 20px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.02);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .dba-pillar-box:hover {
      transform: translateY(-6px);
      border-color: rgba(37, 99, 235, 0.35);
      box-shadow: 0 20px 35px -8px rgba(37, 99, 235, 0.12), 0 4px 12px rgba(15, 23, 42, 0.03);
    }

    .dba-pillar-icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: rgba(37, 99, 235, 0.08);
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      margin-bottom: 20px;
      transition: all 0.3s ease;
    }

    .dba-pillar-box:hover .dba-pillar-icon {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      color: #ffffff;
      box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35);
      transform: scale(1.05);
    }

    .dba-pillar-box h4 {
      font-size: 17.5px;
      font-weight: 800;
      color: #002d62;
      margin: 0 0 12px 0;
      line-height: 1.35;
    }

    .dba-pillar-box p {
      font-size: 14px;
      line-height: 1.6;
      color: #64748b;
      margin: 0;
    }

    /* Responsive */
    @media (max-width: 991px) {

      .dba-block-grid,
      .dba-grid-reverse,
      .dba-form-grid,
      .dba-input-row {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      .dba-img-wrapper {
        max-width: 440px;
        margin: 0 auto;
      }

      .dba-pillars-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 640px) {
      .dba-title {
        font-size: 24px;
      }

      .dba-pillars-grid {
        grid-template-columns: 1fr;
      }

      .dba-form-panel {
        padding: 26px 20px;
        border-radius: 18px;
      }
    }

    /* ==========================================================================
   DBA ON-PAGE FORM SECTION (CARDLESS, EXECUTIVE)
   ========================================================================== */
    .dba-form-grid {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: 60px;
      align-items: start;
    }

    .dba-form-info {
      display: flex;
      flex-direction: column;
    }

    .dba-form-perks {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-top: 10px;
    }

    .dba-form-perk {
      display: flex;
      align-items: flex-start;
      gap: 16px;
    }

    .dba-perk-icon {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background: rgba(37, 99, 235, 0.08);
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .dba-form-perk strong {
      display: block;
      font-size: 15px;
      font-weight: 800;
      color: #002d62;
      margin-bottom: 3px;
    }

    .dba-form-perk p {
      font-size: 13.5px;
      color: #64748b;
      line-height: 1.5;
      margin: 0;
    }

    .dba-form-panel {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 24px;
      padding: 38px 36px;
      box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.03);
      position: relative;
    }

    .dba-native-form {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .dba-input-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .dba-input-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .dba-input-group label {
      font-size: 12px;
      font-weight: 700;
      color: #334155;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .dba-input-group input,
    .dba-input-group select,
    .dba-input-group textarea {
      width: 100%;
      padding: 13px 16px;
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 12px;
      color: #0f172a;
      font-size: 14.5px;
      outline: none;
      font-family: inherit;
      transition: all 0.2s ease;
      box-sizing: border-box;
    }

    .dba-input-group input:focus,
    .dba-input-group select:focus,
    .dba-input-group textarea:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
      background: #ffffff;
    }

    .dba-input-group textarea {
      resize: vertical;
    }

    .dba-btn-submit {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      color: #ffffff;
      border: none;
      border-radius: 12px;
      padding: 15px 24px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35);
      margin-top: 6px;
      font-family: inherit;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      transition: all 0.25s ease;
      width: 100%;
    }

    .dba-btn-submit:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(124, 58, 237, 0.4);
      background: linear-gradient(135deg, #1d4ed8, #6d28d9);
    }

    .dba-form-privacy {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 12px;
      color: #64748b;
      text-align: center;
      margin-top: 4px;
    }

    .dba-form-privacy i {
      color: #2563eb;
      font-size: 15px;
    }

    .dba-success-state {
      text-align: center;
      padding: 40px 20px;
    }

    .dba-success-icon {
      width: 68px;
      height: 68px;
      border-radius: 50%;
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 20px;
      font-size: 32px;
      color: #ffffff;
      box-shadow: 0 10px 28px rgba(124, 58, 237, 0.35);
    }

    .dba-success-state h3 {
      font-size: 22px;
      font-weight: 800;
      color: #002d62;
      margin-bottom: 12px;
    }

    .dba-success-state p {
      font-size: 15px;
      color: #475569;
      line-height: 1.65;
      max-width: 480px;
      margin: 0 auto;
    }

    /* ==========================================================================
       DBA NEW SPECIFIC STYLES (MATCHING BROCHURE)
       ========================================================================== */

    /* Metrics Grid Banner */
    .dba-metrics-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-bottom: 24px;
    }

    .dba-metric-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 24px 20px;
      text-align: center;
      box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
      transition: all 0.3s ease;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .dba-metric-card:hover {
      transform: translateY(-4px);
      border-color: rgba(37, 99, 235, 0.35);
      box-shadow: 0 12px 28px rgba(37, 99, 235, 0.1);
    }

    .dba-metric-icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: rgba(37, 99, 235, 0.08);
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      margin-bottom: 12px;
    }

    .dba-metric-val {
      font-size: 26px;
      font-weight: 800;
      color: #002d62;
      line-height: 1.15;
      margin-bottom: 4px;
      letter-spacing: -0.5px;
    }

    .dba-metric-label {
      font-size: 13.5px;
      font-weight: 700;
      color: #2563eb;
      margin-bottom: 4px;
    }

    .dba-metric-sub {
      font-size: 12px;
      color: #64748b;
      line-height: 1.4;
    }

    .dba-img-badge {
      position: absolute;
      bottom: 20px;
      left: 20px;
      right: 20px;
      background: rgba(15, 23, 42, 0.88);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      padding: 14px 18px;
      border-radius: 14px;
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.15);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    }

    .dba-img-badge span {
      display: block;
      font-size: 14px;
      font-weight: 800;
      color: #ffffff;
      letter-spacing: 0.3px;
    }

    .dba-img-badge small {
      display: block;
      font-size: 11.5px;
      color: #94a3b8;
      margin-top: 2px;
    }

    .dba-btn-download {
      background: #f1f5f9;
      color: #0f172a;
      padding: 13px 22px;
      border-radius: 12px;
      font-weight: 700;
      font-size: 14px;
      border: 1.5px solid #cbd5e1;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.2s ease;
      cursor: pointer;
    }

    .dba-btn-download:hover {
      background: #ffffff;
      border-color: #2563eb;
      color: #2563eb;
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(37, 99, 235, 0.12);
    }

    /* Enjeux Grid */
    .dba-enjeux-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
    }

    .dba-enjeu-card {
      background: #ffffff;
      border-radius: 20px;
      border: 1px solid #e2e8f0;
      padding: 36px 32px;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
      display: flex;
      flex-direction: column;
      position: relative;
      transition: all 0.3s ease;
    }

    .dba-enjeu-card:hover {
      transform: translateY(-4px);
      border-color: rgba(37, 99, 235, 0.35);
      box-shadow: 0 16px 32px rgba(37, 99, 235, 0.09);
    }

    .dba-enjeu-num {
      position: absolute;
      top: 24px;
      right: 28px;
      font-size: 42px;
      font-weight: 900;
      color: #e2e8f0;
      line-height: 1;
      user-select: none;
    }

    .dba-enjeu-header {
      margin-bottom: 16px;
    }

    .dba-enjeu-tag {
      font-size: 11.5px;
      font-weight: 800;
      color: #2563eb;
      letter-spacing: 1px;
      text-transform: uppercase;
      display: inline-block;
      margin-bottom: 8px;
    }

    .dba-enjeu-title {
      font-size: 22px;
      font-weight: 800;
      color: #002d62;
      line-height: 1.3;
      margin: 0;
    }

    .dba-enjeu-desc {
      font-size: 15px;
      line-height: 1.65;
      color: #475569;
      margin: 0 0 22px 0;
    }

    .dba-enjeu-box {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 16px 18px;
      font-size: 13.5px;
      line-height: 1.55;
      color: #334155;
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin-top: auto;
    }

    /* Objectifs & Profils */
    .dba-objectifs-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      margin-bottom: 50px;
    }

    .dba-obj-col {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      padding: 32px 28px;
    }

    .dba-obj-head {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 22px;
    }

    .dba-obj-icon {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
    }

    .dba-obj-head h4 {
      font-size: 20px;
      font-weight: 800;
      color: #002d62;
      margin: 0;
    }

    .dba-check-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .dba-check-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 14.5px;
      line-height: 1.55;
      color: #334155;
    }

    .dba-check-list li i {
      color: #16a34a;
      font-size: 18px;
      margin-top: 2px;
      flex-shrink: 0;
    }

    /* Comparison Table */
    .dba-table-container {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 22px;
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
      overflow: hidden;
    }

    .dba-table-header {
      padding: 22px 28px;
      background: #f8fafc;
      border-bottom: 1px solid #e2e8f0;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .dba-table-header h4 {
      font-size: 18px;
      font-weight: 800;
      color: #002d62;
      margin: 0;
    }

    .dba-compare-table-wrapper {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .dba-compare-table {
      width: 100%;
      border-collapse: collapse;
      text-align: left;
    }

    .dba-compare-table th,
    .dba-compare-table td {
      padding: 18px 22px;
      font-size: 14px;
      line-height: 1.5;
      border-bottom: 1px solid #f1f5f9;
      vertical-align: top;
    }

    .dba-compare-table th {
      background: #ffffff;
      font-size: 13px;
      font-weight: 800;
      color: #64748b;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      border-bottom: 2px solid #e2e8f0;
    }

    .dba-compare-table th.th-highlight {
      background: #eff6ff;
      color: #1e40af;
      position: relative;
    }

    .th-badge {
      display: inline-block;
      font-size: 10px;
      font-weight: 800;
      background: #2563eb;
      color: #ffffff;
      padding: 2px 8px;
      border-radius: 6px;
      letter-spacing: 0.5px;
      margin-bottom: 4px;
    }

    .dba-compare-table td.td-highlight {
      background: rgba(239, 246, 255, 0.45);
      color: #0f172a;
    }

    .badge-livrable {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #dbeafe;
      color: #1e40af;
      font-weight: 800;
      font-size: 12.5px;
      padding: 4px 10px;
      border-radius: 6px;
      margin-bottom: 4px;
    }

    .dba-quote-box {
      padding: 22px 28px;
      background: #f8fafc;
      border-top: 1px solid #e2e8f0;
      display: flex;
      align-items: center;
    }

    .dba-quote-box p {
      font-size: 15.5px;
      font-style: italic;
      font-weight: 600;
      color: #002d62;
      margin: 0;
    }

    /* Parcours Overlay Card */
    .dba-parcours-overlay-card {
      position: absolute;
      bottom: 20px;
      left: 20px;
      right: 20px;
      background: rgba(15, 23, 42, 0.9);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border-radius: 14px;
      padding: 14px 18px;
      display: flex;
      align-items: center;
      gap: 14px;
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.15);
    }

    .dba-overlay-icon {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      color: #ffffff;
      flex-shrink: 0;
    }

    .dba-parcours-overlay-card strong {
      display: block;
      font-size: 14px;
      font-weight: 800;
      color: #ffffff;
    }

    .dba-parcours-overlay-card p {
      font-size: 12px;
      color: #94a3b8;
      margin: 2px 0 0 0;
    }

    /* 6 Seminars Section */
    .dba-phase-block {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 24px;
      padding: 36px 30px;
    }

    .dba-phase-badge {
      margin-bottom: 28px;
      padding-bottom: 20px;
      border-bottom: 1px solid #e2e8f0;
    }

    .dba-phase-badge-pill {
      display: inline-block;
      font-size: 11px;
      font-weight: 800;
      background: #2563eb;
      color: #ffffff;
      padding: 4px 12px;
      border-radius: 8px;
      letter-spacing: 1px;
      margin-bottom: 8px;
    }

    .dba-phase-badge h4 {
      font-size: 24px;
      font-weight: 800;
      color: #002d62;
      margin: 0 0 6px 0;
      letter-spacing: -0.3px;
    }

    .dba-phase-badge-desc {
      font-size: 14.5px;
      color: #64748b;
    }

    .dba-seminars-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .dba-seminar-card {
      background: #ffffff;
      border-radius: 18px;
      border: 1px solid #e2e8f0;
      padding: 26px 22px;
      box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
      display: flex;
      flex-direction: column;
      transition: all 0.3s ease;
    }

    .dba-seminar-card:hover {
      transform: translateY(-4px);
      border-color: rgba(37, 99, 235, 0.35);
      box-shadow: 0 14px 28px rgba(37, 99, 235, 0.09);
    }

    .dba-sem-header {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      margin-bottom: 14px;
    }

    .dba-sem-num {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background: #eff6ff;
      color: #2563eb;
      font-size: 18px;
      font-weight: 900;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .dba-num-purple {
      background: #f5f3ff;
      color: #7c3aed;
    }

    .dba-sem-phase-tag {
      font-size: 11px;
      font-weight: 800;
      color: #2563eb;
      letter-spacing: 0.5px;
      display: block;
      margin-bottom: 2px;
    }

    .dba-sem-title {
      font-size: 17px;
      font-weight: 800;
      color: #002d62;
      line-height: 1.3;
      margin: 0;
    }

    .dba-sem-question {
      background: #eff6ff;
      border: 1px solid rgba(37, 99, 235, 0.15);
      border-radius: 10px;
      padding: 10px 12px;
      font-size: 13px;
      color: #1e40af;
      line-height: 1.45;
      display: flex;
      align-items: flex-start;
      gap: 8px;
      margin-bottom: 14px;
    }

    .dba-sem-question i {
      font-size: 16px;
      color: #2563eb;
      margin-top: 1px;
      flex-shrink: 0;
    }

    .dba-sem-desc {
      font-size: 13.5px;
      line-height: 1.55;
      color: #475569;
      margin: 0 0 16px 0;
    }

    .dba-sem-themes {
      margin-bottom: 18px;
    }

    .dba-sem-themes strong {
      display: block;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: #0f172a;
      margin-bottom: 8px;
    }

    .dba-sem-themes ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .dba-sem-themes li {
      position: relative;
      padding-left: 14px;
      font-size: 13px;
      line-height: 1.45;
      color: #64748b;
    }

    .dba-sem-themes li::before {
      content: "•";
      position: absolute;
      left: 0;
      top: 0;
      color: #2563eb;
      font-weight: 800;
    }

    .dba-sem-livrable {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 12px 14px;
      font-size: 12.5px;
      line-height: 1.45;
      color: #334155;
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-top: auto;
    }

    .dba-sem-livrable i {
      font-size: 18px;
      color: #2563eb;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .dba-sem-livrable strong {
      display: block;
      color: #0f172a;
      font-size: 11.5px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 2px;
    }

    /* Partner Cards Duo */
    .dba-partners-duo-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
    }

    .dba-partner-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      padding: 36px 30px;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
      display: flex;
      flex-direction: column;
    }

    .dba-partner-top {
      display: flex;
      align-items: center;
      gap: 20px;
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid #f1f5f9;
    }

    .dba-partner-logo-box {
      width: 72px;
      height: 72px;
      border-radius: 14px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px;
      flex-shrink: 0;
    }

    .dba-partner-badge {
      font-size: 11px;
      font-weight: 800;
      background: #eff6ff;
      color: #1e40af;
      padding: 3px 8px;
      border-radius: 6px;
      letter-spacing: 0.5px;
      display: inline-block;
      margin-bottom: 4px;
    }

    .dba-partner-name {
      font-size: 21px;
      font-weight: 800;
      color: #002d62;
      margin: 0 0 2px 0;
    }

    .dba-partner-sub {
      font-size: 13px;
      color: #64748b;
      margin: 0;
    }

    .dba-partner-intro {
      font-size: 14.5px;
      line-height: 1.6;
      color: #475569;
      margin: 0 0 22px 0;
    }

    .dba-partner-stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 14px;
      padding: 16px 12px;
      text-align: center;
      margin-bottom: 22px;
    }

    .dba-p-stat strong {
      display: block;
      font-size: 18px;
      font-weight: 800;
      color: #002d62;
    }

    .dba-p-stat span {
      display: block;
      font-size: 11px;
      color: #64748b;
      margin-top: 2px;
    }

    .dba-partner-role {
      background: #eff6ff;
      border-radius: 12px;
      padding: 16px 18px;
      font-size: 13.5px;
      line-height: 1.55;
      color: #1e3a8a;
      margin-top: auto;
    }

    .dba-partner-role strong {
      display: block;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 4px;
    }

    .dba-partner-role p {
      margin: 0;
    }

    .dba-partner-card-ipag .dba-partner-role {
      background: #fef2f2;
      color: #991b1b;
    }

    /* Admissions & Process */
    .dba-admissions-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
    }

    .dba-admission-box {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      padding: 32px 28px;
    }

    .dba-adm-head {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 22px;
    }

    .dba-adm-icon {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      background: rgba(37, 99, 235, 0.1);
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
    }

    .dba-adm-head h4 {
      font-size: 20px;
      font-weight: 800;
      color: #002d62;
      margin: 0;
    }

    .dba-process-steps-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 28px;
    }

    .dba-process-step {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 24px 20px;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
      position: relative;
      transition: all 0.25s ease;
    }

    .dba-process-step:hover {
      transform: translateY(-4px);
      border-color: rgba(37, 99, 235, 0.35);
      box-shadow: 0 10px 24px rgba(37, 99, 235, 0.09);
    }

    .dba-step-num {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: #eff6ff;
      color: #2563eb;
      font-size: 16px;
      font-weight: 900;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 14px;
    }

    .dba-step-highlight .dba-step-num {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      color: #ffffff;
    }

    .dba-process-step h5 {
      font-size: 16.5px;
      font-weight: 800;
      color: #002d62;
      margin: 0 0 8px 0;
    }

    .dba-process-step p {
      font-size: 13px;
      line-height: 1.5;
      color: #64748b;
      margin: 0;
    }

    /* Responsive adjustments */
    @media (max-width: 1024px) {
      .dba-metrics-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .dba-seminars-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .dba-process-steps-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 768px) {
      .dba-metrics-grid {
        grid-template-columns: 1fr;
      }
      .dba-enjeux-grid {
        grid-template-columns: 1fr;
      }
      .dba-objectifs-grid {
        grid-template-columns: 1fr;
      }
      .dba-seminars-grid {
        grid-template-columns: 1fr;
      }
      .dba-partners-duo-grid {
        grid-template-columns: 1fr;
      }
      .dba-admissions-grid {
        grid-template-columns: 1fr;
      }
      .dba-process-steps-grid {
        grid-template-columns: 1fr;
      }
      .dba-partner-stats {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    /* ==========================================================================
   EXECUTIVE MBA (E-MBA) DEDICATED SHOWCASE
   ========================================================================== */
    .emba-subtitle {
      font-size: 21px;
      font-weight: 700;
      color: #1e40af;
      margin: -6px 0 16px 0;
      line-height: 1.35;
      letter-spacing: -0.3px;
    }

    /* 3 Pedagogy Pillars Grid */
    .emba-pedagogy-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }

    .emba-pedagogy-card {
      background: #ffffff;
      padding: 38px 30px;
      border-radius: 20px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.02);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .emba-pedagogy-card:hover {
      transform: translateY(-6px);
      border-color: rgba(37, 99, 235, 0.35);
      box-shadow: 0 20px 35px -8px rgba(37, 99, 235, 0.12), 0 4px 12px rgba(15, 23, 42, 0.03);
    }

    .emba-pedagogy-icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: rgba(37, 99, 235, 0.08);
      color: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      margin-bottom: 20px;
      transition: all 0.3s ease;
    }

    .emba-pedagogy-card:hover .emba-pedagogy-icon {
      background: linear-gradient(135deg, #2563eb, #7c3aed);
      color: #ffffff;
      box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35);
      transform: scale(1.05);
    }

    .emba-pedagogy-badge {
      display: inline-block;
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: #2563eb;
      background: #eff6ff;
      padding: 3px 10px;
      border-radius: 6px;
      width: fit-content;
      margin-bottom: 12px;
    }

    .emba-pedagogy-card h4 {
      font-size: 19px;
      font-weight: 800;
      color: #002d62;
      margin: 0 0 10px 0;
      line-height: 1.35;
    }

    .emba-pedagogy-lead {
      font-size: 14px;
      font-weight: 600;
      color: #334155;
      line-height: 1.55;
      margin: 0 0 18px 0;
    }

    .emba-pedagogy-detail {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding-top: 16px;
      border-top: 1px solid #f1f5f9;
      margin-top: auto;
    }

    .emba-pedagogy-item {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 13px;
      color: #64748b;
      line-height: 1.45;
    }

    .emba-pedagogy-item i {
      color: #2563eb;
      font-size: 15px;
      margin-top: 2px;
      flex-shrink: 0;
    }

    @media (max-width: 991px) {
      .emba-pedagogy-grid {
        grid-template-columns: 1fr;
      }
    }

    /* ==========================================================================
   INSAG FORMATIONS - CONTACT FORM 7 CANDIDATURE STYLES (UNIFIED LIGHT MODE)
   ========================================================================== */
    .formation-cf7-candidature-wrap,
    .candidature-cf7-wrap {
      width: 100%;
    }

    .formation-cf7-candidature-wrap .wpcf7-form,
    .candidature-cf7-wrap .wpcf7-form {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .candidature-cf7-container {
      display: flex;
      flex-direction: column;
      gap: 16px;
      width: 100%;
    }

    .candidature-cf7-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      width: 100%;
    }

    @media (max-width: 768px) {
      .candidature-cf7-row {
        grid-template-columns: 1fr !important;
      }
    }

    .candidature-cf7-row.candidature-fullwidth {
      grid-template-columns: 1fr !important;
    }

    .candidature-cf7-field {
      display: flex;
      flex-direction: column;
      width: 100%;
    }

    .candidature-cf7-field p {
      margin: 0 !important;
      padding: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
    }

    .candidature-cf7-field br {
      display: none !important;
    }

    .candidature-cf7-field label {
      display: block !important;
      font-size: 12px !important;
      font-weight: 700 !important;
      color: #334155 !important;
      margin-bottom: 8px !important;
      text-transform: uppercase !important;
      letter-spacing: 0.05em !important;
      font-family: inherit !important;
    }

    .candidature-cf7-field label .req {
      color: #2563eb !important;
      font-weight: 700 !important;
    }

    .candidature-cf7-field label .label-hint {
      font-weight: 500 !important;
      text-transform: none !important;
      color: #64748b !important;
      font-size: 11.5px !important;
      letter-spacing: normal !important;
    }

    .candidature-cf7-field .wpcf7-form-control-wrap {
      display: block !important;
      width: 100% !important;
      position: relative !important;
    }

    .candidature-input,
    .candidature-select,
    .candidature-textarea,
    .formation-cf7-candidature-wrap input:not([type="submit"]):not([type="checkbox"]):not([type="file"]),
    .formation-cf7-candidature-wrap select,
    .formation-cf7-candidature-wrap textarea,
    .candidature-cf7-wrap input:not([type="submit"]):not([type="checkbox"]):not([type="file"]),
    .candidature-cf7-wrap select,
    .candidature-cf7-wrap textarea {
      width: 100% !important;
      padding: 12px 14px !important;
      min-height: 48px !important;
      background: #f8fafc !important;
      background-color: #f8fafc !important;
      border: 1.5px solid #e2e8f0 !important;
      border-radius: 10px !important;
      color: #0f172a !important;
      font-size: 14px !important;
      font-weight: 500 !important;
      outline: none !important;
      font-family: inherit !important;
      transition: all 0.2s ease !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
    }

    .candidature-input::placeholder,
    .candidature-textarea::placeholder,
    .formation-cf7-candidature-wrap input::placeholder,
    .formation-cf7-candidature-wrap textarea::placeholder,
    .candidature-cf7-wrap input::placeholder,
    .candidature-cf7-wrap textarea::placeholder {
      color: #94a3b8 !important;
      opacity: 1 !important;
    }

    .candidature-select,
    .formation-cf7-candidature-wrap select,
    .candidature-cf7-wrap select {
      cursor: pointer !important;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
      background-repeat: no-repeat !important;
      background-position: right 14px center !important;
      background-size: 16px !important;
      padding-right: 40px !important;
      -webkit-appearance: none !important;
      -moz-appearance: none !important;
      appearance: none !important;
    }

    .candidature-select option,
    .formation-cf7-candidature-wrap select option,
    .candidature-cf7-wrap select option {
      background: #ffffff !important;
      color: #0f172a !important;
    }

    .candidature-input:focus,
    .candidature-select:focus,
    .candidature-textarea:focus,
    .formation-cf7-candidature-wrap input:focus,
    .formation-cf7-candidature-wrap select:focus,
    .formation-cf7-candidature-wrap textarea:focus,
    .candidature-cf7-wrap input:focus,
    .candidature-cf7-wrap select:focus,
    .candidature-cf7-wrap textarea:focus {
      border-color: #2563eb !important;
      background: #ffffff !important;
      background-color: #ffffff !important;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
    }

    .candidature-file,
    .formation-cf7-candidature-wrap input[type="file"],
    .candidature-cf7-wrap input[type="file"] {
      width: 100% !important;
      padding: 10px 14px !important;
      background: #f8fafc !important;
      background-color: #f8fafc !important;
      border: 1.5px dashed #cbd5e1 !important;
      border-radius: 10px !important;
      color: #475569 !important;
      font-size: 13px !important;
      cursor: pointer !important;
      box-sizing: border-box !important;
      transition: all 0.2s ease !important;
    }

    .candidature-file:hover,
    .formation-cf7-candidature-wrap input[type="file"]:hover,
    .candidature-cf7-wrap input[type="file"]:hover {
      border-color: #2563eb !important;
      background: #eff6ff !important;
      color: #1e40af !important;
    }

    .formation-cf7-candidature-wrap input[type="file"]::file-selector-button,
    .candidature-cf7-wrap input[type="file"]::file-selector-button {
      margin-right: 12px !important;
      padding: 6px 14px !important;
      border: 1px solid #bfdbfe !important;
      border-radius: 6px !important;
      background: #eff6ff !important;
      color: #2563eb !important;
      font-size: 12px !important;
      font-weight: 700 !important;
      cursor: pointer !important;
      transition: all 0.2s ease !important;
    }

    .formation-cf7-candidature-wrap input[type="file"]:hover::file-selector-button,
    .candidature-cf7-wrap input[type="file"]:hover::file-selector-button {
      background: #2563eb !important;
      color: #ffffff !important;
      border-color: #2563eb !important;
    }

    .formation-cf7-candidature-wrap input:-webkit-autofill,
    .formation-cf7-candidature-wrap input:-webkit-autofill:hover,
    .formation-cf7-candidature-wrap input:-webkit-autofill:focus,
    .formation-cf7-candidature-wrap textarea:-webkit-autofill,
    .formation-cf7-candidature-wrap select:-webkit-autofill,
    .candidature-cf7-container input:-webkit-autofill,
    .candidature-cf7-container input:-webkit-autofill:hover,
    .candidature-cf7-container input:-webkit-autofill:focus {
      -webkit-text-fill-color: #0f172a !important;
      -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
      box-shadow: 0 0 0px 1000px #ffffff inset !important;
      transition: background-color 5000s ease-in-out 0s !important;
    }

    .candidature-textarea {
      resize: vertical !important;
      min-height: 85px !important;
    }

    .candidature-consent-wrap {
      width: 100% !important;
      padding: 12px 14px !important;
      background: #f8fafc !important;
      border: 1px solid #e2e8f0 !important;
      border-radius: 8px !important;
      box-sizing: border-box !important;
    }

    .candidature-consent-wrap label {
      color: #475569 !important;
      font-size: 12.5px !important;
      line-height: 1.5 !important;
      cursor: pointer !important;
      display: flex !important;
      align-items: flex-start !important;
      gap: 10px !important;
      text-transform: none !important;
      letter-spacing: normal !important;
      font-weight: 500 !important;
      margin: 0 !important;
    }

    .candidature-consent-wrap input[type="checkbox"] {
      margin-top: 3px !important;
      accent-color: #2563eb !important;
      width: 16px !important;
      height: 16px !important;
      flex-shrink: 0 !important;
      cursor: pointer !important;
    }

    .candidature-submit-row {
      margin-top: 6px;
      width: 100%;
    }

    .btn-candidature-submit,
    .formation-cf7-candidature-wrap input[type="submit"],
    .candidature-cf7-wrap input[type="submit"] {
      width: 100% !important;
      background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
      color: #ffffff !important;
      border: none !important;
      border-radius: 12px !important;
      padding: 15px 24px !important;
      font-size: 15px !important;
      font-weight: 800 !important;
      cursor: pointer !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 10px !important;
      box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3) !important;
      transition: all 0.2s ease !important;
      font-family: inherit !important;
      letter-spacing: 0.02em !important;
      margin-top: 10px !important;
    }

    .btn-candidature-submit:hover,
    .formation-cf7-candidature-wrap input[type="submit"]:hover,
    .candidature-cf7-wrap input[type="submit"]:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 6px 22px rgba(37, 99, 235, 0.45) !important;
      filter: brightness(1.08) !important;
    }

    /* CF7 Validation tips & outputs */
    .formation-cf7-candidature-wrap .wpcf7-spinner {
      margin: 10px auto !important;
      display: block !important;
    }

    .formation-cf7-candidature-wrap .wpcf7-not-valid-tip {
      color: #dc2626 !important;
      font-size: 12px !important;
      font-weight: 600 !important;
      margin-top: 5px !important;
      display: block !important;
    }

    .formation-cf7-candidature-wrap .wpcf7-response-output {
      border-radius: 12px !important;
      padding: 16px 20px !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      line-height: 1.5 !important;
      margin-top: 18px !important;
      text-align: center !important;
    }

    .formation-cf7-candidature-wrap form.sent .wpcf7-response-output {
      background: #ecfdf3 !important;
      border: 1px solid #a6f4c5 !important;
      color: #027a48 !important;
    }

    .formation-cf7-candidature-wrap form.invalid .wpcf7-response-output,
    .formation-cf7-candidature-wrap form.failed .wpcf7-response-output {
      background: #fef3f2 !important;
      border: 1px solid #fecdca !important;
      color: #b42318 !important;
    }

    /* Global Candidature Card Light Mode Container */
    #candidature-sec,
    .form-card-light,
    #candidature-sec.form-card-light {
      background: #ffffff !important;
      color: #0f172a !important;
      border: 1px solid #e2e8f0 !important;
      border-radius: 20px !important;
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08) !important;
      padding: 32px 28px !important;
      box-sizing: border-box !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    #candidature-sec .section-header,
    .form-card-light .section-header {
      border-bottom: 1px solid #e2e8f0 !important;
      margin-bottom: 24px !important;
      padding-bottom: 18px !important;
      display: flex !important;
      align-items: center !important;
      gap: 14px !important;
    }

    #candidature-sec .section-header-icon,
    .form-card-light .section-header-icon {
      width: 44px !important;
      height: 44px !important;
      border-radius: 12px !important;
      background: #eff6ff !important;
      color: #2563eb !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-size: 22px !important;
      flex-shrink: 0 !important;
    }

    #candidature-sec h2,
    #candidature-sec .form-card-title,
    .form-card-light .form-card-title {
      color: #0f172a !important;
      font-size: 22px !important;
      font-weight: 800 !important;
      line-height: 1.2 !important;
      margin: 0 !important;
      font-family: inherit !important;
    }

    #candidature-sec p,
    #candidature-sec .form-card-subtitle,
    .form-card-light .form-card-subtitle {
      font-size: 13.5px !important;
      color: #64748b !important;
      margin-top: 4px !important;
      margin-bottom: 0 !important;
      line-height: 1.5 !important;
      font-family: inherit !important;
    }

    #candidature-sec .req,
    .form-card-light .req {
      color: #2563eb !important;
      font-weight: 700 !important;
    }

    /* DBA Form Adaptations (Light background) */
    .dba-cf7-wrapper .candidature-cf7-field label {
      color: #334155 !important;
    }

    .dba-cf7-wrapper .candidature-input,
    .dba-cf7-wrapper .candidature-select,
    .dba-cf7-wrapper .candidature-textarea {
      background: #f8fafc !important;
      border: 1.5px solid #e2e8f0 !important;
      color: #0f172a !important;
    }

    .dba-cf7-wrapper .candidature-select {
      background: #f8fafc !important;
    }

    .dba-cf7-wrapper .candidature-select option {
      background: #ffffff !important;
      color: #0f172a !important;
    }

    .dba-cf7-wrapper .candidature-file {
      background: #f8fafc !important;
      border: 1.5px dashed #cbd5e1 !important;
      color: #475569 !important;
    }

    .dba-cf7-wrapper .candidature-consent-wrap {
      background: #f1f5f9 !important;
      border: 1px solid #e2e8f0 !important;
      color: #475569 !important;
    }

    /* ==========================================================
   CF7 SUCCESS & VALIDATION STATE (MATCHING MBA PAGE DESIGN)
   ========================================================== */

    /* 1. Hide form fields when sent */
    .dba-cf7-wrapper form.sent .candidature-cf7-container,
    .dba-cf7-wrapper form.sent p,
    .dba-cf7-wrapper form.sent .wpcf7-spinner,
    .formation-cf7-candidature-wrap form.sent .candidature-cf7-container,
    .formation-cf7-candidature-wrap form.sent p,
    .formation-cf7-candidature-wrap form.sent .wpcf7-spinner {
      display: none !important;
    }

    /* 2. Success message box (identical to MBA page hero brochure) */
    .dba-cf7-wrapper form.sent .wpcf7-response-output,
    .formation-cf7-candidature-wrap form.sent .wpcf7-response-output {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      background: #f0fdf4 !important;
      color: #15803d !important;
      border: 2px dashed #86efac !important;
      padding: 40px 24px !important;
      margin: 0 !important;
      border-radius: 16px !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      min-height: 220px !important;
      box-sizing: border-box !important;
      box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.12) !important;
    }

    /* 3. Big green checkmark icon */
    .dba-cf7-wrapper form.sent .wpcf7-response-output::before,
    .formation-cf7-candidature-wrap form.sent .wpcf7-response-output::before {
      content: "✓" !important;
      font-size: 40px !important;
      line-height: 1 !important;
      margin-bottom: 16px !important;
      color: #22c55e !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 68px !important;
      height: 68px !important;
      background: rgba(34, 197, 94, 0.14) !important;
      border-radius: 50% !important;
    }

    /* 4. Error states */
    .dba-cf7-wrapper form.invalid .wpcf7-response-output,
    .dba-cf7-wrapper form.unaccepted .wpcf7-response-output,
    .dba-cf7-wrapper form.failed .wpcf7-response-output {
      background-color: #fef2f2 !important;
      color: #ef4444 !important;
      border: 1px solid #fca5a5 !important;
      border-radius: 10px !important;
      padding: 14px 18px !important;
      font-size: 13.5px !important;
      font-weight: 600 !important;
      text-align: center !important;
      margin: 16px 0 0 0 !important;
    }

    .dba-cf7-wrapper .wpcf7-not-valid-tip {
      font-size: 12px !important;
      color: #ef4444 !important;
      margin-top: 4px !important;
      display: block !important;
      font-weight: 600 !important;
    }

    .dba-cf7-wrapper .wpcf7-not-valid {
      border-color: #f87171 !important;
      background-color: #fef2f2 !important;
    }

    /* ==========================================================
       DBA BROCHURE SIMPLIFIED FORM STYLES
       ========================================================== */
    .dba-brochure-wrapper {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 20px;
      padding: 32px 28px;
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
    }

    .brochure-cf7-container {
      display: flex;
      flex-direction: column;
      gap: 16px;
      width: 100%;
    }

    .brochure-cf7-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      width: 100%;
    }

    @media (max-width: 768px) {
      .brochure-cf7-row {
        grid-template-columns: 1fr !important;
      }
    }

    .brochure-cf7-row.brochure-fullwidth {
      grid-template-columns: 1fr !important;
    }

    .brochure-cf7-field {
      display: flex;
      flex-direction: column;
      width: 100%;
    }

    .brochure-cf7-field p {
      margin: 0 !important;
      padding: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
    }

    .brochure-cf7-field br {
      display: none !important;
    }

    .brochure-cf7-field label {
      display: block;
      font-size: 12px;
      font-weight: 700;
      color: #334155;
      margin-bottom: 6px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .brochure-cf7-field label .req {
      color: #2563eb;
    }

    .brochure-cf7-field .wpcf7-form-control-wrap {
      display: block;
      width: 100%;
      position: relative;
    }

    .brochure-input {
      width: 100% !important;
      padding: 12px 14px !important;
      background: #f8fafc !important;
      border: 1.5px solid #e2e8f0 !important;
      border-radius: 10px !important;
      color: #0f172a !important;
      font-size: 14px !important;
      outline: none !important;
      font-family: inherit !important;
      transition: all 0.2s ease !important;
      box-sizing: border-box !important;
    }

    .brochure-input:focus {
      border-color: #2563eb !important;
      background: #ffffff !important;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
    }

    .brochure-submit-wrap {
      margin-top: 4px;
      width: 100%;
    }

    .brochure-submit-wrap p {
      margin: 0 !important;
      padding: 0 !important;
    }

    /* Brochure CF7 Success & Error States */
    .dba-brochure-wrapper form.sent .brochure-cf7-container,
    .dba-brochure-wrapper form.sent p,
    .dba-brochure-wrapper form.sent .wpcf7-spinner {
      display: none !important;
    }

    .dba-brochure-wrapper form.sent .wpcf7-response-output {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      background: #f0fdf4 !important;
      color: #15803d !important;
      border: 2px dashed #86efac !important;
      padding: 36px 20px !important;
      margin: 0 !important;
      border-radius: 16px !important;
      font-size: 15.5px !important;
      font-weight: 700 !important;
      min-height: 200px !important;
      box-sizing: border-box !important;
      box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.12) !important;
    }

    .dba-brochure-wrapper form.sent .wpcf7-response-output::before {
      content: "✓" !important;
      font-size: 38px !important;
      line-height: 1 !important;
      margin-bottom: 14px !important;
      color: #22c55e !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 60px !important;
      height: 60px !important;
      background: rgba(34, 197, 94, 0.14) !important;
      border-radius: 50% !important;
    }

    .dba-brochure-wrapper form.invalid .wpcf7-response-output,
    .dba-brochure-wrapper form.unaccepted .wpcf7-response-output,
    .dba-brochure-wrapper form.failed .wpcf7-response-output {
      background-color: #fef2f2 !important;
      color: #ef4444 !important;
      border: 1px solid #fca5a5 !important;
      border-radius: 10px !important;
      padding: 14px 18px !important;
      font-size: 13.5px !important;
      font-weight: 600 !important;
      text-align: center !important;
      margin: 16px 0 0 0 !important;
    }

    .dba-brochure-wrapper .wpcf7-not-valid-tip {
      font-size: 12px !important;
      color: #ef4444 !important;
      margin-top: 4px !important;
      display: block !important;
      font-weight: 600 !important;
    }

    .dba-brochure-wrapper .wpcf7-not-valid {
      border-color: #f87171 !important;
      background-color: #fef2f2 !important;
    }

    /* Suppression globale des hero badges / eyebrows */
    .hero__badge,
    .hero .hero__badge,
    .cat-eyebrow,
    .hero-eyebrow,
    .about-eyebrow,
    .news-eyebrow {
      display: none !important;
    }

/* ==========================================================================
   Global Hero Facts (Chiffres Clés du Hero unifiés sur tout le site)
   ========================================================================== */
.hero-facts,
body .hero-facts {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  gap: 0 !important;
  list-style: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.hero-facts div,
body .hero-facts div {
  padding: var(--s-5, 1.5rem) var(--s-5, 1.5rem) var(--s-5, 1.5rem) 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: none !important;
}

.hero-facts div + div,
body .hero-facts div + div {
  padding-left: var(--s-5, 1.5rem) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.hero-facts dt,
body .hero-facts dt {
  font-family: inherit !important;
  font-size: clamp(1.125rem, 1.7vw, 1.375rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.hero-facts div:nth-child(1) dt,
body .hero-facts div:nth-child(1) dt { color: #8FB4FF !important; }

.hero-facts div:nth-child(2) dt,
body .hero-facts div:nth-child(2) dt { color: #C3B0FF !important; }

.hero-facts div:nth-child(3) dt,
body .hero-facts div:nth-child(3) dt { color: #7FD8CF !important; }

.hero-facts div:nth-child(4) dt,
body .hero-facts div:nth-child(4) dt { color: #FFC78A !important; }

.hero-facts dd,
body .hero-facts dd {
  font-family: inherit !important;
  font-size: .8125rem !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
  margin: var(--s-1, 0.25rem) 0 0 !important;
  line-height: 1.35 !important;
}

@media (max-width: 900px) {
  .hero-facts,
  body .hero-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .hero-facts div:nth-child(3),
  body .hero-facts div:nth-child(3) {
    padding-left: 0 !important;
    border-left: none !important;
  }
  .hero-facts div:nth-child(n+3),
  body .hero-facts div:nth-child(n+3) {
    border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  }
}

/* ── MODULES MULTICOLORES UNIFIÉS SITE-WIDE (DESIGN EXECUTIVE MBA) ── */
.mods li:nth-child(1), .rh-modules > li:nth-child(1):not(.rh-modules__cta) { --m: var(--c1); --mb: var(--c1b); }
.mods li:nth-child(2), .rh-modules > li:nth-child(2):not(.rh-modules__cta) { --m: var(--c2); --mb: var(--c2b); }
.mods li:nth-child(3), .rh-modules > li:nth-child(3):not(.rh-modules__cta) { --m: var(--c3); --mb: var(--c3b); }
.mods li:nth-child(4), .rh-modules > li:nth-child(4):not(.rh-modules__cta) { --m: var(--c4); --mb: var(--c4b); }
.mods li:nth-child(5), .rh-modules > li:nth-child(5):not(.rh-modules__cta) { --m: var(--c5); --mb: var(--c5b); }
.mods li:nth-child(6), .rh-modules > li:nth-child(6):not(.rh-modules__cta) { --m: var(--c6); --mb: var(--c6b); }
.mods li:nth-child(7), .rh-modules > li:nth-child(7):not(.rh-modules__cta) { --m: var(--c7); --mb: var(--c7b); }
.mods li:nth-child(8), .rh-modules > li:nth-child(8):not(.rh-modules__cta) { --m: var(--c8); --mb: var(--c8b); }

/* ── CARTES DUO HARMONISÉES (ADMISSION & VALIDATION / IMMERSIONS) ── */
.duo {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--s-5, 1.25rem) !important;
}

@media (max-width: 760px) {
  .duo {
    grid-template-columns: 1fr !important;
  }
}

.duo__item {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--r-md, 16px) !important;
  padding: clamp(1.5rem, 2.5vw, 2rem) !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.duo__item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
}

.duo__item > div {
  position: relative !important;
  z-index: 1 !important;
  max-width: 82% !important;
}

@media (max-width: 760px) {
  .duo__item > div {
    max-width: none !important;
  }
}

/* Carte 1 : Bleu (Candidature / Séminaire international / etc.) */
.duo__item:nth-child(1) {
  background: var(--c1b, #EEF4FF) !important;
  border: 1px solid #D6E3FF !important;
}

.duo__item:nth-child(1) h3,
.duo__item:nth-child(1) h4,
.duo__item:nth-child(1) .label {
  color: var(--c1, #1F5FE0) !important;
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  margin: 0 0 var(--s-2, 0.5rem) !important;
}

.duo__item:nth-child(1) .duo__bg {
  position: absolute !important;
  right: -24px !important;
  bottom: -32px !important;
  width: 190px !important;
  height: 190px !important;
  color: var(--c1, #1F5FE0) !important;
  opacity: 0.12 !important;
  pointer-events: none !important;
}

.duo__item:nth-child(1) .check li::before {
  border-color: var(--c1, #1F5FE0) !important;
  color: var(--c1, #1F5FE0) !important;
}

/* Carte 2 : Sarcelle / Menthe (Validation du programme / Semaine immersive / etc.) */
.duo__item:nth-child(2) {
  background: var(--c3b, #E8F6F5) !important;
  border: 1px solid #CBEBE8 !important;
}

.duo__item:nth-child(2) h3,
.duo__item:nth-child(2) h4,
.duo__item:nth-child(2) .label {
  color: var(--c3, #127A7A) !important;
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  margin: 0 0 var(--s-2, 0.5rem) !important;
}

.duo__item:nth-child(2) .duo__bg {
  position: absolute !important;
  right: -24px !important;
  bottom: -32px !important;
  width: 190px !important;
  height: 190px !important;
  color: var(--c3, #127A7A) !important;
  opacity: 0.14 !important;
  pointer-events: none !important;
}

.duo__item:nth-child(2) .check li::before {
  border-color: var(--c3, #127A7A) !important;
  color: var(--c3, #127A7A) !important;
}

.duo__bg svg {
  width: 100% !important;
  height: 100% !important;
  stroke-width: 1.25 !important;
}

.duo__item p {
  color: #334155 !important;
  font-size: .9375rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.duo__item strong {
  color: #0f172a !important;
  font-weight: 700 !important;
}

.duo__item ul {
  margin-top: var(--s-3, 0.75rem) !important;
}

.duo__item ul li {
  color: #334155 !important;
  font-size: .9375rem !important;
  line-height: 1.55 !important;
}

/* ── ENCADRÉ « À QUI S'ADRESSE » (STYLE STRICT EXECUTIVE MBA) ── */
.aside-box {
  background: linear-gradient(135deg, #F3F7FF 0%, #F6F1FF 100%) !important;
  border: 1px solid #DCE4FB !important;
  border-radius: 14px !important;
  padding: 1.5rem 1.75rem !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.aside-box .label,
.aside-box #titre-pourqui {
  display: inline-block !important;
  width: auto !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: #EEF4FF !important;
  color: #6A3DE8 !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.875rem !important;
  line-height: 1.4 !important;
}

.aside-box .check {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.aside-box .check li {
  position: relative !important;
  display: block !important;
  padding-left: 1.6rem !important;
  margin-bottom: 0.65rem !important;
  margin-top: 0 !important;
  color: #1e293b !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

.aside-box .check li:last-child {
  margin-bottom: 0 !important;
}

.aside-box .check li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.45em !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid #1F5FE0 !important;
  border-bottom: 2px solid #1F5FE0 !important;
  border-top: none !important;
  border-right: none !important;
  transform: rotate(-45deg) !important;
  margin: 0 !important;
  display: block !important;
  flex-shrink: initial !important;
  box-sizing: content-box !important;
}

/* ── CTA BAND BANNER REINFORCEMENT ── */
.cta-band {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  padding: 2rem !important;
  border-radius: 14px !important;
  background: #0A2550 !important;
  box-sizing: border-box !important;
  margin-top: 2rem !important;
}

.cta-band h3,
.cta-band h3.h3,
.cta-band .h3 {
  color: #FFFFFF !important;
  font-size: 1.1875rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 0 0 0.35rem 0 !important;
}

.cta-band p {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.cta-band .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background: linear-gradient(90deg, #2F5BEA 0%, #6A3DE8 100%) !important;
  color: #FFFFFF !important;
  padding: 0.75rem 1.25rem !important;
  min-height: 44px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  border: 1px solid transparent !important;
  transition: all 0.2s ease !important;
}

.cta-band .btn:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-1px) !important;
  color: #FFFFFF !important;
}

.cta-band .btn svg {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
}

/* ── CARTES NOS PROGRAMMES (ACCUEIL 16:9) ── */
.ins-pc__media {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  background: #0B1220 !important;
  overflow: hidden !important;
}

.ins-pc__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ── FORMATIONS À LA CARTE (ACCUEIL 4:5) ── */
.ins-carte__fig {
  aspect-ratio: 4 / 5 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

.ins-carte__fig img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 860px) {
  .ins-carte__fig {
    aspect-ratio: 16 / 9 !important;
    max-height: 300px !important;
  }
}

/* ======================================================================
   HERO PHOTO : PASSE-PARTOUT ÉDITORIAL INSTITUTIONNEL (GLOBAL)
   Style grande école : sobre, intemporel, net, zéro artifice tech
   ====================================================================== */
.hero__photo {
  position: relative;
}

.hero__photo-media {
  position: relative;
  display: block;
  margin-right: 10px;
  margin-bottom: 10px;
}

.hero__photo-media::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  width: 100%;
  height: 100%;
  border-radius: 14px;
  border: 1px solid rgba(31, 95, 224, 0.35);
  background: #0B172E;
  box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.55);
  z-index: 1;
  pointer-events: none;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.hero__photo-media::after {
  display: none !important;
}

.hero__photo-media:hover img {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -6px rgba(0, 0, 0, 0.55);
}

.hero__photo-media:hover::before {
  border-color: rgba(31, 95, 224, 0.55);
}

@media (max-width: 900px) {
  .hero__photo-media {
    margin-right: 6px;
    margin-bottom: 6px;
  }
  .hero__photo-media::before {
    top: 6px;
    left: 6px;
  }
}
