.contact-hero{padding:calc(var(--nav-h) + 5rem) var(--section-px) 4rem;background:var(--c-black);text-align:center;border-bottom:1px solid var(--c-border);}.contact-hero__inner{max-width:700px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem;}.contact-hero__title{font-family:var(--f-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;color:var(--c-off-white);line-height:1.1;}.contact-hero__accroche{font-family:var(--f-body);font-size:var(--fs-md);font-weight:300;color:var(--c-text-muted);line-height:1.75;max-width:520px;}.contact-body{padding:var(--section-py) var(--section-px);background:var(--c-black);}.contact-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--gap-xl);max-width:1100px;margin-inline:auto;align-items:start;}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;tabindex:-1;}.contact-form__row{margin-bottom:1.5rem;}.contact-form__row--2col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}.contact-form__field{display:flex;flex-direction:column;gap:.5rem;}.contact-form__label{font-size:var(--fs-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted);transition:color var(--duration-fast) var(--ease);}.contact-form__field:focus-within .contact-form__label{color:var(--c-accent);}.contact-form__required{color:var(--c-accent);margin-left:.2em;}.contact-form__input,.contact-form__textarea,.contact-form__select{width:100%;background:var(--c-dark-2);border:1px solid var(--c-border);color:var(--c-off-white);font-family:var(--f-body);font-size:var(--fs-base);font-weight:300;padding:.85rem 1rem;outline:none;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease);-webkit-appearance:none;appearance:none;}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:rgba(255,255,255,0.2);}.contact-form__input:focus,.contact-form__textarea:focus,.contact-form__select:focus{border-color:var(--c-accent);background:rgba(255,255,255,0.03);}.contact-form__textarea{resize:vertical;min-height:160px;line-height:1.65;}.contact-form__select-wrap{position:relative;}.contact-form__select{cursor:pointer;padding-right:2.5rem;}.contact-form__select option{background:var(--c-dark-2);color:var(--c-off-white);}.contact-form__select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--c-text-muted);font-size:.7rem;pointer-events:none;transition:color var(--duration-fast) var(--ease);}.contact-form__select-wrap:focus-within .contact-form__select-arrow{color:var(--c-accent);}.contact-form__rgpd{font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.6;margin-bottom:1.75rem;}.contact-form__rgpd a{color:var(--c-text-muted);text-decoration:underline;text-underline-offset:3px;transition:color var(--duration-fast) var(--ease);}.contact-form__rgpd a:hover{color:var(--c-accent);}.contact-form__submit-row{display:flex;justify-content:flex-start;}.contact-form__submit{min-width:220px;}.contact-form__input.is-invalid,.contact-form__textarea.is-invalid{border-color:#c0392b;}.contact-form__error{font-size:var(--fs-xs);color:#e07070;margin-top:.25rem;}.contact-form__select:not(.has-value){color:rgba(255,255,255,0.2);}.contact-form__select.has-value{color:var(--c-off-white);}.contact-confirm[hidden],#contact-ajax-error[hidden]{display:none !important;}.contact-confirm{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:3rem;background:var(--c-dark-2);border:1px solid var(--c-accent);border-left-width:2px;}.contact-confirm__icon{display:block;width:40px;height:40px;border:1px solid var(--c-accent);border-radius:50%;position:relative;}.contact-confirm__icon::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-58%) rotate(45deg);width:6px;height:11px;border-right:1.5px solid var(--c-accent);border-bottom:1.5px solid var(--c-accent);}.contact-confirm__title{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:300;color:var(--c-off-white);}.contact-confirm__text{font-size:var(--fs-base);color:var(--c-text-muted);line-height:1.75;}.contact-confirm__sub{font-size:var(--fs-sm);color:var(--c-text-muted);}.contact-confirm__link{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px;transition:opacity var(--duration-fast) var(--ease);}.contact-confirm__link:hover{opacity:0.75;}.contact-alert{padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:var(--fs-sm);line-height:1.6;border-left:2px solid;}.contact-alert--error{border-color:#c0392b;background:rgba(192,57,43,0.08);color:#e07070;}.contact-alert ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;}.contact-info-col{position:sticky;top:calc(var(--nav-h) + 2rem);display:flex;flex-direction:column;gap:2rem;padding:3rem;background:var(--c-dark-2);border:1px solid var(--c-border);}.contact-info__block{display:flex;flex-direction:column;gap:.4rem;}.contact-info__label{font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);}.contact-info__address{font-style:normal;font-size:var(--fs-base);font-weight:300;color:var(--c-text);line-height:1.65;}.contact-info__link{font-size:var(--fs-base);font-weight:300;color:var(--c-text);transition:color var(--duration-fast) var(--ease);}.contact-info__link:hover{color:var(--c-accent);}.contact-info__divider{width:40px;height:1px;background:var(--c-accent);opacity:0.6;}.contact-info__tagline{font-family:var(--f-display);font-size:var(--fs-md);font-weight:300;font-style:italic;color:var(--c-text-muted);line-height:1.5;}@media (max-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:var(--gap-lg);}}@media (max-width:768px){.contact-hero{padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem;}.contact-grid{grid-template-columns:1fr;}.contact-info-col{position:static;}.contact-form__row--2col{grid-template-columns:1fr;gap:1.25rem;}}@media (max-width:600px){.contact-hero__title{font-size:clamp(2rem,8vw,2.8rem);}.contact-body{padding:3rem var(--section-px);}.contact-info-col{padding:2rem;}.contact-form__submit{width:100%;}}