.contact-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;overflow-y:auto}.contact-modal.is-open{display:flex}.contact-modal__overlay{position:absolute;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(12px)}.contact-modal__dialog{position:relative;z-index:1;width:min(900px,92%);max-height:calc(100vh - 3rem);border-radius:1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);box-shadow:0 35px 60px var(--color-shadow-strong);padding:2.75rem;display:flex;flex-direction:column;gap:2rem;overflow-y:auto}.contact-modal__close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-heading);font-size:1.8rem;line-height:1;cursor:pointer;transition:color .2s ease}.contact-modal__close:hover,.contact-modal__close:focus-visible{color:var(--color-heading);outline:none}.contact-modal__content{display:flex;flex-wrap:wrap;gap:2rem}.contact-modal__form{flex:1 1 55%;display:flex;flex-direction:column;gap:1.25rem;color:var(--color-text-secondary)}.contact-modal__form h2{margin:0;color:var(--color-heading);font-size:clamp(1.4rem,2.5vw,2rem)}.contact-modal__form p{margin:0;color:var(--color-text-secondary);line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:1rem}.contact-form input,.contact-form textarea{width:100%;background:var(--color-surface-contrast);border:1px solid var(--color-border-subtle);border-radius:.75rem;padding:.85rem 1rem;color:var(--color-text-primary);font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.contact-form textarea{min-height:7rem;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-highlight);box-shadow:0 0 0 3px #23c2c92e}.contact-form__submit{width:100%;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;font-weight:600;background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:.75rem;padding:.9rem 1rem;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.contact-form__submit:hover{transform:translateY(-2px);background:var(--button-primary-hover);box-shadow:var(--button-primary-shadow)}.contact-modal__feedback{min-height:1.25rem;margin:0;color:var(--color-highlight);font-size:.95rem}.contact-modal__details{flex:1 1 40%;display:flex;flex-direction:column;gap:1.5rem}.contact-modal__card{background:var(--color-surface-contrast);border:1px solid var(--color-border-subtle);border-radius:.9rem;padding:1.5rem;box-shadow:0 0 25px var(--color-shadow-soft);color:var(--color-text-secondary)}.contact-modal__card h3{margin-top:0;margin-bottom:.75rem;font-size:1rem;font-weight:600;color:var(--color-feature-accent);text-transform:uppercase;letter-spacing:.05em}.contact-modal__card p{margin:.25rem 0;line-height:1.5}.contact-modal__card a{color:var(--color-accent-cool-strong);text-decoration:none}.contact-modal__card a:hover{text-decoration:underline}@media(max-width:60rem){.contact-modal__dialog{width:min(620px,94%);padding:2rem 1.75rem;max-height:calc(100vh - 2rem)}.contact-modal__content{flex-direction:column}.contact-modal__form,.contact-modal__details{flex:1 1 100%}}@media(max-width:40rem){.contact-modal__dialog{padding:1.75rem 1.5rem;max-height:calc(100vh - 1.5rem)}.contact-form__submit{font-size:1rem}}
