.contact-page{--font-sans:var(--font-dm-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-space-mono),"Courier New",monospace;--font-serif-display:var(--font-dm-sans),system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg-canvas);color:var(--fg-primary);font-family:var(--font-sans);position:relative;isolation:isolate}.contact-page a{color:inherit;text-decoration:none}.contact-page .contact-container{max-width:1440px;margin:0 auto;padding:0 32px}@media (max-width:640px){.contact-page .contact-container{padding:0 20px}}.contact-page .contact-hero{padding:80px 0 48px;border-bottom:1px solid var(--rule)}.contact-page .contact-hero .contact-container{display:grid;gap:18px;max-width:1180px}.contact-page .contact-hero h1{font-family:var(--font-serif-display);font-weight:500;font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.03em;margin:0;color:var(--fg-primary);text-wrap:balance}.contact-page .contact-hero .deck{font-size:18px;line-height:1.5;color:var(--fg-secondary);max-width:62ch;text-wrap:pretty;margin:0}.contact-page .contact-body{padding:56px 0 80px}.contact-page .contact-grid{display:grid;gap:48px;grid-template-columns:1fr;max-width:1180px;margin:0 auto}@media (min-width:960px){.contact-page .contact-grid{grid-template-columns:1.45fr 1fr;gap:72px}}.contact-page .section-kicker{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--fg-tertiary);padding-bottom:12px;margin-bottom:24px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline}.contact-page .form-stack{display:grid;gap:24px}.contact-page .field{display:grid;gap:8px}.contact-page .field-row{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:560px){.contact-page .field-row{grid-template-columns:1fr}}.contact-page .field-label{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--fg-primary);display:flex;align-items:baseline;justify-content:space-between;gap:8px}.contact-page .field-label .req{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--fg-tertiary);text-transform:uppercase;font-weight:700}.contact-page .field-input,.contact-page .field-textarea{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:15px;line-height:1.4;color:var(--fg-primary);background:var(--bg-surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px;outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.contact-page .field-input::placeholder,.contact-page .field-textarea::placeholder{color:var(--fg-tertiary)}.contact-page .field-input:hover,.contact-page .field-textarea:hover{border-color:var(--rule-strong)}.contact-page .field-input:focus,.contact-page .field-textarea:focus{border-color:var(--fg-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fg-primary) 8%,transparent);background:var(--bg-canvas)}.contact-page .field-input:disabled,.contact-page .field-textarea:disabled{opacity:.6;cursor:not-allowed}.contact-page .field-textarea{resize:vertical;min-height:160px}.contact-page .field.has-error .chip-group,.contact-page .field.has-error .field-input,.contact-page .field.has-error .field-textarea{border-color:#ef4444}.contact-page .field.has-error .field-input:focus,.contact-page .field.has-error .field-textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,#ef4444 12%,transparent)}.contact-page .field-error{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#b91c1c;display:inline-flex;gap:6px;align-items:center}.contact-page .field-error:before{content:"";width:4px;height:4px;background:#ef4444;border-radius:99px}[data-theme=dark] .contact-page .field-error{color:#f87171}.contact-page .field-help{font-size:12px;color:var(--fg-tertiary);line-height:1.45}.contact-page .char-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--fg-tertiary)}.contact-page .char-count.near{color:#b45309}[data-theme=dark] .contact-page .char-count.near{color:#fbbf24}.contact-page .field-row-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.contact-page .chip-group{display:grid;gap:10px;grid-template-columns:1fr;border-radius:10px}@media (min-width:720px){.contact-page .chip-group{grid-template-columns:1fr 1fr}}.contact-page .chip{position:relative;display:grid;gap:6px;grid-template-columns:auto 1fr;grid-template-areas:"marker label" "desc   desc";align-items:baseline;padding:16px;border:1px solid var(--rule);border-radius:10px;background:var(--bg-surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);text-align:left}.contact-page .chip:hover{border-color:var(--rule-strong);background:var(--bg-canvas)}.contact-page .chip input{position:absolute;opacity:0;pointer-events:none}.contact-page .chip .chip-marker{grid-area:marker;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--fg-tertiary);display:inline-flex;align-items:center;gap:6px}.contact-page .chip .chip-marker:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--chip-accent,var(--rule-strong));transition:transform var(--dur-fast) var(--ease-out)}.contact-page .chip .chip-label{grid-area:label;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--fg-primary);line-height:1.3}.contact-page .chip .chip-desc{grid-area:desc;font-size:13px;line-height:1.5;color:var(--fg-secondary);text-wrap:pretty;margin-top:2px}.contact-page .chip.on{border-color:var(--fg-primary);background:var(--bg-canvas);box-shadow:inset 0 0 0 1px var(--fg-primary)}.contact-page .chip.on .chip-marker{color:var(--fg-primary)}.contact-page .chip.on .chip-marker:before{transform:scale(1.2)}.contact-page .chip:has(input:focus-visible){border-color:var(--fg-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fg-primary) 8%,transparent)}.contact-page .submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:12px}.contact-page .legal{font-size:12px;color:var(--fg-tertiary);max-width:42ch;line-height:1.5;margin:0}.contact-page .legal a{color:var(--fg-secondary);text-decoration:underline;text-decoration-color:var(--color-quantum);text-decoration-thickness:1.5px;text-underline-offset:2px}.contact-page .btn-submit{padding:14px 22px;font-size:14px;font-weight:600;letter-spacing:.01em;background:var(--fg-primary);color:var(--fg-inverse);border:1px solid var(--fg-primary);border-radius:8px;cursor:pointer;line-height:1;display:inline-flex;gap:10px;align-items:center;font-family:var(--font-sans);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast)}.contact-page .btn-submit:hover:not(:disabled){opacity:.9}.contact-page .btn-submit:active:not(:disabled){transform:translateY(1px)}.contact-page .btn-submit:disabled{opacity:.5;cursor:not-allowed}.contact-page .btn-submit svg{width:14px;height:14px}.contact-page .form-error-banner{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:#b91c1c;background:color-mix(in srgb,#ef4444 8%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,var(--rule));border-radius:8px;padding:10px 14px}[data-theme=dark] .contact-page .form-error-banner{color:#f87171}.contact-page .info-stack{display:grid;gap:28px}.contact-page .info-block{display:grid;gap:6px}.contact-page .info-block .kicker{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-tertiary)}.contact-page .info-block .primary{font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--fg-primary);line-height:1.4}.contact-page .info-block .primary a{text-decoration:underline;text-decoration-color:var(--color-quantum);text-decoration-thickness:2px;text-underline-offset:3px}.contact-page .info-block .primary a:hover{color:var(--color-link)}.contact-page .info-block .secondary{font-size:13px;line-height:1.5;color:var(--fg-secondary)}.contact-page .info-divider{height:1px;background:var(--rule)}.contact-page .info-address{font-family:var(--font-sans);font-style:normal;font-weight:500;font-size:15px;line-height:1.65;color:var(--fg-primary);margin:0}.contact-page .response-table{display:grid;gap:0;border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-top:6px}.contact-page .response-row{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--rule);align-items:baseline}.contact-page .response-row:last-child{border-bottom:0}.contact-page .response-row .kind{font-size:13px;font-weight:500;color:var(--fg-primary)}.contact-page .response-row .time{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--fg-secondary);text-align:right}.contact-page .success{border:1px solid var(--rule);border-radius:12px;padding:56px 40px;text-align:center;background:var(--bg-surface);display:grid;gap:16px;justify-items:center;animation:contact-rise var(--dur-base) var(--ease-out)}@keyframes contact-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.contact-page .success .check{width:56px;height:56px;border-radius:999px;background:color-mix(in srgb,#10b981 12%,transparent);color:#047857;display:grid;place-items:center;border:1px solid color-mix(in srgb,#10b981 30%,transparent)}.contact-page .success .check svg{width:24px;height:24px}.contact-page .success h2{font-family:var(--font-serif-display);font-weight:500;font-size:36px;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}.contact-page .success p{margin:0;color:var(--fg-secondary);font-size:16px;line-height:1.55;max-width:50ch}.contact-page .success .ref{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--fg-tertiary);text-transform:uppercase;padding:6px 10px;border:1px solid var(--rule);border-radius:4px}.contact-page .success-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}.contact-page .contact-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:8px;font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;border:1px solid var(--rule);background:var(--bg-surface);color:var(--fg-primary);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.contact-page .contact-btn:hover{border-color:var(--rule-strong);background:var(--bg-canvas)}.contact-page .contact-btn-primary{background:var(--fg-primary);color:var(--fg-inverse);border-color:var(--fg-primary)}.contact-page .contact-btn-primary:hover{opacity:.9;background:var(--fg-primary)}@keyframes spin{to{transform:rotate(1turn)}}