/* ══════════════════════════════════════════════════════════════
   Lumark v2 — premium: tipografia editorial, ouro champanhe, show imersivo
   Camada sobre site.css (carregada depois dele).
   ══════════════════════════════════════════════════════════════ */
.lx {
    --ink: #080706;
    --ink-2: #100e0b;
    --ink-3: #18150f;
    --line: rgba(240, 222, 190, 0.08);
    --line-2: rgba(240, 222, 190, 0.15);
    --fg: #f1ebe0;
    --fg-2: #b3aa9b;
    --fg-3: #7d7568;
    --amber: #cfab6c;
    --amber-hi: #ead3a2;
    --amber-lo: #8e6c38;
    --amber-glow: rgba(207, 171, 108, 0.3);
    --display: 'Newsreader', 'Times New Roman', serif;
    --mono: 'Geist', system-ui, sans-serif;
    --label: 'Geist', system-ui, sans-serif;
}

/* Títulos: serifa óptica, peso leve, sem compressão */
.lx-h2, .lx-h3, .lx-cta-title, .lx-specbar dd, .lx-index-name, .lx-domain-name, .lx-steps h3,
.lx .site-menu-link, .lx .card h3, .lx .price-lg, .lx .contact-channel strong, .lx .headline-lg,
.lx .category-title, .lx-ticket h3, .lx-ticket-price, .lx-price, .lx .instagram-section .headline-lg {
    font-family: var(--display);
    font-weight: 400;
    font-variation-settings: normal;
    letter-spacing: -0.02em;
}
.lx-h2 { font-size: clamp(2.4rem, 1.5rem + 3.6vw, 4.6rem); line-height: 1.02; letter-spacing: -0.028em; }
.lx-h2 em, .lx-cta-title em { font-style: italic; color: var(--amber-hi); }
.lx-h3 { font-size: clamp(1.6rem, 1.25rem + 1.2vw, 2.3rem); }
.lx-cta-title { font-weight: 300; letter-spacing: -0.035em; }
.lx-footer-word { font-family: var(--label); font-weight: 200; letter-spacing: 0.32em; }
.lx .site-menu-link-wa { font-family: var(--sans); }

.lx .text-gradient {
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    color: var(--amber-hi);
    -webkit-text-fill-color: currentColor;
    font-style: italic;
}

/* Etiquetas: caixa alta espaçada, como o logotipo */
.lx-kicker, .lx-eyebrow, .lx-specbar dt, .lx-cue-num, .lx-cue-rail button, .lx-show-hint {
    font-family: var(--label);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
.lx-kicker { color: var(--amber); }
.lx-kicker::before { width: 2rem; opacity: 0.5; }
.lx .lx-mono { font-family: var(--sans); font-feature-settings: 'tnum' 1; }

/* Botões: ouro fosco, sem brilho de plástico */
.lx-btn {
    color: #17110a;
    background: var(--amber);
    border-radius: 999px;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow: 0 0 0 1px rgba(255, 240, 210, 0.25) inset, 0 18px 40px -18px rgba(207, 171, 108, 0.6);
}
.lx-btn:hover {
    background: var(--amber-hi);
    filter: none;
    box-shadow: 0 0 0 1px rgba(255, 240, 210, 0.4) inset, 0 22px 50px -16px rgba(207, 171, 108, 0.75);
}
.lx-btn-sm, .lx-btn-lg { border-radius: 999px; }
.lx-btn .lx-live { display: none; }

/* Nav mais discreta sobre o show */
.lx .site-nav.is-scrolled, .lx:not(.lx-home) .site-nav { background: rgba(8, 7, 6, 0.72); }
.lx .site-nav-links { font-size: 0.82rem; letter-spacing: 0.02em; }
.lx .site-nav-links > a[aria-current="page"]::after { box-shadow: none; }

/* ══════════ SHOW: sequência guiada pelo scroll ══════════ */
.lx-show { position: relative; height: 460vh; background: #070605; }
.lx-show-pin {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}
.lx-show-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.lx-show-scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(5, 4, 3, 0.86) 0%, rgba(5, 4, 3, 0.5) 30%, rgba(5, 4, 3, 0) 52%),
        linear-gradient(0deg, rgba(5, 4, 3, 0.7) 0%, rgba(5, 4, 3, 0) 34%);
}

