.contact-page{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding:48px 0 60px;align-items:start}.contact-intro{min-width:0}.contact-intro h1{font-size:clamp(2.625rem,4.3vw,3.75rem);letter-spacing:-.05em;line-height:1.07;margin:23px 0}.contact-intro h1>span{display:block}.contact-description{font-size:1rem;line-height:1.85;color:var(--muted);max-width:45ch}.contact-direct{margin-top:34px}.contact-direct>a{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:1.25rem;color:var(--accent);overflow-wrap:anywhere}.contact-topics{border-top:1px solid var(--rule);padding-top:23px;margin-top:26px}.contact-topics .technical-note{margin-bottom:12px}.contact-topics ul{list-style:none;margin:0;padding:0;font-size:.8125rem;line-height:1.9;color:var(--muted)}.contact-topics li::before{content:"+";margin-right:12px;font-family:var(--mono);color:var(--accent)}.contact-form-panel{border:1px solid var(--rule);min-width:0}.contact-form-heading{padding:20px 26px;border-bottom:1px solid var(--rule);background:var(--code-paper)}.contact-form-heading h2{font-size:1.25rem;letter-spacing:-.025em;margin-bottom:6px}#contact-form{padding:26px}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.contact-field{min-width:0}.contact-field-wide{grid-column:1/-1}.contact-field label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:8px}.contact-field label>span{color:var(--muted);font-weight:400}.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;border:1px solid var(--rule);border-radius:0;background:var(--paper);color:var(--ink);padding:11px 12px;font:1rem/1.6 var(--sans)}.contact-field input{min-height:48px}.contact-field textarea{min-height:175px;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.contact-field [aria-invalid=true]{border-color:#934730}.contact-field-hint,.field-error{font-size:.75rem;line-height:1.7;margin-top:8px}.contact-field-hint{color:var(--muted)}.field-error{color:#934730}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-challenge{min-height:65px;margin:24px 0}.contact-status{border:1px solid var(--rule);padding:14px 16px;margin:0 0 22px;font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}.contact-status[data-state=success]{border-color:#5c7162;background:var(--code-paper)}.contact-status[data-state=error]{border-color:#934730}.contact-submit{display:flex;flex-wrap:wrap;align-items:center;gap:17px 22px}.contact-submit .button{border:0;border-radius:0;cursor:pointer;font-family:var(--sans)}.contact-submit .button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.contact-submit .button:disabled{cursor:not-allowed;opacity:.55}.contact-submit>p{color:var(--muted);font-size:.6875rem;line-height:1.8;max-width:27ch}.contact-preview{font:.6875rem/1.8 var(--mono);border-bottom:1px solid var(--rule);padding-bottom:17px;margin-bottom:23px;color:var(--muted)}.contact-no-script{margin-top:20px;font-size:.8125rem;line-height:1.8}.contact-no-script a{color:var(--accent);text-decoration:underline}@media(max-width:1020px){.contact-page{gap:40px;grid-template-columns:1fr 1.15fr}.contact-intro h1{font-size:2.875rem}.contact-form-heading,#contact-form{padding:22px}.contact-fields{grid-template-columns:1fr}}@media(max-width:760px){.contact-page{grid-template-columns:minmax(0,1fr);gap:30px;padding:30px 0 40px}.contact-intro h1{font-size:clamp(2.625rem,7vw,3.5rem);margin:17px 0 20px}.contact-intro h1>span{display:inline}.contact-description{max-width:58ch}.contact-direct{margin-top:23px}.contact-topics{margin-top:20px;padding-top:17px}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.contact-intro h1{font-size:2.625rem}.contact-description{font-size:.9375rem}.contact-direct>a{font-size:1.125rem}.contact-form-heading,#contact-form{padding:20px 16px}.contact-form-heading h2{font-size:1.125rem}.contact-fields{grid-template-columns:1fr;gap:20px}.contact-submit{align-items:start;flex-direction:column;gap:13px}.contact-submit>p{max-width:none}}