.contact,.contact-panel{--form-fg: var(--paper);--form-bg: var(--site-bg);--form-line: rgb(245 244 242 / 0.35);--form-muted: rgb(245 244 242 / 0.7)}.contact__title{padding-top:2.25rem}.contact__grid{display:grid;row-gap:2.5rem;margin-top:2rem}.contact__facts{order:2;margin-top:0}.contact__main{order:1}.contact__facts a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size 0.35s var(--ease)}.contact__facts a:hover{background-size:100% 1px}.contact__intro,.contact-done__title{font-size:clamp(1.5rem,2.78vw,3rem);line-height:1.2;letter-spacing:-0.04em}.contact-form{display:grid;row-gap:2rem;margin-top:clamp(2.5rem,5vw,4.5rem)}.contact-form[hidden]{display:none}.contact-form__row{display:grid;row-gap:2rem}.contact-field{display:block;min-width:0;margin:0;padding:0;border:0}.contact-field>label,.contact-field>legend{display:block;padding:0;font-size:0.75rem;line-height:1.25;letter-spacing:0.01em;text-transform:uppercase}.contact-field input:not([type=radio]),.contact-field textarea{display:block;width:100%;padding:0.625rem 0 0.75rem;border:0;border-bottom:1px solid var(--form-line);border-radius:0;background:transparent;color:var(--form-fg);font:400 clamp(1.125rem,1.53vw,1.625rem)/1.3 var(--grotesk);letter-spacing:-0.02em;transition:border-color 0.3s var(--ease)}.contact-field textarea{resize:vertical;min-height:8rem}.contact-field input,.contact-field textarea{caret-color:var(--form-fg)}.contact-field input:not([type=radio]):focus,.contact-field textarea:focus,.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{outline:none;border-radius:0;border-bottom-color:var(--form-fg);box-shadow:0 1px 0 var(--form-fg)}.contact-field__error{margin:0.5rem 0 0;font-size:0.875rem;line-height:1.3;color:var(--form-fg)}.contact-field input::selection,.contact-field textarea::selection{background:var(--form-fg);color:var(--form-bg)}.contact-field input:not([type=radio]):hover,.contact-field textarea:hover{border-bottom-color:var(--form-fg)}.contact-field input:-webkit-autofill{-webkit-text-fill-color:var(--form-fg);box-shadow:0 0 0 100px var(--form-bg) inset,0 1px 0 var(--form-fg);caret-color:var(--form-fg)}.contact-choice__options{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.875rem}.contact-choice__options input{position:absolute;width:1px;height:1px;opacity:0}.contact-choice__options span{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1rem;border:1px solid var(--form-line);font-size:0.875rem;cursor:pointer;transition:background-color 0.3s var(--ease),color 0.3s var(--ease),border-color 0.3s var(--ease)}.contact-choice__options span:hover{border-color:var(--form-fg)}.contact-choice__options input:checked+span{background:var(--form-fg);border-color:var(--form-fg);color:var(--form-bg)}.contact-choice__options input:focus-visible+span{outline:2px solid var(--form-fg);outline-offset:2px}.contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.contact-form__error{padding:1rem 1.25rem;border:1px solid var(--form-fg);font-size:clamp(1.125rem,1.53vw,1.625rem);line-height:1.3;letter-spacing:-0.02em}.contact-form__error a{text-decoration:underline;text-underline-offset:0.15em}.contact-form__foot{display:grid;row-gap:1.25rem;justify-items:start}.contact-form__send{min-height:3.5rem;padding:0 2rem;border:1px solid var(--form-fg);border-radius:0;background:var(--form-fg);color:var(--form-bg);font:400 0.75rem/1 var(--grotesk);letter-spacing:0.01em;text-transform:uppercase;cursor:pointer;transition:background-color 0.3s var(--ease),color 0.3s var(--ease)}.contact-form__send:hover{background:transparent;color:var(--form-fg)}.contact-form__send:disabled{opacity:0.6;cursor:progress}.contact-form__note{max-width:32rem;font-size:0.875rem;line-height:1.4;color:var(--form-muted)}.contact-form__note a{text-decoration:underline;text-underline-offset:0.15em}.contact-done{margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:1rem;border-top:1px solid var(--form-line)}.contact-done__text{margin-top:1rem;font-size:clamp(1.125rem,1.53vw,1.625rem);line-height:1.3;letter-spacing:-0.02em}.contact__after{margin-top:clamp(4rem,10vw,9rem)}@media(min-width:48em){.contact-form__row{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--col-gap)}.contact-form__foot{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:2rem}}@media(min-width:62em){.contact__title{padding-top:clamp(1.5rem,6vh,4.5rem)}.contact__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);margin-top:clamp(1.5rem,5vh,4rem)}.contact__facts{order:0;grid-column:1 / 5;grid-row:1;align-self:end;position:sticky;bottom:clamp(1.5rem,5vh,3.5rem)}.contact__main{order:0;grid-column:5 / -1;grid-row:1}}.anim .contact__grid{opacity:0}.contact-panel{--form-fg: var(--ink);--form-bg: var(--paper);--form-line: rgb(17 17 17 / 0.3);--form-muted: #5c5c58;position:fixed;inset:0.75rem 0.75rem 0.75rem auto;width:min(50rem,calc(100vw - 1.5rem));height:fit-content;max-width:none;max-height:calc(100dvh - 1.5rem);margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;border:0;background:var(--paper);color:var(--ink);box-shadow:0 1.5rem 5rem rgb(0 0 0 / 0.45)}.contact-panel::backdrop{background:rgb(17 17 17 / 0.6)}html.lenis.has-panel.lenis-stopped{overflow:visible}@media(hover:none){html.has-panel,html.lenis.has-panel.lenis-stopped{overflow:hidden}}.contact-panel__in{padding:1.25rem}.contact-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.contact-panel__title{margin:0;font:400 clamp(2rem,3.4vw,3.5rem)/1.05 var(--grotesk);letter-spacing:-0.04em}.contact-panel__title:focus{outline:none}.contact-panel__close{flex:none;min-height:2.75rem;padding:0 1rem;border:1px solid var(--form-line);border-radius:0;background:transparent;color:inherit;font:400 0.75rem/1 var(--grotesk);letter-spacing:0.01em;text-transform:uppercase;cursor:pointer;transition:background-color 0.3s var(--ease),color 0.3s var(--ease),border-color 0.3s var(--ease)}.contact-panel__close:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.contact-panel .contact-form,.contact-panel .contact-done{margin-top:clamp(1.5rem,3vw,2.25rem)}.contact-panel .contact-form{row-gap:1.5rem}.contact-panel .contact-form__row{row-gap:1.5rem}.contact-panel .contact-done{padding-bottom:1rem}.contact-done__title{margin:0}@media(min-width:48em){.contact-panel__in{padding:1.5rem}}@media(prefers-reduced-motion:no-preference){.contact-panel[open]{animation:contact-panel-in 0.7s var(--ease)}.contact-panel[open]::backdrop{animation:contact-panel-fade 0.5s ease}}@keyframes contact-panel-in{from{opacity:0;transform:translateY(1.5rem)}}@keyframes contact-panel-fade{from{opacity:0}}
