.contact-menu { position: relative; }
.contact-toggle { white-space: nowrap; }
.contact-toggle span { display: inline-block; transition: transform .2s ease; }
.contact-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.contact-options {
  position: absolute;
  top: calc(100% + 18px);
  right: 0;
  width: 230px;
  padding: 12px;
  border: 1px solid rgba(23,23,19,.12);
  border-radius: 10px;
  background: #f2efe7;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  color: #171713;
  text-shadow: none;
}
.contact-options[hidden] { display: none; }
.contact-options-title { margin: 6px 9px 10px; color: #6b675e; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.site-header nav .contact-option { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 9px; border: 0; border-radius: 6px; background: transparent; color: #171713; font: 500 13px "DM Sans", Arial, sans-serif; letter-spacing: normal; text-transform: none; text-decoration: none; text-align: left; }
.site-header nav .contact-option:not(:disabled):hover, .site-header nav .contact-option:focus-visible { background: rgba(23,23,19,.08); outline: none; }
.contact-option svg { width: 19px; height: 19px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.contact-option:disabled { opacity: .66; cursor: default; }
.contact-options-note { margin: 10px 9px 4px; color: #777369; font-size: 10px; line-height: 1.4; }
#contact-qr-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 28px; border: 0; border-radius: 14px; background: #f2efe7; color: #171713; text-align: center; overflow-y: auto; }
#contact-qr-dialog::backdrop { background: rgba(10,10,8,.7); backdrop-filter: blur(4px); }
.contact-qr-close { position: absolute; top: 10px; right: 14px; border: 0; background: none; color: #171713; font-size: 30px; cursor: pointer; }
.contact-qr-eyebrow { margin: 4px 0 12px; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
#contact-qr-title { margin: 0; font: 600 32px/1.1 "DM Sans", Arial, sans-serif; }
.contact-qr-account { margin: 7px 0 18px; color: #777369; font-size: 13px; }
.contact-qr-account:empty { display: none; }
.contact-qr-frame { position: relative; width: min(100%, 340px); aspect-ratio: 1; margin: 0 auto; overflow: hidden; background: #fff; }
.contact-qr-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.contact-qr-image[hidden] { display: none; }
.contact-qr-instruction { margin: 16px 0 8px; font-size: 13px; }
.contact-qr-full { color: #171713; font-size: 11px; text-underline-offset: 4px; }
@media (max-width: 760px) {
  .contact-menu { width: 100%; }
  .contact-options { position: static; width: 100%; margin-top: 12px; box-shadow: none; }
}
