.contact-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,6vw,6rem); margin-bottom:7rem; }
.contact-aside h2 { font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em; margin:.8rem 0; }
.contact-aside>p { color:var(--color-muted); max-width:32rem; }
.contact-illustration { background:var(--color-stage); border-radius:1.4rem; padding:1.5rem; overflow:hidden; }
.contact-illustration svg { width:100%; display:block; color:var(--color-chart); }
.contact-illustration p { text-align:center; font-size:.875rem; margin:0; }
.letter { transform-origin:center; animation:letter-arrive 1s var(--ease-out) both; }
.letter-check { stroke-dasharray:60; stroke-dashoffset:60; animation:letter-check 900ms ease 700ms forwards; }
.message-sent .letter { animation:letter-sent 1s var(--ease-out) both; }
.contact-email { font-size:clamp(1rem,2.1vw,1.4rem); font-weight:700; display:inline-block; margin:1rem 0; }
.contact-shortcuts { display:grid; gap:1rem; margin-top:1.5rem; font-size:.875rem; }
.contact-form { background:var(--color-white); border:1px solid var(--color-line); border-radius:1.4rem; padding:clamp(1.1rem,3vw,2.5rem); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.6rem; min-width:0; }
.field label { font-size:.875rem; font-weight:750; }
.field input,.field select,.field textarea { font:inherit; font-size:1rem; background:var(--color-paper); color:var(--color-ink); border:1px solid var(--color-line); border-radius:.6rem; padding:.85rem; width:100%; min-width:0; }
.field textarea { resize:vertical; min-height:10rem; }
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible { outline:2px solid var(--color-gold-ink); outline-offset:3px; }
.field-hint { font-size:.8rem; color:var(--color-muted); line-height:1.6; margin:.2rem 0 .8rem; }
.contact-status { font-size:.9rem; font-weight:650; min-height:1.7em; margin-bottom:0; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-form button:disabled { opacity:.55; cursor:not-allowed; }
#contact-verification { min-height:65px; margin-bottom:.5rem; }
@keyframes letter-arrive { from { opacity:0; transform:translateY(20px) rotate(-6deg); } to { opacity:1; transform:translateY(0) rotate(0); } }
@keyframes letter-check { to {stroke-dashoffset:0;} }
@keyframes letter-sent { 50% {transform:translate(15px,-10px) rotate(-4deg);} }
@media(max-width:760px) { .contact-layout {grid-template-columns:1fr;} .contact-aside {display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;align-items:start;} .contact-illustration{grid-row:1/5;} .contact-aside h2{margin:0;} .contact-aside>p{margin-block:.5rem;} .contact-shortcuts{grid-column:1/-1;grid-template-columns:1fr 1fr;margin-top:1.5rem;} }
@media(max-width:480px) { .form-grid{grid-template-columns:1fr;gap:0;} .contact-aside{display:block;} .contact-illustration{margin-bottom:1.5rem;} .contact-shortcuts{display:grid;grid-template-columns:1fr;} }
@media(prefers-reduced-motion:reduce) { .letter,.letter-check,.message-sent .letter{animation:none;stroke-dashoffset:0;} }
