/* 8 · Contato (prefixo ct-): a semana como graduação, a gota como marcador, mapa só a pedido */
.ct-grade{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(36px,6vw,96px);align-items:start}
.ct-linha{display:block}
.ct-endereco{font-style:normal;margin-top:26px;display:grid;gap:4px;font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.5;color:var(--tinta-suave)}
.ct-endereco strong{font-weight:500;color:var(--tinta)}

/* a semana em sete marcas de graduação */
.ct-semana{margin-top:40px}
.ct-vivo{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.ct-vivo-frase{font-family:var(--serifa);font-size:clamp(19px,1.6vw,24px);font-weight:400;color:var(--petroleo);letter-spacing:-.01em}
.ct-vivo.ct-aberto .ct-vivo-frase::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ameixa);margin-right:10px;translate:0 -1px;box-shadow:0 0 0 3px color-mix(in oklab, var(--ameixa) 18%, transparent);animation:ct-pulsa 2.6s ease-in-out infinite}
@keyframes ct-pulsa{0%,100%{box-shadow:0 0 0 3px color-mix(in oklab, var(--ameixa) 18%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in oklab, var(--ameixa) 6%, transparent)}}
.ct-dias{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);position:relative;padding-top:34px;
  border-top:1px solid rgba(13,50,70,.34);
  background:repeating-linear-gradient(90deg, rgba(13,50,70,.22) 0 1px, transparent 1px calc(100% / 84)) 0 0/100% 5px no-repeat, repeating-linear-gradient(90deg, rgba(13,50,70,.3) 0 1px, transparent 1px calc(100% / 28)) 0 0/100% 9px no-repeat}
.ct-dias li{position:relative;padding-top:0;padding-right:6px}
.ct-dias li::before{content:"";position:absolute;left:0;top:-34px;width:1px;height:18px;background:rgba(13,50,70,.5);transition:background .4s, height .4s, width .4s}
.ct-dias li::after{content:"";position:absolute;left:-5px;top:-37px;width:11px;height:6px;border-radius:50%;background:color-mix(in oklch, var(--ameixa-clara) 75%, white);box-shadow:0 0 0 1px color-mix(in oklch, var(--ameixa) 45%, transparent);opacity:0}
.ct-dias b{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--petroleo)}
.ct-dias .ct-hoje::before{background:var(--ameixa);width:2px;height:28px;left:-.5px;box-shadow:0 0 0 3px color-mix(in oklab, var(--ameixa) 12%, transparent)}
.ct-semana.wf-visivel .ct-hoje::after{animation:ct-poca .5s 1.95s var(--curva) forwards}
@keyframes ct-poca{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
.ct-dias .ct-hoje b{color:var(--ameixa)}
/* colchetes de régua com o horário de cada faixa */
.ct-faixas{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);column-gap:6px;margin-top:10px}
.ct-faixa{position:relative;padding-top:7px;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--tinta-suave);white-space:nowrap;border-top:1px solid rgba(13,50,70,.3)}
.ct-faixa::before,.ct-faixa::after{content:"";position:absolute;top:-1px;width:1px;height:5px;background:rgba(13,50,70,.3)}
.ct-faixa::before{left:0}.ct-faixa::after{right:0}
.ct-h{display:inline-flex;gap:2px}
.ct-h span+span::before{content:"–"}
.ct-gota{position:absolute;left:-4px;top:-70px;width:9px;height:12px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:var(--ameixa);opacity:0}
.ct-semana.wf-visivel .ct-hoje .ct-gota{animation:ct-cai 1.1s .9s cubic-bezier(.5,0,.9,.6) forwards}
@keyframes ct-cai{0%{opacity:0;translate:0 -10px;scale:.6}20%{opacity:1;translate:0 -4px;scale:1}92%{opacity:1}100%{opacity:0;translate:0 34px;scale:.7}}

.ct-acoes{margin-top:36px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ct-fatos{list-style:none;margin-top:34px;display:grid;font-size:14.5px;color:var(--tinta-suave);max-width:52ch;border-top:1px solid rgba(13,50,70,.14)}
.ct-fatos li{display:grid;grid-template-columns:96px 1fr;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid rgba(13,50,70,.14)}
.ct-fatos a{justify-self:start}
.ct-fatos .wf-mono{font-size:10.5px}
.ct-fatos a{color:var(--petroleo);border-bottom:1px solid var(--ameixa-clara)}

/* o mapa: miniatura desenhada, carrega só a pedido */
.ct-mapa{margin:0}
.ct-quadro{position:relative;aspect-ratio:4/5;max-height:780px;border-radius:18px;overflow:hidden;background:var(--greige-1);box-shadow:inset 0 0 0 1px rgba(13,50,70,.2), 0 24px 44px -26px rgba(13,50,70,.55)}
.ct-mini{position:absolute;inset:0;width:100%;height:100%;transition:opacity .6s}
.ct-quadro.ct-carregado .ct-mini{opacity:0;pointer-events:none}
.ct-marcador .ct-pino{transform-origin:0 -16px;transition:scale .5s var(--curva)}
.ct-anel{animation:ct-anel 3s 1.2s ease-out infinite;transform-origin:0 0}
@keyframes ct-anel{0%{r:10;stroke-opacity:.6}100%{r:40;stroke-opacity:0}}
.ct-ver{position:absolute;left:50%;bottom:22px;translate:-50% 0;display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;font-weight:600;font-size:14.5px;color:var(--petroleo);background:color-mix(in oklab, var(--folha) 82%, transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(13,50,70,.22), 0 12px 26px -14px rgba(13,50,70,.6);transition:transform .3s, background .3s}
.ct-ver svg{width:18px;height:18px}
.ct-ver:hover{transform:translateY(-2px);background:var(--folha)}
.ct-quadro iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .8s}
.ct-quadro.ct-carregado iframe{opacity:1}
.ct-coord{margin-top:12px;font-size:10.5px;text-align:right}

@media (max-width:980px){
  .ct-grade{grid-template-columns:1fr;gap:44px}
  .ct-mapa{max-width:640px}
  .ct-quadro{aspect-ratio:4/3}
}
@media (max-width:760px){
  .ct-semana{margin-top:32px}
  .ct-dias{padding-top:30px;background:repeating-linear-gradient(90deg, rgba(13,50,70,.22) 0 1px, transparent 1px calc(100% / 42)) 0 0/100% 4px no-repeat, repeating-linear-gradient(90deg, rgba(13,50,70,.3) 0 1px, transparent 1px calc(100% / 14)) 0 0/100% 8px no-repeat}
  .ct-dias li::before{top:-30px;height:14px}
  .ct-dias .ct-hoje::before{height:22px}
  .ct-dias li::after{top:-33px}
  .ct-gota{top:-62px}
  .ct-dias li{padding-right:2px}
  .ct-dias b{font-size:10.5px;letter-spacing:.06em}
  .ct-faixas{column-gap:3px}
  .ct-faixa{font-size:10px;letter-spacing:0;padding-top:6px}
  .ct-faixa--curta .ct-h{flex-direction:column;gap:1px;line-height:1.3}
  .ct-faixa--curta .ct-h span+span::before{content:none}
  .ct-fatos li{grid-template-columns:82px 1fr;gap:10px}
  .ct-ver{bottom:16px}
}
@media (max-width:380px){
  .ct-dias b{font-size:10px}
  .ct-faixa{font-size:9.5px}
}
