/* © 2026 Alexandre Authier. Tous droits réservés. */
.vlt-section[data-anchor="Contact"] { background:#101114; color:#fff; }
.vlt-section[data-anchor="Contact"] .vlt-section__content { padding:110px 0 90px; }
.contact-wrap { width:min(1160px,calc(100% - 120px)); margin:auto; }
.contact-heading { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ffffff25; padding-bottom:24px; margin-bottom:44px; }
.contact-heading h1 { margin:0; color:#fff; }
.contact-heading > span { color:#458aff; font-size:70px; line-height:1; }
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(40px,7vw,100px); align-items:start; }
.contact-intro h2 { color:#fff; font-size:clamp(30px,3vw,44px); line-height:1.14; letter-spacing:-.04em; font-weight:500; margin:0 0 22px; }
.contact-intro h2 em { color:#458aff; font-style:normal; }
.contact-intro > p { font-size:16px; line-height:1.65; color:#a6a9b2; max-width:350px; }
.contact-direct { margin-top:38px; }
.contact-direct a { position:relative; display:block; border-bottom:1px solid #ffffff25; padding:17px 24px 17px 0; color:#fff; }
.contact-direct a span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#a6a9b2; margin-bottom:6px; }
.contact-direct a strong { font-size:clamp(14px,1.35vw,18px); font-weight:500; overflow-wrap:anywhere; }
.contact-direct a i { position:absolute; right:0; top:50%; font-style:normal; color:#458aff; }
.contact-direct a:hover strong { color:#82b0ff; }
.contact-intro .contact-location { font-size:12px; margin-top:22px; }
.contact-form-wrap > h2 { color:#fff; font-size:22px; line-height:1.3; font-weight:500; letter-spacing:-.025em; margin:0 0 26px; }
.contact-wrap .vlt-form-row.two-col { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; }
.contact-wrap .vlt-form-row.two-col > .vlt-form-group { width:auto; padding:0; min-width:0; }
.contact-wrap .vlt-form-group { margin-bottom:22px; }
.contact-wrap label { display:block; font-size:12px; font-weight:500; margin-bottom:9px; }
.contact-wrap input:not([name="site"]),.contact-wrap select,.contact-wrap textarea { width:100%; min-height:48px; border:1px solid #ffffff30; border-radius:3px; background:#191b20; color:#fff; padding:12px 14px; font:inherit; font-size:16px; line-height:1.4; box-shadow:none; }
.contact-wrap select { appearance:auto; }
.contact-wrap select option { background:#191b20; color:#fff; }
.contact-wrap textarea { resize:vertical; min-height:128px; }
.contact-wrap input:focus,.contact-wrap select:focus,.contact-wrap textarea:focus { outline:2px solid #458aff; outline-offset:2px; border-color:#458aff; }
.contact-wrap .contact-field-help { font-size:12px; line-height:1.5; margin:0 0 10px; color:#a6a9b2; }
.contact-wrap .contact-send { width:100%; display:flex; justify-content:space-between; align-items:center; background:#2865e8; border:0; border-radius:3px; color:#fff; min-height:54px; padding:16px 22px; }
.contact-wrap .contact-send:hover { background:#3475ff; }
.contact-wrap .contact-send:disabled { opacity:.6; cursor:wait; }
.contact-wrap .contact-form-note { color:#858a96; font-size:11px; margin:12px 0 0; }
.contact-wrap label.error,.contact-wrap .message.danger { color:#ffb0a8; font-size:13px; }
.contact-wrap .message { margin:0 0 18px; }
.contact-wrap .message.success { color:#9de6c4; }
.contact-wrap :is(a,button):focus-visible { outline:2px solid #458aff; outline-offset:4px; }
@media(max-width:991px) {
 .contact-wrap { width:calc(100% - 64px); }
 .contact-layout { grid-template-columns:1fr; gap:36px; }
 .contact-intro > p { max-width:560px; }
 .contact-direct { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:20px; }
}
@media(max-width:575px) {
 .vlt-section[data-anchor="Contact"] .vlt-section__content { padding:88px 0 80px; }
 .contact-wrap { width:calc(100% - 40px); }
 .contact-heading { margin-bottom:28px; padding-bottom:18px; }
 .contact-heading > span { font-size:46px; }
 .contact-intro h2 { font-size:32px; }
 .contact-intro > p { font-size:14px; }
 .contact-direct { grid-template-columns:1fr; gap:0; }
 .contact-direct a { padding:13px 24px 13px 0; }
 .contact-wrap .vlt-form-row.two-col { grid-template-columns:1fr; gap:0; }
 .contact-layout { gap:30px; }
 .contact-form-wrap > h2 { font-size:22px; }
}
