.contact-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);padding-block:4.5rem 6rem;align-items:start}
.contact-intro h1{font-size:clamp(3rem,5.2vw,5rem);letter-spacing:-.06em;line-height:1.02;margin:1.5rem 0}
.contact-intro>p{font-size:1rem;color:var(--muted);max-width:29rem}
.contact-note{display:flex;gap:1.25rem;margin:2.5rem 0;padding-top:1.5rem;border-top:1px solid var(--line);max-width:29rem}
.contact-note>span{font-size:2.5rem;line-height:1}
.contact-note p{color:var(--muted);font-size:.85rem}
.contact-account{font:11px/1.7 var(--mono);border-bottom:1px solid var(--ink);padding-bottom:.5rem;display:inline-flex;gap:1.5rem}
.contact-account:hover{background:var(--acid)}
.contact-panel{min-width:0;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--ink);background:#fafaf5}
.contact-panel h2{font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.04em;line-height:1.12}
.contact-required,.contact-hint,.contact-privacy{font-size:.75rem;color:var(--muted)}
.contact-required{margin-top:.75rem}
.contact-panel form{display:grid;gap:1.25rem;margin-top:2rem}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.contact-panel label{display:grid;min-width:0;gap:.5rem;font-size:.85rem;font-weight:600}
.contact-panel input,.contact-panel textarea{width:100%;min-width:0;padding:.8rem;border:1px solid var(--line);background:white;color:var(--ink);font:inherit;border-radius:0}
.contact-panel textarea{resize:vertical;min-height:10rem;max-height:40rem}
.contact-panel input:focus,.contact-panel textarea:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:2px}
.contact-panel [aria-invalid=true]{border-color:#a22}
.contact-hint{margin-top:-.75rem}
.contact-alert{margin-top:1.25rem;background:#f5e7de;border-left:3px solid #9a3d1c;padding:1rem;font-size:.85rem}
.contact-alert ul{margin:.5rem 0 0;padding-left:1.25rem}
.contact-panel .button{justify-content:center;gap:1.5rem;justify-self:start}
.contact-panel .button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;background:var(--ink);color:var(--paper)}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-success{display:grid;gap:1.5rem}
.contact-success .eyebrow{background:var(--acid);padding:.5rem;justify-self:start}
.contact-success p{color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.contact-intro,.contact-panel{animation:enter .6s cubic-bezier(.2,.7,.2,1) backwards}.contact-panel{animation-delay:100ms}}
@media(max-width:900px){.contact-shell{grid-template-columns:1fr;gap:2rem;padding-block:3rem 4rem}.contact-intro h1{font-size:clamp(3rem,8vw,4.5rem)}.contact-note{margin:1.5rem 0}.contact-intro>p,.contact-note{max-width:42rem}}
@media(max-width:480px){.contact-fields{grid-template-columns:1fr}.contact-panel .button{width:100%}}
