/* Contato — prefixo ct-. A manhã mais clara do site: papel com luz. */
.ct-secao{background:var(--papel)}

/* malha: a luz chega quando a seção entra */
.ct-malha{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(168deg in oklab,#fbfbf9 0%,var(--papel) 46%,#eef0f3 100%)}
.ct-malha i{position:absolute;display:block;border-radius:50%;filter:blur(60px)}
.ct-malha i:nth-child(1){width:70vmax;height:70vmax;left:-22vmax;top:-34vmax;background:radial-gradient(closest-side in oklab,rgb(255 255 255 / .98),rgb(255 255 255 / 0))}
.ct-malha i:nth-child(2){width:62vmax;height:62vmax;right:-20vmax;top:-6vmax;background:radial-gradient(closest-side in oklab,rgb(201 204 217 / .55),rgb(201 204 217 / 0))}
.ct-malha i:nth-child(3){width:40vmax;height:40vmax;right:2vmax;top:8%;background:radial-gradient(closest-side in oklab,rgb(122 43 60 / .08),rgb(122 43 60 / 0))}
.wf-js .ct-malha[data-entra]{opacity:1;transform:none;transition:none}
.wf-js .ct-malha[data-entra] i{opacity:0;transform:scale(.82);transition:opacity 2.6s var(--lento),transform 3.2s var(--suave)}
.wf-js .ct-malha[data-entra] i:nth-child(2){transition-delay:.25s}
.wf-js .ct-malha[data-entra] i:nth-child(3){transition-delay:.5s}
.wf-js .ct-malha[data-entra].wf-visto i{opacity:1;transform:none}

.ct-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.2rem,4.4vw,4.2rem) clamp(2.5rem,6vw,6rem);align-items:start}
.ct-cab{grid-column:1 / -1}
.ct-titulo{font-size:clamp(2.4rem,6vw,5.5rem);line-height:.96}
.ct-texto{max-width:27rem}
.ct-acoes{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:clamp(1.6rem,2.6vw,2.2rem)}

/* o botão grande, com o número */
.ct-bt{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:84px;padding:.9rem 1.7rem .9rem 1.5rem;border-radius:999px;background:var(--vinho);color:var(--papel);text-decoration:none;box-shadow:0 22px 40px -22px rgb(122 43 60 / .85);transition:transform .45s var(--suave),background .3s,box-shadow .45s var(--suave)}
.ct-bt-txt{display:grid;gap:.1rem}
.ct-bt-rot{font-size:.9375rem;font-weight:500;line-height:1.2;color:rgb(246 246 243 / .86)}
.ct-bt-num{font-family:var(--serifa);font-size:clamp(1.6rem,2.3vw,2.05rem);line-height:1.05;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:lining-nums}
.ct-bt-seta{margin-left:.4rem;transition:transform .45s var(--suave)}
@media (hover:hover){.ct-bt:hover{transform:translateY(-2px);background:#5f1f2e;box-shadow:0 26px 44px -22px rgb(122 43 60 / .9)}.ct-bt:hover .ct-bt-seta{transform:translateX(.3rem)}}
.ct-bt:focus-visible{outline:2px solid var(--vinho);outline-offset:4px;border-radius:999px}
.ct-agenda{font-weight:500}

/* ficha: linhas finas, rótulo à esquerda */
.ct-ficha{margin-top:clamp(2rem,3.4vw,3rem);max-width:30rem}
.ct-ficha>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.2rem 1.2rem;align-items:baseline;padding:1rem 0;border-top:1px solid var(--fio)}
.ct-ficha>div:last-child{border-bottom:1px solid var(--fio)}
.ct-ficha dt{font-size:.875rem;font-weight:500;letter-spacing:.04em;color:var(--tinta-apagada)}
.ct-ficha dd{font-size:var(--t-texto);line-height:1.55;color:var(--tinta-suave)}
.ct-ficha address{font-style:normal}
.ct-ficha strong{font-weight:600;color:var(--tinta)}
.ct-predio{display:block;margin-bottom:.3rem;font-family:var(--serifa);font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.15;color:var(--tinta)}
.ct-insta{font-family:var(--serifa);font-size:clamp(1.2rem,1.6vw,1.4rem);margin-block:-.7rem}

/* mapa: moldura retangular, com um fundo de reserva por baixo do iframe */
.ct-mapa{position:relative;aspect-ratio:16 / 11.6;border-radius:var(--raio);overflow:hidden;background:var(--parede-1);box-shadow:0 0 0 1px var(--fio),0 34px 60px -44px rgb(39 49 79 / .55)}
.ct-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.72) contrast(1.02)}
.ct-mapa-reserva{position:absolute;inset:0;background:
  radial-gradient(60% 55% at 50% 46% in oklab,rgb(246 246 243 / .95),rgb(246 246 243 / 0)),
  linear-gradient(150deg in oklab,var(--parede-1),var(--parede-2))}
