/* Fonte canônica: casas completas; a abertura se desenha com melhoria progressiva. */
.cq-desenho-casa{display:block;width:100%;height:auto;fill:none;overflow:visible}
.cq-desenho-casa .p,.card-obra__prancha .cq-desenho-casa .p{fill:none;stroke:var(--c-azul);stroke-width:1.2;stroke-linecap:square;stroke-linejoin:miter;opacity:.78;vector-effect:non-scaling-stroke}
.cq-desenho-casa .cq-malha{fill:none;stroke:var(--c-borda);stroke-width:.6;opacity:.55;vector-effect:non-scaling-stroke}
.cq-desenho-casa--hero .p,.bp .cq-desenho-casa--hero .p{stroke:var(--c-fio-traco);stroke-width:1.4;opacity:.9}
.cq-desenho-casa--hero .cq-malha{stroke:var(--c-noite-link);opacity:.12}
.cq-desenho-casa--hero .p.cota,.bp .cq-desenho-casa--hero .p.cota{stroke-width:.8;opacity:.4}

/* Pranchas de serviço: objetos completos, estáticos e legíveis em 4:3. */
.cq-desenho-obra{display:block;width:100%;height:auto;fill:none;overflow:visible}
.cq-desenho-obra .cq-malha{fill:none;stroke:var(--c-borda);stroke-width:.6;opacity:.55;vector-effect:non-scaling-stroke}
.cq-desenho-obra .p{fill:none;stroke:var(--c-azul);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.82;vector-effect:non-scaling-stroke}
.cq-desenho-obra .p--fino{stroke-width:.9;opacity:.65}
.cq-desenho-obra .p--cheio{stroke-width:1.8}

/* A preparação só acontece quando o runtime está pronto. Sem JS, casa inteira. */
.cq-fio-preparado .p{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.cq-fio-anima .p{animation:cq-casa-desenha var(--dur) linear var(--atraso) forwards}
.cq-desenho-casa .cq-fibra{fill:none;stroke:var(--c-fio-luz);stroke-width:2;stroke-linecap:round;opacity:0;vector-effect:non-scaling-stroke;stroke-dasharray:65 var(--len);stroke-dashoffset:65}
.cq-fio-anima .cq-fibra{animation:cq-casa-luz var(--dur) linear var(--atraso) forwards}
@keyframes cq-casa-desenha{to{stroke-dashoffset:0}}
@keyframes cq-casa-luz{0%{opacity:0}8%,88%{opacity:.8}to{stroke-dashoffset:calc(-1 * var(--len));opacity:0}}
@media(prefers-reduced-motion:reduce){
  .cq-fio-preparado .p,.cq-fio-anima .p{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
  .cq-desenho-casa .cq-fibra{display:none;animation:none}
}
@media print{
  .cq-fio-preparado .p,.cq-fio-anima .p{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
  .cq-desenho-casa .cq-fibra{display:none}
}
/* No celular a mensagem e as ações abrem a página; a foto vem em seguida. */
@media(max-width:860px){
  .hero{display:flex;flex-direction:column}
  .hero__topo{order:0}
  .hero__corpo{order:1;flex:none}
  .hero__fundo{order:2;width:100%;margin-top:0}
  .hero__rodape{order:3}
  .hero .bp--hero{top:0;height:100%;-webkit-mask-image:none;mask-image:none}
}
