/* A self-contained, first-party contact card. */
.tf-connect{--contact-ink:#ffffff;box-sizing:border-box;background:#19191b;color:var(--contact-ink);padding:clamp(24px,3.4vw,40px);border-radius:28px;text-align:left;font-family:Manrope,sans-serif;width:100%;position:relative}
.tf-connect *{box-sizing:border-box}
.tf-connect br{display:initial!important}
.tf-connect .tf-connect__eyebrow{display:flex;align-items:center;gap:9px;color:#c3c1c8;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:20px}
.tf-connect__eyebrow>span,.tf-contact-launcher__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tf-accent-light);flex-shrink:0;box-shadow:0 0 0 5px #e9f0560c}
.tf-connect h2{font-size:clamp(29px,3vw,40px)!important;font-weight:600;line-height:1.1;letter-spacing:-.04em;margin:0 0 16px;color:var(--contact-ink);text-wrap:balance}
.tf-connect__dot{color:var(--tf-accent-light)}
.tf-connect .tf-connect__intro{font-size:14px;line-height:1.6;color:#aaaab4;margin:0 0 24px}
.tf-connect__grid{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(180px,1.15fr);gap:14px}
.tf-connect .tf-connect__qr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#28282d;border:1px solid #ffffff08;padding:14px;border-radius:18px;color:#c9c8d0;text-align:center;font-size:12px;line-height:1.5}
.tf-connect__qr img{display:block;width:100%;max-width:172px;height:auto;aspect-ratio:1;border-radius:10px;background:#fff;padding:6px}
.tf-connect__channels{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}
.tf-connect .tf-channel{display:flex;align-items:center;gap:12px;padding:17px 14px;min-height:76px;color:#fff;border-radius:16px;text-decoration:none;border:1px solid #ffffff0c;transition:transform .2s,filter .2s;box-shadow:none}
.tf-channel--telegram,.tf-channel--whatsapp,.tf-channel--max{background:#30322c}
.tf-channel>i,.tf-channel__max{font-size:24px;width:26px;text-align:center;flex-shrink:0}
.tf-channel>span:not(.tf-channel__max){font-size:16px;font-weight:700;line-height:1.25;flex:1;min-width:0}
.tf-channel small{display:block;font-size:12px;font-weight:500;opacity:.85;margin-top:5px;overflow-wrap:anywhere}
.tf-channel>b{font-size:20px;font-weight:400}
.tf-connect .tf-channel:hover{color:#fff;transform:translateY(-3px);filter:brightness(1.13)}
.tf-connect .tf-connect__phone{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#28282d;border:1px solid #ffffff08;border-radius:16px;padding:17px 18px;margin-top:14px;color:var(--contact-ink);text-decoration:none;transition:background .2s}
.tf-connect__phone>span{font-size:12px;color:#b8b7c0;line-height:1.5}
.tf-connect__phone small{display:block;font-size:12px;color:#efedf4}
.tf-connect__phone strong{font-size:clamp(14px,1.8vw,20px);font-weight:600;white-space:nowrap;letter-spacing:-.035em}
.tf-connect__phone b{font-weight:400;margin-left:5px;color:var(--tf-accent-light)}
.tf-connect .tf-connect__phone:hover{color:#fff;background:#36363e}
.tf-connect .tf-connect__note{font-size:12px;letter-spacing:.025em;color:#8f8e99;margin:18px 0 0}
.tf-contact-dialog{padding:0;border:1px solid #ffffff1a;border-radius:28px;width:min(620px,calc(100% - 28px));max-width:620px;max-height:calc(100dvh - 32px);margin:auto;position:fixed;inset:0;overflow:auto;background:#19191b;color:#fff;box-shadow:0 30px 100px #0006;overscroll-behavior:contain}
.tf-contact-dialog:not([open]){display:none}
.tf-contact-dialog::backdrop{background:#17151b99;backdrop-filter:blur(9px)}
.tf-contact-dialog[open]{animation:tf-contact-in .25s ease-out}
.tf-contact-close{position:absolute;z-index:2;right:14px;top:14px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff26;border-radius:50%;background:#ffffff0a;color:#fff;font-size:26px;font-weight:400;line-height:1;cursor:pointer}
.tf-contact-close:hover{background:#ffffff20}
.tf-contact-dialog .tf-connect{padding-top:40px}
.tf-contact-dialog .tf-connect__eyebrow{padding-right:28px}
.tf-contact-launcher{position:fixed;z-index:100000;bottom:22px;right:24px;display:flex;align-items:center;gap:14px;padding:17px 23px;border-radius:50px;background:#19191b;color:#fff!important;border:1px solid #ffffff24;box-shadow:0 8px 32px #0002;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s}
.tf-contact-launcher:hover{transform:translateY(-4px);background:#323139}
.tf-contact-launcher>span:last-child{font-size:21px;line-height:1}
html.tf-contact-open{overflow:hidden}
.tf-facelift .form-contact:has(>.tf-connect){padding:0;background:transparent;border:0;box-shadow:none!important}
.tf-facelift .tf-connect :is(a,button):focus-visible,.tf-contact-close:focus-visible{outline:3px solid var(--tf-accent-light);outline-offset:4px}
@keyframes tf-contact-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){
 .tf-connect{padding:24px;border-radius:24px}
 .tf-connect__grid{grid-template-columns:1fr}
 .tf-connect__qr{display:none!important}
 .tf-connect h2{font-size:32px!important}
 .tf-connect .tf-channel{min-height:64px;padding:13px 17px}
 .tf-connect .tf-connect__phone{padding:15px;flex-wrap:wrap;gap:5px 14px}
 .tf-connect__phone strong{font-size:19px}
 .tf-contact-launcher{right:16px;bottom:16px;padding:14px 18px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.tf-connect *,.tf-contact-launcher,.tf-contact-dialog[open]{animation:none!important;transition:none!important}}

.tf-connect .tf-connect__intro{font-size:16px}.tf-connect .tf-connect__note{color:#b8becb}.tf-connect__phone>span,.tf-connect__phone small{font-size:13px}

/* Contact dialog: clear choices, one accent, compact mobile layout. */
.tf-contact-dialog{width:min(760px,calc(100% - 32px));max-width:760px;background:#fff;color:#19191b;border:0;border-radius:32px}
.tf-contact-dialog::backdrop{background:#19191b80;backdrop-filter:blur(10px)}
.tf-contact-dialog .tf-contact-close{right:16px;top:16px;width:40px;height:40px;background:#fff;border:1px solid #d4d4d8;color:#19191b}
.tf-contact-dialog .tf-contact-close:hover{background:var(--tf-wasabi);border-color:var(--tf-wasabi)}
.tf-contact-dialog .tf-connect--modal{--contact-ink:#19191b;background:#fff;color:#19191b;padding:44px 36px 24px;display:grid;grid-template-columns:minmax(0,1fr) 148px;column-gap:28px;border-radius:0}
.tf-connect--modal .tf-connect__eyebrow{grid-column:1;margin-bottom:18px;padding-right:0;font-size:11px;letter-spacing:.07em;color:#555b52}
.tf-connect--modal .tf-connect__eyebrow>span{background:var(--tf-wasabi);box-shadow:0 0 0 4px #e9f05640}
.tf-contact-dialog .tf-connect--modal h2{grid-column:1;font-size:46px!important;line-height:1.05;letter-spacing:-.04em;margin-bottom:18px;text-wrap:initial;color:#19191b}
.tf-connect--modal .tf-connect__dot{color:#19191b}
.tf-connect--modal .tf-connect__intro{grid-column:1;font-size:16px;color:#606773;line-height:1.6;margin-bottom:28px;max-width:365px}
.tf-connect--modal .tf-connect__grid{display:contents}
.tf-connect--modal .tf-connect__qr{grid-column:2;grid-row:1 / span 3;align-self:center;background:#f5f6f2;color:#555b52;border:1px solid #e3e5dc;padding:10px;gap:9px;font-size:11px;line-height:1.4;border-radius:20px}
.tf-connect--modal .tf-connect__qr img{width:126px;max-width:100%;border-radius:10px;padding:4px}
.tf-connect--modal .tf-connect__channels{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tf-connect--modal .tf-channel{display:grid;grid-template-columns:1fr auto;gap:16px 8px;align-items:start;padding:20px 16px;min-height:154px;border:1px solid #d4d4d8;border-radius:20px;background:#fff;color:#19191b;position:relative}
.tf-connect--modal .tf-channel>i,.tf-connect--modal .tf-channel__max{grid-column:1;grid-row:1;width:44px;height:44px;display:grid;place-items:center;background:var(--tf-wasabi);border-radius:50%;color:#19191b;font-size:25px}
.tf-connect--modal .tf-channel>span:not(.tf-channel__max){grid-column:1 / -1;grid-row:2;font-size:16px;line-height:1.3}
.tf-connect--modal .tf-channel small{font-size:11px;color:#606773;opacity:1;line-height:1.4}
.tf-connect--modal .tf-channel>b{grid-column:2;grid-row:1;color:#606773;font-size:21px;font-weight:400}
.tf-connect--modal .tf-channel:hover{background:var(--tf-wasabi);border-color:var(--tf-wasabi);color:#19191b;filter:none;transform:translateY(-3px)}
.tf-connect--modal .tf-connect__phone{grid-column:1 / -1;margin-top:16px;background:#19191b;border:1px solid #19191b;color:#fff;padding:20px 22px;border-radius:20px}
.tf-connect--modal .tf-connect__phone>span{color:#bfc4ba;font-size:12px}
.tf-connect--modal .tf-connect__phone small{color:#fff;font-size:13px}
.tf-connect--modal .tf-connect__phone strong{font-size:22px;letter-spacing:-.025em}
.tf-connect--modal .tf-connect__phone b{color:var(--tf-wasabi)}
.tf-connect--modal .tf-connect__phone:hover{background:#30322c;color:#fff}
.tf-connect--modal .tf-connect__note{grid-column:1 / -1;color:#6c7266;font-size:11px;margin:18px 0 0;text-align:center}
.tf-facelift .tf-connect--modal :is(a,button):focus-visible,.tf-contact-dialog .tf-contact-close:focus-visible{outline:3px solid #19191b;outline-offset:3px}
@media(max-width:600px){
 .tf-contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:24px}
 .tf-contact-dialog .tf-connect--modal{padding:30px 22px 20px;display:block}
 .tf-connect--modal .tf-connect__eyebrow{padding-right:36px;margin-bottom:20px;font-size:10px}
 .tf-contact-dialog .tf-connect--modal h2{font-size:36px!important;line-height:1.08;margin-bottom:14px}
 .tf-connect--modal .tf-connect__intro{font-size:14px;margin-bottom:22px;max-width:300px}
 .tf-connect--modal .tf-connect__channels{grid-template-columns:1fr;gap:10px}
 .tf-connect--modal .tf-channel{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px;border-radius:16px}
 .tf-connect--modal .tf-channel>i,.tf-connect--modal .tf-channel__max{width:40px;height:40px;flex-shrink:0;font-size:23px}
 .tf-connect--modal .tf-channel>span:not(.tf-channel__max){font-size:16px;flex:1}
 .tf-connect--modal .tf-channel small{font-size:11px;margin-top:3px}
 .tf-connect--modal .tf-connect__phone{padding:17px 16px;gap:10px;flex-wrap:wrap;border-radius:16px}
 .tf-connect--modal .tf-connect__phone strong{font-size:21px}
 .tf-connect--modal .tf-connect__note{margin-top:16px;font-size:11px}
}
