/* Page contact. Toute nouvelle règle doit être préfixée par body[data-page="contact"] pour rester isolée. */

/* Styles hérités de la page 1.0. À consolider dans ce bloc uniquement. */
.ct-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}
.ct-side h2{font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:-.03em;margin-bottom:1.2rem}
.ct-side>p{color:var(--grey);font-weight:300;max-width:44ch;line-height:1.85}
.ct-list{margin-top:2.4rem;display:grid;gap:1.1rem}
.ct-item{display:flex;gap:1rem;align-items:flex-start}
.ct-ic{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,213,98,.07)}
.ct-ic svg{width:19px;height:19px;fill:var(--gold)}
.ct-item b{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}
.ct-item a,.ct-item span.val{color:var(--grey);font-size:.98rem;transition:color .3s}
.ct-item a:hover{color:#fff}
.ct-form{border:1px solid var(--line);border-radius:26px;padding:clamp(1.8rem,4vw,3rem);background:linear-gradient(150deg,rgba(255,213,98,.06),rgba(15,15,18,.7) 50%)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2)}
.form input,.form select,.form textarea{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;color:#fff;font-family:var(--text);font-size:.95rem;padding:.85rem 1rem;outline:none;transition:border-color .3s;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--gold)}
.form select option{background:#111}
.form .full{grid-column:1/-1}
.form textarea{min-height:130px;resize:vertical}
.form-ok{grid-column:1/-1;color:#39d98a;font-size:.9rem;display:none}
.form-privacy{margin:.1rem 0 0;color:#a9a9b2;font-size:.72rem;line-height:1.6;letter-spacing:0;text-transform:none}
.ct-mail{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(1.5rem,3.5vw,2.3rem);color:var(--gold);display:inline-block;border-bottom:1.5px solid transparent;transition:border-color .4s;margin-top:.4rem}
.ct-mail:hover{border-color:var(--gold)}
.ct-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.4rem}
.ct-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
@media(max-width:960px){.ct-wrap{grid-template-columns:1fr}.form{grid-template-columns:1fr}}
