.contact-shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:64px 0 80px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start;min-height:calc(100dvh - 160px)}
.contact-intro h1{font:600 clamp(2.4rem,5vw,3.5rem)/1.08 var(--font-display);letter-spacing:-.04em;margin:12px 0 24px}
.contact-intro>p{line-height:1.7;max-width:34ch}
.contact-intro .contact-note{margin-top:28px}
.contact-card{min-width:0;padding:28px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface)}
.contact-card h2{margin:0 0 8px;font:600 1.25rem/1.3 var(--font-display)}
.contact-note{font-size:.82rem;line-height:1.6;color:var(--color-muted)}
.contact-page main a{text-decoration:underline;text-underline-offset:3px}
.contact-card fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}
.contact-card label{display:block;font-size:.85rem;font-weight:600;margin:16px 0 7px}
.contact-card fieldset>label:first-of-type{margin-top:0}
.contact-card label span{font-weight:400;color:var(--color-muted)}
.contact-card input,.contact-card select,.contact-card textarea{display:block;width:100%;min-width:0;min-height:44px;border:1px solid var(--color-border);border-radius:10px;padding:11px 12px;background:var(--color-ivory);color:var(--color-text);font:inherit;font-size:1rem}
.contact-card textarea{resize:vertical;min-height:148px;line-height:1.5}
.contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-page :is(input,select,textarea,a,button):focus-visible{outline:3px solid var(--color-green);outline-offset:3px}
.contact-card :disabled{cursor:wait}
.contact-card .button{margin:8px 0 4px;min-height:46px}
#contact-status{font-size:.9rem;line-height:1.6;overflow-wrap:anywhere;margin:0}
#contact-status:not(:empty){padding:14px;margin:16px 0;background:var(--color-green-soft);border-radius:10px}
#contact-status[data-error="true"]{background:var(--color-clay-soft)}
.contact-alternative{border-top:1px solid var(--color-border);padding-top:18px;margin:18px 0 0}
.contact-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:740px){.contact-shell{grid-template-columns:1fr;gap:24px;padding:32px 0 48px;max-width:540px}.contact-intro>p{max-width:none}.contact-intro .contact-note{margin-top:16px}.contact-card{padding:22px}.contact-intro h1{margin-bottom:16px}}
@media(max-width:420px){.contact-pair{grid-template-columns:1fr;gap:0}.contact-card .button{width:100%}.contact-shell{width:calc(100% - 28px)}.contact-card{padding:18px}}
