.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:rgba(10,10,12,.88);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:1.25rem;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.modal-overlay.open{display:flex;opacity:1;visibility:visible}
.modal{background:var(--bone);color:var(--ink);width:100%;max-width:560px;border-radius:8px;padding:clamp(1.75rem,4vw,3rem);position:relative;max-height:92vh;overflow-y:auto;transform:translateY(20px) scale(.98);transition:transform .35s ease;box-shadow:0 40px 120px rgba(0,0,0,.24)}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:.85rem;color:var(--ink)}
.modal-close:hover{color:var(--ember)}
.modal-eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-bottom:.85rem}
.modal-title{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;margin-bottom:.9rem}
.modal-title em{font-style:italic;color:var(--ember)}
.modal-desc{font-size:1rem;color:var(--graphite);margin-bottom:1.6rem;max-width:42ch}
.field{margin-bottom:1rem}
.field label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin-bottom:.4rem}
.field input,.field textarea{width:100%;border:1px solid rgba(20,20,22,.14);border-radius:8px;background:#fff;color:var(--ink);padding:.95rem 1rem;font-family:var(--grotesk);font-size:1rem}
.field textarea{min-height:130px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--graphite);margin-top:1rem;text-align:center;opacity:.8}
.form-error{color:var(--ember);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;margin-top:.8rem;text-align:center;display:none}
.modal-thanks{display:none;text-align:center;padding:1rem 0}
.modal-thanks.show{display:block}
.modal-form.hide{display:none}
