/* lug · #contato · noite · contato / onde fica */
.lug { min-height: min(100vh, 1000px); padding-top: calc(var(--sec-pad) * .8); padding-bottom: calc(var(--sec-pad) * .6); }
.lug-malha {
  position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(closest-side in oklab, color-mix(in oklab, var(--c-ambar) 10%, transparent), transparent) 30% 70% / 46vw 40vw no-repeat,
    radial-gradient(closest-side in oklab, var(--c-estudio), transparent) 80% 30% / 70vw 70vw no-repeat,
    radial-gradient(closest-side in oklab, var(--c-noite-2), transparent) 10% 10% / 60vw 40vw no-repeat;
  animation: lug-respira 36s ease-in-out infinite alternate;
}
@keyframes lug-respira { to { background-position: 36% 64%, 74% 36%, 16% 4%; } }

/* retrato: topo da foto (cabeça cortada) colado na borda de cima da seção; a base some no fundo */
.lug-foto { position: absolute; z-index: -1; top: 0; right: -4vw; margin: 0; width: min(50vw, 900px); aspect-ratio: 1210 / 1406; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 100%); mask-image: linear-gradient(to bottom, #000 62%, transparent 100%); }
.lug-foto img { display: block; width: 100%; height: auto; }

.lug-rede { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 2; }
.lug-troca { fill: none; stroke: var(--c-ambar); stroke-width: 2.4; stroke-dasharray: .5 6.5; stroke-linecap: round; opacity: .85; }
.lug-pulso { fill: var(--c-ambar-claro); opacity: 0; filter: drop-shadow(0 0 6px var(--c-ambar)); }

.lug-texto { position: relative; z-index: 1; max-width: min(580px, 41vw); display: grid; gap: 26px; }
.lug-tit { font-size: clamp(42px, 5.4vw, 80px); }
.lug-apoio { margin: 0; }
.lug-acao { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 8px; }
.lug-zap { min-height: 64px; padding: 0 32px 0 26px; font-size: 19px; }
.lug-zap svg { width: 24px; height: 24px; }
.lug-tel { margin: 0; font-family: var(--c-f-mono); font-size: 15px; color: var(--c-aco-claro); letter-spacing: .03em; }

/* onde: o diagrama do lugar + os dados */
.lug-onde { display: grid; grid-template-columns: 240px minmax(0, 290px); gap: 30px; align-items: start; margin-top: 46px; }
.lug-dia { margin: -20px 0 0 -24px; }
.lug-dia svg { display: block; width: 290px; height: auto; overflow: visible; }
.lug-dia text { font-family: var(--c-f-mono); font-size: 13px; fill: var(--c-aco); letter-spacing: .02em; }
.lug-dia .lug-t-c { fill: var(--c-ambar-claro); font-size: 14px; }
.lug-orbita { fill: none; stroke: var(--c-aco); stroke-width: 1.3; stroke-dasharray: .5 7; stroke-linecap: round; opacity: .7; }
.lug-orbita--2 { opacity: .35; }
.lug-mo { fill: none; stroke: #fff; stroke-width: 10; stroke-dasharray: 1; stroke-dashoffset: 1; transform: rotate(-90deg); transform-origin: 170px 170px; transition: stroke-dashoffset 2.2s var(--c-ease) .2s; }
.lug-mo--2 { transition-duration: 2.8s; transition-delay: .6s; }
.lug.lug-desenhou .lug-mo, html:not(.js) .lug-mo { stroke-dashoffset: 0; }
.lug-lig { fill: none; stroke: var(--c-aco); stroke-width: 1.5; stroke-linecap: round; }
.lug-lig--forte { stroke: var(--c-aco-claro); stroke-width: 2.4; }
.lug-lig--tenue { stroke-dasharray: 5 6; }
.lug-sat { fill: var(--c-noite-1); stroke: var(--c-aco-claro); stroke-width: 1.5; }
.lug-sats { opacity: 0; transition: opacity 1s var(--c-ease) 1.4s; }
.lug.lug-desenhou .lug-sats, html:not(.js) .lug-sats { opacity: 1; }
.lug-c1 { fill: color-mix(in oklab, var(--c-ambar) 28%, var(--c-noite-1)); stroke: var(--c-ambar); stroke-width: 2.2; }
.lug-c2 { fill: none; stroke: var(--c-ambar); stroke-width: 1.5; }
.lug-centro { transform-box: fill-box; transform-origin: center; }
.lug-centro.lug-acende { animation: lug-acende 1s var(--c-ease); }
@keyframes lug-acende { 30% { transform: scale(1.18); filter: drop-shadow(0 0 10px var(--c-ambar)); } }
.lug-leg { margin: -6px 0 0 24px; font-family: var(--c-f-mono); font-size: 13px; color: var(--c-aco); }

.lug-rot { margin: 0 0 6px; font-family: var(--c-f-mono); font-size: var(--t-mini); letter-spacing: .03em; color: var(--c-aco); }
.lug-rot--hora { margin-top: 20px; }
.lug-end { font-style: normal; font-size: 18px; line-height: 1.5; color: var(--c-camisa); }
.lug-hora { margin: 0; font-size: 18px; line-height: 1.5; color: var(--c-texto-2); }
.lug-agora { margin: 12px 0 0; display: inline-flex; align-items: center; gap: 12px; font-family: var(--c-f-mono); font-size: 14.5px; white-space: nowrap; color: var(--c-ambar-claro); }
.lug-agora::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; animation: lug-luz 2.6s ease-in-out infinite; }
@keyframes lug-luz { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-ambar) 50%, transparent); } 60% { box-shadow: 0 0 0 8px transparent; } }
.lug-agora.is-fechado { color: var(--c-aco-claro); }
.lug-agora.is-fechado::before { background: transparent; border: 1.4px solid currentColor; animation: none; }
.lug-mapa { margin-top: 26px; }
.lug-mapa__acoes { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; }
.lug-mapa__bt { min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1.4px solid color-mix(in oklab, var(--c-aco) 55%, transparent); background: transparent; color: var(--c-camisa); font: 500 16px var(--c-f-titulo); font-variation-settings: "wdth" 90; cursor: pointer; transition: border-color .3s; }
.lug-mapa__bt:hover, .lug-mapa__bt:focus-visible { border-color: var(--c-ambar); }
.lug-mapa__link { font-size: 16px; color: var(--c-camisa); text-underline-offset: 4px; text-decoration-color: color-mix(in oklab, var(--c-ambar) 60%, transparent); }
.lug-mapa__caixa { position: relative; margin-top: 28px; height: 340px; overflow: hidden; border: 1px solid color-mix(in oklab, var(--c-aco) 25%, transparent); }
.lug-mapa__caixa::before { content: attr(data-rot); position: absolute; z-index: 1; left: 0; top: 0; padding: 7px 12px; background: var(--c-noite-1); font-family: var(--c-f-mono); font-size: 13px; color: var(--c-aco-claro); border: 1px solid color-mix(in oklab, var(--c-aco) 25%, transparent); border-width: 0 1px 1px 0; }
.lug-mapa__caixa iframe { position: absolute; left: 0; top: -110px; width: 100%; height: calc(100% + 220px); border: 0; filter: grayscale(.35) contrast(.95); }

@media (max-width: 1180.98px) {
  .lug { min-height: 0; }
  .lug-foto { position: relative; top: auto; right: auto; width: min(calc(100% + 2 * var(--c-padx)), 520px); height: auto; margin: calc(-1 * var(--sec-pad) * .8) 0 10px; left: 50%; translate: -50% 0; }
  .lug-texto { max-width: none; }
  .lug-acao { flex-direction: column-reverse; align-items: flex-start; }
  .lug-onde { grid-template-columns: 1fr; gap: 28px; margin-top: 24px; }
  .lug-dia { margin: 0 auto; }
  .lug-dia svg { width: min(300px, 82vw); }
  .lug-leg { margin: -4px 0 0; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .lug-malha { animation: none; }
  .lug-pulso { display: none; }
  .lug-mo { stroke-dashoffset: 0 !important; }
  .lug-sats { opacity: 1 !important; }
}