.lx-show-copy {
    position: absolute;
    left: max(1.25rem, calc((100vw - var(--max-w)) / 2 + 1.25rem));
    bottom: clamp(3rem, 9vh, 6.5rem);
    width: min(36rem, calc(100vw - 2.5rem));
    opacity: 0;
    visibility: hidden;
    transform: translateY(28px);
    filter: blur(6px);
    transition: opacity 0.8s var(--ease), transform 1s var(--ease), filter 0.8s var(--ease), visibility 0s linear 0.8s;
}
.lx-show-copy.is-on {
    opacity: 1;
    visibility: visible;
    transform: none;
    filter: none;
    transition: opacity 0.9s var(--ease) 0.15s, transform 1.1s var(--ease) 0.15s, filter 0.9s var(--ease) 0.15s, visibility 0s;
}
.lx-show-intro { bottom: auto; top: 50%; transform: translateY(calc(-50% + 28px)); width: min(40rem, calc(100vw - 2.5rem)); }
.lx-show-intro.is-on { transform: translateY(-50%); }

.lx-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--amber);
    margin-bottom: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.lx-eyebrow::before { content: ''; width: 2.5rem; height: 1px; background: currentColor; opacity: 0.6; }
.lx-show-title {
    font-family: var(--display);
    font-weight: 300;
    font-size: clamp(3.2rem, 1.4rem + 6.4vw, 7.6rem);
    line-height: 0.94;
    letter-spacing: -0.04em;
    color: var(--fg);
    text-wrap: balance;
}
.lx-show-title .text-gradient, .lx-show-title em { font-weight: 300; }
.lx-show-sub {
    margin-top: 1.75rem;
    max-width: 30rem;
    color: var(--fg-2);
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.12rem);
    line-height: 1.65;
}
.lx-show .lx-hero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 2.25rem; }
.lx-show .lx-hero-note { margin-top: 1.5rem; font-size: 0.78rem; color: var(--fg-3); letter-spacing: 0.02em; }
.lx-show .lx-hero-welcome { margin-top: 1.25rem; color: var(--amber-hi); font-family: var(--display); font-style: italic; font-size: 1.25rem; }

.lx-cue-num { display: flex; align-items: baseline; gap: 0.9rem; color: var(--amber); }
.lx-cue-num span { font-family: var(--display); font-size: 1.05rem; letter-spacing: 0; font-style: italic; color: var(--fg-3); }
.lx-cue-title {
    margin-top: 1rem;
    font-family: var(--display);
    font-weight: 300;
    font-size: clamp(2.2rem, 1.3rem + 3.2vw, 4.2rem);
    line-height: 1;
    letter-spacing: -0.035em;
    text-wrap: balance;
}
.lx-cue-text { margin-top: 1.25rem; color: var(--fg-2); max-width: 31rem; line-height: 1.65; }
.lx-cue-specs { display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; margin-top: 1.5rem; list-style: none; padding: 0; font-size: 0.8rem; color: var(--fg); }
.lx-cue-specs li { position: relative; padding-left: 0.9rem; }
.lx-cue-specs li::before { content: ''; position: absolute; left: 0; top: 0.6em; width: 4px; height: 4px; border-radius: 50%; background: var(--amber); }

/* Trilho dos cues: como faders de uma mesa de luz */
.lx-cue-rail {
    position: absolute;
    right: max(1.25rem, calc((100vw - var(--max-w)) / 2 + 1.25rem));
    bottom: clamp(3rem, 9vh, 6.5rem);
    display: grid;
    grid-auto-flow: column;
    gap: 1.5rem;
    padding-bottom: 0.25rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s var(--ease);
}
.lx-show[data-cue-now]:not([data-cue-now="0"]) .lx-cue-rail { opacity: 1; pointer-events: auto; }
.lx-cue-track { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--line-2); }
.lx-cue-track span { position: absolute; inset: 0; background: var(--amber); transform-origin: left; transform: scaleX(0); }
.lx-cue-rail button {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 44px;
    padding: 0 0.25rem;
    background: none;
    border: 0;
    color: var(--fg-3);
    cursor: pointer;
    transition: color 0.4s var(--ease);
}
.lx-cue-rail button span { font-family: var(--display); font-style: italic; letter-spacing: 0; font-size: 0.85rem; text-transform: none; }
.lx-cue-rail button:hover, .lx-cue-rail button.is-on { color: var(--fg); }
.lx-cue-rail button[aria-current="step"] { color: var(--amber-hi); }

.lx-show-hint {
    position: absolute;
    left: 50%;
    bottom: 1.75rem;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    color: var(--fg-3);
    transition: opacity 0.5s var(--ease);
}
.lx-show-hint span {
    width: 1px;
    height: 2.75rem;
    background: linear-gradient(var(--amber), transparent);
    transform-origin: top;
    animation: lx-hint 2.2s var(--ease) infinite;
}
.lx-show[data-cue-now]:not([data-cue-now="0"]) .lx-show-hint { opacity: 0; }
@keyframes lx-hint {
    0% { transform: scaleY(0); }
    60% { transform: scaleY(1); opacity: 1; }
    100% { transform: scaleY(1); opacity: 0; }
}

