body:has(.contact-page) { display:flex; flex-direction:column; min-height:100vh; padding-bottom:0; }
body:has(.contact-page) #container { flex:1 0 auto; width:calc(100% - 32px); max-width:1520px; margin:0 auto; padding:48px 0 64px; }
body:has(.contact-page) > :is(.footer,footer) { position:static !important; float:none; flex-shrink:0; }
.contact-page { color:#283441; font-size:14px; line-height:1.6; text-align:left; }
.contact-page *, .contact-page *::before, .contact-page *::after { box-sizing:border-box; letter-spacing:0; }
.contact-inner { max-width:600px; margin:0 auto; }
.contact-page h1 { font-size:26px; line-height:1.35; font-weight:500; margin:0 0 16px; }
.contact-intro { margin:0 0 24px; }
.contact-form { margin:0; display:flex; flex-direction:column; gap:20px; }
.contact-form label { display:flex; flex-direction:column; gap:8px; margin:0; font-size:13px; font-weight:500; }
.contact-form input:not([type=hidden]), .contact-form textarea { width:100%; min-width:0; padding:10px 12px; margin:0; border:1px solid #cbd5e1; border-radius:4px; background:#fff; color:#283441; font:inherit; }
.contact-form input:not([type=hidden]) { height:44px; }
.contact-form textarea { min-height:160px; resize:vertical; }
.contact-form button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; margin:0; padding:10px 14px; border:1px solid #2875cd; border-radius:4px; background:#2875cd; color:#fff; font:inherit; font-size:13px; text-transform:none; cursor:pointer; }
.contact-form button:hover { background:#2064b2; }
.contact-form button:disabled { opacity:.65; cursor:wait; }
.contact-alert { padding:12px 14px; margin:0 0 20px; border:1px solid #e3cbd0; border-radius:4px; background:#fcf2f3; color:#9a5662; overflow-wrap:anywhere; }
.contact-captcha { min-height:78px; }
.contact-page :is(input,textarea,button,a):focus-visible { outline:2px solid #2673cc; outline-offset:3px; }
@media(max-width:520px) { body:has(.contact-page) #container { padding-top:32px; } .contact-page h1 { font-size:24px; } }
@media(max-width:340px) { .contact-captcha { min-height:71px; height:71px; } .contact-captcha .g-recaptcha { transform:scale(.9); transform-origin:left top; } }
