.contact-open-trigger{display:inline-flex;align-items:center;gap:9px;margin-top:22px;padding:0;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);font:500 12px/1.6 Manrope,Arial,Helvetica,sans-serif;letter-spacing:.04em;cursor:pointer}
.contact-open-trigger:hover{border-color:var(--ink)}
.contact-open-trigger:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.contact-dialog{width:min(620px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:clamp(22px,4vw,38px);overflow:auto;border:1px solid var(--rule);background:var(--surface);color:var(--foreground);font:400 14px/1.6 Manrope,Arial,Helvetica,sans-serif;box-shadow:0 22px 80px #0002}
.contact-dialog::backdrop{background:rgba(17,18,17,.52);backdrop-filter:blur(3px)}
.contact-dialog[open]{animation:contact-dialog-in .22s cubic-bezier(.22,1,.36,1) both}
@keyframes contact-dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.contact-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 27px}
.contact-dialog-kicker{margin:0 0 8px;color:var(--quiet);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.contact-dialog-header h2{margin:0;color:var(--ink);font-size:clamp(28px,5vw,38px);font-weight:500;letter-spacing:-.045em;line-height:1}
.contact-dialog-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:-6px -6px 0 0;border:1px solid var(--rule);background:transparent;color:var(--ink);font:400 25px/1 Manrope,Arial,Helvetica,sans-serif;cursor:pointer}
.contact-dialog-close:hover{border-color:var(--ink)}
.contact-dialog-close:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
.contact-form{display:grid;gap:18px}
.contact-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}
.contact-subjects legend{width:100%;margin:0 0 9px;color:var(--ink);font-size:13px;font-weight:500}
.contact-subjects label{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 11px;border:1px solid var(--rule);color:var(--foreground);font-size:12px;line-height:1.4;cursor:pointer}
.contact-subjects label:has(input:checked){border-color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,var(--surface))}
.contact-subjects input{width:15px;height:15px;margin:0;accent-color:var(--ink);flex:0 0 auto}
.contact-subjects input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.contact-form-field label{display:block;margin:0 0 6px;color:var(--ink);font-size:12px;font-weight:500}
.contact-form-field input,.contact-form-field textarea{display:block;width:100%;padding:10px 11px;border:1px solid var(--rule);border-radius:0;background:transparent;color:var(--ink);font:400 14px/1.5 Manrope,Arial,Helvetica,sans-serif}
.contact-form-field textarea{min-height:106px;resize:vertical}
.contact-form-field input:focus-visible,.contact-form-field textarea:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.contact-form-note{margin:-5px 0 0;color:var(--secondary);font-size:12px;line-height:1.55}
.contact-form-submit{justify-self:start;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid var(--ink);background:var(--ink);color:var(--surface);font:500 13px/1.4 Manrope,Arial,Helvetica,sans-serif;letter-spacing:.02em;cursor:pointer}
.contact-form-submit:hover{background:transparent;color:var(--ink)}
.contact-form-submit:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
@media(max-width:480px){.contact-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px 17px}.contact-dialog-header{margin-bottom:21px}.contact-subjects{gap:7px}.contact-subjects label{font-size:12px;padding:8px}.contact-form{gap:15px}}
@media(prefers-reduced-motion:reduce){.contact-dialog[open]{animation:none}}

@media(min-width:701px){.site-footer-grid>.site-footer-group:nth-child(1){justify-self:start}.site-footer-grid>.site-footer-group:nth-child(2){justify-self:center}.site-footer-grid>.site-footer-group:nth-child(3){justify-self:end}}
@media(max-width:480px){.site-footer-grid>.site-footer-group:nth-child(n){width:100%;justify-self:stretch}}

.contact-honeypot{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form-status{min-height:1.55em;margin:-12px 0 0;color:var(--secondary);font-size:12px;line-height:1.55}
.contact-form-submit:disabled{opacity:.55;cursor:wait}

