.letter-paper{--contact-ink:#10324a;isolation:isolate;width:min(100%,620px);padding:clamp(36px,5vw,64px) clamp(28px,5vw,64px) clamp(40px,5vw,60px) clamp(40px,6vw,84px);position:relative;transform:rotate(-1.4deg)}.letter-paper>canvas{z-index:-1;pointer-events:none;position:absolute;inset:0}.letter-stamp{width:78px;height:92px;position:absolute;top:22px;right:24px;transform:rotate(4deg)}.letter-stamp img{object-fit:cover;object-position:50% 30%;width:calc(100% - 16px);height:calc(100% - 24px);position:absolute;inset:10px 8px 14px}.contact-lines{color:var(--contact-ink);font-family:LXGW WenKai GB Screen,Kaiti SC,KaiTi,serif}.contact-greeting{text-wrap:balance;margin:0;padding-right:96px;font-size:clamp(22px,2.2vw,30px);font-weight:400;line-height:1.4}.contact-note{opacity:.62;margin:6px 0 22px;font-size:15px}.contact-list{gap:14px;margin:0;display:grid}.contact-row{grid-template-columns:4.5em 1fr;align-items:baseline;gap:10px;display:grid}.contact-row dt{opacity:.55;font-size:14px}.contact-row dd{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;font-size:clamp(17px,1.4vw,21px);display:flex}.contact-email{overflow-wrap:anywhere;font-family:Endorphins Home IBM Plex Mono,ui-monospace,monospace;font-size:.92em}.contact-actions{gap:8px;display:inline-flex}.contact-button{min-height:36px;color:var(--contact-ink);font:inherit;cursor:pointer;background:0 0;border:1.5px solid #10324a73;border-radius:999px 999px 999px 6px;align-items:center;padding:0 14px;font-size:14px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.contact-button:hover{background:#10324a14;transform:rotate(-1.5deg)}.contact-button:disabled{opacity:.4;cursor:default}.contact-link{color:var(--contact-ink);text-underline-offset:5px;text-decoration-thickness:1.5px}.letter-sign{text-align:right;opacity:.8;margin:30px 0 0;font-size:17px}:is(.contact-button:focus-visible,.contact-link:focus-visible){outline-offset:3px;outline:2px solid}.contact-page{color:#e8f3f3;background:radial-gradient(circle at 50% -10%,#4aa5c22e,#0000 40%),linear-gradient(#0d3248 0%,#092337 46%,#06131f 100%);flex-direction:column;width:100%;min-height:100svh;font-family:Avenir Next,Segoe UI,PingFang SC,Hiragino Sans,sans-serif;display:flex;position:relative}:is(html:has(.contact-page),body:has(.contact-page)){background:#06131f}.contact-topbar{justify-content:space-between;align-items:center;min-height:72px;padding:0 clamp(18px,4.6vw,72px);display:flex}.contact-home-link{color:#ebf6f6d1;align-items:center;min-height:44px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.contact-home-link:hover{color:#fff}.contact-lang{gap:6px;display:flex}.contact-lang-option{color:#e5f2f46e;min-width:28px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;font-size:11px}.contact-lang-option:is(:hover,[aria-pressed=true]){color:#f5fbfa}:is(.contact-home-link:focus-visible,.contact-lang-option:focus-visible){outline-offset:3px;outline:2px solid #edf8f8f0}.contact-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-stage{flex:1;place-items:center;padding:24px 18px 64px;display:grid}.contact-dialog{background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:auto}.contact-dialog[open]{place-items:center;display:grid}.contact-dialog::backdrop{background:#030c1499;animation:.32s both contact-backdrop-in}.contact-dialog[data-state=closing]::backdrop{animation:.32s both contact-backdrop-out}.contact-scrim{cursor:default;background:0 0;border:0;position:fixed;inset:0}.contact-dialog-letter{justify-items:center;gap:18px;width:min(100% - 36px,620px);padding:32px 0;animation:.62s cubic-bezier(.16,1,.3,1) both contact-letter-in;display:grid;position:relative}.contact-dialog[data-state=opening] .contact-dialog-letter,.contact-dialog[data-state=opening] .contact-scrim,.contact-dialog[data-state=closing] .contact-dialog-letter,.contact-dialog[data-state=closing] .contact-scrim{pointer-events:none}.contact-dialog[data-state=closing] .contact-dialog-letter{animation:.32s cubic-bezier(.7,0,.84,0) both contact-letter-out}.contact-dialog-close{color:#e8f3f3;min-height:44px;font:inherit;cursor:pointer;background:#06131f66;border:1.5px solid #deeef066;border-radius:999px 999px 999px 8px;padding:0 20px;font-size:15px}.contact-dialog-close:hover{background:#06131fb3}.contact-dialog-close:focus-visible{outline-offset:3px;outline:2px solid #e8f3f3}@keyframes contact-letter-in{0%{opacity:0;transform:translate(var(--from-x,0), var(--from-y,0)) scale(.12) rotate(-10deg)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes contact-letter-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(var(--from-x,0), var(--from-y,0)) scale(.12) rotate(-10deg)}}@keyframes contact-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes contact-backdrop-out{0%{opacity:1}to{opacity:0}}@media (max-width:600px){.letter-stamp{width:60px;height:72px;top:14px;right:14px}.contact-greeting{padding-right:64px}.contact-row{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){.contact-button{transition:none}.contact-dialog-letter,.contact-dialog[data-state=closing] .contact-dialog-letter{animation:none}.contact-dialog::backdrop{animation:none}}
