.contact{--contact-face-w:45vw;isolation:isolate;background:var(--about-bg-end);padding-top:clamp(2rem,5vw,5rem);position:relative;overflow-x:clip}@media (max-width:1023px){.contact{--contact-face-w:52vw}}.contact-scene{height:calc(var(--contact-face-w) * 208 / 192);touch-action:pan-y;position:relative;overflow:clip}.contact-face{width:var(--contact-face-w);aspect-ratio:192/208;will-change:transform;position:absolute;top:0}.contact-face--left{left:0}.contact-face--right{right:0}.contact-face canvas{animation:9s ease-in-out infinite alternate contact-float;display:block;position:absolute;top:0}.contact-face--right canvas{animation-duration:11s;animation-delay:-4s}@keyframes contact-float{0%{transform:translateY(-3px)}to{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.contact-face canvas{animation:none}}.contact{padding-bottom:clamp(3rem,5vw,5rem)}.contact-label{font-family:var(--font-mono), monospace;font-size:var(--work-meta-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-nav);font-weight:600;line-height:1.3}.contact-body{padding:clamp(1.5rem, 3vw, 3rem) var(--grid-margin) 0;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:relative}.contact-body-label{grid-column:1/-1;margin:0 0 1.25rem}.contact-title{font-family:var(--font-sans), Arial, Helvetica, sans-serif;letter-spacing:-.015em;text-wrap:balance;color:var(--color-ink);grid-column:1/-1;margin:0;font-size:clamp(2.2rem,11.5vw,3.6rem);font-weight:500;line-height:1.08}.contact-reply{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-lead);grid-column:1/-1;margin:1.25rem 0 0;font-size:1.0625rem;font-weight:500;line-height:1.6}.contact-form-col{grid-column:1/-1;margin-top:clamp(2.5rem,6vw,4.5rem)}@media (min-width:1024px){.contact-body-label{grid-column:1/2;margin:0;padding-top:.9em}.contact-title{font-size:calc(5.4 * var(--about-u));grid-column:2/7}.contact-reply{margin-top:calc(1.6 * var(--about-u));font-size:max(15px, calc(1.5 * var(--about-u)));grid-column:2/6}.contact-form-col{margin-top:calc(5 * var(--about-u));grid-column:2/7}}.contact-form-root{position:relative}.contact-form{grid-template-columns:minmax(0,1fr);row-gap:clamp(2.75rem,3.6vw,3.5rem);display:grid;position:relative}@media (min-width:768px){.contact-form{column-gap:calc(var(--grid-col) * .5);grid-template-columns:repeat(2,minmax(0,1fr))}.contact-field--wide,.contact-types,.contact-consent,.contact-actions{grid-column:1/-1}}.contact-field{min-width:0;position:relative}.contact-field-label{font-family:var(--font-mono), monospace;font-size:var(--work-meta-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-nav);flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;margin:0 0 .55rem;padding:0;font-weight:600;line-height:1.3;transition:color .35s;display:flex}.contact-field:focus-within .contact-field-label{color:var(--color-ink)}.contact-optional{opacity:.6;letter-spacing:.06em;font-weight:400}.contact-field input,.contact-field textarea{width:100%;min-width:0;color:var(--color-ink);font-family:var(--font-sans), Arial, Helvetica, sans-serif;caret-color:var(--color-ink);background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:.35em 0 .5em;font-size:clamp(1.25rem,5.2vw,1.5rem);font-weight:500;line-height:1.3;display:block}@media (min-width:1024px){.contact-field input,.contact-field textarea{font-size:calc(2 * var(--about-u))}}.contact-field textarea{resize:none;min-height:2.9em;line-height:1.4;overflow:hidden}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#e7e7ea4d;opacity:1}.contact-field input:-webkit-autofill{-webkit-text-fill-color:var(--color-ink);box-shadow:0 0 0 100px var(--about-bg-end) inset;transition:background-color 9999s}.contact-field:before,.contact-field:after{content:"";height:1px;position:absolute;bottom:0;left:0;right:0}.contact-field:before{background:#fff3}.contact-field:after{background:var(--color-ink);transform-origin:0;transition:transform .55s cubic-bezier(.22,1,.36,1);transform:scaleX(0)}.contact-field:focus-within:after{transform:scaleX(1)}.contact-field:has([aria-invalid=true]):after{transform:scaleX(1)}.contact-field:focus-within:after{height:2px}.contact-field:has([aria-invalid=true]):not(:focus-within):after{background:#e7e7ea99}.contact-error{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-ink);margin:0;padding-left:1.1em;font-size:.9375rem;font-weight:500;line-height:1.35;animation:.4s cubic-bezier(.22,1,.36,1) both contact-error-in;position:absolute;top:calc(100% + .6rem);left:0}.contact-error:before{content:"";background:var(--color-ink);width:6px;height:6px;position:absolute;top:.5em;left:0}@keyframes contact-error-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.contact-types{border:0;min-width:0;margin:0;padding:0}.contact-types .contact-field-label{margin-bottom:1rem}.contact-chips{flex-wrap:wrap;gap:.6rem;display:flex}.contact-chip{min-height:2.75rem;color:var(--color-nav);font-family:var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1c;border-radius:2px;padding:0 clamp(.85rem,1.1vw,1.3rem);font-size:clamp(13px,.85vw,16px);font-weight:600;transition:background-color .3s,color .3s,border-color .3s}.contact-chip:hover{color:var(--color-ink);background:#ffffff1a}.contact-chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--about-bg-end)}.contact-chip:focus-visible,.contact-check input:focus-visible+.contact-check-box,.contact-submit:focus-visible,.contact-consent a:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.contact-consent{position:relative}.contact-check{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;display:grid}.contact-check input{opacity:0;pointer-events:none;width:1.5rem;height:1.5rem;margin:0;position:absolute}.contact-check-box{background:#ffffff0e;border:1px solid #ffffff4d;border-radius:2px;width:1.5rem;height:1.5rem;margin-top:.1rem;transition:background-color .3s,border-color .3s;position:relative}.contact-check-box:after{content:"";border:solid var(--about-bg-end);border-width:0 2px 2px 0;width:.4rem;height:.75rem;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(45deg)scale(0)}.contact-check input:checked+.contact-check-box{background:var(--color-ink);border-color:var(--color-ink)}.contact-check input:checked+.contact-check-box:after{transform:translate(-50%,-50%)rotate(45deg)scale(1)}.contact-check input[aria-invalid=true]+.contact-check-box{border-color:var(--color-ink)}.contact-check-text{max-width:46rem;font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-lead);font-size:1rem;font-weight:500;line-height:1.5}.contact-consent a{color:var(--color-ink);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.contact-consent .contact-error{margin-top:.8rem;position:static}.contact-actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;display:flex}.contact-submit{height:clamp(2.9rem,3vw,3.5rem);color:var(--color-nav);font-family:var(--font-mono), monospace;text-transform:uppercase;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1c;border-radius:2px;align-items:center;gap:12px;padding:0 clamp(.9rem,1vw,1.2rem);font-size:clamp(15px,1.05vw,20px);font-weight:600;transition:background-color .3s,color .3s;display:inline-flex}.contact-submit:hover{color:var(--color-ink);background:#ffffff1a}.contact-submit-dot{background:#e8e9e6;border-radius:9999px;width:9px;height:9px}.contact-submit[aria-busy=true]{cursor:progress;color:var(--color-ink)}.contact-submit[aria-busy=true] .contact-submit-dot{animation:.9s ease-in-out infinite alternate contact-pulse}@keyframes contact-pulse{0%{opacity:.5;transform:scale(.6)}to{opacity:1;transform:scale(1.25)}}.contact-form-error{max-width:34rem;font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-ink);margin:0;padding-left:1.1em;font-size:1rem;font-weight:500;line-height:1.4;animation:.4s cubic-bezier(.22,1,.36,1) both contact-error-in;position:relative}.contact-form-error:before{content:"";background:var(--color-ink);width:6px;height:6px;position:absolute;top:.5em;left:0}.contact-hp{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.contact-done{outline:none;justify-items:start;gap:1.25rem;padding-top:.5rem;display:grid}.contact-done-title{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-ink);margin:0;font-size:clamp(1.8rem,7vw,2.75rem);font-weight:500;line-height:1.15}@media (min-width:1024px){.contact-done-title{font-size:calc(3.3 * var(--about-u))}}.contact-done-text{max-width:34rem;font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-lead);margin:0;font-size:1.0625rem;font-weight:500;line-height:1.6}.contact-submit--again{margin-top:1rem}@media (prefers-reduced-motion:reduce){.contact-error,.contact-form-error{animation:none}.contact-field:after,.contact-check-box:after{transition:none}.contact-submit[aria-busy=true] .contact-submit-dot{animation:none}}
