/* Contact: shared night palette, restrained pixel details. */
.contact-hero { padding:72px 0 42px; position:relative; overflow:clip; }
.contact-hero::after { content:""; position:absolute; right:max(8%,20px); top:74px; width:24px; height:24px; background:var(--accent); box-shadow:24px 0 var(--accent),24px 24px var(--accent),48px 24px var(--bg-2),48px 48px var(--bg-2); opacity:.6; }
.contact-hero .overline { color:var(--lilac); margin-bottom:20px; }
.contact-hero h1 { max-width:850px; font-size:clamp(42px,5vw,68px); }
.contact-intro { max-width:600px; color:var(--muted); font-size:18px; margin-top:22px; }
.contact-content { padding-bottom:100px; }
.contact-channels { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:16px; margin-bottom:48px; }
.contact-channel { display:flex; align-items:center; gap:16px; padding:24px; border:1px solid var(--line); border-radius:var(--r); background:var(--bg-2); text-align:left; font:inherit; color:var(--text); text-decoration:none; min-width:0; }
.contact-channel--email { border-color:var(--line-2); background:linear-gradient(120deg,var(--card-warm),var(--bg-2)); }
.contact-channel--email:hover { border-color:var(--lilac); }
.contact-channel:disabled { cursor:not-allowed; color:var(--muted); }
.contact-channel strong { display:block; font-size:16px; color:inherit; overflow-wrap:anywhere; }
.channel-label { display:block; font-size:12px; color:var(--lilac); margin-bottom:3px; }
.channel-detail { display:block; font-size:12px; color:var(--muted); margin-top:5px; }
.channel-symbol { width:40px; height:40px; display:grid; place-items:center; flex:none; background:rgba(169,155,255,.08); color:var(--lilac); font:24px var(--font-m); border-radius:6px; }
.channel-ticket::before { content:""; width:20px; height:15px; border:2px solid currentColor; border-radius:2px; }
.channel-arrow { margin-left:auto; color:var(--lilac); }
.contact-workspace { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:64px; align-items:start; }
.contact-compose { padding:36px; border:1px solid var(--line); border-radius:var(--r-l); background:var(--bg-2); }
.compose-heading .overline { color:var(--lilac); margin-bottom:12px; }
.compose-heading h2 { font-size:30px; }
.compose-heading p:last-child { color:var(--muted); font-size:14px; margin-top:14px; max-width:47ch; }
.contact-compose form { display:grid; gap:22px; margin-top:30px; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-compose label { display:block; font-size:14px; font-weight:500; margin-bottom:8px; }
.contact-compose label small { color:var(--muted); font-weight:400; margin-left:6px; font-size:12px; }
.contact-compose input,.contact-compose select,.contact-compose textarea { width:100%; min-width:0; border:1px solid var(--line-2); border-radius:var(--r-s); padding:12px 14px; background:var(--bg); color:var(--text); font:inherit; font-size:16px; color-scheme:dark; }
.contact-compose input,.contact-compose select { min-height:48px; }
.contact-compose textarea { resize:vertical; min-height:140px; }
.contact-compose :is(input,select,textarea):focus { outline:2px solid var(--lilac); outline-offset:2px; }
.contact-hint { font-size:12px; color:var(--muted); margin-top:8px; line-height:1.7; }
.contact-compose .btn { justify-self:start; gap:24px; }
#form-status { font-size:14px; color:var(--lilac); }
.contact-aside { padding-top:8px; }
.response-mark { display:block; width:12px; height:12px; background:var(--lilac); box-shadow:12px 0 var(--accent),0 12px var(--accent); margin-bottom:32px; }
.contact-response h2 { font-size:26px; max-width:290px; line-height:1.3; }
.contact-response p { font-size:13px; color:var(--muted); margin:20px 0 5px; }
.contact-response a { font-size:14px; }
.contact-resources { border-top:1px solid var(--line); margin-top:36px; padding-top:30px; }
.contact-resources h2 { font-size:20px; }
.contact-resources p { color:var(--muted); font-size:14px; margin-top:10px; }
.contact-resources nav { display:grid; margin-top:16px; }
.contact-resources nav a { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; text-decoration:none; }
@media(max-width:900px) { .contact-channels { grid-template-columns:1.3fr 1fr 1fr; gap:10px; }.contact-channel { padding:18px 14px; gap:10px; }.channel-symbol { display:none; }.contact-workspace { gap:30px; }.contact-compose { padding:26px; } }
@media(max-width:650px) { .contact-hero { padding:44px 0 30px; }.contact-hero::after { top:30px; right:32px; transform:scale(.5); transform-origin:top right; }.contact-hero h1 { font-size:44px; max-width:330px; }.contact-intro { font-size:16px; margin-top:18px; }.contact-channels { grid-template-columns:1fr 1fr; margin-bottom:30px; gap:10px; }.contact-channel--email { grid-column:1/-1; }.contact-channel { min-height:100px; padding:18px; }.contact-channel--email .channel-symbol { display:grid; }.contact-channel strong { font-size:15px; }.contact-workspace { grid-template-columns:1fr; gap:36px; }.contact-compose { padding:24px 20px; }.compose-heading h2 { font-size:28px; }.contact-fields { grid-template-columns:1fr; gap:22px; }.contact-compose .btn { width:100%; justify-content:space-between; }.contact-aside { padding:0 4px; }.contact-response h2 { max-width:100%; }.contact-content { padding-bottom:64px; } }