@media (max-width: 767px) {
    .lx-show { height: 420vh; }
    .lx-show-scrim { background: linear-gradient(0deg, rgba(5, 4, 3, 0.95) 0%, rgba(5, 4, 3, 0.72) 40%, rgba(5, 4, 3, 0) 62%); }
    .lx-show-copy { bottom: calc(5.5rem + var(--safe-bottom, 0px)); }
    .lx-show-intro { top: auto; bottom: calc(5.5rem + var(--safe-bottom, 0px)); transform: translateY(28px); }
    .lx-show-intro.is-on { transform: none; }
    .lx-show-title { font-size: clamp(2.9rem, 1.2rem + 9vw, 4rem); }
    .lx-show-sub { margin-top: 1.1rem; font-size: 0.95rem; }
    .lx-show .lx-hero-cta { margin-top: 1.4rem; }
    .lx-show .lx-hero-note { display: none; }
    .lx-cue-title { font-size: clamp(2rem, 1.2rem + 6vw, 2.8rem); }
    .lx-cue-text { font-size: 0.95rem; }
    .lx-cue-rail {
        top: calc(var(--nav-h) + var(--safe-top, 0px) + 0.25rem);
        left: 1.25rem;
        right: 1.25rem;
        bottom: auto;
        justify-content: space-between;
        gap: 0;
        padding: 0;
    }
    .lx-cue-rail button { min-height: 40px; font-size: 0.62rem; letter-spacing: 0.16em; }
    .lx-cue-rail button span { display: none; }
    .lx-show-hint { display: none; }
}

/* Sem JS: a sequência vira um bloco estático legível */
.lx-show:not(.is-live) { height: auto; }
.lx-show:not(.is-live) .lx-show-pin { position: relative; height: auto; padding: calc(var(--nav-h) + 4rem) 0 4rem; }
.lx-show:not(.is-live) .lx-show-copy {
    position: relative;
    inset: auto;
    transform: none;
    opacity: 1;
    visibility: visible;
    filter: none;
    margin: 0 auto 4rem;
    width: min(40rem, calc(100% - 2.5rem));
}
.lx-show:not(.is-live) .lx-cue-rail, .lx-show:not(.is-live) .lx-show-hint { display: none; }

@media (prefers-reduced-motion: reduce) {
    .lx-show-copy, .lx-show-copy.is-on { transition: opacity 0.3s linear, visibility 0s; transform: none; filter: none; }
    .lx-show-intro, .lx-show-intro.is-on { transform: translateY(-50%); }
    .lx-show-hint span { animation: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 767px) {
    .lx-show-intro, .lx-show-intro.is-on { transform: none; }
}

/* Ficha técnica depois do show */
.lx-specwrap { position: relative; padding: clamp(3rem, 2rem + 3vw, 5rem) 0 0; background: linear-gradient(180deg, #070605, var(--ink)); }
.lx-specbar dd { font-weight: 300; font-size: clamp(2.2rem, 1.5rem + 2.2vw, 3.6rem); letter-spacing: -0.04em; }
.lx-specbar dd small {
    font-family: var(--label);
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fg-3);
    margin-right: 0.1rem;
}
.lx-specbar dt { color: var(--fg-3); }

/* ══════════ BANDA: setlist ══════════ */
.lx-setlist { position: relative; padding: clamp(5rem, 3rem + 7vw, 10rem) 0; overflow: hidden; }
.lx-setlist::before {
    content: '';
    position: absolute;
    right: -10%;
    top: 10%;
    width: 60vw;
    height: 60vw;
    max-width: 52rem;
    max-height: 52rem;
    background: radial-gradient(closest-side, rgba(207, 171, 108, 0.12), transparent);
    pointer-events: none;
}
.lx-setlist-grid { position: relative; display: grid; gap: 3.5rem; align-items: center; }
@media (min-width: 1024px) { .lx-setlist-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6rem; } }
.lx-setlist-sheet {
    position: relative;
    list-style: none;
    margin: 0;
    padding: clamp(1.75rem, 1rem + 2vw, 3rem);
    background: linear-gradient(160deg, rgba(240, 222, 190, 0.05), rgba(240, 222, 190, 0.015));
    border: 1px solid var(--line);
    border-radius: 4px;
    box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 240, 210, 0.06);
    transform: rotate(-1.2deg);
}
.lx-setlist-sheet::before {
    content: 'Setlist';
    display: block;
    margin-bottom: 1.25rem;
    font-family: var(--label);
    font-size: 0.68rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--fg-3);
}
.lx-setlist-sheet li {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    grid-template-areas: 'n title' 'n desc';
    column-gap: 0.5rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--line);
}
.lx-set-n { grid-area: n; font-family: var(--display); font-style: italic; color: var(--amber); font-size: 1.05rem; padding-top: 0.35rem; }
.lx-setlist-sheet strong {
    grid-area: title;
    font-family: var(--display);
    font-weight: 400;
    font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.25rem);
    letter-spacing: -0.025em;
    line-height: 1.1;
}
.lx-setlist-sheet li > span:last-child { grid-area: desc; margin-top: 0.3rem; color: var(--fg-2); font-size: 0.92rem; }
@media (prefers-reduced-motion: no-preference) {
    .lx-setlist-sheet li { transition: transform 0.5s var(--ease); }
    .lx-setlist-sheet li:hover { transform: translateX(0.5rem); }
}

