.study-image{background:#fff;aspect-ratio:1.1}.study-image img{object-fit:contain}
.nav nav{gap:24px;font-size:11px;letter-spacing:.07em}
@media(max-width:600px){.nav nav{gap:10px;font-size:8px;letter-spacing:0}.nav nav a:last-child{display:block}.nav-end .contact{display:none}.nav{padding-left:14px;padding-right:14px}.wordmark{font-size:20px}}
.contact-shell{max-width:850px;margin:0 auto}.contact-demo{font-size:12px;text-align:center;margin-bottom:18px;color:var(--muted)}
.contact-card{perspective:1500px}.contact-card-inner{display:grid;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.contact-card.is-flipped .contact-card-inner{transform:rotateY(180deg)}
.contact-face{grid-area:1/1;min-width:0;padding:44px;border:1px solid var(--line);border-radius:20px;background:var(--surface);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 20px 65px #0002}
.contact-front{display:flex;flex-direction:column;gap:26px}.contact-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-front label{display:flex;flex-direction:column;gap:11px;font-size:13px;font-weight:600;letter-spacing:.02em}
.contact-front input,.contact-front textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:14px 16px;font:inherit;font-size:15px;line-height:1.5;outline:none}
.contact-front textarea{resize:vertical;min-height:150px;max-height:400px}.contact-front input:focus,.contact-front textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.contact-submit{display:flex;justify-content:space-between;align-items:center;align-self:flex-end;gap:70px;background:var(--accent);color:var(--bg);padding:14px 22px;border-radius:30px;font-size:14px;font-weight:650}.contact-submit:hover{filter:brightness(1.08)}.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:24px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface) 70%)}
.contact-check{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:28px}.contact-back p{max-width:590px;font-size:clamp(23px,3vw,34px);line-height:1.35;color:var(--text);letter-spacing:-.6px}.contact-again{background:none;color:var(--accent);font-size:13px;padding:10px}
.sr-contact,.contact-trap{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.contact-error{font-size:13px;color:#e38383}
@media(max-width:600px){.contact-face{padding:26px 22px;border-radius:14px}.contact-two{grid-template-columns:1fr;gap:22px}.contact-front{gap:22px}.contact-submit{width:100%}.contact-demo{font-size:11px}.contact-back p{font-size:25px}}
@media(prefers-reduced-motion:reduce){.contact-card-inner{transition:none}}

.contact-invitation{font-size:clamp(14px,1.3vw,17px);line-height:1.7;font-weight:400;color:var(--muted);text-align:center;margin:0 0 25px;text-wrap:balance}

.footer-meta .resume-download{color:var(--muted);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}.footer-meta .resume-download:hover{color:var(--text);text-decoration-color:currentColor}.footer-meta .resume-download:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:600px){.footer-meta{flex-wrap:wrap;row-gap:16px}}
