/* Loaded only on the Contact page. Hero URL is supplied by upload_url(). */
.contact-hero{padding:64px 0 60px;background-color:#eef2fb;background-size:cover;background-position:center}
.contact-hero-copy{max-width:850px}
.contact-hero h1{font-size:clamp(38px,5.5vw,64px);max-width:780px}
.contact-hero p{max-width:720px;font-size:19px;color:#4d5a68}
.contact-page>.cta{margin-top:48px;margin-bottom:0;padding:36px}
.contact-page>.cta h2{font-size:clamp(28px,3.5vw,40px)}
.contact-page>.cta>.btn{flex-shrink:0;max-width:320px;text-align:center}
.cta .audit-cta,
.cta .audit-cta:link,
.cta .audit-cta:visited{background:#fff;color:#0c1424;border:1px solid rgba(255,255,255,.7);cursor:pointer;transition:background-color .15s ease,transform .15s ease}
.cta .audit-cta:hover{background:#f4f6ff;color:#0c1424;transform:translateY(-1px)}
.cta .audit-cta:active{background:#e8edff;color:#0c1424;transform:translateY(0)}
.cta .audit-cta:focus-visible{color:#0c1424;outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 2px #0c1424}
.contact-section{padding:64px 0 80px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.contact-grid>*{min-width:0}
.contact-intro h2{font-size:clamp(32px,4vw,46px);margin-top:22px}
.contact-intro p{color:var(--muted)}
.contact-direct{margin-top:28px;line-height:1.9;overflow-wrap:anywhere}
.contact-direct a{color:var(--brand);text-decoration:underline}
.contact-panel{padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(49,87,213,.08)}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.form-field{min-width:0}.full-width{grid-column:1/-1}
.form-field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-height:48px;border:1px solid #aebac8;border-radius:10px;padding:12px;color:var(--text);background:#fff;font:inherit;font-size:16px}
.form-field textarea{resize:vertical}.form-field small{display:block;color:var(--muted);font-size:13px;margin-top:7px}
.form-field [aria-invalid=true]{border-color:#ae2335}.form-field .field-error{color:#9c1c2c}
.contact-panel button{font:inherit;font-weight:800;cursor:pointer;margin-top:24px;width:100%}
.privacy-note{font-size:12px;color:var(--muted);margin-bottom:0}
.form-errors,.form-success{padding:20px;border-radius:12px;margin-bottom:24px;border:1px solid}
.form-errors{background:#fff3f3;color:#84202e;border-color:#edbcc3}.form-errors a{text-decoration:underline}
.form-success{background:#edf8f0;color:#215d35;border-color:#b1d9bc}
.form-errors h3,.form-success h3{font-size:20px}.form-errors ul,.form-success p{margin-bottom:0}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:980px){.contact-grid{gap:32px;grid-template-columns:1fr 1.2fr}.contact-page>.cta{flex-direction:column;align-items:start}.contact-page>.cta>.btn{max-width:none}}
@media(max-width:700px){.contact-hero{padding:44px 0}.contact-hero p{font-size:17px}.contact-grid{grid-template-columns:1fr}.contact-section{padding:44px 0 56px}.contact-panel{padding:22px}.form-fields{grid-template-columns:1fr}.contact-page>.cta{padding:26px;margin-top:32px;align-items:stretch}}
@media(prefers-reduced-motion:reduce){.cta .audit-cta{transition:none}.cta .audit-cta:hover,.cta .audit-cta:active{transform:none}}
