.contact-layout{grid-template-columns:minmax(0,760px) minmax(0,260px);justify-content:space-between;align-items:start;gap:40px 56px;display:grid}.contact-facts{margin:0}.letter-desk{perspective:1400px;max-width:760px;position:relative}.letter-sheet{border:1px solid var(--line-strong);background:linear-gradient(to right, transparent 34px, #d95a2838 34px 35px, transparent 35px), var(--surface);padding:clamp(24px,5vw,48px) clamp(20px,5vw,56px) 28px;position:relative;box-shadow:0 1px 2px #1e1c1814,0 18px 40px -24px #1e1c184d}.letter-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:0 0 28px;font-size:11px;font-weight:600;display:flex}.letter-head span:first-child{color:var(--text)}.letter-topics{border:0;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 28px;padding:0;display:flex}.letter-topics legend{float:left;font-family:var(--serif);margin-right:6px;font-size:20px;font-style:italic}.letter-topic input{opacity:0;pointer-events:none;position:absolute}.letter-topic span{border:1px solid var(--line-strong);min-height:36px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;padding:0 14px;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.letter-topic span:hover{border-color:var(--text);color:var(--text)}.letter-topic input:checked+span{border-color:var(--text);background:var(--text);color:var(--bg)}.letter-topic input:focus-visible+span{outline:2px solid var(--accent-ink);outline-offset:3px}.letter-salutation{font-family:var(--serif);margin:0 0 6px;font-size:26px;font-style:italic}.letter-body textarea{--rule:30px;width:100%;min-height:calc(var(--rule) * 11);resize:none;background:repeating-linear-gradient(to bottom, transparent 0 calc(var(--rule) - 1px), #24251f29 calc(var(--rule) - 1px) var(--rule));color:var(--text);font-family:var(--serif);font-size:19px;line-height:var(--rule);border:0;padding:4px 0 0;display:block;overflow:hidden}.letter-body textarea::placeholder,.letter-line input::placeholder{color:var(--faint);font-style:italic}.letter-body textarea:focus,.letter-line input:focus{outline:none}.letter-body:focus-within{box-shadow:-12px 0 0 -10px var(--accent-ink)}.letter-signoff{gap:14px;max-width:420px;margin:28px 0 0 auto;display:grid}.letter-line{grid-template-columns:76px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.letter-line span{font-family:var(--serif);font-size:18px;font-style:italic}.letter-line input{border:0;border-bottom:1px solid var(--line-strong);width:100%;min-height:40px;font-family:var(--serif);background:0 0;padding:4px 0;font-size:19px;transition:border-color .15s}.letter-line input:focus{border-bottom-color:var(--accent-ink)}.letter [aria-invalid=true]{border-bottom-color:#b3261e}.letter-body textarea[aria-invalid=true]{box-shadow:inset 3px 0 #b3261e}.letter-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.letter-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 20px;margin-top:20px;display:flex}.letter-status{color:var(--muted);flex:240px;margin:0;font-size:14px}.letter-status.is-error{color:#b3261e}.letter-send{background:var(--ink);min-height:48px;color:var(--paper);border-radius:999px;align-items:center;gap:10px;padding:0 24px 0 18px;font-size:15px;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 8px 24px #1e1c182e}.letter-send:before{content:"";background:radial-gradient(circle at 35% 35%, #e0764a, var(--accent-ink) 60%, #7d2f12);border-radius:50%;width:18px;height:18px}.letter-send:hover:not(:disabled){background:var(--accent-ink)}.letter-send:disabled{cursor:wait;opacity:.8}.letter-desk[data-state=sending] .letter-send:before{animation:.9s ease-in-out infinite seal-wait}@keyframes seal-wait{50%{transform:scale(.8)}}.envelope{--w:min(360px, 78vw);--h:calc(var(--w) * .6);width:var(--w);height:var(--h);margin-left:calc(var(--w) / -2);opacity:0;pointer-events:none;transform-style:preserve-3d;position:absolute;top:120px;left:50%}.envelope>div{position:absolute;inset:0}.envelope-back{background:#e6ddcb;box-shadow:0 20px 40px -18px #1e1c1873}.envelope-letter{background:repeating-linear-gradient(to bottom, transparent 0 9px, #24251f29 9px 10px), var(--surface);opacity:0;transform:translateY(-120%);inset:8% 8% 30%!important}.envelope-front{clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:linear-gradient(to top right,#0000 49.6%,#7864461f 50%,#0000 50.4%) 0 100%/50% 100% no-repeat,linear-gradient(to top left,#0000 49.6%,#7864461f 50%,#0000 50.4%) 100% 100%/50% 100% no-repeat,#ece3d1}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 96%);transform-origin:top;backface-visibility:visible;filter:drop-shadow(0 2px 2px #3c28142e);background:#e1d6c1;height:60%;transform:rotateX(180deg)}.envelope-seal{aspect-ratio:1;background:radial-gradient(circle at 35% 30%, #e38459, var(--accent-ink) 55%, #6f2810);color:#fff0e1d9;width:22%;font-family:var(--serif);border-radius:50%;place-items:center;font-size:clamp(20px,4vw,30px);font-style:italic;display:grid;transform:translate(-50%,-50%)scale(0);box-shadow:inset 0 0 0 3px #ffffff1f,0 3px 8px #3c140566;inset:50% auto auto 50%!important}.letter-desk[data-state=folding] .letter{pointer-events:none;animation:.7s cubic-bezier(.6,0,.4,1) forwards letter-fold}.letter-desk[data-state=folding] .envelope{animation:.4s ease-out .25s forwards envelope-in,.7s cubic-bezier(.5,0,.8,.4) 1.85s forwards envelope-away}.letter-desk[data-state=folding] .envelope-letter{animation:.45s cubic-bezier(.3,0,.3,1) .6s forwards into-envelope}.letter-desk[data-state=folding] .envelope-flap{animation:.35s ease-in 1s forwards flap-close}.letter-desk[data-state=folding] .envelope-seal{animation:.45s cubic-bezier(.2,1.4,.4,1) 1.3s forwards seal-press}@keyframes letter-fold{40%{opacity:1;transform:rotateX(28deg)scaleY(.34)}to{opacity:0;transform:translateY(80px)rotateX(28deg)scale(.38,.12)}}@keyframes envelope-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes into-envelope{0%{opacity:1;transform:translateY(-120%)}to{opacity:1;transform:none}}@keyframes flap-close{to{transform:rotateX(0)}}@keyframes seal-press{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(-18deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-6deg)}}@keyframes envelope-away{0%{opacity:1;transform:none}to{opacity:0;transform:translate(60vw,-40px)rotate(8deg)}}.letter-desk[data-state=sent] .letter,.letter-desk[data-state=sent] .envelope{display:none}.letter-sent{padding:40px 0 8px;animation:.5s ease-out sent-in}.letter-sent:focus{outline:none}.letter-sent-title{font-family:var(--serif);margin:10px 0 8px;font-size:clamp(30px,4vw,42px);line-height:1.1}.letter-sent p:not(.label,.letter-sent-title){color:var(--muted);margin:0 0 20px;font-size:17px}@keyframes sent-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1000px){.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}@media (width<=560px){.contact-facts{grid-template-columns:minmax(0,1fr)}}.sent-envelope{filter:drop-shadow(0 10px 14px #1e1c1838);margin-bottom:20px;display:block;transform:rotate(-4deg)}@media (width<=620px){.letter-sheet{background:var(--surface)}.letter-signoff{margin-left:0}.letter-line{grid-template-columns:68px minmax(0,1fr)}.letter-send{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.letter-desk *,.letter-desk :before{transition:none!important;animation:none!important}}
