.form{gap:clamp(2.5rem,6vh,4rem);max-inline-size:44rem;display:grid}.form fieldset{border:0;gap:2rem;min-inline-size:0;margin:0;padding:0;display:grid}.form legend{border-block-end:1px solid var(--line);inline-size:100%;margin-block-end:.5rem;padding:0 0 1rem}.form__legend{font-size:clamp(1.25rem,2.2vw,1.875rem)}.form legend .form__gn{font-family:var(--f-mono);color:var(--mark);margin-inline-end:.75em}.form legend:focus{outline:none}.form__progress{color:var(--fg-soft);align-items:center;gap:1rem;display:flex}.form__bar{background:var(--line);flex:1;block-size:1px;position:relative}.form__bar:after{content:"";inline-size:calc(var(--p,.5) * 100%);background:var(--mark);transition:inline-size .52s var(--ease-freeze);position:absolute;inset-block:-.5px;inset-inline-start:0}.field{gap:.5rem;display:grid}.field>label,.field>.field__label{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.field__req{color:var(--fg-soft);letter-spacing:.06em;text-transform:none;margin-inline-start:.5em;font-weight:400}.field__hint{font-family:var(--f-mono);color:var(--fg-soft);font-size:.75rem;line-height:1.5}.field__error{font-size:var(--t-small);color:#9a2b16;font-weight:500;display:none}[data-theme=dark] .field__error{color:#ffab91}.field[data-invalid] .field__error{display:block}.field[data-invalid] .field__error:before{content:"↳ "}.input,.form select,.form textarea{min-block-size:4rem;inline-size:100%;color:var(--fg);border:0;border-block-end:1px solid var(--line-strong);transition:border-color var(--d-state) ease;appearance:none;background:0 0;border-radius:0;padding:1rem 0;font-size:max(1.0625rem,16px);line-height:1.4}.form textarea{resize:vertical;min-block-size:8rem;padding-block:1rem}.form select{background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - .6rem) 55%,calc(100% - .25rem) 55%;background-repeat:no-repeat;background-size:.35rem .35rem;padding-inline-end:1.5rem}.form select option{color:#15120f;background:#eee8de}.input::placeholder,.form textarea::placeholder{color:var(--fg-soft);opacity:.75}.input:hover,.form select:hover,.form textarea:hover{border-block-end-color:var(--fg)}.input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{border-block-end-color:var(--mark);box-shadow:0 1px 0 0 var(--mark);outline:none}.field[data-invalid] .input,.field[data-invalid] select,.field[data-invalid] textarea{border-block-end-color:#9a2b16}[data-theme=dark] .field[data-invalid] .input,[data-theme=dark] .field[data-invalid] select,[data-theme=dark] .field[data-invalid] textarea{border-block-end-color:#ffab91}.form__row{gap:2rem var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=599px){.form__row{grid-template-columns:1fr}}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips label{border:1px solid var(--line);min-block-size:3rem;font-size:var(--t-small);letter-spacing:0;text-transform:none;cursor:pointer;transition:background-color var(--d-state) ease, color var(--d-state) ease, border-color var(--d-state) ease;border-radius:0;align-items:center;padding:.5rem 1.15rem;font-weight:400;display:inline-flex;position:relative}.chips input{opacity:0;cursor:pointer;block-size:100%;inline-size:100%;margin:0;position:absolute;inset:0}.chips label:hover{border-color:var(--fg)}.chips label:has(input:checked){background:var(--fg);color:var(--bg);border-color:var(--fg)}.chips label:has(input:focus-visible){outline:2px solid var(--mark);outline-offset:3px}.check{font-size:var(--t-small);cursor:pointer;grid-template-columns:1.5rem 1fr;align-items:start;gap:.9rem;line-height:1.55;display:grid}.check input{appearance:none;border:1px solid var(--line-strong);cursor:pointer;border-radius:2px;place-items:center;block-size:1.5rem;inline-size:1.5rem;margin:0;display:grid}.check input:after{content:"";background:var(--mark);block-size:.7rem;inline-size:.7rem;transition:transform var(--d-state) var(--ease-freeze);transform:scale(0)}.check input:checked:after{transform:scale(1)}.check input:focus-visible{outline:2px solid var(--mark);outline-offset:3px}.file{gap:.5rem;display:grid}.file input[type=file]{font-size:var(--t-small);border-block-end:1px solid var(--line-strong);inline-size:100%;padding-block:.75rem}.file input[type=file]::file-selector-button{border:1px solid var(--line-strong);color:inherit;font:inherit;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;margin-inline-end:1rem;padding:.55rem 1rem}.form__actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.form__note{font-size:var(--t-small);color:var(--fg-soft);max-inline-size:30rem}.form__summary{font-size:var(--t-small);border:1px solid #9a2b16;padding:1.25rem 1.5rem}.form__summary:focus{outline:none}.form__summary ul{gap:.25rem;margin-block-start:.5rem;display:grid}.form__summary a{text-underline-offset:.2em;text-decoration:underline}[data-theme=dark] .form__summary{border-color:#ffab91}.hp{clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}.done{gap:1.75rem;max-inline-size:40rem;padding-block-start:.5rem;display:grid}.done:focus{outline:none}.done ol{counter-reset:s;display:grid}.done ol li{counter-increment:s;border-block-start:1px solid var(--line);grid-template-columns:3rem 1fr;padding-block:1rem;display:grid}.done ol li:before{content:"0" counter(s);font-size:var(--t-label);letter-spacing:.14em;color:var(--mark);padding-block-start:.35em}.done a:not(.btn){text-underline-offset:.2em;overflow-wrap:anywhere;text-decoration:underline}.done__actions{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.done__cv{border-inline-start:2px solid var(--mark);font-size:var(--t-small);padding:1rem 1.25rem;line-height:1.55}.cv-note{border-block-end:1px solid var(--line-strong);font-size:var(--t-small);color:var(--fg-soft);gap:.35rem;padding-block:1rem;line-height:1.55;display:grid}.form[data-enhanced] [data-step]:not([data-current]){display:none}html.motion .form[data-enhanced] [data-step][data-current]{animation:step-in .52s var(--ease-freeze)}@keyframes step-in{0%{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}
