.contact-page{background:var(--bg-root,#0d0d0d);min-height:100dvh;padding:clamp(4.5rem,4rem + 6vw,8rem) 1.25rem clamp(4rem,3rem + 5vw,7rem)}.contact-shell{max-width:44rem;margin:0 auto}.contact-header{margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}.contact-eyebrow{font-family:var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#e8ae3c);margin-bottom:.9rem;font-size:12px;display:block}.contact-title{letter-spacing:-.02em;color:var(--text-primary,#f0ede8);margin:0 0 .85rem;font-size:clamp(2rem,1.4rem + 3vw,3.25rem);line-height:1.05}.contact-lede{color:var(--text-secondary,#c8c8c8);max-width:34rem;margin:0;font-size:16px;line-height:1.6}.contact-panel{background:linear-gradient(180deg, var(--surface,#161616), #121212);border:1px solid var(--border-solid,#262626);border-radius:6px;flex-direction:column;gap:1.15rem;padding:clamp(1.25rem,1rem + 2vw,2rem);display:flex}.contact-field{flex-direction:column;gap:.45rem;display:flex}.contact-label{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary,#c8c8c8);font-size:12px}.contact-optional{color:var(--text-secondary,#c8c8c8);opacity:.7;letter-spacing:.12em}.contact-input{width:100%;color:var(--text-primary,#f0ede8);background:var(--bg-root,#0e0e0e);border:1px solid var(--border-solid,#262626);border-radius:4px;padding:.7rem .85rem;font-family:inherit;font-size:16px;line-height:1.5;transition:border-color .16s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.contact-input:hover:not(:disabled){border-color:var(--accent-muted,#6e531a)}}.contact-input:focus{border-color:var(--accent,#e8ae3c);outline:none}.contact-input:focus-visible{outline:2px solid var(--accent,#e8ae3c);outline-offset:1px}.contact-input:disabled{opacity:.55}.contact-textarea{resize:vertical;min-height:9rem}.contact-hint{font-family:var(--font-mono,monospace);letter-spacing:.03em;color:var(--text-secondary,#c8c8c8);opacity:.7;margin:0;font-size:12px}.contact-hint--center{text-align:center}.contact-error{color:var(--signal-red,#e8644a);background:#e8644a1a;border:1px solid #e8644a;border-radius:4px;margin:0;padding:.7rem .85rem;font-size:14px;line-height:1.5}.contact-submit{background:var(--accent-bright,#f7c64e);min-height:48px;color:var(--bg-root,#0d0d0d);font-family:var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;border-radius:4px;font-size:12px;font-weight:700;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1),background-color .16s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.contact-submit:hover:not(:disabled){background:var(--accent,#e8ae3c);transform:translateY(-1px);box-shadow:0 8px 26px #e8ae3c40}}.contact-submit:active:not(:disabled){transform:translateY(0)}.contact-submit:focus-visible{outline:2px solid var(--accent-bright,#f7c64e);outline-offset:3px}.contact-submit:disabled{opacity:.5;cursor:default}.contact-panel--done{align-items:flex-start;gap:.75rem}.contact-done-title{color:var(--text-primary,#f0ede8);margin:0;font-size:clamp(1.5rem,1.2rem + 1.5vw,2rem)}.contact-done-body{color:var(--text-secondary,#c8c8c8);margin:0;font-size:16px;line-height:1.6}.contact-done-body strong{color:var(--accent,#e8ae3c);font-weight:500}.contact-secondary{border:1px solid var(--accent-muted,#6e531a);min-height:44px;color:var(--text-secondary,#c8c8c8);font-family:var(--font-mono,monospace);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;margin-top:.5rem;padding:0 1.1rem;font-size:12px;transition:border-color .16s,color .16s}@media (hover:hover) and (pointer:fine){.contact-secondary:hover{border-color:var(--accent,#e8ae3c);color:var(--text-primary,#f0ede8)}}.contact-aside{border-top:1px solid var(--border-solid,#262626);margin-top:2rem;padding-top:1.5rem}.contact-aside-title{font-family:var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#e8ae3c);margin:0 0 .85rem;font-size:12px}.contact-aside-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.contact-aside-list li{color:var(--text-secondary,#c8c8c8);font-size:14px;line-height:1.6}.contact-aside-list strong{color:var(--text-primary,#f0ede8);font-weight:500}@media (prefers-reduced-motion:reduce){.contact-input,.contact-submit,.contact-secondary{transition:none}@media (hover:hover) and (pointer:fine){.contact-submit:hover:not(:disabled){transform:none}}}
