/* Brazil outline from the IBGE cartographic mesh. */
.map-wrap > .brazil-map { display: none; }
.map-wrap::before { content: ""; position: absolute; inset: 18px 0 12px; background: url("assets/brazil-ibge.svg") center / contain no-repeat; filter: brightness(0) invert(1) drop-shadow(0 0 18px rgba(156,237,47,.23)); opacity: .82; }
.map-wrap::after { content: ""; position: absolute; inset: 18px 0 12px; opacity: 0; transform: translateY(12px) scale(.9); transition: opacity .5s ease, transform .65s cubic-bezier(.16,1,.3,1); background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-6.2 7-12A7 7 0 1 0 5 9c0 5.8 7 12 7 12Z' fill='%230b0b0b' stroke='%239ced2f' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='%239ced2f'/%3E%3C/svg%3E") 65.8% 73.9% / 26px 26px no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-6.2 7-12A7 7 0 1 0 5 9c0 5.8 7 12 7 12Z' fill='%230b0b0b' stroke='%239ced2f' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='%239ced2f'/%3E%3C/svg%3E") 59.4% 78.7% / 25px 25px no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-6.2 7-12A7 7 0 1 0 5 9c0 5.8 7 12 7 12Z' fill='%230b0b0b' stroke='%239ced2f' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='%239ced2f'/%3E%3C/svg%3E") 61.2% 84.3% / 24px 24px no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-6.2 7-12A7 7 0 1 0 5 9c0 5.8 7 12 7 12Z' fill='%230b0b0b' stroke='%239ced2f' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='%239ced2f'/%3E%3C/svg%3E") 54.7% 90.6% / 25px 25px no-repeat;
  filter: drop-shadow(0 0 10px rgba(156,237,47,.9)); pointer-events: none; }
.map-wrap.visible::after { opacity: 1; transform: none; animation: ticontrei-pin-pulse 2.7s ease-in-out infinite .55s; }
.map-wrap .map-label { font-size: 0; bottom: 16px; z-index: 2; }
.map-wrap .map-label::after { content: "ATUAÇÃO EM EXPANSÃO\A SP · PR · SC · RS"; white-space: pre; color: #9ced2f; font: .57rem/1.7 var(--mono); }
@keyframes ticontrei-pin-pulse { 50% { filter: drop-shadow(0 0 18px rgba(156,237,47,1)); } }
@media (prefers-reduced-motion: reduce) { .map-wrap.visible::after { animation: none; } }

/* Override: outline-only Brazil map and sequential state markers. */
.map-wrap::before,.map-wrap::after{display:none}.map-outline{position:absolute;inset:18px 0 12px;display:grid;place-items:center;filter:drop-shadow(0 0 12px rgba(156,237,47,.22))}.map-outline svg{width:min(100%,390px);height:100%;overflow:visible}.map-outline path{fill:none!important;stroke:#9ced2f!important;stroke-width:1100!important;vector-effect:non-scaling-stroke}.map-wrap .map-pin{position:absolute;z-index:3;width:29px;height:29px;display:grid;place-items:center;opacity:0;transform:translate(-50%,18px) scale(.5);transition:opacity .35s ease,transform .5s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 0 0 rgba(156,237,47,0))}.map-wrap .map-pin svg{width:29px;height:29px;fill:#0b0b0b;stroke:#9ced2f;stroke-width:2.1}.map-wrap .map-pin circle{fill:#9ced2f;stroke:none}.map-wrap .map-pin b{position:absolute;left:24px;top:-3px;background:#0b0b0b;border:1px solid rgba(156,237,47,.55);padding:3px 4px;color:#9ced2f;font:600 .57rem var(--mono)}.map-wrap .map-pin.is-visible{opacity:1;transform:translate(-50%,0) scale(1);animation:map-pin-pulse 2.1s ease-in-out infinite}.map-wrap .pin-sp{left:65.8%;top:73.9%}.map-wrap .pin-pr{left:59.4%;top:78.7%}.map-wrap .pin-sc{left:61.2%;top:84.3%}.map-wrap .pin-rs{left:54.7%;top:90.6%}@keyframes map-pin-pulse{50%{filter:drop-shadow(0 0 12px rgba(156,237,47,1));transform:translate(-50%,0) scale(1.12)}}@media(prefers-reduced-motion:reduce){.map-wrap .map-pin{transition:none}.map-wrap .map-pin.is-visible{animation:none}}
