/* Scoped to Contact: the browser tools never load this form or its script. */
.contact-compose { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.6fr); gap:48px; padding:38px; margin:36px 0 42px; background:#f3f6fc; border:1px solid #dce5f2; border-radius:12px; scroll-margin-top:30px; }
.contact-compose-intro .discovery-mark { margin-bottom:26px; background:#fff; }
.contact-compose-intro .eyebrow { font-size:.65rem; margin-bottom:14px; }
.contact-compose-intro h2 { font-size:2.35rem; font-weight:500; line-height:1.12; letter-spacing:-.035em; margin:0 0 22px; }
.contact-compose-intro > p:not(.eyebrow) { font-size:.9rem; color:#53627a; max-width:250px; }
.contact-compose-intro .contact-reply-note { border-top:1px solid #d3deed; padding-top:20px; margin-top:24px; font-size:.8rem; }
.contact-compose-body { min-width:0; }
.contact-required { font-size:.76rem; color:#53627a; margin:0 0 22px; }
.contact-field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-field { margin-bottom:21px; min-width:0; }
.contact-field label { display:block; color:#253d5e; font-size:.84rem; font-weight:600; margin-bottom:8px; }
.contact-field label span { font-weight:400; color:#53627a; }
.contact-field input, .contact-field select, .contact-field textarea { display:block; box-sizing:border-box; width:100%; min-width:0; padding:12px 14px; color:#22344e; border:1px solid #b6c5da; border-radius:var(--radius); font:inherit; font-size:1rem; background:#fff; }
.contact-field input, .contact-field select { height:46px; padding-block:0; }
.contact-field textarea { resize:vertical; min-height:170px; line-height:1.6; }
.contact-field input:focus-visible, .contact-field select:focus-visible, .contact-field textarea:focus-visible { outline:2px solid #365e96; outline-offset:3px; }
.contact-field .input-validation-error { border-color:var(--error-line); }
.contact-field-help { color:#53627a; font-size:.75rem; line-height:1.65; margin:8px 0 0; }
.contact-trap { display:none; }
.contact-send-row { display:flex; gap:22px; align-items:center; }
.contact-send-row .btn { flex-shrink:0; min-width:176px; gap:10px; background:#263f65; border-color:#263f65; }
.contact-send-row .btn:hover { background:#172e50; border-color:#172e50; }
.contact-send-row .site-icon { width:19px; height:19px; }
.contact-send-symbol { display:inline-flex; width:19px; height:19px; align-items:center; justify-content:center; flex-shrink:0; }
.contact-send-spinner { display:none; box-sizing:border-box; width:19px; height:19px; border:2px solid #ffffff55; border-top-color:#fff; border-right-color:#fff; border-radius:50%; }
.contact-send-row .btn[aria-busy="true"] { opacity:1; cursor:progress; }
.contact-send-row .btn[aria-busy="true"] .site-icon { display:none; }
.contact-send-row .btn[aria-busy="true"] .contact-send-spinner { display:block; animation:contact-send-spin .8s linear infinite; }
@keyframes contact-send-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .contact-send-row .btn[aria-busy="true"] .contact-send-spinner { animation:none; } }
.contact-send-row > p { font-size:.73rem; line-height:1.65; color:#53627a; margin:0; max-width:320px; }
.contact-send-row a { color:#29496f; text-decoration:underline; text-underline-offset:3px; }
.contact-send-status { min-height:1.65em; font-size:.8rem; line-height:1.65; font-weight:500; color:#344e70; margin:10px 0 0; }
.contact-errors { border-left:3px solid var(--error-line); padding:14px 18px; background:var(--error-soft); color:var(--error-ink); margin-bottom:24px; font-size:.85rem; }
.contact-errors p { margin:0 0 7px; font-weight:600; }
.contact-errors ul { margin:0; padding-left:18px; }
.contact-success { padding:24px 0; }
/* This reading region receives programmatic focus; its links retain normal focus rings. */
.contact-success:focus { outline:none; }
.contact-success-mark { display:block; width:42px; height:42px; margin-bottom:22px; color:#365f69; }
.contact-success-mark svg { width:100%; height:100%; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-success h3 { font-size:1.65rem; font-weight:500; margin:0 0 14px; }
.contact-success p { color:#53627a; font-size:.94rem; }
.contact-success a { display:inline-block; margin-top:10px; color:#29496f; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) {
    .contact-compose { gap:28px; padding:28px; grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr); }
    .contact-compose-intro h2 { font-size:2rem; }
    .contact-send-row { align-items:start; flex-direction:column; gap:14px; }
}
@media(max-width:640px) {
    .contact-compose { grid-template-columns:1fr; padding:24px; gap:14px; }
    .contact-compose-intro { position:relative; }
    .contact-compose-intro .discovery-mark { position:absolute; right:0; top:0; }
    .contact-compose-intro .eyebrow { padding-right:60px; }
    .contact-compose-intro h2 { font-size:1.9rem; padding-right:40px; }
    .contact-compose-intro h2 br { display:none; }
    .contact-compose-intro > p:not(.eyebrow) { max-width:none; }
    .contact-compose-intro .contact-reply-note { border:0; margin-top:0; padding-top:0; }
    .contact-field-row { grid-template-columns:1fr; gap:0; }
    .contact-send-row .btn { width:100%; }
}
