@layer components{.form-card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-panel);box-shadow:var(--shadow-lift);accent-color:var(--color-brand-700);padding:clamp(24px,3vw,40px)}.form-card[aria-busy=true]{cursor:progress}.form-card fieldset{border:0;min-width:0;margin:0;padding:0}.form-card legend{width:100%;font-family:var(--font-display);font-size:var(--text-h3);color:var(--color-ink);margin:0 0 24px;padding:0;font-weight:600}.form-lead{color:var(--color-muted);margin-bottom:24px}.form-grid{gap:0 var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.form-grid>.field{grid-column:span 6}.form-grid>.field--wide{grid-column:span 12}.field{margin-bottom:24px}.field label{font-weight:600;font-size:var(--text-sm);color:var(--color-ink);margin-bottom:8px;display:block}.field label .opt{color:var(--color-muted);font-weight:400}.field input,.field textarea,.field select{width:100%;font:inherit;font-size:var(--text-base);color:var(--color-ink);min-height:var(--control);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);background:#fff;padding:16px}.field input{font-variant-numeric:tabular-nums}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-brand-700) 50%), linear-gradient(135deg, var(--color-brand-700) 50%, transparent 50%);background-position:calc(100% - 24px) 24px,calc(100% - 19px) 24px;background-repeat:no-repeat;background-size:5px 5px;padding-right:48px}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--color-brand)}.field input::placeholder,.field textarea::placeholder{color:var(--color-muted);opacity:.7}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 4px #8fa67d38}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{box-shadow:0 0 0 4px #8fa67d38}.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--color-error);box-shadow:0 0 0 3px #9a3b2f1a}.field textarea{resize:vertical;min-height:128px}.field-help{color:var(--color-muted);font-size:var(--text-xs);margin:8px 0 0}.field-error{color:var(--color-error);font-size:var(--text-sm);margin:8px 0 0;font-weight:600}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-note{font-size:var(--text-sm);color:var(--color-muted);margin-top:16px}.form-status{font-size:var(--text-base);margin-top:16px;font-weight:600}.form-status.ok{color:var(--color-brand-700)}.form-status.err{color:var(--color-error)}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.form-actions .btn{justify-content:center;min-width:152px}.form-progress{counter-reset:progress;font-variant-numeric:tabular-nums;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin:0 0 32px;padding:0;list-style:none;display:grid}.form-progress>li{grid-column:span 4}.form-progress li{counter-increment:progress;border-top:3px solid var(--color-line);color:var(--color-muted);font-size:var(--text-xs);background:linear-gradient(var(--color-brand-700), var(--color-brand-700)) no-repeat left top / 0 3px;transition:background-size .5s var(--ease-out), color .3s var(--ease-out);padding-top:16px;font-weight:600;position:relative}.form-progress li:before{content:"0" counter(progress);color:var(--color-brass-deep);font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:4px;display:block}.form-progress li.is-active,.form-progress li.is-complete{color:var(--color-ink);background-size:100% 3px}.form-progress li.is-complete:after{content:"✓";color:var(--color-brand-700);position:absolute;top:16px;right:4px}.js .form-progress li.is-complete:after{animation:check-pop .45s var(--ease-out) both}.form-card.is-complete{padding:clamp(32px,5vw,56px)}.form-card .turnstile:not(:empty){margin-top:24px}.form-card.is-complete .turnstile{display:none}.form-success{text-align:left;position:relative}.form-success .success-stamp{border:3px double var(--color-brass-deep);color:var(--color-brass-deep);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;opacity:.9;border-radius:6px;margin:0;padding:16px 24px;font-size:clamp(20px,2.4vw,28px);line-height:1;position:absolute;top:8px;right:8px;transform:rotate(-8deg)}.js .form-success:not([hidden]) .success-stamp{animation:stamp-in .55s var(--ease-out) .25s both}.form-success h2{font-size:var(--text-h3);max-width:18ch;margin:0 240px 16px 0}.success-lead{color:var(--color-body);max-width:60ch;margin:0 240px 40px 0}.success-lead strong{color:var(--color-ink);overflow-wrap:anywhere;font-weight:600}.success-subhead{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:0 0 16px;font-weight:600}.success-steps{counter-reset:next;margin:0 0 40px;padding:0;list-style:none}.success-steps li{counter-increment:next;border-top:1px solid var(--color-line);color:var(--color-body);grid-template-columns:56px 1fr;align-items:baseline;gap:16px;padding:16px 0;display:grid}.success-steps li:last-child{border-bottom:1px solid var(--color-line)}.success-steps li:before{content:"0" counter(next);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-brass-deep);font-variant-numeric:tabular-nums}.success-wire{border-radius:var(--radius-sm);color:var(--color-body);font-size:var(--text-sm);background:#b3925e14;border:1px solid #8f703859;margin:0 0 40px;padding:24px}.success-wire p{margin:0}.success-wire .success-wire__title{color:var(--color-ink);margin-bottom:8px;font-weight:600}.success-wire a{color:var(--color-brand-700);white-space:nowrap;font-weight:600}.success-actions{flex-wrap:wrap;gap:16px;display:flex}.js .form-success:not([hidden])>:not(.success-stamp){animation:success-rise .5s var(--ease-out) both}.js .form-success:not([hidden])>:nth-child(3){animation-delay:60ms}.js .form-success:not([hidden])>:nth-child(4),.js .form-success:not([hidden])>:nth-child(5){animation-delay:.12s}.js .form-success:not([hidden])>:nth-child(n+6){animation-delay:.18s}.btn-submit{transition:background-color .3s var(--ease-out), box-shadow .3s var(--ease-out);place-items:center;display:inline-grid;overflow:hidden}.btn-submit>span{transition:opacity .25s var(--ease-out), transform .35s var(--ease-out);grid-area:1/1;align-items:center;gap:8px;display:inline-flex}.btn-submit .btn-submit__busy,.btn-submit .btn-submit__sent{opacity:0;transform:translateY(16px)}.btn-submit[data-state=sending] .btn-submit__label,.btn-submit[data-state=sent] .btn-submit__label{opacity:0;transform:translateY(-16px)}.btn-submit[data-state=sending] .btn-submit__busy,.btn-submit[data-state=sent] .btn-submit__sent{opacity:1;transform:none}.btn-submit[data-state=sent],.btn-submit[data-state=sent]:hover{background:var(--color-forest);cursor:default}.btn-submit:disabled{opacity:1}.btn-submit svg path{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24px}.btn-submit[data-state=sent] svg path{animation:check-draw .45s var(--ease-out) .1s forwards}.btn-submit[data-state=error]{animation:btn-nudge .45s var(--ease-out)}.btn-spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite btn-spin}@media (width<=560px){.form-card.is-complete{padding:24px}.form-success .success-stamp{margin:8px 0 32px 8px;display:inline-block;position:static}.form-success h2,.success-lead{margin-right:0}.success-steps li{grid-template-columns:40px 1fr}.success-actions .btn{justify-content:center;width:100%}.form-grid>.field,.form-grid>.field--wide{grid-column:span 12}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.form-progress li{font-size:12px}}@media (prefers-reduced-motion:reduce){.js .form-success:not([hidden]) .success-stamp,.js .form-progress li.is-complete:after,.js .form-success:not([hidden])>*{animation:none}.btn-submit>span{transition:none;transform:none}.btn-submit[data-state=error]{animation:none}.btn-submit svg path{stroke-dashoffset:0}.btn-submit[data-state=sent] svg path{animation:none}.form-progress li{background-size:0 3px;transition:none}.form-progress li.is-active,.form-progress li.is-complete{background-size:100% 3px}}.save-data .form-success:not([hidden]) .success-stamp,.save-data .form-progress li.is-complete:after{animation:none}.save-data .form-progress li{transition:none}}@keyframes check-pop{0%{opacity:0;transform:scale(.4)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes stamp-in{0%{opacity:0;transform:rotate(-14deg)scale(1.7)}60%{opacity:1;transform:rotate(-8deg)scale(.95)}to{opacity:1;transform:rotate(-8deg)scale(1)}}@keyframes btn-spin{to{transform:rotate(360deg)}}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes success-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes btn-nudge{0%,to{transform:none}20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}
