.connect-invite[hidden] { display: none !important; }
.connect-invite { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; overflow: auto; padding: 24px; background: rgba(36, 23, 20, .68); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); animation: connect-invite-fade .22s ease both; }
.connect-invite-card { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); width: min(100%, 780px); max-height: min(590px, calc(100dvh - 48px)); overflow: hidden; border: 1px solid rgba(255,255,255,.75); border-radius: 22px; background: var(--paper, #faf5e9); box-shadow: 0 28px 90px rgba(24, 12, 12, .3); animation: connect-invite-rise .3s cubic-bezier(.2,.75,.25,1) both; outline: none; }
.connect-invite-image { position: relative; min-height: 390px; overflow: hidden; background: #4c2325; }
.connect-invite-image::after { position: absolute; inset: 30% 0 0; content: ''; background: linear-gradient(transparent, rgba(26, 12, 12, .57)); pointer-events: none; }
.connect-invite-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 63% 54%; }
.connect-invite-image-caption { position: absolute; z-index: 1; right: 20px; bottom: 19px; left: 20px; display: flex; align-items: center; gap: 9px; color: #fff9ef; font-size: 9px; font-weight: 700; letter-spacing: .13em; line-height: 1.5; }
.connect-invite-image-caption i { color: #f1bd72; font-size: 16px; font-style: normal; }
.connect-invite-copy { display: flex; flex-direction: column; justify-content: center; gap: 13px; min-width: 0; padding: clamp(25px, 4vw, 42px); }
.connect-invite-eyebrow { display: flex; align-items: center; gap: 8px; margin: 0; color: #a36b37; font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.connect-invite-eyebrow span { color: #bd8240; font-size: 15px; }
.connect-invite-copy h2 { margin: 0; color: var(--ink, #362a21); font-family: var(--display, Georgia, serif); font-size: clamp(25px, 3.1vw, 35px); font-weight: 400; letter-spacing: -.045em; line-height: 1.15; }
.connect-invite-description { margin: 0; color: var(--muted, #817467); font-size: 13px; line-height: 1.75; }
.connect-invite-phone { align-self: flex-start; color: var(--maroon, #5a2026); font-size: 12px; font-weight: 700; text-decoration: none; letter-spacing: .025em; }
.connect-invite-phone:hover { text-decoration: underline; }
.connect-invite-actions { display: grid; gap: 9px; margin-top: 3px; }
.connect-invite-whatsapp, .connect-invite-catalogue { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 11px 15px; border: 1px solid transparent; border-radius: 8px; font-family: var(--body, Arial, sans-serif); font-size: 12px; font-weight: 700; line-height: 1.35; text-align: center; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.connect-invite-whatsapp { color: #fff; background: #16845b; box-shadow: 0 7px 18px rgba(22,132,91,.18); }
.connect-invite-whatsapp:hover { background: #116f4b; transform: translateY(-1px); }
.connect-invite-whatsapp svg { flex: 0 0 20px; width: 20px; height: 20px; fill: currentColor; }
.connect-invite-whatsapp b { margin-left: auto; font-size: 15px; }
.connect-invite-catalogue { color: var(--maroon, #5a2026); border-color: rgba(90,32,38,.25); background: rgba(255,255,255,.48); }
.connect-invite-catalogue:hover { border-color: var(--maroon, #5a2026); background: #fffaf0; transform: translateY(-1px); }
.connect-invite-note { margin-top: 2px; color: #9a8d7e; font-size: 9px; line-height: 1.5; }
.connect-invite-close { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; width: 38px; height: 38px; place-items: center; padding: 0 0 3px; border: 1px solid rgba(90,32,38,.11); border-radius: 50%; color: #4b3128; background: rgba(255,250,241,.94); box-shadow: 0 3px 12px rgba(28,15,12,.12); cursor: pointer; font: 400 27px/1 Arial, sans-serif; transition: transform .18s ease, background .18s ease; }
.connect-invite-close:hover { background: #fff; transform: rotate(90deg); }
.connect-invite :focus-visible { outline: 3px solid #ce954a; outline-offset: 3px; }
html.connect-invite-active { overflow: hidden; }
@keyframes connect-invite-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes connect-invite-rise { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 620px) {
    .connect-invite { align-items: center; padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
    .connect-invite-card { display: flex; flex-direction: column; width: min(100%, 430px); max-height: calc(100dvh - 24px); overflow: auto; border-radius: 18px; }
    .connect-invite-image { flex: 0 0 auto; min-height: 0; height: clamp(145px, 24vh, 205px); }
    .connect-invite-image img { object-position: 62% 56%; }
    .connect-invite-image-caption { right: 16px; bottom: 13px; left: 16px; font-size: 8px; }
    .connect-invite-copy { gap: 10px; padding: 20px 21px 21px; }
    .connect-invite-copy h2 { max-width: 340px; font-size: clamp(23px, 7vw, 29px); }
    .connect-invite-description { font-size: 12px; line-height: 1.6; }
    .connect-invite-whatsapp, .connect-invite-catalogue { min-height: 46px; font-size: 12px; }
    .connect-invite-close { top: 10px; right: 10px; width: 36px; height: 36px; }
}
@media (max-width: 360px) {
    .connect-invite-copy { padding: 17px; }
    .connect-invite-description { font-size: 11px; }
    .connect-invite-note { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .connect-invite, .connect-invite-card { animation: none; }
    .connect-invite-whatsapp, .connect-invite-catalogue, .connect-invite-close { transition: none; }
}