:root{--ink:#17233b;--ink-soft:#5b6577;--paper:#f6f4ef;--card:#fff;--accent:#0d7a68;--accent-deep:#0a5f52;--line:#e4e0d6}*{box-sizing:border-box;margin:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}main{max-width:40rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}.brand{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:2rem;font-size:.85rem;font-weight:650}h1{letter-spacing:-.015em;margin-bottom:.6rem;font-size:1.65rem;line-height:1.25}.sub{color:var(--ink-soft);max-width:34rem;margin-bottom:2rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:1.25rem;padding:1.5rem 1.4rem;box-shadow:0 1px 2px #17233b0a,0 8px 24px -18px #17233b40}.q{margin-bottom:.35rem;font-weight:650}.hint{color:var(--ink-soft);margin-bottom:.9rem;font-size:.9rem}.opt{cursor:pointer;border-radius:9px;align-items:flex-start;gap:.7rem;padding:.65rem .6rem;display:flex}.opt:hover{background:#f2efe8}.opt input{width:1.05rem;height:1.05rem;accent-color:var(--accent);flex-shrink:0;margin-top:.28rem}textarea,input[type=text]{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fcfbf8;border-radius:9px;padding:.65rem .75rem}textarea:focus,input[type=text]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}textarea{resize:vertical;min-height:5.5rem}.other-line{margin:.15rem 0 .3rem 2.35rem}button.send{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:11px;margin-top:.5rem;padding:.95rem 1rem;font-weight:650}button.send:hover{background:var(--accent-deep)}button.send:disabled{opacity:.55;cursor:default}.error{color:#a4381f;margin-top:.7rem;font-size:.92rem}.done h1{margin-top:.5rem}.done p{color:var(--ink-soft);max-width:32rem}.done .sig{color:var(--ink);margin-top:1.4rem}footer{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:3rem;padding-top:1.25rem;font-size:.82rem}