.ct-mapa-fio{position:absolute;left:50%;top:0;height:46%;width:1px;background:linear-gradient(to bottom,var(--fio),var(--vinho))}
.ct-mapa-fio::after{content:"";position:absolute;left:-4px;bottom:-4px;width:9px;height:9px;border-radius:50%;background:var(--vinho);box-shadow:0 0 0 7px rgb(122 43 60 / .12)}
.ct-mapa-reserva p{position:absolute;left:0;right:0;top:calc(46% + 1.4rem);padding:0 1rem;text-align:center;font-family:var(--serifa);font-size:1.25rem;line-height:1.25;color:var(--tinta)}
.ct-mapa-reserva p span{font-family:var(--sans);font-size:.875rem;color:var(--tinta-suave)}

.ct-mapa-etq{position:absolute;left:.8rem;top:.8rem;display:inline-flex;align-items:center;gap:.55rem;min-height:36px;padding:0 .95rem 0 .8rem;border-radius:999px;background:rgb(246 246 243 / .94);box-shadow:0 0 0 1px var(--fio),0 10px 20px -14px rgb(20 23 29 / .5);font-size:.875rem;font-weight:500;color:var(--tinta);pointer-events:none}
.ct-mapa-etq span{width:7px;height:7px;border-radius:50%;background:var(--vinho)}
.ct-mapa-pe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1.5rem;margin-top:.5rem;font-size:.9375rem;color:var(--tinta-suave)}
.ct-mapa-pe .wf-link{gap:.45rem;font-weight:500}

.ct-agenda{gap:.45rem}
.ct-bt>svg:first-child{box-sizing:content-box;padding:.6rem;margin-left:-.55rem;border-radius:50%;background:rgb(246 246 243 / .12)}

/* o mapa não prende a rolagem: no computador ele só responde depois de um clique (e solta quando o mouse sai);
   no toque, o mapa inteiro abre o Google Maps */
.ct-mapa-toque,.ct-mapa-dica{display:none}
@media (hover:hover) and (pointer:fine){
  .wf-js .ct-mapa:not(.ct-mapa-viva){cursor:pointer}
  .wf-js .ct-mapa:not(.ct-mapa-viva) iframe{pointer-events:none}
  .wf-js .ct-mapa-dica{display:block;position:absolute;left:50%;bottom:2.2rem;padding:.5rem .95rem;border-radius:999px;background:rgb(20 23 29 / .82);color:var(--papel);font-size:.875rem;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,.4rem);transition:opacity .35s var(--suave),transform .45s var(--suave)}
  .wf-js .ct-mapa:not(.ct-mapa-viva):hover .ct-mapa-dica{opacity:1;transform:translate(-50%,0)}
}
@media (hover:none),(pointer:coarse){
  .ct-mapa iframe{pointer-events:none}
  .ct-mapa-toque{display:block;position:absolute;inset:0}
}

@media (max-width:900px){
  .ct-grade{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ct-fala{display:contents}
  .ct-texto{max-width:34rem}
  .ct-acoes{margin-top:0}
  .ct-lugar{margin-top:1.2rem}
  .ct-ficha{order:5;margin-top:.6rem;max-width:none}
  .ct-mapa{aspect-ratio:16 / 10.5}
}
@media (max-width:600px){
  .ct-acoes{align-items:stretch}
  .ct-bt{display:grid;padding-inline:1.3rem 1.4rem}
  .ct-agenda{align-self:flex-start}
  .ct-mapa{aspect-ratio:4 / 3.4}
  .ct-ficha>div{grid-template-columns:minmax(0,1fr);gap:.35rem;padding:1.1rem 0}
  .ct-insta{margin-block:-.5rem}
  .ct-mapa-pe{margin-top:.7rem}
}
@media (max-width:380px){
  .ct-bt{gap:.75rem;padding-inline:1.15rem 1.2rem}
  .ct-bt-seta{display:none}
}
