.personal-contact-dialog { box-sizing:border-box; width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--sand); border-radius:4px; background:var(--ivory); color:var(--ink); overflow:auto; overscroll-behavior:contain; opacity:0; transform:translateY(8px); transition:opacity 160ms ease,transform 160ms ease; }
.personal-contact-dialog.is-visible { opacity:1; transform:translateY(0); }
.personal-contact-dialog::backdrop { background:rgb(28 28 28 / .35); }
.contact-modal-top { position:sticky; top:0; z-index:1; display:flex; justify-content:flex-end; padding:8px 8px 0; background:var(--ivory); }
.contact-modal-close { width:44px; height:44px; border:0; background:transparent; color:var(--ink); font:300 30px Inter,sans-serif; cursor:pointer; }
.contact-modal-content { padding:0 40px 36px; }
.contact-modal-label { color:var(--taupe); font-size:11px; font-weight:500; letter-spacing:.12em; margin-bottom:14px; }
#contact-modal-title { font-family:'Inter Display',Inter,sans-serif; font-weight:300; font-size:40px; line-height:1.1; margin-bottom:16px; }
#contact-modal-intro { font-size:15px; line-height:1.65; margin-bottom:24px; }
#personal-contact-form { display:grid; gap:16px; }
#personal-contact-form label { display:grid; gap:7px; font-size:13px; line-height:1.5; }
#personal-contact-form input,#personal-contact-form textarea { box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--sand); border-radius:2px; background:transparent; color:var(--ink); font:400 16px/1.5 Inter,sans-serif; }
#personal-contact-form textarea { min-height:92px; resize:vertical; }
#personal-contact-form input:focus-visible,#personal-contact-form textarea:focus-visible,.contact-modal-close:focus-visible,.contact-modal-submit:focus-visible { outline:2px solid var(--taupe); outline-offset:3px; }
.contact-modal-submit { justify-self:start; display:inline-flex; align-items:center; gap:24px; min-height:48px; padding:14px 22px; border:0; background:var(--wine); color:var(--ivory); font:500 12px/1.5 Inter,sans-serif; letter-spacing:.04em; cursor:pointer; transition:filter 160ms ease; }
.contact-modal-submit:hover:not(:disabled) { filter:brightness(1.12); }
.contact-modal-submit:disabled { cursor:not-allowed; opacity:.7; }
.contact-modal-status,.contact-modal-privacy { font-size:12px; line-height:1.6; color:var(--taupe); }
.contact-modal-privacy a { text-decoration:underline; }
.contact-modal-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:600px) { .contact-modal-content { padding:0 24px 28px; } #contact-modal-title { font-size:36px; } }
@media(prefers-reduced-motion:reduce) { .personal-contact-dialog { transition:none; } }
