.contact-grid{align-items:start;gap:clamp(28px,5vw,72px);padding-top:clamp(48px,7vw,100px);display:grid}@media (width>=980px){.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}.contact-intro h1{font-size:var(--fs-h2)}.contact-intro .lede{margin-top:16px}.direct{font-size:var(--fs-small);color:var(--muted);margin-top:28px}.direct a{color:var(--em-700);font-weight:600}.contact-visual{display:none}@media (width>=980px){.contact-intro{top:calc(var(--header-h) + 32px);position:sticky}.contact-visual{isolation:isolate;aspect-ratio:6/5;margin-top:24px;display:block;position:relative}.contact-visual:before{content:"";z-index:-1;background:radial-gradient(closest-side at 40% 45%, var(--aurora-1), transparent 75%), radial-gradient(closest-side at 65% 60%, var(--aurora-2), transparent 75%);opacity:.55;border-radius:50%;position:absolute;inset:10%}.contact-visual canvas{width:100%;height:100%;position:absolute;inset:0}}.form-card{padding:clamp(22px,3vw,36px);position:relative;overflow:hidden}.form-card:after{content:"";z-index:-1;background:radial-gradient(50% 50% at calc(20% + var(--step,0) * 30%) 50%, var(--aurora-1), transparent 70%);height:80%;transition:background-position .6s;position:absolute;inset:auto -20% -60%}.form-progress{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:26px;padding:0;display:grid}.form-progress li{font-size:var(--fs-tiny);color:var(--faint);transition:color var(--dur);font-weight:600;list-style:none}.form-progress li:before{content:"";background:linear-gradient(90deg, var(--em-600), var(--em-400)) left / 0% 100% no-repeat, var(--line);height:4px;transition:background-size .6s var(--ease-out);border-radius:4px;margin-bottom:8px;display:block}.form-progress li.is-done,.form-progress li.is-current{color:var(--ink)}.form-progress li.is-done:before,.form-progress li.is-current:before{background-size:100% 100%}.form-progress ol{display:contents}.steps-viewport{display:grid}.step{min-width:0;transition:opacity .45s, transform .6s var(--ease-out), filter .45s;border:0;grid-area:1/1;align-content:start;gap:16px;margin:0;padding:0;display:grid}.step legend{letter-spacing:-.015em;margin-bottom:4px;padding:0;font-size:1.35rem;font-weight:600}.step:not(.is-current){opacity:0;pointer-events:none;visibility:hidden;transform:translateX(var(--from,40px));filter:blur(4px)}.step.is-past{--from:-40px}html:not(.js) .step{opacity:1;visibility:visible;filter:none;pointer-events:auto;grid-area:auto;transform:none}.row-2{gap:16px;display:grid}@media (width>=620px){.row-2{grid-template-columns:1fr 1fr}}.fl{position:relative}.fl input,.fl textarea{border:1px solid var(--line-strong);background:var(--s1);width:100%;transition:border-color var(--dur-fast), box-shadow var(--dur);border-radius:14px;outline:none;padding:24px 14px 9px;font-size:1rem}.fl textarea{resize:vertical;min-height:132px}.fl label{color:var(--muted);pointer-events:none;transform-origin:0 0;transition:transform var(--dur) var(--ease-out), color var(--dur-fast);font-size:1rem;position:absolute;top:17px;left:15px}.fl input:focus+label,.fl input:not(:placeholder-shown)+label,.fl textarea:focus+label,.fl textarea:not(:placeholder-shown)+label{color:var(--em-700);transform:translateY(-10px)scale(.76)}.fl input:focus,.fl textarea:focus{border-color:var(--em-500);box-shadow:0 0 0 4px color-mix(in srgb, var(--em-400) 22%, transparent), 0 10px 30px -18px var(--em-600)}.fl.is-invalid input,.fl.is-invalid textarea{border-color:var(--err);box-shadow:0 0 0 4px color-mix(in srgb, var(--err) 12%, transparent)}.fl.is-invalid label{color:var(--err)}.fl.is-valid input{border-color:var(--em-300)}.fl .tick{width:18px;height:18px;color:var(--em-600);opacity:0;transition:opacity .3s, transform .4s var(--ease-spring);margin-top:-9px;position:absolute;top:50%;right:14px;transform:scale(.4)}.fl.is-valid .tick{opacity:1;transform:none}.err-msg{min-height:0;font-size:var(--fs-small);color:var(--err);margin-top:6px;display:block}.err-msg:empty{display:none}.shake{animation:shake .4s var(--ease-out)}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.choice{border:0;min-width:0;margin:0;padding:0}.choice>span{font-size:var(--fs-small);color:var(--ink-2);margin-bottom:10px;font-weight:600;display:block}.chips{flex-wrap:wrap;gap:8px;display:flex}.opt-chip{position:relative}.opt-chip input{opacity:0;cursor:pointer;position:absolute;inset:0}.opt-chip span{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--s1);transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), transform var(--dur) var(--ease-spring);align-items:center;gap:6px;padding:9px 16px;font-size:.93rem;font-weight:500;display:inline-flex}.opt-chip span:before{content:"";width:0;height:14px;transition:width var(--dur) var(--ease-out);background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12.5 4.5 4.5L19 7.5'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12.5 4.5 4.5L19 7.5'/></svg>") 50%/contain no-repeat}.opt-chip input:hover+span{border-color:var(--em-500)}.opt-chip input:checked+span{background:var(--em-700);border-color:var(--em-700);color:var(--s1);transform:scale(1.03)}.opt-chip input:checked+span:before{width:14px}.opt-chip input:focus-visible+span{outline:2px solid var(--em-600);outline-offset:3px}.consent{font-size:var(--fs-small);color:var(--ink-2);grid-template-columns:20px 1fr;gap:10px;display:grid}.consent input{width:18px;height:18px;accent-color:var(--em-700);margin-top:2px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:26px;display:flex}.form-nav .back[hidden]+*{margin-left:auto}.submit{min-width:190px;transition:min-width .5s var(--ease-out), padding .5s var(--ease-out), border-radius .5s var(--ease-out), transform var(--dur-fast)}.submit .spin,.submit .done{width:22px;height:22px;display:none}.submit.is-busy,.submit.is-done{width:52px;min-width:52px;padding:0}.submit.is-busy .label,.submit.is-done .label,.submit.is-busy .arrow,.submit.is-done .arrow{display:none}.submit.is-busy .spin{animation:.8s linear infinite spin;display:block}.submit.is-done .done{display:block}.submit .done path{stroke-dasharray:24;stroke-dashoffset:24px}.submit.is-done .done path{animation:draw .5s var(--ease-out) 50ms forwards}@keyframes draw{to{stroke-dashoffset:0}}.success{text-align:center;justify-items:center;gap:14px;padding-block:28px;display:grid}.success .ring{width:84px;height:84px;color:var(--s1);background:radial-gradient(circle at 30% 30%, var(--em-400), var(--em-700));box-shadow:var(--glow-em);animation:pop .7s var(--ease-spring);border-radius:50%;place-items:center;display:grid}.success .ring svg{width:38px;height:38px}.success h2{font-size:1.6rem}.success p{color:var(--ink-2);max-width:44ch}.success .ref{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--muted)}@keyframes pop{0%{opacity:0;transform:scale(.3)}}.burst{pointer-events:none;position:absolute;inset:0}.burst i{background:var(--c);width:7px;height:7px;animation:burst 1.1s var(--ease-out) forwards;border-radius:2px;position:absolute;top:30%;left:50%}@keyframes burst{to{transform:translate(var(--x), var(--y)) rotate(var(--r));opacity:0}}.success h2:focus{outline:none}
