.vrm-section,.vrm-section *{box-sizing:border-box}.vrm-section{--navy:#061a38;--navy2:#0a315f;--yellow:#f6bb2d;--aqua:#52c8be;--red:#e35d4f;position:relative;width:100%;overflow:hidden;background:radial-gradient(circle at 83% 12%,rgba(39,116,175,.26),transparent 34%),linear-gradient(180deg,#061a38 0%,#071d3d 100%);color:#fff;font-family:"Bricolage Grotesque","Inter",Arial,sans-serif}.vrm-section:after{content:"";position:absolute;width:900px;height:900px;right:-430px;bottom:-470px;border-radius:50%;background:radial-gradient(circle,rgba(47,157,153,.13),transparent 65%);pointer-events:none}.vrm-shell{position:relative;z-index:2;width:min(1500px,calc(100% - 80px));margin:0 auto;padding:110px 0 105px}.vrm-head{max-width:1040px}.vrm-eyebrow{display:block;margin-bottom:17px;color:var(--yellow);font-size:10px;line-height:1;font-weight:850;letter-spacing:.18em}.vrm-head h2{margin:0;color:#fff;font-size:clamp(48px,4.2vw,75px);line-height:.98;font-weight:450;letter-spacing:-.055em}.vrm-head h2 strong{color:var(--yellow);font-weight:850}.vrm-head>p{max-width:790px;margin:27px 0 0;color:rgba(255,255,255,.69);font-size:16px;line-height:1.58}.vrm-grid{margin-top:58px;display:grid;grid-template-columns:minmax(330px,.62fr) minmax(0,1.38fr);gap:25px;align-items:stretch}.vrm-side{min-width:0;padding:7px 0;display:flex;flex-direction:column}.vrm-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.vrm-stats article{min-height:122px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:19px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));backdrop-filter:blur(11px)}.vrm-stats b{font-size:clamp(29px,2.45vw,43px);line-height:.95;font-weight:650;letter-spacing:-.045em}.vrm-stats span{margin-top:8px;color:rgba(255,255,255,.52);text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.10em}.vrm-story{max-width:445px;margin-top:48px}.vrm-story>span{display:block;margin-bottom:13px;color:rgba(255,255,255,.43);font-size:10px;font-weight:850;letter-spacing:.15em}.vrm-story h3{margin:0;font-size:clamp(34px,2.7vw,48px);line-height:.98;font-weight:450;letter-spacing:-.05em}.vrm-story h3 strong{display:block;margin-top:4px;color:var(--yellow);font-weight:850}.vrm-story p{margin:19px 0 0;color:rgba(255,255,255,.64);font-size:15.5px;line-height:1.62}.vrm-story p b{color:#fff}.vrm-legend{margin-top:37px;display:flex;flex-wrap:wrap;gap:10px 16px}.vrm-legend span{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.44);text-transform:uppercase;font-size:9px;font-weight:750;letter-spacing:.055em}.vrm-legend i{width:8px;height:8px;border-radius:50%;display:block}.vrm-legend i.low{background:var(--aqua);box-shadow:0 0 0 4px rgba(82,200,190,.1)}.vrm-legend i.mid{background:var(--yellow);box-shadow:0 0 0 4px rgba(246,187,45,.1)}.vrm-legend i.high{background:var(--red);box-shadow:0 0 0 4px rgba(227,93,79,.1)}.vrm-privacy{margin-top:auto;padding-top:42px;display:flex;align-items:flex-start;gap:9px;color:rgba(255,255,255,.4);font-size:11.5px;line-height:1.5}.vrm-privacy i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#4dbb84;box-shadow:0 0 0 5px rgba(77,187,132,.09);flex:0 0 auto}.vrm-map-card{position:relative;min-width:0;min-height:650px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:31px;background:radial-gradient(circle at 55% 45%,rgba(25,89,103,.34),transparent 50%),linear-gradient(145deg,#0b2949,#05162d);box-shadow:0 30px 75px rgba(0,0,0,.2);isolation:isolate}.vrm-map{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;overflow:hidden}.vrm-state{fill:rgba(255,255,255,.012);stroke:rgba(238,244,229,.34);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .2s ease}.vrm-state.is-bahia{fill:rgba(246,187,45,.095);stroke:rgba(255,216,115,.68)}.vrm-route{fill:none;stroke:rgba(247,205,91,.36);stroke-width:1.15;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;transition:opacity .25s,stroke-width .25s}.vrm-route.tier-low{stroke:rgba(82,200,190,.28)}.vrm-route.tier-mid{stroke:rgba(246,187,45,.38)}.vrm-route.tier-high{stroke:rgba(227,93,79,.48)}.vrm-route.is-muted{opacity:.07}.vrm-route.is-active{opacity:1;stroke-width:2.3}.vrm-traveler{fill:#fff2ad;filter:drop-shadow(0 0 5px rgba(246,187,45,.95));opacity:.86;pointer-events:none}.vrm-city-halo{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:vrmPulse 2.2s ease-out infinite;pointer-events:none}.vrm-city-dot{stroke:#fff;stroke-width:2.4;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;transition:opacity .2s,filter .2s}.vrm-city-dot:hover,.vrm-city-dot:focus{filter:drop-shadow(0 0 8px rgba(255,255,255,.7))}.vrm-dest-halo{fill:none;stroke:var(--yellow);stroke-width:2.2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:vrmDest 1.8s ease-out infinite}.vrm-dest-dot{fill:var(--yellow);stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 10px rgba(246,187,45,.9))}@keyframes vrmPulse{0%{opacity:.7;transform:scale(.8)}75%,100%{opacity:0;transform:scale(2.25)}}@keyframes vrmDest{0%{opacity:.9;transform:scale(.75)}100%{opacity:0;transform:scale(2.9)}}.vrm-map-toolbar{position:absolute;z-index:20;top:23px;left:24px;right:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}.vrm-map-toolbar>div{display:flex;flex-direction:column;gap:4px}.vrm-map-toolbar small{color:rgba(255,255,255,.5);font-size:9px;font-weight:850;letter-spacing:.14em}.vrm-map-toolbar strong{font-size:14px}.vrm-live{padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;display:flex;align-items:center;gap:7px;background:rgba(4,20,42,.42);backdrop-filter:blur(10px)}.vrm-live i{width:6px;height:6px;border-radius:50%;background:#4dbd83;box-shadow:0 0 0 4px rgba(77,189,131,.11)}.vrm-live em{font-style:normal;color:rgba(255,255,255,.55);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em}.vrm-loading{position:absolute;z-index:30;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(4,20,42,.72);box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(10px);transition:opacity .35s,visibility .35s}.vrm-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.vrm-loading b{display:block;font-size:13px}.vrm-loading small{display:block;margin-top:3px;color:rgba(255,255,255,.55);font-size:9px}.vrm-spinner{width:21px;height:21px;border:2px solid rgba(255,255,255,.18);border-top-color:var(--yellow);border-radius:50%;animation:vrmSpin .8s linear infinite}@keyframes vrmSpin{to{transform:rotate(360deg)}}.vrm-tooltip{position:absolute;z-index:40;display:none;min-width:170px;padding:10px 12px;pointer-events:none;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(4,20,44,.95);box-shadow:0 12px 30px rgba(0,0,0,.26);backdrop-filter:blur(11px);font-size:12px;line-height:1.35}.vrm-tooltip strong,.vrm-tooltip span,.vrm-tooltip small{display:block}.vrm-tooltip strong{font-size:13px}.vrm-tooltip span{margin-top:2px}.vrm-tooltip small{margin-top:3px;color:rgba(255,255,255,.52)}.vrm-map-note{position:absolute;z-index:16;left:50%;top:50%;width:min(360px,calc(100% - 48px));padding:16px 18px;transform:translate(-50%,-50%);text-align:center;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(5,23,48,.68);backdrop-filter:blur(12px);transition:opacity .3s,visibility .3s}.vrm-map-note.is-hidden{opacity:0;visibility:hidden}.vrm-map-note span{color:var(--yellow);font-size:9px;font-weight:850;letter-spacing:.14em}.vrm-map-note p{margin:7px 0 0;color:rgba(255,255,255,.65);font-size:12px;line-height:1.48}.vrm-destination{position:absolute;z-index:24;left:22px;bottom:21px;min-width:195px;padding:11px 15px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(4,20,43,.68);box-shadow:0 12px 32px rgba(0,0,0,.14);backdrop-filter:blur(12px);pointer-events:none}.vrm-destination>i{width:11px;height:11px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(246,187,45,.11);flex:0 0 auto}.vrm-destination small,.vrm-destination strong,.vrm-destination span{display:block}.vrm-destination small{color:rgba(255,255,255,.42);font-size:8px;font-weight:850;letter-spacing:.13em}.vrm-destination strong{margin-top:3px;font-size:13.5px}.vrm-destination span{margin-top:3px;color:rgba(255,255,255,.52);font-size:10px}.vrm-cta{margin-top:60px;padding:44px;border:1px solid rgba(255,255,255,.12);border-radius:29px;display:flex;align-items:center;justify-content:space-between;gap:55px;background:radial-gradient(circle at 84% 12%,rgba(246,187,45,.08),transparent 27%),linear-gradient(120deg,rgba(255,255,255,.075),rgba(255,255,255,.022))}.vrm-cta>div{max-width:710px}.vrm-cta>div>span{display:block;margin-bottom:12px;color:var(--yellow);font-size:10px;font-weight:850;letter-spacing:.15em}.vrm-cta h3{margin:0;font-size:clamp(38px,3vw,54px);line-height:.98;font-weight:450;letter-spacing:-.05em}.vrm-cta h3 strong{color:var(--yellow);font-weight:850}.vrm-cta p{max-width:620px;margin:17px 0 0;color:rgba(255,255,255,.64);font-size:14.5px;line-height:1.58}.vrm-cta nav{width:275px;flex:0 0 auto;display:flex;flex-direction:column;gap:9px}.vrm-cta a{text-decoration:none!important}.vrm-cta a.primary,.vrm-cta a.secondary{width:100%;min-height:54px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-align:center;font-size:13.5px;line-height:1.1;font-weight:850;transition:transform .22s,background .22s,border-color .22s}.vrm-cta a.primary:hover,.vrm-cta a.secondary:hover{transform:translateY(-2px)}.vrm-cta a.primary{color:#2b2001;background:var(--yellow)}.vrm-cta a.primary:hover{background:#ffd55e}.vrm-cta a.secondary{color:#fff;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.04)}.vrm-cta a.secondary:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.1)}.vrm-cta a.text{margin-top:4px;color:rgba(255,255,255,.5);text-align:center;font-size:10px;line-height:1.45}
@media(max-width:900px){.vrm-shell{width:calc(100% - 42px);padding:92px 0 90px}.vrm-head h2{font-size:clamp(42px,7vw,60px)}.vrm-grid{grid-template-columns:1fr;gap:35px}.vrm-side{padding:0}.vrm-story{max-width:680px}.vrm-privacy{margin-top:27px;padding-top:0}.vrm-map-card{min-height:575px}.vrm-cta{flex-direction:column;align-items:flex-start}.vrm-cta nav{width:100%;max-width:600px;display:grid;grid-template-columns:1fr 1fr}.vrm-cta a.text{grid-column:1/-1;text-align:left}}
@media(max-width:560px){.vrm-shell{width:calc(100% - 28px);padding:74px 0 76px}.vrm-eyebrow{margin-bottom:13px;font-size:8px}.vrm-head h2{font-size:clamp(35px,9vw,43px);line-height:1}.vrm-head>p{margin-top:20px;font-size:14px;line-height:1.53}.vrm-grid{margin-top:39px;gap:27px}.vrm-stats{gap:5px}.vrm-stats article{min-height:91px;padding:11px;border-radius:15px}.vrm-stats b{font-size:clamp(25px,8vw,34px)}.vrm-stats span{font-size:8px}.vrm-story{margin-top:34px}.vrm-story h3{font-size:clamp(31px,8vw,38px)}.vrm-story p{font-size:14px;line-height:1.58}.vrm-legend{margin-top:27px}.vrm-map-card{min-height:480px;border-radius:23px}.vrm-map-toolbar{top:16px;left:16px;right:16px}.vrm-live{padding:7px 8px}.vrm-live em{display:none}.vrm-destination{left:13px;bottom:13px;min-width:175px}.vrm-cta{margin-top:43px;padding:29px 23px;gap:27px;border-radius:22px}.vrm-cta h3{font-size:clamp(31px,8vw,39px)}.vrm-cta nav{max-width:none;grid-template-columns:1fr}.vrm-cta a.text{grid-column:auto;text-align:center}}
@media(prefers-reduced-motion:reduce){.vrm-city-halo,.vrm-dest-halo,.vrm-spinner{animation:none!important}.vrm-section *{scroll-behavior:auto!important}}

/* v0.1.1 · legibilidade e carregamento não bloqueante */
.vrm-stats article{justify-content:center}.vrm-stats b{font-weight:700}.vrm-map-toolbar small{line-height:1.25}.vrm-map-note{padding:19px 21px}.vrm-tooltip span{margin-top:4px;color:rgba(255,255,255,.72)}.vrm-tooltip small{margin-top:4px}.vrm-destination{min-width:220px;padding:13px 16px}.vrm-loading b,.vrm-loading small{display:none!important}
@media(max-width:900px){.vrm-stats{max-width:520px}.vrm-story>span{font-size:9px}.vrm-legend span{font-size:8.5px}.vrm-privacy{font-size:11px}.vrm-map-toolbar small{font-size:8.5px}.vrm-map-toolbar strong{font-size:13px}.vrm-map-note span{font-size:8.5px}.vrm-map-note p{font-size:11.5px}}
@media(max-width:560px){.vrm-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.vrm-stats article{min-height:96px;padding:13px 14px}.vrm-stats span{font-size:7.5px}.vrm-story>span{font-size:8px}.vrm-legend span{font-size:7.5px}.vrm-privacy{font-size:10.5px}.vrm-map-toolbar small{font-size:7.5px}.vrm-map-toolbar strong{font-size:11.5px}.vrm-map-note{width:min(310px,calc(100% - 34px));padding:16px}.vrm-map-note span{font-size:7.5px}.vrm-map-note p{font-size:10.5px}.vrm-destination{min-width:192px;padding:11px 13px}.vrm-destination small{font-size:7px}.vrm-destination strong{font-size:12px}.vrm-destination span{font-size:9px}.vrm-tooltip{font-size:11px}.vrm-tooltip strong{font-size:12px}.vrm-cta>div>span{font-size:8px}.vrm-cta p{font-size:13.5px}.vrm-cta a.primary,.vrm-cta a.secondary{font-size:12.5px}.vrm-cta a.text{font-size:9px}}

/* v0.2.0 · estabilidade/performance */
.vrm-map-card{contain:layout paint style;content-visibility:auto;contain-intrinsic-size:650px}
.vrm-state{fill-opacity:.62;stroke:rgba(238,244,229,.42);stroke-width:1;vector-effect:non-scaling-stroke}
.vrm-state.is-bahia{fill:#827442;fill-opacity:.78;stroke:rgba(255,216,115,.82)}
.vrm-traveler{opacity:.78}
.vrm-city-halo{animation-duration:2.6s}
.vrm-map-toolbar .vrm-live,.vrm-tooltip{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:900px){.vrm-map-card{contain-intrinsic-size:560px}.vrm-city-halo{display:none}.vrm-traveler{display:none}}
@media(prefers-reduced-motion:reduce){.vrm-city-halo,.vrm-dest-halo{animation:none!important}.vrm-traveler{display:none!important}}

/* v0.2.1 · mapa local holográfico e resiliente */
.vrm-map-card{
  contain:layout paint style;
  content-visibility:visible;
  background:
    radial-gradient(circle at 50% 46%,rgba(29,135,174,.16),transparent 45%),
    linear-gradient(145deg,#092844 0%,#071f39 52%,#04162c 100%);
}
.vrm-map-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.12;
  background:repeating-linear-gradient(180deg,rgba(111,222,244,.12) 0,rgba(111,222,244,.12) 1px,transparent 1px,transparent 7px);
}
.vrm-state{
  fill-opacity:.58;
  stroke:rgba(139,222,241,.46);
  stroke-width:1.05;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.vrm-state:nth-child(3n+1){fill-opacity:.48}
.vrm-state:nth-child(3n+2){fill-opacity:.60}
.vrm-state:nth-child(3n){fill-opacity:.54}
.vrm-state.is-bahia{
  fill:#786e3e!important;
  fill-opacity:.82;
  stroke:rgba(255,218,115,.92);
  stroke-width:1.35;
}
.vrm-country-fallback{
  fill:rgba(21,75,105,.55);
  stroke:rgba(139,222,241,.62);
  stroke-width:1.5;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.vrm-route{stroke-width:1;opacity:.86}
.vrm-route.tier-low{stroke:rgba(85,212,208,.31)}
.vrm-route.tier-mid{stroke:rgba(246,187,45,.40)}
.vrm-route.tier-high{stroke:rgba(233,106,86,.48)}
.vrm-traveler{filter:none;opacity:.84}
.vrm-city-dot{filter:none!important}
.vrm-dest-dot{filter:none}
.vrm-city-halo{animation-duration:2.8s}
.vrm-loading{display:none!important}
@media(max-width:900px){
  .vrm-city-halo,.vrm-traveler{display:none!important}
  .vrm-map-card:before{opacity:.08}
}
@media(prefers-reduced-motion:reduce){
  .vrm-traveler,.vrm-city-halo,.vrm-dest-halo{display:none!important}
}

/* v0.2.2 · mapa essencial renderizado no servidor
   O território, cidades e rotas não dependem mais de JavaScript para aparecer. */
.vrm-map{
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
}
.vrm-states{opacity:1}
.vrm-state{
  opacity:.98;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
.vrm-state[data-state="BA"]{
  filter:none;
}
.vrm-route-base{
  fill:none;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  opacity:.66;
}
.vrm-route-flow{
  fill:none;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:7 13;
  stroke-dashoffset:0;
  animation:vrmRouteFlow 2.25s linear infinite;
  pointer-events:none;
}
.vrm-route-flow.tier-low{stroke:#73ebe5!important}
.vrm-route-flow.tier-mid{stroke:#ffd45d!important}
.vrm-route-flow.tier-high{stroke:#ff8b76!important}
.vrm-route-base.tier-low{stroke:#55d4d0!important}
.vrm-route-base.tier-mid{stroke:#f6bb2d!important}
.vrm-route-base.tier-high{stroke:#ef765f!important}
@keyframes vrmRouteFlow{
  to{stroke-dashoffset:-40}
}
.vrm-city-dot{
  stroke:#fff;
  stroke-width:2.6;
  vector-effect:non-scaling-stroke;
}
.vrm-city-halo{
  fill:none;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  transform-box:fill-box;
  transform-origin:center;
  animation:vrmPulse 2.4s ease-out infinite;
}
.vrm-dest-halo-2{animation-delay:.65s}
.vrm-dest-dot{
  fill:#f6bb2d;
  stroke:#fff;
  stroke-width:3.2;
  vector-effect:non-scaling-stroke;
}
.vrm-map-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(circle at 73% 44%,rgba(64,203,225,.08),transparent 35%);
}
@media(max-width:900px){
  .vrm-route-base{stroke-width:2.1!important;opacity:.72!important}
  .vrm-route-flow{stroke-width:2.65!important;stroke-dasharray:7 15}
  .vrm-city-halo{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .vrm-route-flow{animation:none!important;stroke-dasharray:none;opacity:.78}
}


/* v0.2.3 · relevo holográfico leve + fluxo por pulsos
   O mapa essencial continua renderizado no servidor. Linhas ficam discretas;
   apenas pequenos pulsos percorrem algumas rotas para reduzir ruído e custo visual. */
.vrm-map-card{
  background:
    radial-gradient(circle at 69% 42%,rgba(58,190,209,.075),transparent 32%),
    radial-gradient(circle at 43% 54%,rgba(25,100,149,.10),transparent 46%),
    linear-gradient(145deg,#092844 0%,#071f39 54%,#04162c 100%);
}
.vrm-map-card:before{opacity:.065}
.vrm-map-card:after{background:radial-gradient(circle at 73% 44%,rgba(64,203,225,.05),transparent 37%)}

/* falso relevo: segunda cópia dos estados deslocada poucos pixels */
.vrm-state-depth{opacity:.44;pointer-events:none}
.vrm-state-depth .vrm-state{
  fill:#010b1d!important;
  fill-opacity:.86!important;
  stroke:#010a18!important;
  stroke-width:2.4!important;
  opacity:.82!important;
  vector-effect:non-scaling-stroke;
}
.vrm-states{opacity:1}
.vrm-states .vrm-state{
  stroke:rgba(121,211,232,.52)!important;
  stroke-width:.82!important;
  fill-opacity:.70!important;
  opacity:.97!important;
}
.vrm-states .vrm-state:nth-child(3n+1){fill-opacity:.62!important}
.vrm-states .vrm-state:nth-child(3n+2){fill-opacity:.72!important}
.vrm-states .vrm-state:nth-child(3n){fill-opacity:.66!important}
.vrm-states .vrm-state.is-bahia,
.vrm-states .vrm-state[data-state="BA"]{
  fill:#66603d!important;
  fill-opacity:.78!important;
  stroke:rgba(236,207,111,.86)!important;
  stroke-width:1.05!important;
}

/* as rotas existem apenas como guia quase invisível */
.vrm-route-base{
  fill:none;
  stroke-width:.78!important;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  opacity:.15!important;
  pointer-events:none;
}
.vrm-route-base.tier-low{stroke:#62d8d3!important;opacity:.13!important}
.vrm-route-base.tier-mid{stroke:#e8c35c!important;opacity:.16!important}
.vrm-route-base.tier-high{stroke:#e88973!important;opacity:.19!important}
.vrm-route-flow{display:none!important}

/* fluxo = ponto luminoso pequeno, não uma faixa percorrendo toda a linha */
.vrm-route-pulse{
  pointer-events:none;
  opacity:.74;
  stroke:rgba(255,255,255,.72);
  stroke-width:.7;
  vector-effect:non-scaling-stroke;
}
.vrm-route-pulse.tier-low{fill:#7ce5df!important}
.vrm-route-pulse.tier-mid{fill:#f4ca58!important}
.vrm-route-pulse.tier-high{fill:#ef907a!important}

/* pontos de origem menores e halos mais contidos */
.vrm-city-dot{
  stroke:rgba(255,255,255,.92)!important;
  stroke-width:1.65!important;
  vector-effect:non-scaling-stroke;
}
.vrm-city-halo{
  stroke-width:.85!important;
  opacity:.34;
  animation-duration:3.25s!important;
}
.vrm-dest-halo{stroke-width:1.15!important;opacity:.58}
.vrm-dest-dot{stroke-width:2.2!important}

@media(max-width:900px){
  .vrm-route-base{stroke-width:.72!important;opacity:.12!important}
  .vrm-route-pulse{opacity:.62}
  .vrm-city-halo{display:none!important}
  .vrm-state-depth{opacity:.34}
}
@media(max-width:560px){
  .vrm-route-base{opacity:.10!important}
  .vrm-route-pulse{opacity:.54}
  .vrm-states .vrm-state{stroke-width:.72!important}
}
@media(prefers-reduced-motion:reduce){
  .vrm-route-pulse{display:none!important}
  .vrm-route-base{opacity:.12!important}
}


/* v0.2.4 · mapa em tela cheia, com retorno seguro à navegação */
html.vrm-map-open,body.vrm-map-open{overflow:hidden!important;overscroll-behavior:none}
.vrm-map-actions{display:flex;align-items:center;gap:9px;pointer-events:auto}
.vrm-expand,.vrm-close{font:inherit;color:#fff;border:1px solid rgba(255,255,255,.14);background:rgba(4,20,42,.50);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;outline:none}
.vrm-expand{height:35px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;transition:background .2s,border-color .2s,transform .2s}
.vrm-expand:hover,.vrm-expand:focus-visible{background:rgba(17,58,91,.82);border-color:rgba(116,220,235,.42);transform:translateY(-1px)}
.vrm-expand svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vrm-expand em{font-style:normal;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72)}
.vrm-close{display:none;position:fixed;z-index:1000003;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));height:42px;padding:0 15px;border-radius:999px;align-items:center;gap:8px;background:rgba(3,15,32,.82);box-shadow:0 10px 32px rgba(0,0,0,.24)}
.vrm-close:hover,.vrm-close:focus-visible{border-color:rgba(255,255,255,.35);background:rgba(8,33,61,.96)}
.vrm-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.vrm-close span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vrm-fullscreen-footer{display:none}

.vrm-map-card.is-fullscreen{position:fixed!important;z-index:1000000!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;contain:none!important;content-visibility:visible!important;background:radial-gradient(circle at 64% 42%,rgba(43,172,195,.10),transparent 35%),linear-gradient(145deg,#082744 0%,#061d38 58%,#031326 100%)}
.vrm-map-card.is-fullscreen .vrm-map-toolbar{position:fixed;z-index:1000002;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:150px;pointer-events:none}
.vrm-map-card.is-fullscreen .vrm-map-actions{display:none}
.vrm-map-card.is-fullscreen .vrm-close{display:flex}
.vrm-map-card.is-fullscreen .vrm-map{position:absolute;z-index:1;top:58px;right:3vw;bottom:86px;left:3vw;width:94vw;height:auto;max-height:none;overflow:visible}
.vrm-map-card.is-fullscreen .vrm-destination{position:fixed;z-index:1000002;left:max(24px,env(safe-area-inset-left));bottom:92px}
.vrm-map-card.is-fullscreen .vrm-fullscreen-footer{position:fixed;z-index:1000002;left:0;right:0;bottom:0;min-height:72px;padding:13px max(28px,env(safe-area-inset-right)) max(13px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.12);background:rgba(3,16,34,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.vrm-fullscreen-brand small,.vrm-fullscreen-brand strong{display:block}
.vrm-fullscreen-brand small{color:rgba(255,255,255,.43);font-size:8px;font-weight:850;letter-spacing:.15em}
.vrm-fullscreen-brand strong{margin-top:4px;color:rgba(255,255,255,.86);font-size:13px;font-weight:550}
.vrm-fullscreen-stats{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.vrm-fullscreen-stats>span{display:flex;align-items:baseline;gap:7px}
.vrm-fullscreen-stats b{font-size:28px;line-height:1;font-weight:700;letter-spacing:-.04em;color:#fff}
.vrm-fullscreen-stats em{font-style:normal;color:rgba(255,255,255,.48);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.vrm-fullscreen-stats>i{width:1px;height:24px;background:rgba(255,255,255,.14)}

@media(max-width:900px){
  .vrm-expand{padding:0 10px}.vrm-expand em{display:none}
  .vrm-map-card.is-fullscreen .vrm-map-toolbar{left:max(16px,env(safe-area-inset-left));right:78px;top:max(15px,env(safe-area-inset-top))}
  .vrm-map-card.is-fullscreen .vrm-map{top:52px;right:0;left:0;width:100vw;bottom:82px}
  .vrm-map-card.is-fullscreen .vrm-destination{left:max(14px,env(safe-area-inset-left));bottom:82px;transform:scale(.9);transform-origin:left bottom}
  .vrm-map-card.is-fullscreen .vrm-fullscreen-footer{min-height:66px;padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .vrm-fullscreen-brand strong{font-size:11px}
  .vrm-fullscreen-stats{gap:12px}.vrm-fullscreen-stats b{font-size:24px}.vrm-fullscreen-stats em{font-size:8px}
  .vrm-close{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:42px;padding:0;justify-content:center}.vrm-close span{display:none}
}
@media(max-width:560px){
  .vrm-map-card.is-fullscreen .vrm-map{top:58px;bottom:98px}
  .vrm-map-card.is-fullscreen .vrm-destination{bottom:96px}
  .vrm-map-card.is-fullscreen .vrm-fullscreen-footer{min-height:82px}
  .vrm-fullscreen-brand strong{display:none}
  .vrm-fullscreen-brand small{max-width:145px;line-height:1.35}
  .vrm-fullscreen-stats>span{display:block;text-align:center}.vrm-fullscreen-stats em{display:block;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){.vrm-expand{transition:none!important}}


/* v0.2.5 · tela cheia panorâmica com navegação real
   O desenho do mapa permanece o mesmo da v0.2.3/v0.2.4.
   Apenas a experiência de ampliação passa a usar viewport rolável. */
.vrm-map-viewport{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
}
.vrm-map-viewport .vrm-map{z-index:1}

.vrm-map-card.is-fullscreen{
  overflow:hidden!important;
}
.vrm-map-card.is-fullscreen .vrm-map-viewport{
  position:absolute!important;
  z-index:1!important;
  top:72px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(1680px,calc(100vw - 64px))!important;
  height:calc(100dvh - 164px)!important;
  min-height:420px;
  transform:translateX(-50%)!important;
  overflow:scroll!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable both-edges;
  scrollbar-width:auto;
  scrollbar-color:rgba(101,221,224,.82) rgba(2,17,35,.72);
  border:1px solid rgba(116,211,230,.14);
  border-radius:18px;
  background:rgba(2,18,37,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),0 20px 70px rgba(0,0,0,.18);
  cursor:grab;
  touch-action:none;
}
.vrm-map-card.is-fullscreen .vrm-map-viewport.is-dragging{cursor:grabbing;user-select:none}
.vrm-map-card.is-fullscreen .vrm-map-viewport::-webkit-scrollbar{width:12px;height:12px}
.vrm-map-card.is-fullscreen .vrm-map-viewport::-webkit-scrollbar-track{background:rgba(2,17,35,.72);border-radius:999px}
.vrm-map-card.is-fullscreen .vrm-map-viewport::-webkit-scrollbar-thumb{background:rgba(101,221,224,.72);border:3px solid rgba(2,17,35,.72);border-radius:999px}
.vrm-map-card.is-fullscreen .vrm-map-viewport::-webkit-scrollbar-thumb:hover{background:rgba(126,235,236,.92)}
.vrm-map-card.is-fullscreen .vrm-map-viewport::-webkit-scrollbar-corner{background:rgba(2,17,35,.72)}

/* canvas maior que a janela: amplia sem ficar preso; o usuário navega pelas barras/arraste */
.vrm-map-card.is-fullscreen .vrm-map-viewport .vrm-map{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  display:block!important;
  width:calc(100% + clamp(150px,10vw,220px))!important;
  min-width:1450px!important;
  height:auto!important;
  aspect-ratio:900 / 700;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
}

/* regras antigas de fullscreen não devem mais posicionar o SVG diretamente */
.vrm-map-card.is-fullscreen > .vrm-map{position:relative!important}
.vrm-map-card.is-fullscreen .vrm-destination{bottom:92px}

@media(max-width:900px){
  .vrm-map-card.is-fullscreen .vrm-map-viewport{
    top:62px!important;
    width:calc(100vw - 28px)!important;
    height:calc(100dvh - 148px)!important;
    min-height:360px;
    border-radius:15px;
  }
  .vrm-map-card.is-fullscreen .vrm-map-viewport .vrm-map{
    width:calc(100% + 170px)!important;
    min-width:1120px!important;
  }
}
@media(max-width:560px){
  .vrm-map-card.is-fullscreen .vrm-map-viewport{
    top:60px!important;
    width:calc(100vw - 18px)!important;
    height:calc(100dvh - 156px)!important;
    min-height:300px;
    border-radius:13px;
  }
  .vrm-map-card.is-fullscreen .vrm-map-viewport .vrm-map{
    width:calc(100% + 210px)!important;
    min-width:900px!important;
  }
}
