/* ================= SECTION HEADERS ================= */
  .sec-head{ margin-bottom:40px; max-width:640px; }
  .sec-head h2{ font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.02em; margin-top:10px; }
  .sec-head p{ margin-top:14px; color:var(--ink-soft); font-size:15px; line-height:1.6; }
  section.pad{ padding:96px 0; }
  @media (max-width:700px){ section.pad{ padding:60px 0; } }

  /* ================= INTRO / DEADLINE BAND ================= */
  .deadline-tag{
    display:inline-flex; align-items:center; gap:8px; background:var(--yellow); color:var(--ink);
    font-weight:700; font-size:13px; padding:9px 16px; border-radius:4px; margin-top:22px;
  }

  /* ================= ETAPES ================= */
  .steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px; }
  @media (max-width:900px){ .steps-grid{ grid-template-columns:1fr; } }
  .step-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; position:relative; }
  .step-num{
    width:34px; height:34px; border-radius:50%; background:var(--header); color:#fff; font-weight:800;
    font-size:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .step-card h4{ font-size:16px; font-weight:800; margin-bottom:8px; }
  .step-card p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }

  /* ================= FICHE D'INSCRIPTION ================= */
  .fiche-band{ background:var(--paper); }
  .fiche-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  @media (max-width:900px){ .fiche-grid{ grid-template-columns:1fr; gap:32px; } }
  .fiche-photo{ height:340px; border-radius:var(--radius); }
  @media (max-width:900px){ .fiche-photo{ height:220px; } }
  .fiche-copy h3{ font-size:clamp(22px,2.6vw,30px); font-weight:800; letter-spacing:-.02em; margin-bottom:14px; }
  .fiche-copy p{ font-size:14.5px; color:var(--ink-soft); line-height:1.65; margin-bottom:24px; max-width:440px; }
  .fiche-meta{
    display:flex; align-items:center; gap:16px; margin-top:26px; border:1px solid var(--line);
    border-radius:var(--radius); padding:16px 20px; background:#fff; max-width:440px;
  }
  .fiche-meta-icon{ width:40px;height:40px;border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
  .fiche-meta b{ display:block; font-size:13.5px; font-weight:800; }
  .fiche-meta span{ font-size:12px; color:var(--ink-soft); }

  /* ================= FORMULAIRE D'INSCRIPTION (carte) ================= */
  .form-card-outer{ background:var(--header); border-radius:26px; padding:12px; }
  .form-card-inner{ background:#fff; border-radius:18px; padding:52px 60px; }
  @media (max-width:700px){ .form-card-inner{ padding:36px 24px; } }
  .form-card-inner h3{
    font-style:italic; font-weight:800; font-size:clamp(22px,3vw,32px); color:var(--ink);
    letter-spacing:-.01em; margin-bottom:40px; max-width:560px;
  }
  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px 56px; margin-bottom:44px; }
  @media (max-width:600px){ .form-grid{ grid-template-columns:1fr; gap:26px; } }
  .form-field label{ display:block; font-size:15.5px; font-weight:600; color:var(--header); margin-bottom:12px; }
  .form-field .field-line{
    display:block; border:none; border-bottom:1.5px solid rgba(206,75,56,.35);
    width:100%; padding:6px 2px 10px; font-family:var(--font-body); font-size:15px;
    color:var(--ink); background:transparent; outline:none; transition:border-color .15s ease;
  }
  .form-field .field-line:focus{ border-bottom-color:var(--header); }
  .form-field .field-line::placeholder{ color:rgba(34,29,26,.3); }
  .btn-validate{
    background:#5c9e93; color:#fff; border:none; border-radius:8px; padding:16px 38px;
    font-weight:700; font-size:14px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:opacity .15s ease;
  }  
  .btn-validate:hover{ opacity:.9; }
  
  .form-contact-note{ margin-top:28px; font-size:13px; color:var(--ink-soft); }
  .form-contact-note a{ color:var(--header); font-weight:700; }

  .register-ok{
    background:#46cb62; color:#fff; border:none; border-radius:8px; padding:16px 38px;
    font-weight:700; font-size:14px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:opacity .15s ease;
  }
  .register-ok:hover{ opacity:.9; }

  .register-no{
    background:var(--header); color:#fff; border:none; border-radius:8px; padding:16px 38px;
    font-weight:700; font-size:14px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:opacity .15s ease;
  }

  .connexion-enlever{display:none;}
  /* ================= ELIGIBILITE / CONSEIL ================= */
  .conseil-card{
    margin-top:20px;
    background:var(--yellow); border-radius:var(--radius); padding:22px 26px;
  }
  .conseil-card b{ display:block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px; }
  .conseil-card p{ font-size:13.5px; line-height:1.55; color:var(--ink); }

  .infos-list{ display:grid; grid-template-columns:1fr 1fr; gap:28px 24px; margin-top:8px; }
  @media (max-width:560px){ .infos-list{ grid-template-columns:1fr; } }
  .infos-item h4{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--header); margin-bottom:8px; }
  .infos-item p{ font-size:15px; font-weight:600; line-height:1.4; }
  .infos-item span{ display:block; font-size:12.5px; color:var(--ink-soft); font-weight:400; margin-top:4px; }

  /* ================= CTA VALIDATION ================= */
  .ticket-cta-band{
    background:var(--ink); color:#fff; border-radius:var(--radius); padding:30px 34px;
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  }
  .ticket-cta-band b{ display:block; font-size:16.5px; font-weight:800; margin-bottom:4px; }
  .ticket-cta-band span{ font-size:13px; opacity:.75; }

  /* ================= FOOTER (fonce, partenaires integres) ================= */
  footer{ background:var(--ink); color:#fff; }
  .footer-top{ padding:60px 0 44px; display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; }
  @media (max-width:900px){ .footer-top{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .footer-top{ grid-template-columns:1fr; } }
  .foot-brand .logo-chip{ display:inline-flex; align-items:center; background:var(--header); border-radius:8px; padding:10px 16px; margin-bottom:16px; }
  .foot-brand p{ font-size:13px; color:rgba(255,255,255,.65); line-height:1.6; max-width:260px; margin-bottom:18px; }
  .foot-social{ display:flex; gap:10px; }
  .foot-social a{ width:32px;height:32px;border-radius:50%; background:rgba(255,255,255,.08); display:flex;align-items:center;justify-content:center; font-size:11px; font-weight:700; }
  .foot-col h4{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:16px; }
  .foot-col ul li{ margin-bottom:11px; }
  .foot-col ul li a{ font-size:13.5px; color:rgba(255,255,255,.85); }
  .foot-col ul li a:hover{ color:#fff; }
  .footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:20px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:rgba(255,255,255,.5); }

  .mock-note{
    position:fixed; bottom:18px; right:18px; z-index:150; background:var(--ink); color:#fff;
    font-size:11.5px; font-weight:600; padding:10px 16px; border-radius:4px; opacity:.85; max-width:230px; line-height:1.4;
  }

  @media (max-width:640px){
    .wrap{ padding:0 20px; }
    section.pad{ padding:52px 0; }
    .footer-top{ padding:44px 0 30px; }
    .mock-note{ left:12px; right:12px; max-width:none; text-align:center; bottom:12px; }
  }
  
.sec-head h2{
    margin:0;
    width:100%;
    font-size:clamp(22px,2.6vw,30px);
    line-height:1.15;
    white-space:normal;
}