@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;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555a47' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:48px}.field select:has(option[value=""]:checked){color:var(--color-muted)}.field select option{color:var(--color-ink)}@supports (appearance:base-select){.field select,.field select::picker(select){appearance:base-select}.field select{background-image:none;align-items:center;gap:8px;padding-right:16px;display:flex}.field select::picker-icon{content:"";width:16px;height:16px;transition:rotate .2s var(--ease-out);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555a47' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") 50%/16px no-repeat;flex:none;margin-left:auto}.field select:open::picker-icon{rotate:180deg}.field select:open{border-color:var(--color-brand);box-shadow:0 0 0 4px #8fa67d38}.field select::picker(select){border:1px solid var(--color-line);border-radius:var(--radius-card);max-height:min(320px,50vh);box-shadow:0 24px 48px -24px rgba(var(--shadow-rgb), .45);opacity:0;transition:opacity .16s var(--ease-out), translate .16s var(--ease-out), overlay .16s allow-discrete, display .16s allow-discrete;background:#fff;margin-top:8px;padding:8px;overflow-y:auto;translate:0 -8px}.field select:open::picker(select){opacity:1;translate:0}@starting-style{.field select:open::picker(select){opacity:0;translate:0 -8px}}.field select option{border-radius:var(--radius-sm);min-height:48px;font-size:var(--text-base);color:var(--color-ink);cursor:pointer;align-items:center;gap:8px;padding:0 16px;transition:background-color .12s;display:flex}.field select option:hover,.field select option:focus-visible{background:var(--color-bg-tint);outline:none}.field select option:checked{color:var(--color-brand-700);font-weight:600}.field select option::checkmark{color:var(--color-brand-700);order:1;margin-left:auto}.field select option[value=""]{display:none}}.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){.field select::picker(select),.field select::picker-icon{transition:none}.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)}}
