/* Decorative mail studio. Artwork never captures form input or pointer events. */
#contact{position:relative;isolation:isolate;padding-bottom:24px;--mail-paper:#ccebc5;--mail-ink:#567b61;--machine-body:#253c30;--machine-top:#344f3c;--machine-slot:#0c1b12}
:root[data-theme="light"] #contact{--mail-paper:#e1eaff;--mail-ink:#2854d9;--machine-body:#e5edff;--machine-top:#c6d7fc;--machine-slot:#2549a3}
#contact>h1,#contact>.lead{max-width:780px}#contact>h1{position:relative}#contact .contact-grid{grid-template-columns:minmax(0,650px);justify-content:center;margin-top:44px}#contact form{position:relative;background:var(--surface);box-shadow:0 15px 50px #0001}#contact>p:last-of-type,#contact>p:has(>a[href^="mailto:"]){position:relative;text-align:center;max-width:none}
.contact-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:28px}.contact-floating-mail{position:absolute;width:250px;right:-16px;top:14px;opacity:.7;transform:rotate(12deg);animation:contact-mail-float 6s ease-in-out infinite}.contact-floating-mail svg{overflow:visible;filter:drop-shadow(0 10px 18px #0002)}.contact-floating-mail g{stroke:var(--mail-ink)}.contact-floating-mail g>path{fill:var(--mail-paper)}.contact-floating-mail g>path[fill="none"]{fill:none;stroke:var(--mail-ink);opacity:.5}.contact-floating-mail rect{fill:var(--mint);fill-opacity:.65}.contact-floating-mail g>path:last-child{fill:var(--mail-ink)}.mail-orbit{position:absolute;right:5px;top:-30px;width:280px;height:280px;border:1px dashed var(--line);border-radius:50%;opacity:.65;transform:rotate(-20deg)}.contact-printer{position:absolute;width:240px;left:-26px;bottom:48px;opacity:.85}.printer-shadow{fill:var(--mint);opacity:.08}.printer-body{fill:var(--machine-body);stroke:var(--mail-ink);stroke-width:2}.printer-top{fill:var(--machine-top);stroke:var(--mail-ink);stroke-width:2}.printer-slot,.printer-feet{fill:var(--machine-slot)}.printer-seam{stroke:var(--mail-ink);stroke-width:2;opacity:.5;fill:none}.printer-display{fill:var(--machine-slot)}.printer-signal{stroke:var(--mint);stroke-width:2;stroke-linecap:round;animation:mail-status 2s ease-in-out infinite}.printer-led{fill:var(--mint);animation:mail-status 2s ease-in-out infinite}.printer-control{fill:var(--mail-ink)}.letter-paper{fill:var(--mail-paper);stroke:var(--mail-ink);stroke-width:2}.letter-fold{stroke:var(--mail-ink);stroke-width:2;fill:none}.letter-heart{fill:var(--mail-ink)}.printer-letter{transform:translateY(80px);opacity:0}.printer-sparkles{fill:none;stroke:var(--mint);stroke-width:2;stroke-linecap:round;opacity:.5}.mail-dot{position:absolute;border:1px solid var(--mint);opacity:.25;border-radius:50%;width:9px;height:9px}.dot-one{top:280px;right:35px}.dot-two{bottom:400px;left:80px;width:5px;height:5px}
@keyframes print-mail{0%,12%{transform:translateY(80px);opacity:0}20%{opacity:1}55%,70%{transform:translateY(0);opacity:1}90%,100%{transform:translateY(-65px) rotate(-5deg);opacity:0}}
@keyframes contact-mail-float{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-14px) rotate(6deg)}}
@keyframes mail-status{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:1000px){#contact>h1,#contact>.lead{max-width:75%}.contact-floating-mail{width:190px;right:-15px;top:24px}.contact-printer{width:180px;left:-35px;bottom:100px;opacity:.35}.mail-orbit{width:200px;height:200px}}
@media(max-width:700px){#contact{padding-top:24px;padding-bottom:130px}#contact>h1{max-width:85%;font-size:clamp(38px,8vw,56px)}#contact>.lead{max-width:100%}#contact>.kicker{max-width:75%;font-size:10px}#contact .contact-grid{margin-top:28px}.contact-floating-mail{width:115px;right:-15px;top:0;opacity:.42}.mail-orbit{width:130px;height:130px;right:-30px;top:-30px}.contact-printer{width:150px;bottom:-9px;left:4px;opacity:.75}.dot-one{top:240px}.dot-two{display:none}}
@media(prefers-reduced-motion:reduce){.contact-floating-mail,.printer-letter,.printer-led,.printer-signal{animation:none}.printer-letter{opacity:1;transform:none}}

/* User-triggered printing; keep the control above the decorative layer. */
#contact .contact-printer{z-index:1;pointer-events:auto;opacity:1;text-align:center}
.contact-printer>svg{display:block;pointer-events:none}
.print-mail-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--mint);background:var(--surface);color:var(--mint);border-radius:30px;padding:10px 17px;min-height:44px;font:600 12px/1.4 Arial,sans-serif;cursor:pointer;box-shadow:0 5px 20px #0001}
.print-mail-button:hover{background:color-mix(in srgb,var(--mint) 12%,var(--surface))}
.print-mail-button:disabled{cursor:wait;opacity:.65}
.print-mail-status{display:block;font-size:10px;color:var(--muted);margin-top:7px;min-height:17px}
.contact-printer .printer-led,.contact-printer .printer-signal{animation:none;opacity:.55}
.contact-printer.is-printing .printer-letter{animation:push-letter 1.6s cubic-bezier(.25,.65,.35,1) forwards}
.contact-printer.is-printing .printer-led,.contact-printer.is-printing .printer-signal{animation:mail-status .4s ease-in-out infinite}
.contact-printer.has-letter .printer-letter{transform:translateY(-30px) rotate(-5deg);opacity:1}
@keyframes push-letter{0%{transform:translateY(80px);opacity:0}12%{opacity:1}65%{transform:translateY(0);opacity:1}100%{transform:translateY(-30px) rotate(-5deg);opacity:1}}
@media(max-width:1000px){#contact{padding-bottom:240px}#contact .contact-printer{left:8px;bottom:0;width:180px}}
@media(max-width:700px){#contact{padding-bottom:225px}#contact .contact-printer{left:0;bottom:0;width:160px}.print-mail-button{padding:9px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-printer .printer-letter{animation:none;transform:translateY(80px);opacity:0}.contact-printer.has-letter .printer-letter{transform:translateY(-30px);opacity:1}.contact-printer.is-printing .printer-led,.contact-printer.is-printing .printer-signal{animation:none}}
