.contact-feedback { padding: 1rem 1.15rem; margin: 0 0 1.25rem; border: 1px solid #b4bcb3; border-radius: .4rem; background: #f3f6f1; color: #263b2d; font-size: 1rem; line-height: 1.55; }
.contact-feedback[hidden] { display: none; }
.contact-feedback p { margin: 0; }
.contact-feedback ul { margin: .65rem 0 0; padding-left: 1.25rem; }
.contact-feedback a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.contact-feedback.is-error { color: #762c22; background: #fff5f1; border-color: #c98e7d; }
.contact-feedback.is-success { color: #1c4e35; background: #eef7ef; border-color: #81a58b; }
.contact-field-error { color: #8d3025; font-size: .95rem; margin: .4rem 0 1rem; line-height: 1.5; }
[data-contact-invalid], .contact-native [aria-invalid="true"] { border-color: #aa4937 !important; outline: 1px solid #aa4937; }
.contact-feedback:focus { outline: 2px solid currentColor; outline-offset: 3px; }
.contact-fallback-button { margin-top: .8rem; padding: .65rem .9rem; background: transparent; color: inherit; border: 1px solid currentColor; border-radius: .25rem; font: inherit; cursor: pointer; }
.contact-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-native { margin: 0; background: #f5f2eb; color: #26362c; font-family: "Lato", "Segoe UI", Arial, sans-serif; font-size: 1rem; line-height: 1.6; }
.contact-native * { box-sizing: border-box; }
.contact-native-card { max-width: 46rem; margin: 3rem auto; padding: 2.5rem; background: #fffefb; border: 1px solid #ded8cc; border-radius: .55rem; }
.contact-native h1 { font-family: Georgia, serif; font-size: clamp(1.9rem, 5vw, 2.8rem); font-weight: 400; line-height: 1.2; margin: 1.25rem 0; }
.contact-native a { color: #225d42; text-underline-offset: .18em; }
.contact-native label { display: block; font-weight: 600; margin: 1rem 0 .35rem; }
.contact-native input:not([type="hidden"]), .contact-native textarea { display: block; width: 100%; padding: .8rem .9rem; border: 1px solid #aeb8ae; border-radius: .25rem; background: #fff; color: #20382a; font: inherit; min-height: 2.8rem; }
.contact-native textarea { resize: vertical; }
.contact-native input:focus, .contact-native textarea:focus { outline: 2px solid #276044; outline-offset: 2px; }
.contact-native button[type="submit"], .contact-native-button { display: inline-block; margin-top: 1.25rem; padding: .85rem 1.4rem; border: 1px solid #204e37; border-radius: .3rem; color: #fff !important; background: #204e37; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.contact-native button[type="submit"]:hover, .contact-native-button:hover { background: #143a27; }
.contact-native #photo-help { font-size: .9rem; color: #556359; }
.contact-native .contact-trap input { width: 1px; }
@media (max-width: 600px) { .contact-native-card { margin: 0; min-height: 100vh; border: 0; padding: 1.4rem 1.15rem 2rem; border-radius: 0; } .contact-native button[type="submit"] { width: 100%; } }
