.contact-modal{z-index:1500;-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s var(--easing), visibility .45s var(--easing);background-color:#0a0a0bc7;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.contact-modal[data-open=true]{opacity:1;visibility:visible;pointer-events:auto}.contact-modal-card{border:1px solid var(--border);width:100%;max-width:640px;max-height:calc(100vh - 4rem);transition:transform .5s var(--easing-spring);background-color:#141416f5;border-radius:1.5rem;padding:2.5rem 2.25rem 2.25rem;position:relative;overflow-y:auto;transform:scale(.96)translateY(12px);box-shadow:inset 0 1px #ffffff0f,0 40px 80px -24px #000000b3}.contact-modal[data-open=true] .contact-modal-card{transform:scale(1)translateY(0)}.contact-modal-close{border:1px solid var(--border);width:36px;height:36px;color:var(--text);cursor:pointer;transition:background .3s var(--easing), border-color .3s var(--easing);background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:inline-flex;position:absolute;top:1rem;right:1rem}.contact-modal-close:hover{border-color:var(--border-strong);background:#ffffff14}.contact-modal-head{flex-direction:column;gap:.85rem;margin-bottom:2rem;padding-right:2rem;display:flex}.contact-modal-eyebrow{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin:0;font-size:.7rem}.contact-modal-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text);margin:0;font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:600;line-height:.95}.contact-modal-title em{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--signal);padding:0 .04em;font-style:italic;font-weight:400}.contact-modal-sub{color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.5}.contact-form{flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;display:grid}.contact-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.contact-field-label{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;overflow-wrap:anywhere;font-size:.7rem}.contact-field-input{appearance:none;border:1px solid var(--border);width:100%;min-width:0;color:var(--text);font-family:var(--font-body);transition:border-color .3s var(--easing), background .3s var(--easing);background:#ffffff0a;border-radius:.6rem;padding:.75rem .9rem;font-size:.95rem}.contact-field-input:focus{border-color:var(--signal);background:#ffffff0f;outline:none}.contact-field-input::placeholder{color:var(--text-soft);opacity:1}.contact-field-textarea{resize:vertical;min-height:110px;line-height:1.5;font-family:var(--font-body)}.contact-field-optional{font-family:var(--font-serif);color:var(--text-soft);letter-spacing:0;text-transform:none;margin-left:.45rem;font-size:.85rem;font-style:italic;font-weight:400}.contact-field-optional:before{content:"— ";color:var(--text-muted);margin-right:.1em;font-style:normal}.contact-field-required{color:var(--signal);margin-left:.15rem}.contact-checkbox{cursor:pointer;align-items:flex-start;gap:.65rem;margin-top:.4rem;display:flex}.contact-checkbox-input{appearance:none;border:1px solid var(--border);cursor:pointer;width:18px;height:18px;transition:border-color .3s var(--easing), background .3s var(--easing);background:#ffffff0a;border-radius:4px;flex-shrink:0;margin-top:2px;position:relative}.contact-checkbox-input:checked{background:var(--signal);border-color:var(--signal)}.contact-checkbox-input:checked:after{content:"✓";color:var(--accent-deep);justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.contact-checkbox-label{min-width:0;color:var(--text-soft);overflow-wrap:anywhere;font-size:.85rem;line-height:1.45}.contact-link{color:var(--text);border-bottom:1px solid var(--border);transition:color .3s var(--easing), border-color .3s var(--easing)}.contact-link:hover{color:var(--signal);border-bottom-color:var(--signal)}.contact-form-submit{width:100%;max-width:100%;margin-top:.75rem}.contact-form-submit:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.contact-form-success{text-align:center;font-family:var(--font-display);letter-spacing:-.02em;color:var(--signal);padding:3rem 1rem;font-size:1.4rem;line-height:1.4}.contact-form-success p{margin:0}.contact-form-error{color:#ffb4b4;font-family:var(--font-mono);background:#ff6e6e14;border:1px solid #ff6e6e59;border-radius:.5rem;margin:0;padding:.65rem .85rem;font-size:.78rem;line-height:1.4}@media (max-width:640px){.contact-modal{padding:1rem}.contact-modal-card{padding:2rem 1.5rem 1.75rem}.contact-form-row{grid-template-columns:1fr}}@media (max-width:420px){.contact-modal-card{padding:1.75rem 1rem 1.5rem}.contact-field-input{padding-inline:.8rem;font-size:.9rem}.contact-form-submit{padding-inline:1rem}}
