body.modal-active{overflow:hidden}
.contact-card{display:grid;width:100%;padding:20px;border:1px solid rgba(255,255,255,.86);border-radius:17px;color:#26222e;text-align:left;background:rgba(255,255,255,.5);box-shadow:0 14px 34px rgba(77,55,88,.08);cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.contact-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.75);box-shadow:0 18px 40px rgba(77,55,88,.14)}
.contact-card small{color:#9c8fa4;font-size:9px;letter-spacing:.15em}.contact-card strong{margin-top:7px;font-size:18px}.contact-card span{margin-top:10px;color:#8b6c88;font-size:11px}
.contact-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}.contact-modal[hidden]{display:none}.contact-backdrop{position:absolute;inset:0;border:0;background:rgba(47,35,54,.52);backdrop-filter:blur(12px);cursor:pointer}
.contact-dialog{position:relative;display:grid;width:min(760px,calc(100vw - 34px));max-height:calc(100vh - 48px);margin:0;padding:20px;border-radius:24px;place-items:center;background:rgba(255,255,255,.78);box-shadow:0 30px 90px rgba(39,25,46,.3);animation:contactIn .25s ease}.contact-dialog figcaption{width:100%;padding:2px 38px 16px;color:#403747;font-size:19px;font-weight:800;text-align:center}.contact-dialog img{display:block;width:100%;max-height:calc(100vh - 150px);border-radius:14px;object-fit:contain}.contact-close{position:absolute;top:10px;right:12px;z-index:1;width:34px;height:34px;border:0;border-radius:50%;color:#66566b;background:rgba(255,255,255,.72);font-size:25px;line-height:1;cursor:pointer}.contact-close:hover{background:#fff}
@keyframes contactIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:600px){.contact-dialog{padding:13px;border-radius:20px}.contact-dialog figcaption{padding-bottom:10px;font-size:16px}.contact-dialog img{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.contact-dialog{animation:none}}
