.newsletter-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.newsletter-form-error { color: #ffe1cf; font-size: 13px; margin: 8px 0 0; }
.newsletter-form button:disabled { cursor: wait; opacity: .6; }
.site-toast-stack { position: fixed; top: 24px; right: 24px; z-index: 1090; display: grid; gap: 12px; width: min(390px, calc(100vw - 32px)); pointer-events: none; }
.site-toast { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid #b59b68; border-radius: 12px; color: #143425; background: #fff8ea; box-shadow: 0 8px 28px #082f1d30; font: 14px/1.6 Poppins, sans-serif; pointer-events: auto; animation: site-toast-in .2s ease-out; }
.site-toast--success { border-left: 5px solid #143425; }
.site-toast--error { border-left: 5px solid #a84832; }
.site-toast-mark { display: grid; place-items: center; flex: 0 0 24px; height: 24px; border-radius: 50%; background: #143425; color: white; font-weight: 600; }
.site-toast--error .site-toast-mark { background: #a84832; }
.site-toast > span:nth-child(2) { flex: 1; overflow-wrap: anywhere; }
.site-toast button { border: 0; padding: 0 4px; background: transparent; color: #143425; font-size: 24px; cursor: pointer; line-height: 1; }
.site-toast button:focus-visible { outline: 2px solid #b59b68; outline-offset: 3px; }
@keyframes site-toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { .site-toast-stack { top: 16px; right: 16px; } }
@media (prefers-reduced-motion: reduce) { .site-toast { animation: none; } }
.contact-field-error { color: #9b3024; font-size: 13px; margin: 6px 0 0; }
.contact-field-error:empty { display: none; }
[data-contact-form] [aria-invalid="true"] { border-color: #9b3024; }
[data-contact-form] button:disabled { opacity: .6; cursor: wait; }
@media (prefers-reduced-motion: reduce) { [data-contact-form] input, [data-contact-form] button { transition: none; } }
