.contact-modal{width:min(560px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-ink);overscroll-behavior:contain;background:#fff;border:0;border-radius:22px;margin:auto;padding:0;overflow:auto;box-shadow:0 0 0 1px #0000000f,0 30px 80px -20px #00000073}.contact-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1412108c}@media (prefers-reduced-motion:no-preference){.contact-modal[open]{animation:.26s cubic-bezier(.2,.8,.2,1) contact-in}.contact-modal[open]::backdrop{animation:.26s ease-out contact-fade}}@keyframes contact-in{0%{opacity:0;transform:translateY(14px)scale(.975)}}@keyframes contact-fade{0%{opacity:0}}.contact-panel{padding:32px 32px 28px;position:relative}.contact-close{background:var(--color-well);width:32px;height:32px;color:var(--color-ink-2);border-radius:999px;place-items:center;transition:background-color .18s,color .18s;display:grid;position:absolute;top:16px;right:16px}.contact-close:hover{color:var(--color-ink);background:#ececec}.contact-avatar{background:var(--color-ink);border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:18px;display:grid}.contact-avatar img{filter:brightness(0)invert()}.contact-title{letter-spacing:-.02em;font-size:24px;font-weight:650;line-height:1.15}.contact-lede{max-width:44ch;color:var(--color-ink-2);margin-top:8px;font-size:15px;line-height:1.55}.contact-label{color:var(--color-ink-2);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.contact-label i{color:var(--color-ink-3);font-style:normal;font-weight:500}.contact-topics{border:0;margin-top:24px;padding:0}.contact-topics>div{flex-wrap:wrap;gap:6px;display:flex}.contact-chip{background:var(--color-well);height:32px;color:var(--color-ink-2);cursor:pointer;border-radius:8px;align-items:center;padding:0 12px;font-size:13px;font-weight:600;transition:background-color .18s,color .18s;display:inline-flex;position:relative}.contact-chip:hover{color:var(--color-ink)}.contact-chip[data-on]{background:var(--color-ink);color:#fff}.contact-chip input{opacity:0;pointer-events:none;position:absolute}.contact-chip:has(input:focus-visible){box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--color-ink)}.contact-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.contact-field{margin-top:16px;display:block}.contact-field input,.contact-field textarea{width:100%;color:var(--color-ink);background:#fff;border-radius:12px;outline:none;font-size:15px;transition:box-shadow .18s;display:block;box-shadow:0 0 0 1px #0000001a,0 1px 2px #0000000a}.contact-field input{height:44px;padding:0 14px}.contact-field textarea{resize:vertical;min-height:120px;padding:12px 14px;line-height:1.5}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--color-ink-3)}.contact-field input:focus,.contact-field textarea:focus{box-shadow:0 0 0 2px var(--color-ink)}.contact-trap{width:1px;height:1px;position:absolute;left:-9999px}.contact-error{color:#8e1f13;background:#fde8e6;border-radius:10px;margin-top:16px;padding:10px 12px;font-size:13.5px}.contact-foot{justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.contact-foot p{color:var(--color-ink-3);font-size:13px}.contact-foot a,.contact-error a{color:inherit;text-underline-offset:3px;font-weight:600;text-decoration:underline}.contact-submit{background:var(--color-ink);color:#fff;border-radius:999px;flex:none;height:44px;padding:0 22px;font-size:14px;font-weight:600;transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .18s}.contact-submit:hover{transform:translateY(-1px)}.contact-submit:active{transform:scale(.985)}.contact-submit:disabled{opacity:.6;transform:none}.contact-submit:focus-visible,.contact-close:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.contact-sent{padding:12px 0 4px}.contact-sent-mark{background:var(--color-green-bg);width:40px;height:40px;color:var(--color-green);border-radius:999px;place-items:center;margin-bottom:18px;display:grid}.contact-sent .contact-submit{margin-top:24px}@media (max-width:560px){.contact-panel{padding:28px 20px 20px}.contact-row{grid-template-columns:1fr;gap:0}.contact-field input,.contact-field textarea{font-size:16px}.contact-foot{flex-direction:column-reverse;align-items:stretch}}
