  /* Option audacieuse (demande de Jorge, 2026-10-19) : grand titre en escalier, formulaire à droite sur ordinateur */
  .cpa-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); }
  .cpa-head .section-label { margin-bottom: 16px; }
  .cpa-title {
    margin: 0; font-family: var(--font-display); font-weight: 400;
    font-size: clamp(44px, 7vw, 112px); line-height: 0.95; letter-spacing: -0.01em; color: var(--ink-900);
  }
  .cpa-title em { font-style: italic; color: var(--sage-700); }
  @media (min-width: 1024px) {
    .cpa-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: clamp(48px, 6vw, 112px); align-items: start; }
    .cpa-head { position: sticky; top: calc(var(--vp-nav-h, 101px) + 32px); }
  }
  @media (max-width: 560px) { .form-grid { grid-template-columns: 1fr; } }

  /* Téléphone : indicatif + numéro sur une ligne */
  .ct-phone { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; }
  .ct-phone select { cursor: pointer; padding-right: 8px; }

  /* Coordonnées : fiche sauge (.s7a de blocks/audace.css), valeurs en grand Cormorant, une ligne par moyen */
  .cpa-info .section-label, .cpa-info .section-label .numeral { color: var(--linen-200); }
  .cpa-info .s7a-head .section-label { margin-bottom: 16px; }
  /* Lignes : .s7a-list / .s7a-row (filets, intitulés en Cormorant italique) ; ici une seule colonne et des valeurs en grand */
  /* .cpa-info en tête : cette feuille est chargée avant blocks/audace.css, il faut un cran de plus pour passer devant */
  .cpa-info .s7a .cpa-list { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-template-rows: none; }
  .cpa-info .s7a .cpa-row dt { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.1; }
  .cpa-row dd { margin: 0; display: grid; gap: 8px; justify-items: start; }
  .cpa-row .cpa-val {
    font-family: var(--font-display); font-weight: 400; font-size: clamp(26px, 4vw, 52px);
    line-height: 1.05; letter-spacing: -0.01em; color: var(--linen-50); overflow-wrap: anywhere;
  }
  .cpa-row .cpa-val em { font-style: italic; }
  .cpa-row a.cpa-val { transition: color 200ms cubic-bezier(0.23, 1, 0.32, 1); }
  .cpa-row a.cpa-val:hover { color: var(--sage-200); }
  .cpa-row .cpa-sub { font-size: 15.5px; line-height: 1.6; color: var(--linen-200); max-width: 52ch; }
  @media (min-width: 900px) { .cpa-info .s7a .cpa-row { grid-template-columns: 16rem minmax(0, 1fr); gap: 24px; } }

  /* Envoi */
  .submit-bar {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 36px; padding-top: 24px;
    border-top: var(--hairline);
    gap: 24px; flex-wrap: wrap;
  }

  .success {
    padding: clamp(28px, 4vw, 44px); border: var(--hairline-strong);
    background: color-mix(in oklab, var(--sage-200) 40%, var(--linen-50));
    margin-bottom: 36px;
  }
  .form-error {
    margin: 0 0 28px; padding: 16px 20px;
    border: 1px solid var(--terra-500); color: var(--terra-600);
    font-size: 15.5px;
  }
  /* Champ piège anti-robots : hors écran, ignoré par les lecteurs d'écran */
  .hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
