.form{gap:var(--s-24);max-width:720px;display:grid}.form .row{gap:var(--s-24);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.field{gap:var(--s-8);align-content:start;display:grid}.field>label,.form legend{color:var(--paper);font-weight:500;font-size:var(--fs-16)}.form .opt{color:var(--smoke);font-weight:400}.form .hint{font-size:var(--fs-14);color:var(--smoke)}.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=month],.form input[type=number],.form select,.form textarea{width:100%;min-height:48px;padding:var(--s-12) var(--s-16);background:var(--ink);color:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-16);transition:border-color var(--dur-fast) var(--ease)}.form textarea{resize:vertical;min-height:140px;line-height:1.5}.form select{appearance:none;padding-right:40px}.select{display:block;position:relative}.select:after{content:"";border-right:1.5px solid var(--smoke);border-bottom:1.5px solid var(--smoke);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:18px;transform:translateY(-70%)rotate(45deg)}.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--smoke)}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:2px solid var(--haze);outline-offset:1px;border-color:var(--haze)}.form fieldset{gap:var(--s-12);border:0;min-width:0;margin:0;padding:0;display:grid}.form legend{margin-bottom:var(--s-4);padding:0}.choices{gap:var(--s-8);flex-wrap:wrap;display:flex}.choice{position:relative}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice span{min-height:44px;padding:0 var(--s-16);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--smoke);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;display:inline-flex}.choice input:hover+span{border-color:var(--smoke)}.choice input:checked+span{border-color:var(--haze);color:var(--paper);outline:1px solid var(--haze);outline-offset:-2px}.choice input:focus-visible+span{outline:2px solid var(--haze);outline-offset:2px}.check{gap:var(--s-12);grid-template-columns:24px 1fr;align-items:start;display:grid}.check input{width:20px;height:20px;accent-color:var(--haze);margin:2px 0 0}.check label{color:var(--paper)}.hp{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.field-error{color:var(--error);font-size:var(--fs-14)}.field-error:before{content:"Error: ";font-weight:500}.form input[aria-invalid=true],.form select[aria-invalid=true],.form textarea[aria-invalid=true],.form .choice input[aria-invalid=true]+span{border-color:var(--error)}.error-summary{border:1px solid var(--error);border-radius:var(--radius);padding:var(--s-16) var(--s-24);color:var(--paper);border-left-width:3px}.error-summary h3{font-size:var(--fs-18);margin-bottom:var(--s-8);font-weight:500}.error-summary ul{padding-left:var(--s-24);gap:var(--s-4);display:grid}.error-summary a{color:var(--paper)}.form .submit{gap:var(--s-16);flex-wrap:wrap;align-items:center;display:flex}.form .btn[disabled]{opacity:.6;cursor:progress}.paper .field>label,.paper .form legend,.paper .check label{color:var(--ink)}.paper .form .opt,.paper .form .hint{color:var(--ink-60)}.paper .form input[type=text],.paper .form input[type=email],.paper .form input[type=tel],.paper .form input[type=month],.paper .form input[type=number],.paper .form select,.paper .form textarea{background:var(--paper);color:var(--ink);border-color:#1012154d}.paper .form input:hover,.paper .form select:hover,.paper .form textarea:hover{border-color:#10121580}.paper .form input:focus-visible,.paper .form select:focus-visible,.paper .form textarea:focus-visible{outline-color:var(--haze-deep);border-color:var(--haze-deep)}.paper .choice span{color:var(--ink-60);border-color:#1012154d}.paper .choice input:checked+span{color:var(--ink);border-color:var(--haze-deep);outline:1px solid var(--haze-deep);outline-offset:-2px}.paper .field-error{color:#b42318}.paper .error-summary{color:var(--ink);border-color:#b42318}.paper .error-summary a{color:var(--ink)}.paper .select:after{border-color:var(--ink)}
