.contact-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;padding:0;border:0;border-radius:2px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(7,31,48,.38)}
.contact-dialog::backdrop{background:rgba(7,28,43,.7);backdrop-filter:blur(3px)}
.contact-dialog__inner{padding:clamp(26px,5vw,48px)}
.contact-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}
.contact-dialog__header h2{margin:.3rem 0 0;font-size:clamp(2rem,5vw,3rem)}
.contact-dialog__close{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);background:transparent;color:var(--blue);font-size:1.7rem;line-height:1;cursor:pointer}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form__field{display:grid;gap:7px;color:#294b63;font-size:.82rem;font-weight:700}
.contact-form__field--wide,.contact-form__actions,.contact-form__status{grid-column:1/-1}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #9db8c8;border-radius:0;background:#fff;color:var(--ink);font:inherit;padding:11px 12px}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(217,150,24,.35);border-color:var(--amber)}
.contact-form__actions{display:flex;align-items:center;gap:18px}
.contact-form__submit{border:0;cursor:pointer;margin:0}
.contact-form__submit[disabled]{cursor:wait;opacity:.65}
.contact-form__status{min-height:1.55em;margin:0;font-size:.9rem;color:var(--muted)}
.contact-form__status[data-state="error"]{color:#9c2d22}
.contact-form__status[data-state="success"]{color:#176b43;font-weight:700}
.contact-form__honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:600px){
  .contact-dialog__inner{padding:24px 20px}
  .contact-form{grid-template-columns:1fr}
  .contact-form__field,.contact-form__actions,.contact-form__status{grid-column:1}
}
@media(prefers-reduced-motion:no-preference){
  .contact-dialog[open]{animation:contact-in .18s ease-out}
  @keyframes contact-in{from{opacity:0;transform:translateY(10px)}}
}