.contact-layout{max-width:850px;padding-block:24px 88px}.contact-intro h2,.contact-confirmation h2{margin-bottom:16px;font-size:1.5rem;font-weight:600}.contact-notice{border-left:3px solid var(--color-brand);background:var(--surface-soft);margin-block:28px;padding:20px 24px}.contact-help{font-size:var(--text-small);color:var(--text-muted)}.contact-form{margin-top:28px}.contact-confirmation{margin-top:40px}.contact-feedback{min-height:1lh;font-size:var(--text-small)}.contact-privacy .contact-feedback{min-height:2lh;margin-top:8px}.contact-error{color:var(--contact-error-color);font-size:var(--text-small)}.contact-status{background:var(--surface-soft);border-left:3px solid var(--color-brand);overflow-wrap:anywhere;margin-top:24px;padding:20px}.contact-status-error{border-color:var(--contact-error-color)}.contact-confirmation[aria-busy=true] .contact-button:disabled{cursor:wait}#contact-turnstile{margin-top:24px}#contact-turnstile:empty,#contact-form-status:empty{display:none}.contact-field [aria-invalid=true]{border-color:var(--contact-error-color)}.contact-consent input[aria-invalid=true]{outline:2px solid var(--contact-error-color);outline-offset:2px}.contact-layout a{color:var(--color-brand);text-underline-offset:4px;text-decoration:underline}.contact-field{border-bottom:1px solid var(--border-color);gap:8px;padding-block:24px;display:grid}.contact-field label{flex-wrap:wrap;align-items:center;gap:12px;font-weight:600;display:flex}.contact-required,.contact-optional{font-size:var(--text-caption);vertical-align:middle;padding:1px 8px;font-weight:500;display:inline-block}.contact-required{background:var(--color-brand);color:var(--on-accent)}.contact-optional{background:var(--surface-soft);color:var(--text-muted)}.contact-field input,.contact-field select,.contact-field textarea{border:1px solid var(--field-border);border-radius:var(--radius-control);background:var(--surface-raised);width:100%;min-width:0;min-height:48px;color:var(--color-ink);padding:12px 16px}.contact-field textarea{resize:vertical}.contact-privacy{background:var(--surface-soft);margin-block:32px;padding:24px}.contact-privacy p{font-size:var(--text-small)}.contact-privacy-link{min-height:44px;font-size:var(--text-small);align-items:center;margin-bottom:8px;display:inline-flex}.contact-consent{cursor:pointer;align-items:flex-start;gap:12px;margin-top:16px;padding-block:8px;display:flex}.contact-consent input{width:22px;height:22px;accent-color:var(--color-brand);flex-shrink:0;margin-top:4px}.contact-button{border:1px solid var(--color-brand);border-radius:var(--radius-control);background:var(--color-brand);max-width:100%;min-height:52px;color:var(--on-accent);margin:24px auto 0;padding:12px 32px;font-weight:600;display:block}.contact-button:hover{background:var(--action-background)}.contact-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:24px;display:flex}.contact-actions .contact-button{min-width:220px;margin:0}.contact-button-secondary{background:var(--surface-raised);color:var(--color-brand)}.contact-button-secondary:hover{background:var(--surface-hover)}.contact-confirmation dl{margin-block:28px}.contact-confirmation dl>div{border-bottom:1px solid var(--border-color);padding-block:20px}.contact-confirmation dt{font-size:var(--text-small);color:var(--text-muted);font-weight:600}.contact-confirmation dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.contact-completion{border-top:3px solid var(--color-brand);background:var(--surface-soft);text-align:center;margin-top:16px;padding:48px 32px}.contact-completion-icon{color:var(--color-brand);margin:0 auto 24px;display:block}.contact-completion-icon circle,.contact-completion-icon path{stroke-dasharray:1;stroke-dashoffset:0}.contact-completion-icon circle{animation:.45s ease-out both contact-completion-draw}.contact-completion-icon path{animation:.3s ease-out .25s both contact-completion-draw}.contact-completion h2{margin-bottom:16px;font-size:1.5rem;font-weight:600;line-height:1.6}.contact-completion-link{align-items:center;min-height:44px;margin-top:28px;padding:8px 12px;display:inline-flex}@keyframes contact-completion-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.contact-completion-icon circle,.contact-completion-icon path{animation:none}}@media (width<=700px){.contact-layout{padding-block:16px 56px}.contact-confirmation{margin-top:32px}.contact-notice,.contact-privacy{padding:20px 16px}.contact-field{padding-block:20px}.contact-button{width:100%;padding-inline:16px}.contact-actions .contact-button{min-width:0}.contact-completion{padding:36px 20px}.contact-completion h2{font-size:1.25rem}}
