.contact-modal{z-index:200;pointer-events:none;justify-content:center;align-items:center;padding:clamp(1rem,4vw,2rem);display:flex;position:fixed;inset:0}.contact-modal.is-open{pointer-events:auto}.contact-modal-backdrop{-webkit-backdrop-filter:blur(10px);opacity:0;background:#08241f8c;transition:opacity .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.contact-modal.is-open .contact-modal-backdrop{opacity:1}.contact-modal-panel{z-index:1;background:var(--white);border:1px solid var(--border);opacity:0;width:min(920px,100%);max-height:calc(100vh - 4rem);padding:clamp(1.6rem,3vw,2.5rem) clamp(1.4rem,3vw,2.5rem);transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .8s cubic-bezier(.16,1,.3,1) 50ms;position:relative;overflow-y:auto;transform:translateY(24px)scale(.97);box-shadow:0 30px 70px -30px #23605547,0 1px #2360550a}.contact-modal.is-open .contact-modal-panel{opacity:1;transform:translateY(0)scale(1)}.contact-modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:clamp(1.2rem,2.5vw,1.8rem);display:flex}.contact-modal-title{font-family:var(--serif-cn);color:var(--ink);margin-top:.6rem;font-size:clamp(1.5rem,2.8vw,1.9rem);font-weight:600;line-height:1.25}.contact-modal-title em{font-family:var(--serif-en);color:var(--brand);font-style:italic;font-weight:500}.contact-modal-lede{color:var(--muted);max-width:520px;margin-top:.6rem;font-size:.88rem;line-height:1.7}.contact-modal-close{border:1px solid var(--border);background:var(--paper);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .3s,color .3s,transform .3s,border-color .3s;display:inline-flex}.contact-modal-close:hover{background:var(--brand);color:#fff;border-color:var(--brand);transform:rotate(90deg)}.contact-actions{grid-template-columns:1.1fr 1fr 1fr;gap:.75rem;display:grid}.contact-action{border:1px solid var(--border);background:var(--paper);color:var(--ink);flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem 1rem;text-decoration:none;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex}.contact-action:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 14px 30px -20px #2360554d}.contact-action.is-primary{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.contact-action.is-primary:hover{background:var(--brand-ink);border-color:var(--brand-ink)}.contact-action-k{font-family:var(--serif-cn);letter-spacing:.2em;color:var(--gold-text);font-size:.74rem}.contact-action.is-primary .contact-action-k{color:var(--gold)}.contact-action-v{font-family:var(--serif-cn);letter-spacing:.02em;font-size:1.12rem;font-weight:600;line-height:1.35}.contact-action.is-primary .contact-action-v{font-family:var(--serif-en);letter-spacing:.04em;font-size:1.7rem}.contact-action-d{color:var(--muted);flex:1;font-size:.8rem;line-height:1.6}.contact-action.is-primary .contact-action-d{color:#ffffffb3}.contact-action-more{letter-spacing:.08em;color:var(--brand);margin-top:.4rem;font-size:.76rem}.contact-action.is-primary .contact-action-more{color:var(--gold)}.contact-modal-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem;display:grid}.qr-card{background:var(--white);border:1px solid var(--border);opacity:0;transition:opacity .9s cubic-bezier(.16, 1, .3, 1) var(--delay), transform .9s cubic-bezier(.16, 1, .3, 1) var(--delay), border-color .4s ease;grid-template-columns:150px 1fr;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid;transform:translateY(16px)}.contact-modal.is-open .qr-card{opacity:1;transform:translateY(0)}.qr-card:hover{border-color:var(--accent)}.qr-card-frame{aspect-ratio:1;background:#fff;width:150px;padding:10px;position:relative}.qr-corner{border:1.5px solid var(--accent);width:12px;height:12px;position:absolute}.qr-corner-tl{border-bottom:none;border-right:none;top:0;left:0}.qr-corner-tr{border-bottom:none;border-left:none;top:0;right:0}.qr-corner-bl{border-top:none;border-right:none;bottom:0;left:0}.qr-corner-br{border-top:none;border-left:none;bottom:0;right:0}.qr-card-img{width:100%;height:100%;position:relative}.qr-card-label{font-family:var(--serif-cn);color:var(--ink);align-items:center;gap:.5rem;font-size:1rem;display:inline-flex}.qr-card-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.qr-card-hint{color:var(--ink-soft);margin-top:.4rem;font-size:.78rem;line-height:1.6}.contact-modal-foot{border-top:1px solid var(--border);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;margin-top:1.2rem;padding-top:1rem;font-size:.78rem;display:flex}.contact-modal-foot a{color:var(--brand);text-decoration:none}.contact-modal-foot-rule{background:var(--border);width:24px;height:1px;display:inline-block}@media (max-width:900px){.contact-actions,.contact-modal-grid{grid-template-columns:1fr}.contact-modal-head{flex-direction:column}.contact-modal-close{position:absolute;top:1rem;right:1rem}.contact-modal-panel{max-height:calc(100vh - 2rem)}}@media (max-width:420px){.qr-card{grid-template-columns:110px 1fr}.qr-card-frame{width:110px}}@media (prefers-reduced-motion:reduce){.contact-modal-backdrop,.contact-modal-panel,.qr-card{transition-duration:.01ms!important}}
