.sw-contact, .sw-contact * { box-sizing:border-box; }
.sw-contact-page .page56 .single56__header { display:none; }
.sw-contact { --sw-contact-red:#a00000; --sw-contact-ink:#262626; --sw-contact-muted:#605c58; color:var(--sw-contact-ink); width:100%; margin:0 auto 32px; font-family:inherit; }
.sw-contact .sw-contact-layout { display:flex; align-items:flex-start; gap:clamp(32px,5vw,76px); padding:46px 0 30px; margin:0; }
.sw-contact .sw-contact-intro { flex:1 1 49%; min-width:0; padding:8px 0 0; }
.sw-contact .sw-contact-form-column { flex:1 1 51%; min-width:0; }
.sw-contact .sw-contact-eyebrow, .sw-contact .sw-contact-card-kicker { font:600 11px/1.6 Arial,sans-serif; letter-spacing:.14em; margin:0 0 26px; color:var(--sw-contact-red); }
.sw-contact .sw-contact-eyebrow::before { content:""; display:inline-block; vertical-align:middle; width:30px; height:2px; margin-right:12px; background:var(--sw-contact-red); }
.sw-contact .sw-contact-title { font-family:inherit; font-size:clamp(42px,4.6vw,67px); font-weight:500; line-height:1.09; letter-spacing:-.04em; text-transform:none; margin:0 0 27px; color:var(--sw-contact-ink); }
.sw-contact .sw-contact-accent { color:var(--sw-contact-red); }
.sw-contact .sw-contact-lead { font-size:19px; line-height:1.7; color:var(--sw-contact-muted); max-width:510px; margin:0 0 34px; }
.sw-contact .sw-contact-routes { margin:0; padding:0; }
.sw-contact .sw-contact-route { border-top:1px solid #ded8d2; padding:20px 0 17px; margin:0; }
.sw-contact .sw-contact-route h2 { font-family:inherit; font-size:23px; font-weight:500; line-height:1.3; margin:0 0 8px; color:var(--sw-contact-ink); letter-spacing:-.02em; }
.sw-contact .sw-contact-route p { font-size:15px; line-height:1.65; color:var(--sw-contact-muted); margin:0 0 8px; }
.sw-contact .sw-contact-route p:last-child { margin:0; }
.sw-contact .sw-contact-route a { font:600 12px/1.6 Arial,sans-serif; color:var(--sw-contact-red); text-decoration:none; border-bottom:1px solid rgba(160,0,0,.25); padding-bottom:2px; }
.sw-contact .sw-contact-route:nth-child(even) a { color:var(--sw-contact-ink); border-bottom-color:#aaa; }
.sw-contact .sw-contact-signature { font-size:20px; line-height:1.4; margin:27px 0 0; }
.sw-contact .sw-contact-signature span { font:11px/1.6 Arial,sans-serif; color:var(--sw-contact-muted); text-transform:uppercase; letter-spacing:.14em; }
.sw-contact .sw-contact-form-card { position:relative; padding:34px; border:1px solid #e5dcd7; border-top:3px solid var(--sw-contact-red); border-radius:13px; background:linear-gradient(145deg,#faf5f3 0%,#fffdfb 55%,#fff 100%); box-shadow:0 10px 35px rgba(45,28,20,.045); }
.sw-contact .sw-contact-card-kicker { margin-bottom:15px; color:var(--sw-contact-muted); }
.sw-contact .sw-contact-form-card h2 { font-family:inherit; font-size:clamp(28px,2.6vw,36px); font-weight:500; letter-spacing:-.025em; line-height:1.2; text-transform:none; color:var(--sw-contact-ink); margin:0 0 16px; }
.sw-contact .sw-contact-hint { font:12px/1.6 Arial,sans-serif; color:var(--sw-contact-muted); margin:0 0 20px; }
.sw-contact .sw-contact-small { font:12px/1.6 Arial,sans-serif; color:var(--sw-contact-muted); margin:17px 0 0; }
.sw-contact .sw-contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.sw-contact .sw-contact-form-grid > p { display:contents; }
.sw-contact .sw-contact-form-grid > br, .sw-contact .sw-contact-form-grid > p > br { display:none; }
.sw-contact .wpcf7-form > p { margin:0; }
.sw-contact .wpcf7-form label { display:block; color:var(--sw-contact-ink); font:600 13px/1.5 Arial,sans-serif; margin:0 0 15px; }
.sw-contact .wpcf7-form label .wpcf7-form-control-wrap { display:block; }
.sw-contact .wpcf7-form input[type=text], .sw-contact .wpcf7-form input[type=email], .sw-contact .wpcf7-form textarea { display:block; width:100%; max-width:100%; min-width:0; border:1px solid #d7cdc7; border-radius:5px; padding:10px 12px; background:#fff; color:var(--sw-contact-ink); font:16px/1.5 Arial,sans-serif; margin:5px 0 0; box-shadow:none; }
.sw-contact .wpcf7-form input[type=text], .sw-contact .wpcf7-form input[type=email] { height:44px; }
.sw-contact .wpcf7-form textarea { height:134px; min-height:110px; resize:vertical; }
.sw-contact .wpcf7-form input::placeholder, .sw-contact .wpcf7-form textarea::placeholder { color:#78706a; opacity:1; }
.sw-contact .wpcf7-form input[type=submit], .sw-contact .wpcf7-form button[type=submit] { min-height:46px; max-width:100%; padding:12px 22px; border:1px solid var(--sw-contact-red); border-radius:5px; background:var(--sw-contact-red); color:#fff; font:600 14px/1.5 Arial,sans-serif; cursor:pointer; transition:background .2s ease; }
.sw-contact .wpcf7-form input[type=submit]:hover, .sw-contact .wpcf7-form button[type=submit]:hover { background:#780000; }
.sw-contact .wpcf7-form input[type=submit]:disabled { opacity:.6; cursor:wait; }
.sw-contact a:focus-visible, .sw-contact input:focus-visible, .sw-contact textarea:focus-visible, .sw-contact button:focus-visible { outline:2px solid var(--sw-contact-red); outline-offset:3px; }
.sw-contact .wpcf7-not-valid-tip { font:12px/1.5 Arial,sans-serif; margin-top:5px; }
.sw-contact .wpcf7-response-output { margin:18px 0 0; padding:12px; font:14px/1.6 Arial,sans-serif; color:var(--sw-contact-ink); border-radius:4px; }
@media(max-width:900px) {
  .sw-contact .sw-contact-layout { gap:30px; }
  .sw-contact .sw-contact-form-card { padding:26px; }
  .sw-contact .sw-contact-title { font-size:46px; }
}
@media(max-width:781px) {
  .sw-contact .sw-contact-layout { flex-direction:column; gap:30px; padding-top:30px; }
  .sw-contact .sw-contact-intro, .sw-contact .sw-contact-form-column { flex-basis:auto!important; width:100%; }
  .sw-contact .sw-contact-lead { max-width:650px; }
  .sw-contact .sw-contact-signature { display:none; }
}
@media(max-width:480px) {
  .sw-contact .sw-contact-title { font-size:42px; }
  .sw-contact .sw-contact-lead { font-size:17px; }
  .sw-contact .sw-contact-form-grid { grid-template-columns:minmax(0,1fr); }
  .sw-contact .sw-contact-form-card { padding:23px 20px; }
}
@media print {
  .sw-contact .sw-contact-layout { display:block; }
  .sw-contact .sw-contact-form-card { box-shadow:none; }
}
