.contact{background:var(--midnight);color:#c3cbd8}.contact .grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;display:grid}@media (width<=900px){.contact .grid{grid-template-columns:minmax(0,1fr);gap:36px}}.contact h2{color:#fff;margin:12px 0 18px;font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800;line-height:1.12}form.card{color:var(--body);background:#fff;border-radius:14px;gap:16px;padding:28px;scroll-margin-top:88px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 60px #00000040}.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}@media (width<=560px){.row2{grid-template-columns:minmax(0,1fr)}form.card{padding:20px}}.field{position:relative}.field input,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--tint);resize:vertical;border:1.5px solid #0000;border-radius:10px;padding:22px 14px 8px;transition:border-color .25s,background .25s,box-shadow .25s}.field textarea{min-height:128px}.field label{color:var(--muted);pointer-events:none;transform-origin:0 0;transition:transform .25s var(--ease), color .25s;position:absolute;top:15px;left:15px}.field input:focus,.field textarea:focus{border-color:var(--ember);background:#fff;outline:none;box-shadow:0 0 0 4px #e2622b1f}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{color:var(--ember-deep);transform:translateY(-9px)scale(.78)}.field.bad input,.field.bad textarea{border-color:var(--err)}.field .msg{color:var(--err);height:0;font-size:.8rem;transition:height .25s;overflow:hidden}.field.bad .msg{height:1.4em;margin-top:4px}.field.good input{border-color:#1f8a5b80}.counter{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;position:absolute;bottom:10px;right:12px}fieldset.topics{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}fieldset.topics legend{color:var(--muted);margin-bottom:6px;font-size:.85rem}.pills{flex-wrap:wrap;gap:8px;display:flex}.pills label{position:relative}.pills input{opacity:0;position:absolute}.pills span{border:1.5px solid var(--line);cursor:pointer;transition:border-color .2s, background .2s, color .2s, transform .2s var(--ease);user-select:none;border-radius:999px;padding:8px 13px;font-size:.86rem;display:inline-block}.pills input:checked+span{background:var(--midnight);border-color:var(--midnight);color:#fff;transform:scale(1.03)}.pills input:focus-visible+span{outline:2px solid var(--ember);outline-offset:2px}.hp{clip-path:inset(50%);opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.send{justify-content:center;justify-self:start;min-width:168px;position:relative}.send .spin,.send .tick{display:none}.send.busy .label,.send.busy .arr{visibility:hidden}.send.busy .spin{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:block;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.done{text-align:center;transition:transform .6s var(--ease);background:#fff;place-content:center;justify-items:center;gap:12px;padding:28px;display:grid;position:absolute;inset:0;transform:translateY(100%)}form.card.sent .done{transform:none}.done .done-tick{width:64px;height:64px}.done p{max-width:34ch}.done-close{border:1.5px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:background .2s, color .2s, border-color .2s, transform .25s var(--ease);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.done-close svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;fill:none;width:16px;height:16px}.done-close:hover{background:var(--midnight);border-color:var(--midnight);color:#fff;transform:rotate(90deg)}.done-close:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.done-tick circle{stroke:var(--ok);stroke-width:2.5px;fill:none;stroke-dasharray:190;stroke-dashoffset:190px;transition:stroke-dashoffset .7s .25s var(--ease)}.done-tick path{stroke:var(--ok);stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;transition:stroke-dashoffset .45s .75s var(--ease)}form.card.sent .done-tick circle,form.card.sent .done-tick path{stroke-dashoffset:0}.done h3{font-size:1.3rem}.done h3:focus{outline:none}.fineprint{color:var(--muted);font-size:.8rem}.send-row{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.pow-status{color:var(--muted);font-size:.85rem}.pow-status.fail{color:var(--err)}.nojs,.form-error{color:var(--err);background:#fdecea;border-radius:8px;padding:10px 12px;font-size:.9rem}@media (prefers-reduced-motion:reduce){.send.busy .spin{animation:none}.done,.done-tick circle,.done-tick path,.done-close,.field label,.pills span{transition:none}}
