.v2-pq { --cat-foto-pos: 50% 34%; --cat-foto-pos-estreita: 46% 42%; --pqc-via: var(--cat-m-via); }
@media (max-width: 1199px) {
.v2-cat.v2-pq .v2-hero__veu { background: linear-gradient(180deg, rgba(0,39,69,.6) 0%, rgba(0,39,69,.64) 30%,
rgba(0,39,69,.86) 62%, rgba(0,39,69,.94) 100%); }
}
@media (min-width: 1200px) {
.v2-cat.v2-pq .v2-cat-leg{ display: flex; flex-direction: column; }
.v2-cat.v2-pq .v2-cat-grupo{ display: flex; flex-direction: column; flex: 4 1 auto; }
.v2-cat.v2-pq .v2-cat-grupo + .v2-cat-grupo{ flex-grow: 2; }
.v2-cat.v2-pq .v2-cat-lista{ display: flex; flex-direction: column; flex: 1 1 auto; }
.v2-cat.v2-pq .v2-cat-li{ display: flex; flex: 1 1 0; }
.v2-cat.v2-pq .v2-cat-item{ flex: 1 1 auto; }
}
.v2-pq .v2-pq-c-cn{ fill: none; stroke: var(--v2-sobre-escuro-3); stroke-opacity: .24; stroke-width: 1.2; }
.v2-pq .v2-pq-c-parque{ fill: rgba(79,146,137,.1); }
.v2-pq .v2-pq-c-parque__borda{ fill: none; stroke: var(--cat-m-verde); stroke-opacity: .6; stroke-width: 1.2; }
.v2-pq .v2-pq-c-agua{ fill: #0A4169; }
.v2-pq .v2-pq-c-margem{ fill: none; stroke: #5B8FB8; stroke-width: 1.5; }
.v2-pq .v2-pq-c-trilha{ fill: none; stroke: var(--v2-sobre-escuro-3); stroke-opacity: .4; stroke-width: 1.4; stroke-dasharray: 2 4; stroke-linecap: round; }
.v2-pq .v2-pq-c-quadra{ fill: none; stroke: var(--cat-m-quadra); stroke-width: 1.3; }
.v2-pq .v2-pq-c-calc{ fill: none; stroke: var(--cat-m-quadra); stroke-opacity: .45; stroke-width: 1; }
.v2-pq .v2-pq-c-pred, .v2-pq .v2-pq-c-galpao{ fill: #0B3A5E; stroke: var(--v2-sobre-escuro-3); stroke-width: 1.4; stroke-linejoin: round; }
.v2-pq .v2-pq-c-teto, .v2-pq .v2-pq-c-shed{ fill: none; stroke: var(--v2-sobre-escuro-3); stroke-opacity: .35; stroke-width: 1; }
.v2-pq .v2-pq-c-casa{ fill: #0B3A5E; stroke: #A9C6D9; stroke-width: 1.3; }
.v2-pq .v2-pq-c-cume{ fill: none; stroke: #A9C6D9; stroke-opacity: .7; stroke-width: 1; }
.v2-pq .v2-pq-c-largo{ fill: rgba(143,182,206,.07); }
.v2-pq .v2-pq-c-patio{ fill: rgba(143,182,206,.05); stroke: var(--cat-m-quadra); stroke-width: 1.2; stroke-dasharray: 4 4; }
.v2-pq .v2-pq-c-arv{ fill: rgba(79,146,137,.2); stroke: var(--cat-m-verde); stroke-width: 1.3; }
.v2-pq .v2-pq-c-arv__m{ fill: var(--cat-m-verde); fill-opacity: .9; }
.v2-pq .v2-pq-c-via{ fill: var(--pqc-via); }
.v2-pq .v2-pq-c-acost{ fill: #1A4262; }
.v2-pq .v2-pq-c-ilha{ fill: #0C3A5A; }
.v2-pq .v2-pq-c-bordo{ fill: none; stroke: #fff; stroke-opacity: .6; stroke-width: 1.2; }
.v2-pq .v2-pq-c-fx{ fill: none; stroke: #fff; stroke-opacity: .72; stroke-width: 1.3; stroke-dasharray: 8 7; }
.v2-pq .v2-pq-c-eixo{ fill: none; stroke: var(--cat-m-eixo); stroke-opacity: .9; stroke-width: 1.4; stroke-dasharray: 8 7; }
.v2-pq .v2-pq-c-ret{ fill: none; stroke: #fff; stroke-width: 2.6; }
.v2-pq .v2-pq-c-zebra{ fill: #fff; fill-opacity: .9; }
.v2-pq .v2-pq-c-carro{ fill: var(--cat-m-carro); stroke: var(--dm-ink); stroke-width: 1; }
.v2-pq .v2-pq-c-pesado{ fill: #DCE4EC; stroke: #9AA3AF; stroke-width: 1; }
.v2-pq .v2-pq-c-cab{ fill: var(--v2-sobre-escuro-2); stroke: var(--dm-ink); stroke-width: 1; }
.v2-pq .v2-pq-c-onibus{ fill: #E6EDF3; stroke: var(--dm-ink); stroke-width: 1.1; }
.v2-pq .v2-pq-c-onibus__teto{ fill: none; stroke: #9AA3AF; stroke-width: 1; }
.v2-pq .v2-pq-c-sem{ fill: #06182A; stroke: var(--v2-sobre-escuro-3); stroke-width: 1.2; }
.v2-pq .v2-pq-c-luz--vm{ fill: #FF5A5F; }
.v2-pq .v2-pq-c-luz--vd{ fill: #34D17C; }
.v2-pq .v2-pq-c-ped{ fill: #fff; stroke: var(--dm-ink); stroke-width: 1.2; }
.v2-pq .v2-pq-c-cone{ fill: rgba(232,120,180,.13); stroke: var(--cat-tom-1); stroke-opacity: .55; stroke-width: 1.2; stroke-linejoin: round; }
.v2-pq .v2-pq-c-poste{ fill: var(--cat-tom-1); stroke: #fff; stroke-width: 1.1; }
.v2-pq .v2-pq-c-camera{ fill: #fff; stroke: var(--dm-ink); stroke-width: .8; }
.v2-pq .v2-pq-c-contado{ fill: rgba(232,120,180,.12); }
.v2-pq .v2-pq-c-abrigo{ fill: rgba(232,120,180,.4); stroke: var(--cat-tom-1); stroke-width: 1.3; }
.v2-pq .v2-pq-c-abrigo__banco{ fill: none; stroke: #fff; stroke-opacity: .7; stroke-width: 1; }
.v2-pq .v2-pq-c-zona{ fill: rgba(167,156,240,.13); stroke: var(--cat-tom-2); stroke-opacity: .85; stroke-width: 1.6; stroke-dasharray: 7 5; }
.v2-pq .v2-pq-c-desejo{ fill: none; stroke: var(--cat-tom-2); stroke-opacity: .78; stroke-linecap: round; }
.v2-pq .v2-pq-c-centroide{ fill: var(--cat-tom-2); stroke: #fff; stroke-width: 1.6; }
.v2-pq .v2-pq-c-trem-fundo{ fill: rgba(167,156,240,.08); }
.v2-pq .v2-pq-c-trem{ fill: none; stroke: var(--cat-tom-2); stroke-width: 2.4; stroke-dasharray: 12 6; }
.v2-pq .v2-pq-c-dormente{ fill: none; stroke: var(--cat-tom-2); stroke-opacity: .7; stroke-width: 1.4; }
.v2-pq .v2-pq-c-estacao{ fill: var(--cat-painel); fill-opacity: .85; stroke: var(--cat-tom-2); stroke-width: 1.6; stroke-dasharray: 5 4; }
.v2-pq .v2-pq-c-acesso{ fill: none; stroke: var(--cat-tom-2); stroke-opacity: .6; stroke-width: 1.4; stroke-dasharray: 3 4; }
.v2-pq-nq { white-space: nowrap; }
.v2-pq-qual { --j: 1; position: relative; background: var(--dm-ink); scroll-margin-top: var(--v2-head); }
.v2-pq-qual__janela { background: var(--dm-ink); padding-block: var(--v2-sec-y);
clip-path: inset(0 calc(4% * (1 - var(--j))) round calc(24px * (1 - var(--j))) calc(24px * (1 - var(--j))) 0 0); }
.v2-pq-qual .v2-h2 { color: #fff; max-width: 16ch; }
.v2-pq-qual .v2-lead { color: var(--v2-sobre-escuro-2); max-width: 46ch; text-wrap: balance; }
.v2-pq-qual .v2-lead strong { color: #fff; font-weight: 700; }
.v2-pq-mesa { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto 1fr;
column-gap: var(--v2-gap); align-items: start; }
.v2-pq-mesa > .v2-cabeca { grid-column: 1 / span 6; grid-row: 1; }
.v2-pq-lista { grid-column: 1 / span 6; grid-row: 2; border-top: 1px solid var(--v2-filete-escuro);
margin: clamp(32px, min(3.4vw, 5svh), 64px) 0 max(180px, calc(560px - 45svh)); }
.v2-pq-mapa { grid-column: 7 / span 6; grid-row: 1 / span 2; position: sticky; top: calc(var(--v2-head) + 32px); margin: 0; z-index: 2; }
.v2-pq-mapa__caixa { container-type: inline-size; background: #fff; border-radius: var(--v2-r-card);
box-shadow: var(--v2-sombra-escuro); padding: clamp(10px, 1vw, 18px); }
.v2-pq-mapa__svg { display: block; width: 100%; height: auto; max-height: calc(100svh - var(--v2-head) - 104px); overflow: hidden; }
.v2-pq-q { position: relative; display: grid; grid-template-columns: 3.4ch minmax(0, 1fr) 22px; column-gap: clamp(12px, 1.3vw, 22px);
align-items: start; margin: 0; padding: clamp(14px, 2.4svh, 26px) var(--v2-esp-14-22);
border-bottom: 1px solid var(--v2-filete-escuro); background: transparent;
transition: background-color 240ms var(--v2-e-std); }
.v2-pq-q::before { content: ""; position: absolute; left: 0; top: -1px; bottom: -1px; width: 3px; background: var(--dm-highlight);
transform: scaleY(0); transform-origin: 50% 0; transition: transform 360ms var(--v2-e-out); }
.v2-pq-q__n { line-height: 2.6rem;
color: var(--v2-rosa-texto-tinta); }
.v2-pq-q__t { font-family: var(--v2-font-titulo); font-weight: 700; font-size: clamp(1.7rem, min(1.35vw, 3svh), 2.1rem); line-height: 1.28;
letter-spacing: -.01em; color: #fff; margin: 0; text-wrap: pretty; }
.v2-pq-q__r { font-size: 1.5rem; line-height: 1.55; color: var(--v2-sobre-escuro-2); margin: .6rem 0 0; max-width: 58ch; }
.v2-pq-q__a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px;
text-decoration-color: rgba(255,255,255,.36); text-underline-offset: .2em;
transition: text-decoration-color 240ms, color 240ms; }
.v2-pq-q__a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.v2-pq-q__seta { font-family: var(--v2-font-titulo); font-size: 2rem; line-height: 2.6rem; color: var(--v2-sobre-escuro-3);
transition: transform 320ms var(--v2-e-out), color 240ms; }
.v2-pq-q.is-ativo, .v2-pq-q:focus-within { background: var(--v2-ink-alto); }
.v2-pq-q.is-ativo::before, .v2-pq-q:focus-within::before { transform: scaleY(1); }
.v2-pq-q.is-ativo .v2-pq-q__a { text-decoration-color: var(--dm-highlight); text-decoration-thickness: 2px; }
.v2-pq-q.is-ativo .v2-pq-q__seta { color: var(--dm-highlight); transform: translateX(4px); }
.v2-pq-q .v2-pq-q__a:hover, .v2-pq-q .v2-pq-q__a:focus { color: #fff; }
.v2-pq-campo { fill: rgba(48,52,122,.03); stroke: rgba(48,52,122,.30); stroke-width: 1.2; stroke-dasharray: 5 4; }
.v2-pq-campo__hach { fill: url(#v2-pq-hach); }
.v2-pq-mapa pattern line { stroke: rgba(48,52,122,.075); stroke-width: 2.4; }
.v2-pq-link { fill: none; stroke: var(--v2-vis-link); stroke-linecap: butt; stroke-linejoin: round; }
.v2-pq-faixa { fill: none; stroke: rgba(255,255,255,.8); stroke-width: 1; stroke-dasharray: 6 6; }
.v2-pq-rota { fill: none; stroke: var(--dm-highlight); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; opacity: 0;
transition: opacity 200ms; }
.v2-pq-rota.is-on { opacity: .95; }
.v2-pq-carro { fill: var(--dm-highlight); stroke: var(--v2-vis-contorno); stroke-width: 1; }
.v2-pq-m__fio { stroke: var(--dm-ink); stroke-width: 1.2; stroke-dasharray: 2 2; opacity: .55; }
.v2-pq-m__s { transform-box: view-box; transition: transform 240ms var(--v2-e-out); }
.v2-pq-m__c { fill: #fff; stroke: var(--dm-ink); stroke-width: 1.6; transition: fill 260ms var(--v2-e-std); }
.v2-pq-m__n { font-family: var(--v2-font-titulo); font-weight: 700; font-size: 12px; letter-spacing: .02em; fill: var(--dm-ink);
transition: fill 260ms var(--v2-e-std); }
.v2-pq-m__halo { fill: none; stroke: var(--dm-highlight); stroke-width: 2.2; opacity: 0; transition: opacity 260ms; }
.v2-pq-m.is-cheio .v2-pq-m__c { fill: var(--dm-ink); }
.v2-pq-m.is-cheio .v2-pq-m__n { fill: #fff; }
.v2-pq-m.is-origem .v2-pq-m__halo { opacity: 1; }
.v2-pq-rot { font-family: var(--v2-font-titulo); font-weight: 600; font-size: 14px; fill: var(--dm-muted); }
.v2-pq-rot--edital { fill: var(--dm-ink); font-style: italic; }
.v2-pq-rot--campo { fill: var(--dm-accent); letter-spacing: .04em; }
.v2-pq-rot--cel { display: none; }
@container (max-width: 470px) {
.v2-pq-rot { font-size: 20px; }
.v2-pq-rot--largo { display: none; }
.v2-pq-rot--cel { display: inline; }
.v2-pq-m__s { transform: scale(1.3333); }
.v2-pq-m__n { font-size: 13.5px; }
.v2-pq-faixa { stroke-width: 1.4; }
}
@media (max-width: 999px) {
.v2-pq-mesa { display: flex; flex-direction: column; align-items: stretch; }
.v2-pq-mapa { top: var(--v2-head); padding: 10px 0 12px; background: var(--dm-ink); }
.v2-pq-mapa { margin-top: clamp(22px, 5vw, 36px) !important; }
.v2-pq-mapa__caixa { width: min(100%, calc(34svh * 1.4 + 20px)); margin-inline: auto; padding: 10px; }
.v2-pq-mapa__svg { max-height: none; }
.v2-pq-lista { margin: 8px 0 max(40px, calc(50svh - 300px)); border-top: 0; }
.v2-pq-q { grid-template-columns: 3.2ch minmax(0, 1fr); }
.v2-pq-q__seta { display: none; }
}
@media (max-width: 639px) {
.v2-pq-q { padding: 16px 12px; column-gap: 10px; }
.v2-pq-q__t { font-size: 1.7rem; }
.v2-pq-q__r { font-size: 1.45rem; }
}
