.contact-trigger{flex:0 0 auto;padding:10px 16px;border:1px solid var(--line);font:800 .95rem/1.2 Aptos,"Segoe UI",Arial,sans-serif;cursor:pointer}
.contact-dialog{width:min(680px,calc(100% - 28px));max-height:min(90vh,860px);padding:0;border:1px solid var(--line);border-radius:18px;color:var(--ink,var(--teal));background:var(--paper);box-shadow:0 28px 80px rgba(63,41,35,.28);overflow:auto}
.contact-dialog::backdrop{background:rgba(63,41,35,.66);backdrop-filter:blur(3px)}
.contact-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 18px;border-bottom:1px solid var(--line);background:rgba(255,250,243,.97)}
.contact-dialog-head h2{margin:0;font:400 clamp(1.8rem,5vw,2.45rem)/1.08 Georgia,"Times New Roman",serif;color:var(--ink,var(--teal))}
.contact-dialog-head .eyebrow{margin-bottom:6px}
.contact-close{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer}
#contact-form{display:grid;gap:9px;padding:24px 28px 30px}
#contact-form label{margin-top:8px;font-weight:800;color:var(--ink,var(--teal))}
#contact-form input,#contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink,var(--teal));background:var(--white);font:inherit;transition:border-color .16s ease,box-shadow .16s ease}
#contact-form textarea{min-height:150px;resize:vertical}
#contact-form input:focus,#contact-form textarea:focus{border-color:var(--coral-dark);box-shadow:0 0 0 3px rgba(185,85,63,.16);outline:none}
.contact-privacy{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.contact-status{min-height:1.5em;margin:2px 0 0;font-weight:750}
.contact-status[data-state="error"]{color:#8a2f22}
.contact-status[data-state="success"]{color:#4f5c37}
.contact-submit{width:100%;margin-top:2px;padding:14px 18px;border:1px solid var(--coral-dark);border-radius:10px;color:var(--white);background:var(--coral-dark);font:800 1rem/1.2 Aptos,"Segoe UI",Arial,sans-serif;cursor:pointer}
.contact-submit:hover{background:var(--coral)}
.contact-submit:disabled{cursor:wait;opacity:.62}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:600px){.contact-trigger{padding:9px 12px;font-size:.86rem}.contact-dialog-head{padding:22px 20px 16px}#contact-form{padding:20px}.contact-dialog{max-height:94vh}}
@media(prefers-reduced-motion:reduce){#contact-form input,#contact-form textarea{transition:none}}
