.contact-details { width:min(460px,calc(100vw - 32px)); max-height:calc(100svh - 40px); overflow:auto; padding:22px 28px 28px; border:1px solid #adc8d9; border-radius:6px; background:#f7fbff; color:#365b73; box-shadow:0 0 0 4px #f7fbff99,0 0 0 5px #c8adc3,0 20px 65px #365b7333; }
.contact-details::backdrop { background:#45597566; backdrop-filter:blur(4px); }
.contact-details header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.contact-details header p { font:10px/1.6 Georgia,serif; color:#678398; }
.contact-close { min-width:44px; min-height:44px; border:0; background:none; color:#a34b80; font-size:27px; }
.contact-details h2 { font:28px/1.6 "Songti SC",serif; color:#a34b80; margin:14px 0 20px; }
.contact-details dl { display:grid; margin:0; }
.contact-details dl>div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; align-items:center; min-height:64px; border-top:1px dashed #bfd0df; padding:10px 0; }
.contact-details dt { font-size:12px; color:#7e6d85; }
.contact-details dd { margin:0; font-size:16px; line-height:1.7; overflow-wrap:anywhere; user-select:text; }
.contact-details dd>a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; text-decoration:underline; text-decoration-color:#abc6d7; text-underline-offset:5px; }
.contact-details :is(a,button):focus-visible { outline:2px solid #a34b80; outline-offset:3px; }
body.is-contact-open { overflow:hidden; }
@media(max-width:500px) { .contact-details { padding:16px 20px 24px; } .contact-details dd { font-size:14px; } .contact-details dl>div { grid-template-columns:42px minmax(0,1fr); gap:8px; } }
