/* Shared contact dialog: light foreground panel over the dark portfolio */
.contact-dialog{width:min(480px,calc(100% - 28px));max-height:min(90vh,780px);padding:0;border:0;border-radius:12px;background:#f3f3ef;color:#151917;box-shadow:0 25px 120px #000b;overflow:auto}
.contact-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.contact-dialog[open]{animation:contact-in .2s ease-out}
.contact-inner{padding:clamp(23px,3.3vw,33px)}
.contact-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font:700 10px/1.4 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
.contact-close{width:40px;height:40px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#141715;border-radius:6px}
.contact-close:hover{background:#e3e5df}
.contact-dialog h2{font-size:clamp(31px,4.5vw,40px);letter-spacing:-.055em;font-weight:650;line-height:1.06;margin:27px 0 10px;color:#161917}
.contact-dialog .contact-desc{color:#65706a;font-size:15px;line-height:1.5;margin:0 0 24px}
.contact-channel-list{display:grid;gap:10px}
.contact-channel{display:flex;align-items:center;gap:15px;width:100%;min-height:62px;padding:14px 18px;border:1px solid #9da49b;border-radius:6px;color:#17201a;background:transparent;text-decoration:none;font-size:15px;font-weight:650;transition:background .2s,border-color .2s,transform .2s}
.contact-channel .chan-icon{font-size:20px;width:28px;text-align:center;flex:none}
.contact-channel .chan-arrow{font-size:20px;margin-left:auto}
.contact-channel.is-active:hover{background:#e7ebe4;border-color:#202c23;transform:translateY(-1px)}
.contact-channel.primary.is-active{background:#202721;border-color:#202721;color:#fff}
.contact-channel.primary.is-active:hover{background:#38483c}
.contact-channel.is-unavailable{opacity:.49;cursor:not-allowed;background:#e9eae6;border-style:dashed}
.contact-channel small{display:block;font-size:11px;color:inherit;font-weight:400;margin-top:2px;opacity:.77}
.contact-channel .channel-text{line-height:1.2}
.contact-help{margin:18px 0 0;font-size:12px;line-height:1.55;color:#657069}
body.modal-open{overflow:hidden}
@keyframes contact-in{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.contact-dialog[open]{animation:none}.contact-channel{transition:none}}
