.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;animation:fadeIn .3s ease}.modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--canvas);border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.2);z-index:1000;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 24px;border-bottom:1px solid var(--hairline)}.modal-title{font-size:20px;font-weight:600;margin:0;color:var(--ink)}.modal-close{background:none;border:none;font-size:24px;color:var(--ink-muted-48);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:var(--ink)}.modal-body{flex:1 1;overflow-y:auto;padding:24px 32px;color:var(--ink-muted-80);font-size:14px;line-height:1.6}.modal-body p{margin:0 0 16px}.modal-body h3{font-size:16px;font-weight:600;color:var(--ink);margin:24px 0 12px}.modal-body ul{margin:12px 0;padding-left:20px}.modal-body li{margin:8px 0}.modal-footer{padding:20px 32px;border-top:1px solid var(--hairline);display:flex;justify-content:flex-end;gap:12px}.modal-footer .btn{min-width:100px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:834px){.modal-dialog{width:95%;max-height:90vh}.modal-header{padding:24px 20px 16px}.modal-body,.modal-footer{padding:16px 20px}}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-notice{font-size:13px;color:var(--ink-muted-80);margin:0;font-style:italic}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:var(--ink)}.form-group input,.form-group textarea{padding:10px 12px;border:1px solid var(--hairline);border-radius:8px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--canvas);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(55,48,163,.12)}.form-group input:disabled,.form-group textarea:disabled{background:var(--canvas-parchment);cursor:not-allowed;opacity:.6}.form-group textarea{resize:vertical;min-height:120px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}