body.contact-modal-open{overflow:hidden}.contact-cta{grid-template-columns:minmax(0,1fr) minmax(300px,.52fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.contact-copy,.contact-promise{z-index:1;position:relative}.contact-copy p{max-width:680px}.contact-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px;display:flex}.contact-backlink{color:var(--text);align-items:center;gap:9px;font-size:.9rem;font-weight:700;display:inline-flex}.contact-backlink i{color:var(--accent)}.contact-promise{border:1px solid color-mix(in srgb, var(--line-strong) 72%, var(--accent) 28%);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 84%, transparent);backdrop-filter:blur(16px);align-items:flex-start;gap:18px;padding:24px;display:flex;box-shadow:inset 0 1px #ffffff14}.contact-promise-icon{border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line));background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:14px;flex:0 0 48px;place-items:center;font-size:1.3rem;display:grid}.contact-promise strong{color:var(--text);font-size:1rem}.contact-promise p{color:var(--muted);margin:6px 0 0;font-size:.86rem;line-height:1.5}.contact-dialog{border:1px solid color-mix(in srgb, var(--line-strong) 72%, var(--accent) 28%);background:var(--surface);width:min(1120px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--text);box-shadow:0 32px 100px #00000085, 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:24px;margin:auto;padding:0;overflow:hidden}.contact-dialog[open]{animation:.22s ease-out both contact-dialog-in}.contact-dialog::backdrop{backdrop-filter:blur(12px)saturate(120%);background:#020810c7}:root[data-theme=light] .contact-dialog::backdrop{background:#0a1c3094}@keyframes contact-dialog-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.contact-dialog-shell{overscroll-behavior:contain;max-height:calc(100dvh - 34px);position:relative;overflow-y:auto}.contact-dialog-close{z-index:4;cursor:pointer;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 90%, transparent);width:42px;height:42px;color:var(--text);backdrop-filter:blur(14px);border-radius:50%;place-items:center;font-size:1rem;transition:border-color .16s,background-color .16s,transform .16s;display:grid;position:absolute;top:16px;right:16px;box-shadow:0 8px 24px #0000002e}.contact-dialog-close:hover{border-color:var(--accent);background:var(--surface-raised);transform:rotate(4deg)scale(1.04)}.contact-dialog-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);min-height:min(720px,100dvh - 34px);display:grid}.contact-dialog-grid[hidden],.contact-success[hidden],.contact-feedback[hidden],.contact-reference[hidden]{display:none!important}.contact-dialog-intro{isolation:isolate;border-right:1px solid var(--line);background:radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--accent-strong) 30%, transparent), transparent 20rem), radial-gradient(circle at 90% 84%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 22rem), linear-gradient(145deg, var(--surface-raised), var(--surface-quiet));flex-direction:column;justify-content:center;padding:clamp(42px,5vw,72px) clamp(28px,4vw,54px);display:flex;position:relative;overflow:hidden}.contact-dialog-intro:before,.contact-dialog-intro:after{z-index:-1;border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);content:"";pointer-events:none;border-radius:50%;position:absolute}.contact-dialog-intro:before{width:320px;height:320px;top:-120px;left:-100px}.contact-dialog-intro:after{width:430px;height:430px;bottom:-170px;right:-160px}.contact-dialog-intro h2,.contact-success h2{color:var(--text);letter-spacing:-.05em;text-wrap:balance;margin:16px 0 0;font-size:clamp(2rem,3.2vw,3.25rem);font-weight:720;line-height:1.02}.contact-dialog-intro>p,.contact-success>p{color:var(--muted);text-wrap:pretty;margin:18px 0 0;font-size:.98rem;line-height:1.6}.contact-dialog-points{gap:12px;margin:32px 0 0;padding:0;list-style:none;display:grid}.contact-dialog-points li{color:var(--text);align-items:center;gap:10px;font-size:.84rem;font-weight:650;display:flex}.contact-dialog-points i{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:0 0 24px;place-items:center;display:grid}.contact-form{align-self:center;padding:clamp(62px,6vw,78px) clamp(28px,4.5vw,58px) clamp(34px,4vw,52px);position:relative}.contact-feedback{background:color-mix(in srgb, #801f2b 24%, var(--surface));color:#ffd9dc;border:1px solid #a63a44;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}:root[data-theme=light] .contact-feedback{color:#781922;background:#fff0f1;border-color:#b74049}.contact-feedback>i{margin-top:1px;font-size:1.05rem}.contact-feedback div{gap:2px;display:grid}.contact-feedback strong{font-size:.82rem}.contact-feedback span{font-size:.78rem;line-height:1.45}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.contact-field{gap:8px;display:grid}.contact-field-wide{grid-column:1/-1}.contact-field>span{color:var(--text);letter-spacing:.02em;font-size:.76rem;font-weight:720}.contact-field input,.contact-field textarea{border:1px solid var(--line-strong);background:var(--surface-quiet);width:100%;color:var(--text);font:inherit;border-radius:12px;outline:none;font-size:.92rem;line-height:1.4;transition:border-color .16s,background-color .16s,box-shadow .16s}.contact-field input{min-height:48px;padding:11px 14px}.contact-field textarea{resize:vertical;min-height:136px;padding:13px 14px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--subtle)}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}:is(.contact-field input:user-invalid,.contact-field textarea:user-invalid){border-color:#c64b55}.contact-submit-row{align-items:center;gap:18px;min-height:42px;margin-top:22px;display:flex}.contact-submit-row .button,.contact-success-actions .button{cursor:pointer;flex:none}.contact-submit-row .button:disabled{cursor:wait;border-color:var(--line-strong);background:var(--surface-raised);color:var(--muted);box-shadow:none;transform:none}.contact-status{color:var(--muted);align-items:center;gap:9px;margin:0;font-size:.82rem;font-weight:620;line-height:1.4;display:inline-flex}.contact-status:empty{display:none}.contact-status[data-state=pending]:before{border:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-top-color:var(--accent);content:"";border-radius:50%;flex:0 0 14px;width:14px;height:14px;animation:.7s linear infinite contact-spin}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-security-note{color:var(--subtle);margin:17px 0 0;font-size:.7rem;line-height:1.55}.contact-security-note a{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.contact-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-success{background:radial-gradient(circle at 50% 16%, color-mix(in srgb, var(--accent-strong) 22%, transparent), transparent 24rem), linear-gradient(145deg, var(--surface-raised), var(--surface));text-align:center;align-content:center;justify-items:center;min-height:min(640px,100dvh - 34px);padding:clamp(64px,9vw,110px) clamp(28px,7vw,90px);display:grid}.contact-success-icon{border:1px solid color-mix(in srgb, #43c985 60%, var(--line));background:color-mix(in srgb, #178653 24%, var(--surface));color:#7be0ad;border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:26px;font-size:2.25rem;display:grid;box-shadow:0 0 42px #43c98533}:root[data-theme=light] .contact-success-icon{color:#14653d;background:#dcf6e8}.contact-success>p{max-width:620px}.contact-reference{border:1px solid var(--line);background:var(--surface-quiet);letter-spacing:.04em;border-radius:999px;padding:7px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)!important;margin-top:24px!important;font-size:.75rem!important}.contact-reference strong{color:var(--text)}.contact-success-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px;display:flex}@media (width<=920px){.contact-cta{grid-template-columns:1fr}.contact-promise{max-width:620px}.contact-dialog-grid{grid-template-columns:1fr;min-height:auto}.contact-dialog-intro{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:52px 58px 40px}.contact-dialog-intro h2{max-width:680px}.contact-dialog-points{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-form{padding:38px 58px 48px}}@media (width<=620px){.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .button{width:100%}.contact-promise{padding:18px}.contact-dialog{border-radius:18px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.contact-dialog-shell{max-height:calc(100dvh - 18px)}.contact-dialog-close{top:10px;right:10px}.contact-dialog-intro{padding:58px 22px 28px}.contact-dialog-intro h2{font-size:clamp(1.85rem,9vw,2.5rem)}.contact-dialog-intro>p{font-size:.9rem}.contact-dialog-points{grid-template-columns:1fr;gap:9px;margin-top:24px}.contact-form{padding:28px 18px 30px}.contact-form-grid{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}.contact-submit-row{flex-direction:column;align-items:stretch}.contact-submit-row .button{width:100%}.contact-success{min-height:calc(100dvh - 18px);padding:72px 22px 48px}.contact-success h2{font-size:clamp(1.9rem,9vw,2.55rem)}.contact-success-actions{flex-direction:column;width:100%}.contact-success-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){.contact-dialog[open]{animation:none}.contact-status[data-state=pending]:before{animation-duration:1.4s}}
