    :root{
      /* Palette inspirée du logo */
      --g-900:#043f2c;
      --g-800:#05754B;  /* vert foncé */
      --g-600:#2aa85c;
      --g-500:#3CBC69;  /* vert clair */
      --mint-50:#eefaf3;
      --ink:#0f172a;
      --muted:#475569;
      --card:#ffffffcc;
      --stroke:#e2e8f0;
      --shadow: 0 12px 40px rgba(2, 23, 16, .18);
      --radius: 22px;
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      color:var(--ink);
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      line-height:1.45;

      /* fond global nettement plus foncé (limite haute claire) */
      background:
        radial-gradient(900px 500px at 20% 10%, rgba(60, 188, 105, .22), transparent 60%),
        radial-gradient(800px 520px at 85% 25%, rgba(5, 117, 75, .34), transparent 60%),
        linear-gradient(180deg, #d6dfdb 0%, #c6d6ce 55%, #d6dfdb 100%);
    }


    .wrap{
      min-height:100%;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:28px 16px;
    }

    .card{
      width:min(720px, 100%);
      background:var(--card);
      backdrop-filter: blur(10px);
      border:1px solid rgba(226, 232, 240, .85);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
    }

    /* bandeau haut */
    .hero{
      padding:28px 22px 18px;
      border-bottom:1px solid rgba(226, 232, 240, .85);
      position:relative;
      background:
        linear-gradient(135deg, rgba(5, 117, 75, .10), rgba(60, 188, 105, .10));
    }

    .brand{
      display:flex;
      gap:14px;
      align-items:center;
    }

    .logo{
      width:64px;
      height:64px;
      border-radius:16px;
      background:#fff;
      display:grid;
      place-items:center;
      border:1px solid rgba(226, 232, 240, .9);
      overflow:hidden;
      flex:0 0 auto;
    }

    .logo img{
      width:100%;
      height:100%;
      object-fit:contain;
      display:block;
    }

    .title{
      margin:0;
      font-size: clamp(20px, 2.3vw, 26px);
      letter-spacing:-0.02em;
      line-height:1.15;
    }

    .subtitle{
      margin:6px 0 0;
      color:var(--muted);
      font-size: 14px;
    }

    .links{
      padding:18px 22px 10px;
      display:grid;
      gap:12px;
    }

    .btn{
      text-decoration:none;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;

      padding:14px 14px;
      border-radius: 18px;
      border: 1px solid rgba(226, 232, 240, .95);
      background:#fff;
      color:var(--ink);

      transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
      box-shadow: 0 6px 18px rgba(2, 23, 16, .06);
    }

    .btn:hover{
      transform: translateY(-1px);
      border-color: rgba(60, 188, 105, .55);
      box-shadow: 0 10px 26px rgba(2, 23, 16, .10);
    }

    .left{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }

    .icon{
      width:44px;
      height:44px;
      border-radius: 14px;
      display:grid;
      place-items:center;
      background: linear-gradient(135deg, rgba(5,117,75,.10), rgba(60,188,105,.12));
      border: 1px solid rgba(60, 188, 105, .25);
      flex: 0 0 auto;
    }

    .name{
      display:flex;
      flex-direction:column;
      min-width:0;
    }

    .name strong{
      font-size:15px;
      line-height:1.15;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .name span{
      margin-top:2px;
      font-size:13px;
      color:var(--muted);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .arrow{
      width:34px;
      height:34px;
      border-radius: 14px;
      display:grid;
      place-items:center;
      background: linear-gradient(135deg, var(--g-800), var(--g-500));
      color:white;
      flex:0 0 auto;
      box-shadow: 0 8px 18px rgba(5,117,75,.22);
    }

    .footer{
      padding:14px 22px 20px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:space-between;
      align-items:center;
      color:var(--muted);
      font-size:12px;
      border-top:1px solid rgba(226, 232, 240, .85);
      background: rgba(255,255,255,.55);
    }

    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(60, 188, 105, .25);
      background: rgba(60, 188, 105, .08);
      color: var(--g-800);
      font-weight:600;
    }

    .tiny-links{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .tiny-links a{
      color:var(--muted);
      text-decoration:none;
      border-bottom:1px dotted rgba(71, 85, 105, .35);
    }
    .tiny-links a:hover{
      color:var(--g-800);
      border-bottom-color: rgba(5,117,75,.6);
    }

    /* petits ajustements mobiles */
    @media (max-width:420px){
      .logo{ width:56px; height:56px; border-radius:14px; }
      .icon{ width:42px; height:42px; border-radius:14px; }
      .btn{ padding:12px; border-radius:16px; }
    }

      /* --- CTA cards (appels à action) --- */
  .cta-wrap{
    padding: 8px 22px 18px;
  }

  .cta-title{
    margin: 6px 0 10px;
    font-size: 13px;
    color: var(--muted);
    letter-spacing: .02em;
    text-transform: uppercase;
  }

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

  .cta-card{
    text-decoration: none;
    color: var(--ink);
    background: #fff;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 18px;
    padding: 14px;
    box-shadow: 0 6px 18px rgba(2, 23, 16, .06);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    display: grid;
    gap: 6px;
    min-height: 92px;
  }

  .cta-card:hover{
    transform: translateY(-1px);
    border-color: rgba(60, 188, 105, .55);
    box-shadow: 0 10px 26px rgba(2, 23, 16, .10);
  }

  .cta-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .cta-badge{
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display:grid;
    place-items:center;
    background: linear-gradient(135deg, rgba(5,117,75,.10), rgba(60,188,105,.12));
    border: 1px solid rgba(60, 188, 105, .25);
    flex: 0 0 auto;
    font-size: 18px;
  }

  .cta-arrow{
    width: 32px;
    height: 32px;
    border-radius: 14px;
    display:grid;
    place-items:center;
    background: linear-gradient(135deg, var(--g-800), var(--g-500));
    color: #fff;
    box-shadow: 0 8px 18px rgba(5,117,75,.22);
    flex: 0 0 auto;
    font-weight: 700;
  }

  .cta-card strong{
    font-size: 14px;
    line-height: 1.2;
  }

  .cta-card span{
    font-size: 12.5px;
    color: var(--muted);
    line-height: 1.25;
  }

  /* Responsive */
  @media (max-width: 820px){
    .cta-grid{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 420px){
    .cta-grid{ grid-template-columns: 1fr; }
  }

  /* Séparation liens / CTA */
.separator {
  margin: 18px 22px 12px;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(5,117,75,.35),
    transparent
  );
}

/* Zone CTA légèrement différenciée */
.cta-wrap {
  background: linear-gradient(
    180deg,
    rgba(60,188,105,.06),
    rgba(255,255,255,0)
  );
  border-top: 1px solid rgba(60,188,105,.15);
}
