/* Contact sheet — shared. Theme-agnostic dark sheet; works over light or dark pages. */
.contact-backdrop{position:fixed;inset:0;background:rgba(10,8,16,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:1000}
.contact-backdrop.open{opacity:1;visibility:visible}
.contact-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%) translateY(100%);
  width:min(480px,100%);background:#1b1726;color:#ECE8DF;border:1px solid rgba(255,255,255,.12);
  border-radius:20px 20px 0 0;padding:26px 24px calc(28px + env(safe-area-inset-bottom));
  box-shadow:0 -20px 60px rgba(0,0,0,.5);transition:transform .26s cubic-bezier(.2,.8,.2,1);z-index:1001;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif}
.contact-backdrop.open .contact-sheet{transform:translateX(-50%) translateY(0)}
@media (min-width:560px){
  .contact-sheet{bottom:auto;top:50%;transform:translate(-50%,-50%) scale(.96);border-radius:18px}
  .contact-backdrop.open .contact-sheet{transform:translate(-50%,-50%) scale(1)}
}
.contact-grab{width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.2);margin:0 auto 18px}
@media (min-width:560px){.contact-grab{display:none}}
.contact-sheet h2{font-size:22px;margin:0 0 6px;font-weight:700}
.contact-sheet p{margin:0 0 18px;color:rgba(236,232,223,.72);font-size:15px;line-height:1.5}
.contact-sheet .sub{margin:18px 0 10px;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:rgba(236,232,223,.5)}
.contact-row{display:flex;gap:10px;flex-wrap:wrap}
.contact-opt{flex:1 1 40%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
  border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04);
  color:#ECE8DF;text-decoration:none;font-size:15px;font-weight:600;cursor:pointer;padding:0 16px;font-family:inherit}
.contact-opt:hover{border-color:#9B87FF;color:#fff}
.contact-opt.primary{flex-basis:100%;background:#5B3DF5;border-color:#5B3DF5;color:#fff}
.contact-opt.primary:hover{background:#6f54ff;color:#fff}
.contact-email{margin-top:12px;font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:12.5px;color:rgba(236,232,223,.5);text-align:center;user-select:all}
.contact-close{position:absolute;top:12px;right:14px;background:none;border:0;color:rgba(236,232,223,.6);
  font-size:24px;line-height:1;cursor:pointer;padding:6px}
.contact-close:hover{color:#fff}

/* a11y: visible keyboard focus inside the contact sheet */
.contact-sheet :focus-visible, .contact-close:focus-visible { outline: 3px solid #9B87FF; outline-offset: 2px; border-radius: 6px; }
