main.table{min-height:calc(100vh - 58px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(40px,7vw,90px) clamp(16px,5vw,48px) clamp(60px,9vw,110px);position:relative}.letter-wrap{position:relative;width:min(720px,100%)}.letter{position:relative;width:100%;background:#fcf8ee;background-image:linear-gradient(#fcf8ee,#f6efdd);color:#2a2317;border-radius:3px;padding:clamp(26px,4vw,42px) clamp(30px,5vw,56px);box-shadow:0 2px #0000000d,0 26px 50px -20px #0009,0 8px 18px -12px #00000080;transition:box-shadow .55s ease;overflow:hidden}.letter:before{content:"";position:absolute;inset:10px;border:1px solid rgba(120,80,30,.18);border-radius:2px;pointer-events:none}.letterhead{font-family:var(--font-display);font-size:clamp(22px,4vw,30px);color:#1f1a10;text-align:center;margin-bottom:6px}.salutation{font-family:Georgia,Times New Roman,serif;font-style:italic;color:#5a4a2e;text-align:center;font-size:15.5px;line-height:1.5;margin-bottom:20px;max-width:52ch;margin-left:auto;margin-right:auto}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}@media(max-width:520px){.field-row{grid-template-columns:1fr}}.field{display:block;margin-bottom:14px}.field>span{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:#8a6a3a;text-transform:uppercase;margin-bottom:5px}.field input,.field textarea{width:100%;font-family:Georgia,serif;font-size:16px;color:#2a2317;background:#ffffff80;border:1px solid rgba(120,80,30,.3);border-bottom-width:2px;border-radius:4px;padding:9px 11px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:#c0392b;background:#fff}.field input.bad,.field textarea.bad{border-color:#c0392b;background:#c0392b0f}.hp{position:absolute;left:-9999px}.send{margin-top:8px;width:100%;font-family:var(--font-body);font-weight:600;font-size:15px;letter-spacing:.02em;color:#fcf3e6;background:linear-gradient(#b0392b,#8f2a1e);border:1px solid #7a241a;border-radius:7px;padding:12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.send:hover{transform:translateY(-2px)}.send-err{text-align:center;font-size:13.5px;color:#b0231a;margin-top:12px}.fallback{text-align:center;font-size:13.5px;color:#7a6238;margin-top:16px}.fallback a{color:#b0392b}.letter-inner{transition:opacity .35s ease,filter .35s ease}.flap{position:absolute;left:0;right:0;top:0;height:58%;z-index:2;background:linear-gradient(165deg,#f4e8ca,#ecdcba 70%,#e6d4ae);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transform:scaleY(0);box-shadow:0 6px 14px -6px #50320f73;transition:transform .5s cubic-bezier(.5,.05,.2,1) .34s}.seal{position:absolute;left:50%;top:57%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;z-index:3;background:radial-gradient(circle at 38% 34%,#e0584a,#b0231a 55%,#7c160f);box-shadow:inset 0 -6px 12px #50080499,inset 0 4px 8px #ffaa9659,0 8px 16px -6px #0009;display:flex;align-items:center;justify-content:center;transform:scale(0);opacity:0}.seal:before{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px dashed rgba(255,200,190,.45)}.seal span{font-family:var(--font-display);font-size:28px;color:#f7d9d2;text-shadow:0 1px 1px rgba(80,8,4,.8);letter-spacing:.02em}.stamp{position:absolute;top:14px;right:16px;z-index:4;width:58px;height:70px;padding:5px;background:#fdfaf2;border:1px dashed #c8b48c;border-radius:2px;transform:rotate(5deg) scale(.6);opacity:0;box-shadow:0 4px 10px -5px #00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.stamp-motif{font-family:var(--font-display);font-size:30px;line-height:1;color:#b0231a}.stamp-cap{font-family:var(--font-mono);font-size:7px;letter-spacing:.08em;color:#8a6a3a}.return-addr{position:absolute;right:clamp(20px,5vw,44px);bottom:clamp(18px,4vw,34px);z-index:1;text-align:right;font-family:Georgia,Times New Roman,serif;font-style:italic;color:#5a4a2e;line-height:1.45;font-size:13.5px;opacity:0;transform:translateY(8px)}.return-addr b{display:block;font-style:normal;font-family:var(--font-display);font-size:15px;color:#2a2317}.return-addr span{display:block}.letter.sent .letter-inner{opacity:0;filter:blur(2px);pointer-events:none}.letter.sent .flap{transform:scaleY(1)}.letter.sent~.seal{animation:stamp .55s cubic-bezier(.3,1.4,.5,1) .72s forwards}.letter.sent .stamp{transition:transform .45s cubic-bezier(.3,1.4,.5,1) 1.15s,opacity .3s ease 1.15s;transform:rotate(5deg) scale(1);opacity:1}.letter.sent .return-addr{transition:transform .5s ease 1.4s,opacity .5s ease 1.4s;transform:none;opacity:1}@keyframes stamp{0%{transform:scale(0) rotate(-12deg);opacity:0}55%{transform:scale(1.18) scaleX(1.12) scaleY(.86) rotate(4deg);opacity:1}78%{transform:scale(.96) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}.sent-msg{margin-top:30px;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease;max-width:46ch}.sent-msg.show{opacity:1;transform:none}.sent-msg span{font-family:var(--font-display);font-size:22px;color:#f5e6cf;display:block}.sent-msg small{display:block;margin-top:8px;font-size:13.5px;color:#d8c2a0;line-height:1.55}@media(prefers-reduced-motion:reduce){.letter,.letter-inner,.seal,.sent-msg,.flap,.stamp,.return-addr{transition:none!important}.letter.sent~.seal{animation:none;transform:scale(1);opacity:1}.letter.sent .stamp{transform:rotate(5deg) scale(1);opacity:1}}footer.slim{display:none}
