.contact-hero { padding-block:clamp(3rem,5vw,5rem); }
.contact-hero h1 { font-size:clamp(2.4rem,4.4vw,4.2rem); max-width:58rem; }
.contact-hero p { max-width:43rem; margin-top:1.5rem; }
.contact-page .contact>.two-col { align-items:start; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.contact-channels h2 { font-size:clamp(1.8rem,2.8vw,2.7rem); }
.contact-channels ul { list-style:none; margin:2rem 0; padding:0; }
.contact-channels li a { display:flex; align-items:center; gap:1rem; padding:.8rem 0; text-decoration:none; color:var(--navy); min-height:48px; }
.contact-channels svg { flex-shrink:0; color:var(--green); }
.contact-channels strong { display:block; font-size:.85rem; margin-bottom:.15rem; }
.contact-channels li a>span:nth-child(2) { min-width:0; overflow-wrap:anywhere; }
.channel-arrow { margin-left:auto; color:var(--green); transition:transform 250ms ease; }
.contact-location { border-top:1px solid #001c4d30; padding-top:1.5rem; }
.contact-location h3 { font-size:1rem; margin-bottom:.5rem; }
.contact-location address { font-style:normal; line-height:1.8; }
.contact-location a { color:var(--navy); text-underline-offset:4px; }
.map-link { display:inline-flex; gap:1rem; align-items:center; min-height:48px; margin-top:.7rem; font-weight:600; font-size:.85rem; }
.map-link span { color:var(--green); }
.contact-page .contact-form { padding:clamp(1.5rem,3vw,3rem); }
.contact-page .contact-form h2 { font-size:1.7rem; }
.contact-page .contact-form .contact-hint { font-size:.85rem; margin-bottom:0; }
.contact-page .contact-privacy { color:#646464; font-size:.85rem; line-height:1.7; margin:1rem 0 0; }
.contact-page input,.contact-page select,.contact-page textarea { min-width:0; width:100%; }
@media(hover:hover) and (pointer:fine) { .contact-channels li a:hover .channel-arrow { transform:translate(3px,-3px); } .contact-channels li a:hover { text-decoration:underline; text-underline-offset:4px; } }
@media(max-width:950px) { .contact-page .contact>.two-col { gap:2rem; } }
@media(max-width:760px) { .contact-page .contact>.two-col { grid-template-columns:minmax(0,1fr); gap:3rem; } }
@media(max-width:400px) { .contact-page .contact-form { padding:1.25rem; } .contact-page .contact-form .button { font-size:.72rem; padding-inline:1rem; } }
@media(prefers-reduced-motion:reduce) { .channel-arrow { transition:none; } .contact-channels li a:hover .channel-arrow { transform:none; } }
