:root{color-scheme:light;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#111;background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0;height:100vh;height:100svh;display:flex;flex-direction:column;background:#fff;overflow:hidden}
main{flex:1;min-height:0;display:grid;place-items:center;padding:64px 24px 24px}
.identity{text-align:center;padding-bottom:28px}
.orbit{display:block;width:144px;height:144px;object-fit:contain;margin:0 auto 24px}
.orbit-moving{display:none}
.orbit.is-animating .orbit-still{display:none}
.orbit.is-animating .orbit-moving{display:inline}
h1{font-size:1.875rem;line-height:1.25;letter-spacing:-.045em;font-weight:500;margin:0}
p{font-size:.9375rem;line-height:1.6;font-weight:400;color:#737373;margin:12px 0 0}
footer{flex:none;text-align:center;padding:22px 24px 32px}
button,input,textarea{font:inherit}
button{cursor:pointer}
.contact{position:relative;width:min(100%,360px);margin:0 auto}
.contact-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;line-height:1.6;color:#555;background:none;border:0;padding:10px;text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:5px}
.contact-toggle:hover{color:#111;text-decoration-color:#111}
.contact-toggle svg{transition:transform .24s ease}
.contact-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.contact-panel{position:absolute;left:0;right:0;bottom:calc(100% + 10px);z-index:1;background:#fff;display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(8px);visibility:hidden;transition:grid-template-rows .28s ease,opacity .22s ease,transform .28s ease,visibility 0s .28s}
.contact-panel.is-open{grid-template-rows:1fr;opacity:1;transform:translateY(0);visibility:visible;transition-delay:0s}
.contact-panel-inner{min-height:0;max-height:calc(100svh - 120px);overflow:hidden}
.contact-panel.is-open .contact-panel-inner{overflow-y:auto}
#contact-form{padding-top:18px;text-align:left}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#contact-form label{display:block;font-size:.6875rem;line-height:1.5;color:#737373}
#contact-form input,#contact-form textarea{display:block;width:100%;min-width:0;margin:4px 0 18px;padding:7px 0;border:0;border-bottom:1px solid #ddd;border-radius:0;background:transparent;color:#111;font-size:.875rem;line-height:1.5;transition:border-color .18s ease}
#contact-form textarea{resize:vertical;min-height:72px;max-height:180px}
#contact-form input:focus,#contact-form textarea:focus{outline:none;border-bottom-color:#111}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-actions{display:flex;align-items:center;gap:16px;min-height:36px}
.contact-send{flex:none;padding:8px 20px;border:1px solid #111;border-radius:3px;background:#111;color:#fff;font-size:.75rem;line-height:1.5;transition:background .18s ease,opacity .18s ease}
.contact-send:hover{background:#333}
.contact-send:disabled{cursor:wait;opacity:.55}
#contact-status{font-size:.75rem;line-height:1.5;color:#737373}
#contact-status.is-error{color:#9b3434}
button:focus-visible{outline:2px solid #111;outline-offset:5px;border-radius:3px}
::selection{background:#e8e8e8;color:#111}
@media(max-width:480px){main{padding-top:40px}.orbit{width:128px;height:128px;margin-bottom:22px}h1{font-size:1.75rem}footer{padding-bottom:26px}}
@media(prefers-reduced-motion:reduce){.contact-panel,.contact-toggle svg{transition:none;transform:none}.orbit.is-animating .orbit-moving{display:none}.orbit.is-animating .orbit-still{display:inline}}
