.contact-page { background:transparent; color:#000; min-height:75vh; }
.contact-intro h1, .contact-intro p, .contact-panel label, .contact-success h2, .contact-success p { color:#000; }
.contact-layout { max-width:1296px; margin:auto; padding:170px 48px 100px; display:grid; grid-template-columns:1fr 1.2fr; gap:40px 100px; }
.contact-intro h1 { font-size:clamp(42px,5vw,68px); line-height:1.12; letter-spacing:-2px; margin:0 0 32px; }
.contact-intro p { font-size:18px; line-height:1.75; max-width:440px; }
.contact-links { margin-top:32px; }
.contact-links a { color:inherit; text-underline-offset:5px; }
.contact-panel label { display:block; font-size:17px; font-weight:500; margin-bottom:10px; }
.contact-panel label span { font-size:14px; color:#6b675e; font-weight:400; }
.contact-panel input, .contact-panel textarea { display:block; box-sizing:border-box; width:100%; background:transparent; color:#000; border:1px solid #000; border-radius:8px; padding:15px 20px; font:inherit; margin-bottom:25px; }
.contact-panel input:focus, .contact-panel textarea:focus { outline:none; border-width:2px; padding:14px 19px; }
.contact-panel textarea { resize:vertical; min-height:170px; }
.contact-submit { border:0; border-radius:32px; background:#000; color:white; padding:17px 32px; font:inherit; cursor:pointer; }
.contact-submit:hover { background:#000; text-decoration:underline; text-underline-offset:4px; }
.contact-submit:disabled { opacity:.65; cursor:wait; }
.contact-layout :focus-visible:not(input):not(textarea) { outline:3px solid #000; outline-offset:4px; }
#contact-status { color:#000; line-height:1.6; margin:16px 0 0; }
#contact-status:empty { display:none; }
.contact-panel .contact-honeypot { display:none; }
.contact-panel [hidden] { display:none!important; }
.contact-success { padding:36px; border:1px solid #edf3e9; border-radius:24px; background:#edf3e9; }
.contact-success h2 { font-size:32px; line-height:1.2; margin:0 0 22px; }
.contact-success p { font-size:18px; line-height:1.7; }
@media(max-width:991px) { .contact-layout { gap:44px; padding:140px 32px 70px; } }
@media(max-width:767px) { .contact-layout { grid-template-columns:1fr; padding:120px 24px 60px; gap:40px; } .contact-intro h1 { letter-spacing:-1px; } .contact-intro p { max-width:none; } .contact-success { padding:26px; } }

.contact-panel [aria-invalid="true"] {
  border: 2px solid #c62828;
  padding: 14px 19px;
  margin-bottom: 0;
}
.contact-panel .contact-field-error {
  color: #c62828;
  font-size: 14px;
  line-height: 1.5;
  margin: 8px 0 25px;
}
