/* ESQUEMAS: entrances once, brief contact reminder every five seconds. */
.esq-equipment-card{background:#fff}.esq-equipment-card.esq-equipment-dark{background:#030b12}.esq-equipment-wide{grid-column:1/-1;aspect-ratio:2.5/1}.esq-thania-home .esq-aboutcopy p{font-size:clamp(18px,2vw,24px);line-height:1.55}
@keyframes esq-elegant-enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@keyframes esq-contact-nudge{14%,100%{transform:translateY(0) rotate(0)}3%{transform:translateY(-3px) rotate(-4deg)}6%{transform:translateY(0) rotate(4deg)}10%{transform:translateY(-2px) rotate(-2deg)}}
@media(prefers-reduced-motion:no-preference){
.esq-motion-enter{animation:esq-elegant-enter .8s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--motion-delay,0ms)}
.esq-chat-launcher{animation:esq-contact-nudge 5s ease-in-out infinite}
.esq-chat-launcher:hover,.esq-chat-launcher:focus-visible,.esq-chat-launcher[aria-expanded="true"]{animation:none}
}
@media(prefers-reduced-motion:reduce){.esq-motion-enter,.esq-chat-launcher,.esq-portrait,.esq-aboutcopy{animation:none!important;transition:none!important;translate:none!important}}
@media(max-width:600px){.esq-equipment-wide{aspect-ratio:1.45/1}}

/* Hover feedback and aligned 15% map enlargement. */
.esq-mapimg{scale:1.15;transform-origin:center;margin-block:5%}
.esq-map-hotspot:after{display:none!important}
.esq-benefit,.esq-pillar{transition:transform .4s ease,background .4s ease,box-shadow .4s ease;outline-offset:4px}
.esq-dot{transition:transform .65s cubic-bezier(.2,.65,.3,1),box-shadow .65s ease}
.esq-step{outline-offset:6px}
.esq-portrait img{transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}
@keyframes esq-red-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.8);opacity:.6}}
@keyframes esq-chat-ring{0%{box-shadow:0 0 0 0 rgba(237,23,76,.5)}16%,100%{box-shadow:0 0 0 16px rgba(237,23,76,0)}}
@media(prefers-reduced-motion:no-preference){
.esq-chat-launcher{animation:esq-contact-nudge 5s ease-in-out infinite,esq-chat-ring 5s ease-out infinite}
.esq-benefit:focus-visible,.esq-pillar:focus-visible{transform:translateY(-4px);background:#fff;box-shadow:0 12px 28px rgba(4,26,45,.12)}
.esq-step:focus-visible .esq-dot{transform:scale(1.14);box-shadow:0 0 0 8px rgba(35,136,216,.15)}
@media(hover:hover){
.esq-benefit:hover,.esq-pillar:hover{transform:translateY(-4px);background:#fff;box-shadow:0 12px 28px rgba(4,26,45,.12)}
.esq-step:hover .esq-dot{transform:scale(1.14);box-shadow:0 0 0 8px rgba(35,136,216,.15)}
.esq-portrait:hover img{transform:scale(1.025)}
}
}

/* Visible HTML halos avoid SVG transform differences between browsers. */
.esq-map-pulses{position:absolute;inset:0;pointer-events:none;z-index:2}
.esq-map-pulses span{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ed174c}
.esq-map-pulses span:after{content:"";position:absolute;inset:-2px;border:2px solid #ff365e;border-radius:50%;opacity:0}
@keyframes esq-map-halo{0%{transform:scale(.6);opacity:1}80%,100%{transform:scale(3.4);opacity:0}}
@media(prefers-reduced-motion:no-preference){.esq-map-pulses span:after{animation:esq-map-halo 2.4s ease-out var(--pulse-delay,0s) infinite}}
