/* v5 — Contato: canais com copiar, visita/horário e mapa em fachada. Só transform/opacity no motion. */
.v5-js [data-reveal][style*="--d"]{transition-delay:calc(var(--d,0) * 70ms)}

/* Canais */
.ct-channels{padding-block:clamp(8px,1vw,16px) clamp(64px,6vw,112px)}
.ct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-card{position:relative;display:flex;flex-direction:column;min-height:300px;padding:28px;border-radius:var(--r-lg);background:var(--c-surface);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.ct-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.ct-card__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--c-blue);margin-bottom:36px;flex:none}
.ct-card__label{margin-top:0;font-size:var(--fs-small);font-weight:600;letter-spacing:.01em;color:var(--c-mut);line-height:1.3}
.ct-card__value{margin-top:8px;font-size:clamp(1.375rem,1.1rem + .7vw,1.75rem);font-weight:600;letter-spacing:var(--ls-title);line-height:1.15;color:var(--c-ink);overflow-wrap:anywhere}
.ct-card__value a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size var(--dur-2) var(--ease-out)}
.ct-card__value a:hover{background-size:100% 1.5px}
.ct-card__value--mail{font-size:clamp(1.125rem,1rem + .45vw,1.375rem)}
.ct-card__value--addr{font-style:normal;display:flex;flex-direction:column}
.ct-card__value--mut{color:var(--c-mut)}
.ct-card__note{margin-top:8px;font-size:.9375rem;line-height:1.5;color:var(--c-mut)}
.ct-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:auto;padding-top:24px}

.ct-act{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--c-blue-ink)}
.ct-act .v5-arrow{transition:transform var(--dur-1) var(--ease-out)}
.ct-act:hover .v5-arrow{transform:translateX(3px)}

.ct-copy{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 12px;border-radius:var(--r-pill);background:#fff;color:var(--c-ink);font-size:.875rem;font-weight:600;transition:background-color var(--dur-1) ease,color var(--dur-1) ease,transform var(--dur-1) var(--ease-out)}
.ct-copy:hover{background:var(--c-ink);color:#fff}
.ct-copy:active{transform:scale(.97)}
.ct-copy__ico{display:grid;place-items:center;transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-1) ease}
.ct-copy__ico--b{position:absolute;left:12px;opacity:0;transform:scale(.4)}
.ct-copy.is-done{background:var(--c-blue);color:#fff}
.ct-copy.is-done .ct-copy__ico--a{opacity:0;transform:scale(.4)}
.ct-copy.is-done .ct-copy__ico--b{opacity:1;transform:none}

/* WhatsApp: o único card em azul (acento) */
.ct-card--whats{background:var(--c-blue);color:#fff}
.ct-card--whats .ct-card__ico{background:rgba(255,255,255,.16);color:#fff}
.ct-card--whats .ct-card__label{color:#fff}
.ct-card--whats .ct-card__value{color:#fff}
.ct-card--whats .ct-card__note{color:#fff}
.ct-card--whats .v5-btn--light{--btn-fg:var(--c-blue-ink)}
.ct-card--whats:hover{box-shadow:0 24px 60px -24px rgba(39,107,254,.6)}

/* Visita + mapa */
.ct-visit{padding-block:0 var(--section-y)}
.ct-visit__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:center}
.ct-visit__title{margin-top:16px;font-size:var(--fs-h2);letter-spacing:var(--ls-tight);line-height:1.02}
.ct-visit__lead{margin-top:20px;max-width:34ch;font-size:var(--fs-lead);line-height:1.55;color:var(--c-mut)}
.ct-facts{margin-top:36px;display:grid;gap:0;border-top:1px solid var(--c-line)}
.ct-fact{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--c-line)}
.ct-fact dt{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9375rem}
.ct-fact__ico{color:var(--c-blue);display:grid}
.ct-nowrap{white-space:nowrap}
.ct-fact dd{color:var(--c-mut);font-size:.9375rem;line-height:1.55}
.ct-social{margin-top:32px}
.ct-social__label{font-size:var(--fs-small);font-weight:600;color:var(--c-mut)}
.ct-social__list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ct-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--c-line);font-weight:600;font-size:.9375rem;transition:box-shadow var(--dur-1) ease,transform var(--dur-1) var(--ease-out)}
.ct-pill svg{color:var(--c-mut);transition:transform var(--dur-1) var(--ease-out)}
.ct-pill:hover{box-shadow:inset 0 0 0 1.5px var(--c-ink);transform:translateY(-1px)}
.ct-pill:hover svg{transform:translate(2px,-2px)}

.ct-map{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--c-surface);isolation:isolate}
.ct-map__facade{position:absolute;inset:0;display:block;color:#fff;cursor:pointer}
.ct-map__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s var(--ease-out)}
.ct-map__facade:hover .ct-map__img{transform:scale(1.06)}
.ct-map__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,20,.05) 30%,rgba(10,13,20,.72) 100%)}
.ct-map__chip{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:var(--r-pill);background:#fff;color:var(--c-ink);font-size:.875rem;line-height:1.25;box-shadow:var(--shadow-soft)}
.ct-map__chip strong{display:block;font-size:.8125rem;letter-spacing:.04em}
.ct-map__chip span:last-child{color:var(--c-mut)}
.ct-map__pin{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--c-blue);color:#fff}
.ct-map__pin svg{width:20px;height:20px}
.ct-map__cta{position:absolute;left:24px;right:24px;bottom:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.ct-map__btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:var(--r-pill);background:#fff;color:var(--c-ink);font-weight:600;font-size:.9375rem;transition:transform var(--dur-1) var(--ease-out),background-color var(--dur-1) ease,color var(--dur-1) ease}
.ct-map__facade:hover .ct-map__btn{background:var(--c-blue);color:#fff;transform:translateY(-1px)}
.ct-map__hint{font-size:.8125rem;color:rgba(255,255,255,.86)}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity var(--dur-3) var(--ease-out)}
.ct-map iframe.is-in{opacity:1}

@media (max-width:1100px){
  .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-card{min-height:260px}
  .ct-visit__grid{grid-template-columns:minmax(0,1fr)}
  .ct-visit__lead{max-width:48ch}
}
@media (max-width:640px){
  .ct-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .ct-card{min-height:0;padding:24px}
  .ct-card__ico{margin-bottom:24px}
  .ct-fact{grid-template-columns:minmax(0,1fr);gap:6px}
  .ct-map{aspect-ratio:4/5}
  .ct-map__chip{top:16px;left:16px}
  .ct-map__cta{left:16px;right:16px;bottom:16px}
}
@media (hover:none){.ct-card:hover{transform:none;box-shadow:none}}
.ct-map__facade[hidden]{display:none}
