.contact-page { padding-block:var(--section-space-m,3rem); }
.contact-page .contact-shell { max-width:46rem;margin-inline:auto; }
.contact-dialog { position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--uartf-white,#fff);color:var(--uartf-ink,#14283b);overflow:auto;overscroll-behavior:contain; }
.contact-dialog::backdrop { background:#102840aa; }
html:has(.contact-dialog[open]) { overflow:hidden; }
.contact-dialog-bar { position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--uartf-white,#fff);border-bottom:1px solid var(--uartf-line,#cbd5e1);padding:1rem max(1rem,env(safe-area-inset-right)); }
.contact-dialog-bar strong { color:var(--uartf-blue,#0057b8); }
.contact-dialog-body { max-width:48rem;margin-inline:auto;padding:clamp(1rem,4vw,2.5rem);padding-bottom:max(2rem,env(safe-area-inset-bottom)); }
.contact-form { display:grid;gap:var(--space-m,1.3rem);text-align:left;min-width:0; }
.contact-form [hidden] { display:none!important; }
.contact-form h1,.contact-form h2 { margin:0;font-size:var(--h2,2rem);line-height:1.2;color:var(--uartf-blue,#0057b8); }
.contact-form p { margin:0;overflow-wrap:anywhere; }
.contact-field { display:grid;gap:.4rem;min-width:0; }
.contact-field label,.contact-cc label { font-weight:650; }
.contact-required { font-size:.8em;font-weight:400; }
.contact-form input:not([type=checkbox]),.contact-form textarea { box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid #728294;border-radius:.3rem;padding:.7rem .8rem;font:inherit;font-size:max(1rem,16px);line-height:1.5;background:#fff;color:#14283b; }
.contact-form textarea { min-height:10rem;resize:vertical; }
.contact-form :focus-visible,.contact-dialog :focus-visible { outline:3px solid #0057b8;outline-offset:3px; }
.contact-form [aria-invalid=true] { border:2px solid #a61c25!important; }
.contact-help,.contact-privacy { font-size:.9rem;color:#3d5063; }
.contact-destination { border-left:4px solid var(--uartf-blue,#0057b8);padding:.8rem 1rem;background:#edf5fc;display:grid;gap:.5rem; }
.contact-destination a,.contact-destination a:visited { color:var(--uartf-blue,#0057b8);text-decoration:underline;text-underline-offset:.15em; }
.contact-fallback { background:#fff6cd;border:1px solid #af8b13;border-radius:.25rem;padding:1rem; }
.contact-cc { display:flex;align-items:flex-start;gap:.65rem; }
.contact-cc input { width:1.4rem;height:1.4rem;margin-top:.25rem;flex-shrink:0; }
.contact-cc label { display:block;min-height:44px;cursor:pointer; }
.contact-errors { border:2px solid #a61c25;padding:1rem;border-radius:.25rem;color:#8c1720; }
.contact-errors a { color:inherit;text-decoration:underline; }
.contact-field-error { color:#8c1720;font-size:.9rem; }
.contact-status { padding:1rem;background:#edf5fc;border-radius:.25rem; }
.contact-status:empty { display:none; }
.contact-actions { display:flex;flex-wrap:wrap;gap:.75rem; }
.contact-form button,.contact-dialog button { min-height:44px; }
.contact-form button:disabled { opacity:.65;cursor:wait; }
.contact-security { min-height:65px;max-width:100%; }
@media(max-width:400px) { .contact-dialog-body { padding:1rem .65rem 2rem; } .contact-dialog-bar { padding:.7rem; } .contact-actions>button { width:100%; } }
