.contact-shell{display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:1fr;align-items:start;padding-block:clamp(48px,8vw,96px)}@media (min-width:960px){.contact-shell:not(.contact-shell--narrow){grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,6vw,96px)}}.contact-shell--narrow{max-width:62ch}.contact-intro{display:flex;flex-direction:column;gap:16px;max-width:62ch}.contact-intro .t-display{font-size:clamp(2.75rem,1.5rem + 5.8vw,4.5rem)}.contact-direct{margin-block-start:8px}.contact-inline-link,.contact-privacy a,.contact-state a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.contact-inline-link:hover,.contact-privacy a:hover{color:var(--accent-deep)}.contact-panel{background:var(--surface);border:1px solid var(--ink-3);border-radius:2px;box-shadow:var(--shadow-lift);padding:clamp(20px,4vw,32px)}.contact-form{gap:20px}.contact-field,.contact-form{display:flex;flex-direction:column}.contact-field{gap:6px}.contact-label{font-family:var(--theme-font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-ink-mono-strong,var(--ink))}.contact-optional{color:var(--theme-ink-mono,var(--ink-3));text-transform:none;letter-spacing:.08em}.contact-help{font-size:14px;line-height:1.5;color:var(--ink-2);margin:0}.contact-control{width:100%;min-height:44px;padding:10px 12px;font-family:var(--theme-font-body);font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper);border:1px solid var(--ink-3);border-radius:2px;transition:border-color var(--transition-duration-fast) var(--transition-timing-function-default),background-color var(--transition-duration-fast) var(--transition-timing-function-default)}textarea.contact-control{min-height:160px;resize:vertical}.contact-control:hover{border-color:var(--ink-2)}.contact-control:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.contact-control[aria-invalid=true]{border-color:var(--accent-deep);border-width:2px}.contact-error{min-height:1.25em;margin:0;font-size:14px;line-height:1.25;color:var(--accent-deep)}.contact-error:empty{min-height:0}.contact-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:12px 20px;font-family:var(--theme-font-body);font-size:.9375rem;font-weight:600;letter-spacing:0;text-decoration:none;border-radius:2px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background-color var(--transition-duration-fast) var(--transition-timing-function-default),color var(--transition-duration-fast) var(--transition-timing-function-default),transform var(--transition-duration-fast) var(--transition-timing-function-default)}.contact-button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.contact-button--primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.contact-button--secondary:hover{background:var(--ink);color:var(--paper)}.contact-button--quiet{border-color:transparent;padding-inline:8px;text-decoration:underline;text-underline-offset:4px}.contact-button--quiet:hover{color:var(--accent-deep)}.contact-button:disabled{cursor:progress;opacity:.72}@media (prefers-reduced-motion:reduce){.contact-button,.contact-control{transition:none}}.contact-submit-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.contact-privacy{color:var(--ink-2);max-width:60ch;margin:0}.contact-state{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:2px;border:1px solid var(--ink-3);background:var(--surface)}.contact-state--error{border-inline-start:3px solid var(--accent-deep)}.contact-state--success{border-inline-start:3px solid var(--accent)}.contact-state h2{scroll-margin-block-start:96px}.contact-state-title{font-weight:600;margin:0}.contact-state-fallback{margin:0}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-block-start:8px}.contact-reason{color:var(--ink-2)}.contact-panel :focus-visible,.contact-state :focus-visible{outline:2px solid var(--accent);outline-offset:2px}