/* Contact identity: scoped overrides keep the recovered site's layout intact. */
:root { --contact-surface:#110c1c; --contact-text:#faf7ff; --contact-muted:#d2c6e3; --contact-accent:#d6b5ff; --contact-gold:#e7c785; }
.contact-channel { position:relative; isolation:isolate; width:100%; max-width:46rem; padding:clamp(1.25rem,3vw,2.1rem); margin-block:1.75rem; border:1px solid #86659f; border-radius:18px; background:radial-gradient(ellipse at top right,#342046,transparent 65%),var(--contact-surface); color:var(--contact-text); box-shadow:0 18px 55px #120a2620; text-align:left; }
.contact-channel::before { content:""; position:absolute; inset:-1px 14% auto; height:1px; background:linear-gradient(90deg,transparent,var(--contact-gold),transparent); pointer-events:none; }
.contact-channel .contact-kicker { display:flex; align-items:center; gap:.65rem; margin:0 0 .9rem; color:var(--contact-gold); font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.contact-kicker svg { width:18px; height:18px; flex:none; }
.contact-channel .contact-email { display:inline-flex; align-items:center; flex-wrap:wrap; gap:.5rem 1rem; min-height:48px; max-width:100%; color:var(--contact-text); font-size:clamp(1.125rem,2.8vw,2rem); line-height:1.4; letter-spacing:-.035em; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.contact-email svg { width:24px; height:24px; flex:none; color:var(--contact-accent); transition:transform .2s ease; }
.contact-email:hover svg { transform:translate(2px,-2px); }
.contact-channel .contact-caption { margin:.75rem 0 1.15rem; max-width:48ch; color:var(--contact-muted); font-size:1rem; line-height:1.65; }
.contact-channel .contact-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.contact-channel .contact-compose,.contact-channel .contact-copy { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.7rem 1rem; border-radius:7px; font-family:inherit; font-size:.9375rem; line-height:1.4; font-weight:600; cursor:pointer; text-decoration:none; transition:background .2s,border-color .2s; }
.contact-channel .contact-compose { background:var(--contact-accent); color:#1d102c; border:1px solid #e5d1ff; }
.contact-channel .contact-compose:hover { background:#e7d7ff; }
.contact-channel .contact-copy { color:var(--contact-text); background:transparent; border:1px solid #8e77a1; }
.contact-channel .contact-copy:hover { background:#30223e; border-color:var(--contact-accent); }
.contact-channel .contact-feedback { display:block; margin-top:.75rem; min-height:1.5em; color:var(--contact-muted); font-size:.8125rem; line-height:1.5; }
.contact-channel :is(a,button):focus-visible,.contact-float.contact-email-float:focus-visible { outline:3px solid var(--contact-gold); outline-offset:5px; }
.contact-float.contact-email-float { border-radius:14px; background:var(--contact-surface); color:var(--contact-text); border:1px solid #a984c7; padding:12px 16px 12px 12px; gap:12px; box-shadow:0 12px 40px #130a2633,inset 0 1px #e7c78524; font-size:.9375rem; line-height:1.45; max-width:calc(100% - 2rem); right:max(1rem,env(safe-area-inset-right)); bottom:max(1rem,env(safe-area-inset-bottom)); }
.contact-float.contact-email-float:hover { background:#2c1c3d; transform:translateY(-2px); }
.contact-float.contact-email-float[hidden] { display:none; }
.contact-float.contact-email-float small { font-size:.8125rem; color:var(--contact-muted); overflow-wrap:anywhere; }
.contact-email-float .contact-float-icon { width:44px; height:44px; background:#2c1d40; color:var(--contact-gold); border-radius:11px; }
.contact-email-float .contact-float-icon svg { width:22px; height:22px; }
.contact-email-link { overflow-wrap:anywhere; }
.footer-contact .contact-email-link { min-height:44px; display:inline-flex; align-items:center; }
body { padding-bottom:6.5rem; }
@media(max-width:480px) { .contact-channel { border-radius:12px; } .contact-channel .contact-tools { flex-direction:column; align-items:stretch; } .contact-channel .contact-tools>* { flex:0 0 auto; width:100%; } .contact-float.contact-email-float { padding:10px 12px; gap:10px; } .contact-email-float>svg { display:none; } }
@media(prefers-reduced-motion:reduce) { .contact-channel *, .contact-float.contact-email-float { transition:none!important; } .contact-email:hover svg,.contact-float.contact-email-float:hover { transform:none; } }
