.contact-form{display:grid;gap:1rem;min-width:0;color:#f4f4f4;--foreground:#f4f4f4;--field-foreground:#f4f4f4;--field:#1f2e33;--field-placeholder:#c1d3d9;--accent:#52a0b7;--accent-foreground:#1f2e33}
.contact-form-heading h3{font-size:1.7rem;margin-bottom:.4rem}
.contact-form p{font-size:.9rem;line-height:1.55;margin:0;color:#d3e0e4}
.contact-services{border:0;padding:0;margin:0;min-width:0}
.contact-services legend{font-size:1rem;margin-bottom:.3rem}
.contact-services>p{font-size:.8rem;margin-bottom:.6rem}
.contact-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.contact-service-option{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.65rem .75rem;border:1px solid #ffffff40;border-radius:12px;background:linear-gradient(135deg,#ffffff0d,#52a0b70a);font-size:.9rem;line-height:1.4;cursor:pointer;transition:border-color .2s,background .2s}
.contact-service-option:last-child{grid-column:1/-1}
.contact-service-option:has(input:checked){border-color:#78b5c7;background:#52a0b726}
.contact-service-option:focus-within{outline:2px solid #78b5c7;outline-offset:2px}
.contact-service-option input{width:18px;height:18px;flex-shrink:0;accent-color:#52a0b7}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.contact-field{display:grid;align-content:start;gap:.35rem;min-width:0}
.contact-field--full{grid-column:1/-1}
.contact-field label{font-size:.88rem;line-height:1.45}
.contact-form .input,.contact-form .textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;font:inherit;font-size:1rem;color:#f4f4f4;background:#1f2e33b8;border:1px solid #ffffff4d;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0d;padding:.7rem .8rem;min-height:46px}
.contact-form .textarea{resize:vertical;min-height:120px;line-height:1.55}
.contact-form :is(.input,.textarea)::placeholder{color:#c1d3d9;opacity:1}
.contact-form :is(.input,.textarea):focus-visible{outline:2px solid #78b5c7;outline-offset:2px;border-color:#78b5c7}
.contact-field>p,.contact-form .contact-privacy,.contact-form .contact-required-note{font-size:.78rem;line-height:1.5;color:#d3e0e4}
.contact-privacy a{color:#f4f4f4;text-decoration:underline;text-underline-offset:3px}
.contact-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.contact-submit-row .contact-submit{min-height:48px;display:inline-flex;gap:.8rem;font-size:.95rem}
.contact-submit:disabled{cursor:wait;opacity:.7;transform:none}
.contact-form .contact-status{padding:.8rem 1rem;border:1px solid #78b5c7;border-radius:12px;color:#f4f4f4}
.contact-form .contact-status[data-state=error],.contact-form .contact-field-error{color:#ffe0d9;border-color:#e7a79a}
.contact-form .contact-preview-note{padding:.65rem .8rem;border:1px solid #ffffff40;border-radius:10px;font-size:.8rem}
.contact-trap,[data-contact-form] [hidden]{display:none!important}
.contact-banner .contact-form-panel{grid-column:1/-1;max-width:960px;width:100%;margin-inline:auto;padding:clamp(1.25rem,3vw,2rem);border:1px solid #ffffff59;border-radius:24px;background:linear-gradient(135deg,#ffffff0c,transparent),#1f2e3366;box-shadow:inset 0 1px 0 #ffffff66,0 12px 30px #1f2e3324}
.contact-grid>.contact-form-panel{min-width:0}
@media(max-width:760px){.contact-fields,.contact-service-options{grid-template-columns:1fr}.contact-service-option:last-child{grid-column:auto}.contact-form-heading h3{font-size:1.5rem}}
@media(forced-colors:active){.contact-form{color:CanvasText}.contact-form p,.contact-form label,.contact-form a,.contact-form .contact-required-note,.contact-form .contact-field-error{color:CanvasText}.contact-service-option,.contact-form .input,.contact-form .textarea{background:Canvas;color:CanvasText;border-color:CanvasText}.contact-service-option:has(input:checked){border-color:Highlight}.contact-service-option:focus-within,.contact-form :is(.input,.textarea):focus-visible{outline-color:Highlight}}
