
.demo-modal{padding:0;border:1px solid var(--line);border-radius:20px;width:min(900px,calc(100% - 40px));max-height:calc(100dvh - 40px);margin:auto;background:var(--surface);color:var(--ink);box-shadow:0 35px 120px #0005;overflow:auto}.demo-modal::backdrop{background:#050d20a6;backdrop-filter:blur(7px)}.demo-modal[open]{animation:demo-enter .25s ease-out}.modal-layout{display:grid;grid-template-columns:.85fr 1.15fr}.modal-close{position:absolute;top:15px;right:15px;z-index:2;background:var(--bg);color:var(--ink);border:1px solid var(--line);width:33px;height:33px;border-radius:50%;font-size:23px;line-height:1;cursor:pointer}.modal-story{background:#101e35;color:#f0f5ff;padding:40px 32px;display:flex;flex-direction:column}.modal-eyebrow{font-family:'Space Grotesk';font-size:9px;letter-spacing:.14em;color:var(--accent);margin-bottom:15px}.modal-story .modal-eyebrow{margin-top:38px;color:#ffc53d}.modal-story h2{font-size:39px;line-height:1.06;font-weight:450;letter-spacing:-.04em;margin:0 0 22px}.modal-story h2 em{font-family:'Instrument Serif';font-weight:400;color:#8db8ff}.modal-story>p:not(.modal-eyebrow){font-size:13px;line-height:1.7;color:#b8c8df}.modal-story ul{list-style:none;padding:0;margin:25px 0}.modal-story li{font-size:12px;padding:13px 0;border-top:1px solid #7db0ff30}.modal-story li:before{content:'↗';color:#ffc53d;margin-right:12px}.modal-signature{margin-top:auto;padding-top:28px;font-size:10px;color:#8db8ff}.modal-form{padding:40px 35px 25px}.modal-form h2{font-size:29px;letter-spacing:-.04em;line-height:1.12;font-weight:500;max-width:310px;margin-bottom:10px}.modal-description{font-size:13px;color:var(--muted);margin-bottom:22px}.demo-modal input,.demo-modal textarea,.demo-modal select{box-sizing:border-box}.demo-modal form{margin:0}
.demo-modal .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.demo-modal .field{margin-bottom:18px}.demo-modal .field label{display:block;font-size:12px;font-weight:500;margin-bottom:8px}.demo-modal .field label span{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.demo-modal .field input,.demo-modal .field select,.demo-modal .field textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:13px;font:inherit;font-size:13px;min-height:46px}.demo-modal .field textarea{resize:vertical}.demo-modal .field input:focus,.demo-modal .field select:focus,.demo-modal .field textarea:focus{outline:2px solid #5b9bff;outline-offset:2px}.demo-modal .submit-demo{width:100%;display:flex;align-items:center;justify-content:space-between;background:#ffc53d;color:#101b30;border:0;border-radius:6px;padding:17px 20px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.demo-modal .submit-demo:hover{background:#ffd367}.demo-modal .submit-demo span{font-size:21px}.demo-modal .privacy-note,.demo-modal .preview-note{font-size:10px;line-height:1.6;color:var(--muted);text-align:center;margin-top:13px}.demo-modal .privacy-note a{text-decoration:underline;text-underline-offset:3px}.demo-modal .preview-note{font-size:10px;margin-top:8px}.demo-modal .demo-status{font-size:13px;line-height:1.6;padding:15px;margin-top:16px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.demo-modal .field{margin-bottom:14px}.demo-modal textarea{min-height:72px;max-height:160px}.demo-modal .submit-demo{padding:14px 18px}.demo-modal .privacy-note{margin-top:10px}.demo-modal .preview-note{margin-top:5px}.demo-modal a{text-underline-offset:3px}.demo-modal button:focus-visible{outline:2px solid #5b9bff;outline-offset:3px}body.demo-open{overflow:hidden}@keyframes demo-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:700px){.demo-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.modal-layout{grid-template-columns:1fr}.modal-story{display:none}.modal-form{padding:38px 24px 23px}.modal-form h2{font-size:29px;max-width:270px}.demo-modal .field-pair{grid-template-columns:1fr 1fr}}@media(max-width:380px){.demo-modal .field-pair{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){.demo-modal[open]{animation:none}}

/* Form-only demo dialog. */
.demo-modal{width:min(520px,calc(100% - 40px))}.modal-layout{grid-template-columns:1fr}.modal-form{padding:38px 35px 25px}@media(max-width:700px){.demo-modal{width:calc(100% - 24px)}.modal-form{padding:38px 24px 23px}}
