.dra-contact { color: #172e25; font-family: inherit; }
.dra-contact h3 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; margin: .5em 0; }
.dra-contact__preview, .dra-contact__feedback { background: #e1e7d8; border-left: 3px solid #385a46; padding: .85rem 1rem; }
.dra-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.dra-contact__field { margin: 0 0 1.25rem; min-width: 0; }
.dra-contact label { display: block; font-weight: 600; margin-bottom: .5rem; }
.dra-contact input:not([type="checkbox"]):not([type="hidden"]), .dra-contact textarea { background: #fbfaf4; border: 1px solid #617366; border-radius: 0; box-sizing: border-box; color: #172e25; font: inherit; padding: .8rem .9rem; width: 100%; }
.dra-contact textarea { resize: vertical; min-height: 9rem; }
.dra-contact :is(input, textarea, button, a):focus-visible { outline: 3px solid #7c4e00; outline-offset: 4px; }
.dra-contact [aria-invalid="true"] { border-color: #8a2924 !important; border-width: 2px !important; }
.dra-contact .dra-contact__error { color: #8a2924; font-size: .9rem; margin: .4rem 0; }
.dra-contact .dra-contact__help { color: #526457; font-size: .9rem; line-height: 1.5; margin: .6rem 0 1rem; }
.dra-contact .dra-contact__permission { display: flex; align-items: flex-start; gap: .75rem; font-weight: 400; line-height: 1.5; }
.dra-contact__permission input { accent-color: #214a37; flex: 0 0 auto; height: 1.1rem; width: 1.1rem; margin-top: .2rem; }
.dra-contact button { background: #214a37; border: 1px solid #214a37; border-radius: 0; color: #fbfaf4; cursor: pointer; font: inherit; padding: .9rem 1.4rem; min-height: 48px; }
.dra-contact button:disabled { cursor: wait; opacity: .65; }
.dra-contact a { color: inherit; text-underline-offset: .2em; overflow-wrap: anywhere; }
.dra-contact__trap { position: absolute !important; height: 1px !important; width: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; }
.dra-contact [hidden] { display: none !important; }
.dra-contact-response { background: #f5f3ea; color: #172e25; font-family: system-ui, sans-serif; line-height: 1.6; margin: 0; }
.dra-contact-response main { box-sizing: border-box; margin: 3rem auto; max-width: 52rem; padding: 0 1.5rem; }
@media (max-width: 600px) { .dra-contact__fields { grid-template-columns: 1fr; gap: 0; } .dra-contact button { width: 100%; } }
