.form{--field-border:var(--rule-strong)}.form__section{border:0;margin:0;padding:0}.form__section+.form__section{margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--rule)}.form__legend{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);margin-bottom:var(--space-5);padding:0;font-weight:500}.form__grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (width>=34rem){.form__grid{grid-template-columns:1fr 1fr}.form__grid>.field--full{grid-column:1/-1}}.field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.field__label{font-size:var(--step--1);color:var(--navy-700);font-weight:600;line-height:1.4}.field__optional{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-left:.4em;font-size:.6875rem;font-weight:400}.field__req{color:var(--gold-text);margin-left:.15em}.field__hint{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.01em;font-size:.6875rem;line-height:1.5}.field__control,.field select,.field textarea{width:100%;max-width:100%;font-size:var(--step-0);color:var(--ink);background:var(--white);border:1px solid var(--field-border);border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:.7rem .8rem}.field__control:hover{border-color:var(--navy-500)}.field__control:focus-visible{outline:3px solid var(--gold-500);outline-offset:1px;border-color:var(--navy-700)}.field input[type=date]{appearance:none;min-height:2.9rem}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--navy-700) 50%), linear-gradient(135deg, var(--navy-700) 50%, transparent 50%);background-position:calc(100% - 1.05rem) 1.28rem,calc(100% - .75rem) 1.28rem;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.2rem}.field textarea{resize:vertical;min-height:9rem;line-height:1.6}.choice-group{gap:var(--space-3);border:0;flex-direction:column;margin:0;padding:0;display:flex}@media (width>=44rem){.choice-group{flex-flow:wrap}}.choice{align-items:center;gap:var(--space-3);border:1px solid var(--field-border);border-radius:var(--radius);cursor:pointer;font-size:var(--step--1);color:var(--navy-700);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex:auto;padding:.7rem .9rem;font-weight:500;display:flex}.choice:hover{border-color:var(--navy-500)}.choice input{accent-color:var(--navy-700);flex-shrink:0;width:1.05rem;height:1.05rem}.choice:has(input:checked){border-color:var(--navy-700);background:#f7f9fb}.choice:has(input:focus-visible){outline:3px solid var(--gold-500);outline-offset:2px}.consent{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;display:flex}.consent+.consent{margin-top:var(--space-4)}.consent input{accent-color:var(--navy-700);flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.18rem}.consent:has(input:focus-visible){outline:3px solid var(--gold-500);outline-offset:2px}.consent__text{font-size:var(--step--1);color:var(--text-muted);line-height:1.55}.consent__text strong{color:var(--navy-700);margin-bottom:.2rem;display:block}.upload-notice{gap:var(--space-3);padding:var(--space-4);background:var(--paper);border-left:2px solid var(--gold-500);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:var(--step--1);color:var(--text-muted);line-height:1.55;display:flex}.upload-notice strong{color:var(--navy-700)}.field input[type=file]{width:100%;font-size:var(--step--1);border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--white);padding:.6rem}.field input[type=file]::file-selector-button{font:inherit;margin-right:var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--white);color:var(--navy-700);cursor:pointer;padding:.45rem .85rem;font-weight:600}.field input[type=file]::file-selector-button:hover{border-color:var(--navy-700)}.field__error{font-size:var(--step--1);color:var(--error);font-weight:500;line-height:1.5;display:none}.field.is-invalid .field__error{display:block}.field.is-invalid .field__control,.field.is-invalid input[type=file]{border-color:var(--error);background:var(--error-bg)}.field.is-invalid .choice{border-color:var(--error)}.field.is-invalid .consent{border-color:var(--error);background:var(--error-bg)}.form__summary{padding:var(--space-4) var(--space-5);border:1px solid var(--error);border-radius:var(--radius);background:var(--error-bg);margin-bottom:var(--space-6);border-left-width:3px;display:none}.form__summary.is-visible{display:block}.form__summary h2{font-family:var(--font-body);font-size:var(--step-0);color:var(--error);margin-bottom:var(--space-2);font-weight:600}.form__summary ul{font-size:var(--step--1);margin:0;padding-left:1.2em}.form__summary a{color:var(--error)}.form__actions{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--rule);align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.form__actions .btn{padding-inline:1.75rem}.form__actions .form__note{font-family:var(--font-mono);color:var(--ink-muted);margin:0;font-size:.6875rem}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.band-navy .form .field__hint,.band-deep .form .field__hint,.band-navy .form .form__note,.band-deep .form .form__note{color:var(--ink-muted)}.band-navy .form .field__label,.band-deep .form .field__label{color:var(--navy-700)}.band-navy .form .field__error,.band-deep .form .field__error,.band-navy .form .form__summary h2,.band-deep .form .form__summary h2,.band-navy .form .form__summary a,.band-deep .form .form__summary a{color:var(--error)}.band-navy .form .form__summary ul,.band-deep .form .form__summary ul{color:var(--ink)}.band-navy .form .consent__text,.band-deep .form .consent__text{color:var(--text-muted)}.band-navy .form .consent__text strong,.band-deep .form .consent__text strong{color:var(--navy-700)}.band-navy .form a:not(.btn),.band-deep .form a:not(.btn){color:var(--navy-500)}.band-navy .form a:not(.btn):hover,.band-deep .form a:not(.btn):hover{color:var(--navy-700)}.band-navy .form .upload-notice,.band-deep .form .upload-notice{color:var(--text-muted)}.band-navy .form .upload-notice strong,.band-deep .form .upload-notice strong{color:var(--navy-700)}.band-navy .form .honeypot,.band-deep .form .honeypot{color:var(--ink)}