/* Índice de linhas e passos: nomes em serifa, ritmo mais calmo */
.lx-index-name { font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); letter-spacing: -0.03em; }
.lx-steps h3 { font-size: 2rem; }
.lx-step-time { font-family: var(--display); font-style: italic; font-size: 1.05rem; letter-spacing: 0; text-transform: none; }

/* Grão mais fino */
.lx-grain { opacity: 0.05; }

/* ══════════ FAQ: respostas diretas ══════════ */
.lx-faq-grid { display: grid; gap: 3rem; }
@media (min-width: 1024px) {
    .lx-faq-grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 6rem; align-items: start; }
    .lx-faq-head { position: sticky; top: calc(var(--nav-h) + 3rem); }
}
.lx-faq-summary {
    margin: 1.75rem 0 1.25rem;
    max-width: 30rem;
    padding-left: 1rem;
    border-left: 1px solid var(--amber);
    color: var(--fg-2);
    line-height: 1.65;
}
.lx-faq-list { border-top: 1px solid var(--line); }
.lx-faq-item { padding: 1.75rem 0; border-bottom: 1px solid var(--line); }
.lx-faq-item h3 {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    font-family: var(--display);
    font-weight: 400;
    font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem);
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--fg);
}
.lx-faq-n { flex-shrink: 0; width: 1.75rem; font-style: italic; font-size: 0.95rem; color: var(--amber); }
.lx-faq-item p { margin-top: 0.75rem; padding-left: 2.75rem; max-width: 40rem; color: var(--fg-2); line-height: 1.7; }
@media (max-width: 599px) { .lx-faq-item p { padding-left: 0; } }

/* ══════════ ÁREA DE ATENDIMENTO: mapa 3D ══════════ */
.lx-area { position: relative; overflow: hidden; }
.lx-area-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .lx-area-grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 4rem; } }
.lx-area-note { margin-top: 1.25rem; padding-left: 1rem; border-left: 1px solid var(--line-2); color: var(--fg-2); max-width: 30rem; }
.lx-area-note strong { color: var(--fg); font-weight: 500; }
.lx-area-map { position: relative; margin: 0; aspect-ratio: 4 / 3; min-height: 20rem; }
.lx-area-map::before {
    content: '';
    position: absolute;
    inset: 8% 4% 12%;
    background: radial-gradient(closest-side, rgba(207, 171, 108, 0.1), transparent);
    pointer-events: none;
}
.lx-area-map canvas { position: relative; display: block; width: 100%; height: 100%; opacity: 0; transition: opacity 0.8s var(--ease); cursor: crosshair; }
.lx-area-map.is-ready canvas { opacity: 1; }
.lx-area-map.is-failed { display: none; }
.lx-area-tip {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0.35rem 0.65rem;
    font-size: 0.78rem;
    color: var(--ink);
    background: var(--amber-hi);
    border-radius: 999px;
    pointer-events: none;
    white-space: nowrap;
    z-index: 2;
}
.lx-area-legend {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    font-size: 0.75rem;
    color: var(--fg-2);
}
.lx-area-legend span { display: inline-flex; align-items: center; gap: 0.5rem; }
.lx-area-legend i { width: 0.75rem; height: 0.75rem; border-radius: 2px; border: 1px solid rgba(240, 222, 190, 0.35); background: #15120e; }
.lx-area-legend i.is-gold { background: var(--amber); border-color: var(--amber-hi); }
.lx-area-cities {
    list-style: none;
    margin: 3rem 0 0;
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--line);
    columns: 2 10rem;
    column-gap: 2rem;
    font-size: 0.85rem;
    color: var(--fg-3);
}
@media (min-width: 900px) { .lx-area-cities { columns: 5; } }
.lx-area-cities li { padding: 0.3rem 0; break-inside: avoid; }
.lx-area-cities li.is-base { color: var(--amber-hi); }
.lx-area-cities small { margin-left: 0.35rem; font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--amber); }
@media (max-width: 640px) { .lx-area-map { aspect-ratio: 1 / 1.05; } }
