/* Direct contact channels, with editable demonstration details. */
.contact .contact-inner { max-width: 1100px; }
.contact-inner > p { max-width: 620px; }
.contact-channels { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; text-align: start; }
.contact-channel { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding: 28px 24px; border: 1px solid #ffffff24; background: #ffffff02; color: #efefef; text-align: start; cursor: pointer; font-family: var(--font-body); transition: background .25s, border-color .25s; }
.contact-channel:hover { border-color: #ffffff60; background: #ffffff06; }
.contact-channel-primary { grid-column: span 2; display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 34px 28px; }
.channel-icon { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; color: #bfbfbf; }
.contact-channel-primary .channel-icon { width: 34px; height: 34px; }
.channel-body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.channel-name { font-size: 17px; font-weight: 500; }
.channel-value { font-size: 13px; font-weight: 400; color: #a9a9a9; line-height: 1.6; overflow-wrap: anywhere; user-select: text; }
.contact-channel-primary .channel-name { font-size: 21px; }
.contact-channel-primary .channel-value { font-size: 17px; }
.channel-copy { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; font-size: 11px; color: #969696; margin-top: auto; }
.channel-copy svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.3; flex-shrink: 0; }
.contact-channel-primary .channel-copy { width: auto; margin: 0; }
.contact-channel-primary .channel-copy > span { display: none; }
.contact-channel.is-copied { border-color: var(--red); }
.contact-inner > .contact-demo-note { font-size: 12px; color: #949494; line-height: 1.7; margin: 26px auto 0; }
.contact-inner > .contact-copy-status { font-size: 13px; color: #dedede; margin: 10px auto 0; min-height: 24px; }
footer.minimal-footer { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 26px 4.5%; border-top: 1px solid #ffffff15; }
.footer-wordmark { font-family: var(--font-display); font-size: 20px; font-weight: 700; letter-spacing: 2px; }
.minimal-footer p { font-size: 12px; color: #939393; line-height: 1.6; }
@media (max-width: 760px) {
 .contact-channels { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .contact-channel { padding: 24px 18px; gap: 18px; min-height: 180px; }
 .contact-channel-primary { grid-column: 1/-1; grid-template-columns: 32px minmax(0,1fr) 18px; padding: 24px 20px; gap: 16px; min-height: 112px; }
 .contact-channel-primary .channel-icon { width: 28px; height: 28px; }
 .contact-channel-primary .channel-name { font-size: 19px; }
 .contact-channel-primary .channel-value { font-size: 15px; }
 .channel-copy { font-size: 11px; gap: 8px; }
 footer.minimal-footer { flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 24px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); }
}
@media (prefers-reduced-motion: reduce) { .contact-channel { transition: none; } }
