*{box-sizing:border-box}
body{margin:0;background:#edf3ef;color:#103f35;font:16px/1.5 system-ui,sans-serif}
main{max-width:820px;margin:auto;padding:24px 16px 40px}
header{background:#103f35;color:#fff;border-radius:20px;padding:24px 28px}
header p,h1{margin:0}h1{font-size:clamp(25px,5vw,38px);margin:5px 0}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;color:#cae2d4}
.card{background:#fff;border-radius:20px;margin-top:16px;padding:24px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
label{display:grid;gap:5px;font-weight:600}
input{width:100%;min-width:0;padding:10px 12px;border:1px solid #8ca99d;border-radius:10px;font:inherit;color:inherit;background:#fff}
input:focus,button:focus-visible{outline:2px solid #28765f;outline-offset:2px}
button{margin-top:20px;width:100%;padding:13px;border:0;border-radius:10px;background:#103f35;color:white;font:inherit;font-weight:700;cursor:pointer}
.hint{margin-top:0}.error{padding:12px;background:#fff0e8;color:#8a2b16;border-radius:8px}.trap{display:none}
.ticket{text-align:center}.ticket strong{font-size:clamp(64px,15vw,100px);line-height:1.1}
@media(max-width:560px){.fields{grid-template-columns:1fr}.card,header{padding:16px}}
