  /* ── Spécifique contact.php ── */

  body { overflow: auto; }

  .page-wrapper {
    position: relative; z-index: 2;
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 7rem;
  }

  /* Colonne gauche */
  .contact-left {
    display: flex; flex-direction: column; justify-content: center;
    padding: 5rem 5rem 5rem 3rem;
    position: relative;
  }
  .contact-left::after {
    content: '';
    position: absolute; right: 0; top: 15%; bottom: 15%; width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(200,184,154,0.4) 40%, rgba(200,184,154,0.4) 60%, transparent);
  }

  .section-label {
    font-size: .58rem; letter-spacing: .35em; text-transform: uppercase;
    color: var(--accent); margin-bottom: 2.5rem;
    display: flex; align-items: center; gap: 1rem;
  }
  .section-label::before {
    content: ''; display: inline-block;
    width: 28px; height: 1px; background: rgba(200,184,154,0.4);
  }

  .contact-title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300; font-size: clamp(2.8rem, 4vw, 4.5rem);
    line-height: 1.05; color: var(--white); margin-bottom: 2rem;
  }
  .contact-title em { font-style: italic; color: var(--accent); }

  .contact-desc {
    font-size: .78rem; line-height: 1.9; color: var(--dim);
    max-width: 34ch; margin-bottom: 4rem; letter-spacing: .04em;
  }

  .info-blocks { display: flex; flex-direction: column; gap: 2.2rem; }

  .info-block {
    display: flex; flex-direction: column; gap: .35rem;
    padding-left: 1.2rem; border-left: 1px solid rgba(200,184,154,0.4);
    opacity: 0; transform: translateX(-12px);
    animation: slideIn .6s forwards;
  }
  .info-block:nth-child(1) { animation-delay: .4s; }
  .info-block:nth-child(2) { animation-delay: .55s; }
  .info-block:nth-child(3) { animation-delay: .7s; }

  .info-label { font-size: .55rem; letter-spacing: .3em; text-transform: uppercase; color: var(--accent); }
  .info-value { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 300; color: var(--white); }
  .info-sub   { font-size: .62rem; color: var(--dim); letter-spacing: .06em; }

  .geo-deco { position: absolute; bottom: 5rem; left: 3rem; width: 90px; opacity: .15; }

  /* Colonne droite */
  .contact-right {
    display: flex; flex-direction: column; justify-content: center;
    padding: 5rem 3rem 5rem 5rem;
  }

  .form-row {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
    margin-bottom: 2.2rem;
    opacity: 0; transform: translateY(10px);
    animation: fadeUp .6s .3s forwards;
  }

  .form-group {
    position: relative; margin-bottom: 2.2rem;
    opacity: 0; transform: translateY(10px);
    animation: fadeUp .6s forwards;
  }
  .form-group:nth-child(1) { animation-delay: .42s; }
  .form-group:nth-child(2) { animation-delay: .54s; }
  .form-group:nth-child(3) { animation-delay: .66s; }
  .form-group:nth-child(4) { animation-delay: .78s; }
  .form-row .form-group { margin-bottom: 0; animation: none; opacity: 1; transform: none; }

  .form-group label {
    display: block; font-size: .55rem; letter-spacing: .3em;
    text-transform: uppercase; color: var(--accent); margin-bottom: .75rem;
  }
  .form-group input,
  .form-group select,
  .form-group textarea {
    width: 100%; background: transparent;
    border: none; border-bottom: 1px solid rgba(200,184,154,0.2);
    color: var(--white);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem; font-weight: 300;
    padding: .5rem 0 .75rem;
    outline: none; cursor: none;
    transition: border-color .35s;
    appearance: none; -webkit-appearance: none;
  }
  .form-group select option { background: var(--black); color: var(--white); }
  .form-group input::placeholder,
  .form-group textarea::placeholder { color: rgba(240,237,232,0.2); font-style: italic; font-size: .95rem; }
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus { border-bottom-color: var(--accent); }

  .form-group::after {
    content: ''; position: absolute; bottom: 0; left: 0;
    width: 0; height: 1px; background: var(--accent);
    transition: width .45s cubic-bezier(.4,0,.2,1);
  }
  .form-group:focus-within::after { width: 100%; }
  .form-group textarea { resize: none; height: 100px; line-height: 1.7; }

  .select-wrap { position: relative; }
  .select-arrow {
    position: absolute; right: 0; bottom: .9rem;
    pointer-events: none; color: rgba(200,184,154,0.4); font-size: .7rem;
  }

  .submit-wrap {
    margin-top: 2.8rem; display: flex; align-items: center; gap: 2rem;
    opacity: 0; transform: translateY(10px);
    animation: fadeUp .6s .9s forwards;
  }

  .btn-submit {
    position: relative; display: inline-flex; align-items: center; gap: 1rem;
    font-family: 'Montserrat', sans-serif; font-size: .62rem; font-weight: 300;
    letter-spacing: .3em; text-transform: uppercase;
    color: var(--black); background: var(--accent);
    border: none; padding: 1rem 2.4rem;
    cursor: none; overflow: hidden; transition: color .35s;
  }
  .btn-submit::before {
    content: ''; position: absolute; inset: 0; background: var(--white);
    transform: translateX(-101%); transition: transform .45s cubic-bezier(.4,0,.2,1);
  }
  .btn-submit:hover::before { transform: translateX(0); }
  .btn-submit span, .btn-submit svg { position: relative; z-index: 1; }
  .btn-submit svg { transition: transform .3s; }
  .btn-submit:hover svg { transform: translateX(4px); }

  .form-note { font-size: .58rem; color: rgba(240,237,232,0.15); letter-spacing: .1em; line-height: 1.7; }

  /* Confirmation */
  .confirm-overlay {
    display: none; position: fixed; inset: 0; z-index: 500;
    background: rgba(10,10,10,.93); backdrop-filter: blur(8px);
    align-items: center; justify-content: center; flex-direction: column; gap: 1.5rem;
  }
  .confirm-overlay.show { display: flex; }
  .confirm-icon { color: var(--accent); font-size: 2rem; animation: fadeUp .5s .1s both; }
  .confirm-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.4rem; font-weight: 300; color: var(--white);
    animation: fadeUp .5s .2s both;
  }
  .confirm-sub { font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; color: var(--dim); animation: fadeUp .5s .3s both; }
  .confirm-back {
    margin-top: 1rem; font-size: .58rem; letter-spacing: .3em; text-transform: uppercase;
    color: var(--accent); text-decoration: none; cursor: none;
    border-bottom: 1px solid rgba(200,184,154,0.4); padding-bottom: .2rem;
    animation: fadeUp .5s .4s both; transition: color .3s;
  }
  .confirm-back:hover { color: var(--white); }

  @keyframes slideIn { to { opacity: 1; transform: translateX(0); } }

  @media (max-width: 900px) {
    .page-wrapper { grid-template-columns: 1fr; padding-top: 6rem; }
    .contact-left { padding: 3rem 2rem; border-bottom: 1px solid rgba(200,184,154,0.1); }
    .contact-left::after { display: none; }
    .contact-right { padding: 3rem 2rem 5rem; }
    .geo-deco { display: none; }
  }