/* 3D: wire parts in the service cards and the hanging neon sign. Hidden until WebGL is ready, so the page is unchanged without it. */
.service-card{position:relative}
.obj3d{display:none;position:absolute;top:10px;right:10px;width:120px;height:120px;pointer-events:none}
.gl3d-on .obj3d{display:block}
.sign3d{display:none;flex:0 1 420px;width:100%;max-width:420px;aspect-ratio:1.5;border-radius:6px;background:#141518;border:1px solid rgba(201,54,45,.55);box-shadow:inset 0 0 40px rgba(0,0,0,.65),0 0 26px rgba(201,54,45,.28)}
.gl3d-on .sign3d{display:block}
.visit{align-items:center}
@media (max-width:760px){.visit{flex-direction:column;align-items:flex-start}.sign3d{order:-1;max-width:none}.obj3d{width:84px;height:84px}}
.gl3d-on .service-card h3,.gl3d-on .service-card p{max-width:calc(100% - 112px)}
@media (max-width:760px){.gl3d-on .service-card h3,.gl3d-on .service-card p{max-width:calc(100% - 96px)}}

/* How-to video inside the hero, between Call and WhatsApp */
.hero .hero-video{width:100%;margin:0 auto 28px}
.hero .hv-wide{max-width:560px}
.hero .hv-tall{max-width:100%}
.hero .hv{border-color:rgba(255,255,255,.18)}

/* WhatsApp link in the hero: 30% bigger (1.25em -> 1.625em); on narrow phones it shrinks only as much as needed to fit */
.hero .whatsapp-link{font-size:min(1.625em,6.4vw);gap:.55em;max-width:100%;justify-content:center;text-align:center}
.hero .whatsapp-link .whatsapp-icon{width:1.25em;height:1.25em}
@media (max-width:480px){.hero .whatsapp-link span[aria-hidden]{display:none}.hero .hero-video{margin:0 auto 22px}}
@media (min-width:481px){.hero .hv-tall{max-width:380px}}

.hero .hv-nessi{display:block;width:100%;max-width:100%;aspect-ratio:16/9}
@media (min-width:761px){.hero .hv-nessi{max-width:620px}}
