/* Race of Life v8 — Landing de divulgação (mobile-first) */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@500;600;700&family=Outfit:wght@400;500;600;700&display=swap');

:root {
    --pl-fire: #e85d04;
    --pl-fire2: #dc2f02;
    --pl-ember: #f48c06;
    --pl-gold: #c9a84c;
    --pl-dark: #0a0a0b;
    --pl-bg: #0d0400;
    --pl-surface: #141416;
    --pl-light: #f5f3f0;
    --pl-card: #fff;
    --pl-bd: #e5e0d8;
    --pl-txt: #1a1008;
    --pl-muted: #8a7a6a;
    --pl-font: 'Outfit', system-ui, sans-serif;
    --pl-display: 'Bebas Neue', sans-serif;
    --pl-cond: 'Barlow Condensed', sans-serif;
    --pl-r: 0.875rem;
    --pl-touch: 2.75rem;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 100%; }
.pl-body {
    font-family: var(--pl-font);
    background: var(--pl-bg);
    color: #fff;
    overflow-x: hidden;
    min-height: 100dvh;
    -webkit-tap-highlight-color: transparent;
}

/* ─── NAV ─── */
.pl-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    padding-top: calc(0.65rem + env(safe-area-inset-top));
    background: rgba(13, 4, 0, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
.pl-nav.is-scrolled {
    background: rgba(13, 4, 0, 0.92);
    box-shadow: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.35);
}
.pl-nav-brand {
    font-family: var(--pl-display);
    font-size: 1.15rem;
    letter-spacing: 0.14em;
    color: #fff;
    text-decoration: none;
    flex-shrink: 0;
}
.pl-nav-brand em {
    font-style: normal;
    color: var(--pl-ember);
    font-size: 0.85em;
}
.pl-nav-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.pl-nav-link,
.pl-nav-ghost {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 2rem;
    transition: all 0.3s ease;
}
.pl-nav-link {
    color: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.pl-nav-link:hover { color: #fff; border-color: rgba(255, 255, 255, 0.28); }
.pl-nav-ghost {
    color: rgba(255, 255, 255, 0.55);
}
.pl-nav-ghost:hover { color: var(--pl-ember); }
.pl-nav-cta {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.85rem;
    border-radius: 2rem;
    background: linear-gradient(135deg, var(--pl-fire), var(--pl-fire2));
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 0.2rem 0.75rem rgba(232, 93, 4, 0.35);
    transition: all 0.3s ease;
}
.pl-nav-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.35rem 1rem rgba(232, 93, 4, 0.45);
}

/* ─── REVEAL ─── */
.pl-reveal {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.pl-reveal.is-in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .pl-reveal { opacity: 1; transform: none; transition: none; }
    .pl-speed-line, .pl-particle, .pl-scroll, .pl-marquee { animation: none !important; }
    .pl-btn-fire::after { display: none; }
}

/* ─── HERO ─── */
.pl-hero {
    position: relative;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: calc(3.5rem + env(safe-area-inset-top)) 1.25rem calc(2.5rem + env(safe-area-inset-bottom));
    overflow: hidden;
}
.pl-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 50% -10%, rgba(232, 93, 4, 0.55) 0%, transparent 55%),
        radial-gradient(ellipse at 15% 85%, rgba(220, 47, 2, 0.25) 0%, transparent 45%),
        radial-gradient(ellipse at 90% 70%, rgba(244, 140, 6, 0.18) 0%, transparent 40%),
        var(--pl-bg);
    z-index: 0;
}
.pl-hero-grain {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0.04;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.pl-hero-vignette {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(ellipse at center, transparent 40%, rgba(0, 0, 0, 0.55) 100%);
}
.pl-hero-fx {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}
.pl-speed-line {
    position: absolute;
    height: 2px;
    width: 40%;
    background: linear-gradient(90deg, transparent, rgba(232, 93, 4, 0.35), transparent);
    animation: plSpeed 2.2s linear infinite;
}
@keyframes plSpeed {
    from { transform: translateX(-120%) scaleX(0.5); opacity: 0; }
    15% { opacity: 1; }
    to { transform: translateX(280%) scaleX(1.2); opacity: 0; }
}
.pl-particle {
    position: absolute;
    border-radius: 50%;
    background: var(--pl-fire);
    animation: plFloat var(--dur, 5s) ease-in-out infinite;
    opacity: 0;
}
@keyframes plFloat {
    0% { transform: translateY(100vh) scale(0); opacity: 0; }
    8% { opacity: 0.55; }
    92% { opacity: 0.2; }
    100% { transform: translateY(-15vh) scale(1); opacity: 0; }
}

.pl-hero-content { position: relative; z-index: 3; width: 100%; max-width: 38rem; }
.pl-eyebrow {
    display: inline-block;
    font-size: clamp(0.62rem, 2vw, 0.72rem);
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--pl-ember);
    margin-bottom: 0.75rem;
}
.pl-title {
    font-family: var(--pl-display);
    font-size: clamp(4rem, 20vw, 7.5rem);
    line-height: 0.88;
    letter-spacing: -0.02em;
    animation: plFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.pl-title .pl-of {
    display: block;
    font-size: 0.38em;
    color: var(--pl-ember);
    letter-spacing: 0.35em;
    margin: 0.08em 0;
}
.pl-title .pl-life {
    display: block;
    background: linear-gradient(135deg, #fff 15%, var(--pl-ember) 55%, var(--pl-fire) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pl-year {
    font-family: var(--pl-display);
    font-size: clamp(1.4rem, 6vw, 2.4rem);
    letter-spacing: 0.45em;
    color: rgba(255, 255, 255, 0.28);
    margin: 0.35rem 0 1rem;
    animation: plFadeUp 1s 0.1s ease-out both;
}
@keyframes plFadeUp {
    from { opacity: 0; transform: translateY(1.25rem); }
    to { opacity: 1; transform: none; }
}
.pl-realiz {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    margin-bottom: 1.25rem;
    animation: plFadeUp 1s 0.15s ease-out both;
}
.pl-realiz-lbl {
    font-size: 0.58rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
}
.pl-realiz-name {
    font-family: var(--pl-cond);
    font-size: clamp(0.85rem, 3vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--pl-gold);
}

.pl-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem;
    margin-bottom: 1.35rem;
    animation: plFadeUp 1s 0.2s ease-out both;
}
.pl-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.7rem;
    border-radius: 2rem;
    font-size: clamp(0.68rem, 2.5vw, 0.78rem);
    font-weight: 600;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.pl-chip svg { flex-shrink: 0; opacity: 0.85; }

.pl-notice {
    width: 100%;
    max-width: 24rem;
    margin: 0 auto 1.1rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--pl-r);
    background: linear-gradient(135deg, rgba(232, 93, 4, 0.12), rgba(244, 140, 6, 0.08));
    border: 1px solid rgba(244, 140, 6, 0.28);
    font-size: 0.72rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
    text-align: left;
    animation: plFadeUp 1s 0.22s ease-out both;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.pl-notice strong { color: var(--pl-ember); }

/* Banner nova data */
.pl-date-banner {
    width: 100%;
    max-width: 26rem;
    margin: 0 auto 0.85rem;
    padding: 1rem 1.1rem;
    border-radius: calc(var(--pl-r) + 0.15rem);
    text-align: center;
    background: linear-gradient(145deg, rgba(232, 93, 4, 0.22), rgba(220, 47, 2, 0.12));
    border: 1.5px solid rgba(244, 140, 6, 0.45);
    box-shadow: 0 0.5rem 2rem rgba(232, 93, 4, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    animation: plFadeUp 1s 0.22s ease-out both;
}
.pl-date-banner__tag {
    display: inline-block;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, var(--pl-fire), var(--pl-fire2));
    padding: 0.35rem 0.75rem;
    border-radius: 2rem;
    margin-bottom: 0.55rem;
}
.pl-date-banner__date {
    font-family: var(--pl-display);
    font-size: clamp(1.35rem, 5.5vw, 1.85rem);
    letter-spacing: 0.06em;
    color: #fff;
    line-height: 1.1;
    margin: 0 0 0.35rem;
    text-shadow: 0 0 1.5rem rgba(232, 93, 4, 0.35);
}
.pl-date-banner__meta {
    margin: 0;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.45;
}

/* Teaser premiação */
.pl-premio-teaser {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    max-width: 26rem;
    margin: 0 auto 1.1rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--pl-r);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(201, 168, 76, 0.35);
    animation: plFadeUp 1s 0.24s ease-out both;
}
.pl-premio-teaser__icon {
    font-size: 1.5rem;
    flex-shrink: 0;
    line-height: 1;
}
.pl-premio-teaser__body {
    flex: 1;
    min-width: 0;
    text-align: left;
}
.pl-premio-teaser__body strong {
    display: block;
    font-size: 0.82rem;
    color: var(--pl-gold);
    margin-bottom: 0.1rem;
}
.pl-premio-teaser__body span {
    display: block;
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.35;
}
.pl-premio-teaser__link {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pl-ember);
    text-decoration: none;
    padding: 0.45rem 0.65rem;
    border-radius: 2rem;
    border: 1px solid rgba(244, 140, 6, 0.4);
    background: rgba(244, 140, 6, 0.1);
    transition: all 0.3s ease;
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
}
.pl-premio-teaser__link:hover {
    background: rgba(244, 140, 6, 0.2);
    color: #fff;
    border-color: var(--pl-ember);
}

.pl-countdown {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.45rem;
    max-width: 22rem;
    margin: 0 auto 1.35rem;
    animation: plFadeUp 1s 0.25s ease-out both;
}
.pl-cd-item {
    padding: 0.7rem 0.3rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--pl-r);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.2);
}
.pl-cd-val {
    font-family: var(--pl-display);
    font-size: clamp(1.4rem, 5.5vw, 1.9rem);
    color: var(--pl-fire);
    line-height: 1;
    text-shadow: 0 0 1.25rem rgba(232, 93, 4, 0.45);
}
.pl-cd-lbl {
    font-size: 0.52rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 0.2rem;
}

.pl-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    animation: plFadeUp 1s 0.3s ease-out both;
}
.pl-btn-fire {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: var(--pl-touch);
    width: min(100%, 20rem);
    padding: 0.85rem 1.5rem;
    border: none;
    border-radius: 3rem;
    background: linear-gradient(135deg, var(--pl-fire), var(--pl-fire2));
    color: #fff;
    font-family: var(--pl-display);
    font-size: clamp(1.05rem, 4vw, 1.25rem);
    letter-spacing: 0.12em;
    text-decoration: none;
    box-shadow: 0 0.35rem 1.25rem rgba(232, 93, 4, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    transition: all 0.3s ease;
    cursor: pointer;
    overflow: hidden;
}
.pl-btn-fire span { position: relative; z-index: 1; }
.pl-btn-fire::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.22) 50%, transparent 60%);
    transform: translateX(-120%);
    animation: plShimmer 3.5s ease-in-out infinite;
}
@keyframes plShimmer {
    0%, 70% { transform: translateX(-120%); }
    100% { transform: translateX(120%); }
}
.pl-btn-fire--wide { width: 100%; max-width: none; }
.pl-btn-fire:hover, .pl-btn-fire:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1.75rem rgba(232, 93, 4, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    outline: none;
}
.pl-btn-fire.is-disabled {
    opacity: 0.45;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}
.pl-login-link {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.3s ease;
}
.pl-login-link:hover { color: #fff; }
.pl-login-link strong { color: var(--pl-ember); font-weight: 600; }

.pl-scroll {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.35;
    animation: plBounce 2s ease-in-out infinite;
    z-index: 2;
}
@keyframes plBounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(0.35rem); }
}

/* ─── LOGOS MARQUEE ─── */
.pl-logos {
    padding: 2.5rem 0 2.75rem;
    background: linear-gradient(180deg, var(--pl-bg) 0%, #120600 100%);
    border-top: 1px solid rgba(232, 93, 4, 0.12);
    overflow: hidden;
}
.pl-logos-hdr { text-align: center; padding: 0 1rem 1.35rem; }
.pl-logos-eyebrow {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--pl-fire);
    margin-bottom: 0.35rem;
}
.pl-logos-title {
    font-family: var(--pl-display);
    font-size: clamp(1.4rem, 5vw, 1.85rem);
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.85);
}
.pl-logos-title span { color: var(--pl-ember); }
.pl-marquee-wrap {
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.pl-marquee-wrap:hover .pl-marquee {
    animation-play-state: paused;
}
.pl-marquee {
    display: flex;
    gap: 0.85rem;
    width: max-content;
    padding: 0 0.5rem;
    animation: plMarquee 40s linear infinite;
}
@keyframes plMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.pl-sp-card {
    flex-shrink: 0;
    width: clamp(9rem, 28vw, 11rem);
    padding: 0.7rem 0.75rem 0.65rem;
    border-radius: calc(var(--pl-r) + 0.1rem);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.pl-sp-card.is-realiz {
    border-color: rgba(201, 168, 76, 0.45);
    background: rgba(201, 168, 76, 0.08);
}
.pl-sp-badge {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pl-gold);
    margin-bottom: 0.45rem;
}
.pl-sp-img {
    height: clamp(3.75rem, 12vw, 4.75rem);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.45rem;
    padding: 0.45rem 0.55rem;
    border-radius: 0.55rem;
    background: #f7f5f0;
    border: 1px solid rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.pl-sp-card.is-realiz .pl-sp-img {
    background: linear-gradient(180deg, #fff 0%, #f5f0e8 100%);
}
.pl-sp-img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
}
.pl-sp-name {
    display: block;
    font-size: 0.62rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── PREMIAÇÃO ─── */
.pl-premio {
    padding: 2.75rem 1rem;
    background: linear-gradient(180deg, #120600 0%, #0a0300 100%);
    border-top: 1px solid rgba(201, 168, 76, 0.15);
    scroll-margin-top: 4.5rem;
}
.pl-premio-inner {
    max-width: 32rem;
    margin: 0 auto;
    text-align: center;
}
.pl-premio-hdr { margin-bottom: 1.35rem; }
.pl-premio-title {
    font-family: var(--pl-display);
    font-size: clamp(1.75rem, 7vw, 2.6rem);
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0.35rem 0;
    background: linear-gradient(135deg, #fff 20%, var(--pl-gold) 70%, var(--pl-ember) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pl-premio-sub {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1.5;
    margin: 0;
}
.pl-premio-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
    border-radius: calc(var(--pl-r) + 0.15rem);
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}
.pl-premio-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 16rem;
}
.pl-premio-table th,
.pl-premio-table td {
    padding: 0.85rem 0.65rem;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.pl-premio-table th {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    background: rgba(0, 0, 0, 0.2);
}
.pl-premio-table tbody tr:last-child td { border-bottom: none; }
.pl-premio-table tbody tr:hover td {
    background: rgba(232, 93, 4, 0.06);
}
.pl-premio-rank {
    display: inline-block;
    font-family: var(--pl-display);
    font-size: 0.95rem;
    letter-spacing: 0.06em;
}
.pl-premio-rank--1 { color: #fcd34d; }
.pl-premio-rank--2 { color: #d1d5db; }
.pl-premio-rank--3 { color: #d97706; }
.pl-premio-val {
    font-family: var(--pl-display);
    font-size: clamp(1.1rem, 4vw, 1.35rem);
    color: var(--pl-ember);
    letter-spacing: 0.04em;
}
.pl-premio-note {
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.4);
    line-height: 1.5;
    margin: 0 0 1.25rem;
}
.pl-premio .pl-btn-fire { margin: 0 auto; }

/* ─── CATEGORIAS ─── */
.pl-cats {
    padding: 3rem 1rem;
    background: linear-gradient(180deg, #120600 0%, var(--pl-bg) 100%);
}
.pl-cats-inner { max-width: 45rem; margin: 0 auto; }
.pl-cats-hdr { text-align: center; margin-bottom: 1.75rem; }
.pl-cats-title {
    font-family: var(--pl-display);
    font-size: clamp(2rem, 8vw, 3rem);
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0.35rem 0;
}
.pl-cats-sub {
    font-size: clamp(0.78rem, 2.5vw, 0.88rem);
    color: rgba(255, 255, 255, 0.42);
    line-height: 1.5;
    max-width: 26rem;
    margin: 0 auto;
}
.pl-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.pl-cat-card {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border-radius: var(--pl-r);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    transition: all 0.3s ease;
}
.pl-cat-card:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(232, 93, 4, 0.25);
}
.pl-cat-card.is-m { border-left: 3px solid rgba(99, 179, 237, 0.45); }
.pl-cat-card.is-f { border-left: 3px solid rgba(246, 135, 179, 0.45); }
.pl-cat-card.is-grp { border-left: 3px solid rgba(244, 140, 6, 0.5); }
.pl-cat-num {
    font-family: var(--pl-display);
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.18);
    flex-shrink: 0;
    min-width: 1.5rem;
}
.pl-cat-detail { flex: 1; min-width: 0; }
.pl-cat-detail strong {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pl-cat-detail span {
    display: block;
    font-size: 0.58rem;
    color: rgba(255, 255, 255, 0.38);
    margin-top: 0.1rem;
}
.pl-cat-km {
    font-family: var(--pl-display);
    font-size: 0.78rem;
    color: var(--pl-ember);
    background: rgba(244, 140, 6, 0.1);
    padding: 0.15rem 0.45rem;
    border-radius: 0.35rem;
    border: 1px solid rgba(244, 140, 6, 0.2);
    flex-shrink: 0;
}
.pl-cat-notes {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.85rem 1rem;
    border-radius: var(--pl-r);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 1.25rem;
}
.pl-cat-note {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1.5;
    padding-left: 0.75rem;
    position: relative;
}
.pl-cat-note::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--pl-fire);
}
.pl-reg-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}
.pl-btn-reg {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 1.1rem;
    border-radius: 2rem;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid rgba(232, 93, 4, 0.3);
    background: rgba(232, 93, 4, 0.1);
    color: var(--pl-ember);
}
.pl-btn-reg:hover {
    background: rgba(232, 93, 4, 0.2);
    border-color: var(--pl-fire);
    color: #fff;
}

/* ─── SEÇÃO CLARA — INSCRIÇÃO ─── */
.pl-light {
    position: relative;
    background: var(--pl-light);
    color: var(--pl-txt);
    padding: 2.5rem 1rem 3rem;
    overflow: hidden;
}
.pl-light::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 0% 0%, rgba(232, 93, 4, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 100% 100%, rgba(201, 168, 76, 0.05) 0%, transparent 45%);
}
.pl-light-inner { position: relative; z-index: 1; max-width: 28rem; margin: 0 auto; }

.pl-vagas {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: calc(var(--pl-r) + 0.15rem);
    background: #fff;
    border: 1.5px solid var(--pl-bd);
    margin-bottom: 1.5rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.04);
}
.pl-vagas.is-crit { border-color: rgba(217, 119, 6, 0.4); background: #fffbeb; }
.pl-vagas.is-full { border-color: rgba(220, 38, 38, 0.35); background: #fef2f2; }
.pl-vagas-icon { font-size: 1.75rem; flex-shrink: 0; }
.pl-vagas-txt { flex: 1; min-width: 0; }
.pl-vagas-num {
    font-family: var(--pl-display);
    font-size: clamp(1.1rem, 4vw, 1.35rem);
    letter-spacing: 0.04em;
    line-height: 1.1;
}
.pl-vagas-num.is-ok { color: #16a34a; }
.pl-vagas-num.is-warn { color: #d97706; }
.pl-vagas-num.is-err { color: #dc2626; }
.pl-vagas-sub { font-size: 0.72rem; color: var(--pl-muted); margin-top: 0.15rem; }
.pl-vagas-bar { flex: 0 0 4.5rem; }
.pl-vagas-track {
    height: 0.35rem;
    background: var(--pl-bd);
    border-radius: 1rem;
    overflow: hidden;
}
.pl-vagas-fill {
    height: 100%;
    border-radius: 1rem;
    transition: width 0.6s ease;
}

.pl-insc-hdr { text-align: center; margin-bottom: 1.5rem; }
.pl-insc-eyebrow {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--pl-fire);
    margin-bottom: 0.35rem;
}
.pl-insc-title {
    font-family: var(--pl-display);
    font-size: clamp(1.75rem, 7vw, 2.5rem);
    line-height: 1;
    margin-bottom: 0.4rem;
}
.pl-insc-sub {
    font-size: 0.85rem;
    color: var(--pl-muted);
    line-height: 1.5;
}

.pl-steps {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
}
.pl-step {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border: 1.5px solid var(--pl-bd);
    border-radius: var(--pl-r);
    transition: all 0.3s ease;
}
.pl-step:hover {
    border-color: rgba(232, 93, 4, 0.25);
    box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}
.pl-step-n {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--pl-fire), var(--pl-fire2));
    color: #fff;
    font-family: var(--pl-display);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pl-step-body strong {
    display: block;
    font-size: 0.85rem;
    margin-bottom: 0.15rem;
}
.pl-step-body span {
    font-size: 0.72rem;
    color: var(--pl-muted);
    line-height: 1.4;
}

.pl-price-box {
    text-align: center;
    padding: 1rem;
    margin-bottom: 1.25rem;
    border-radius: var(--pl-r);
    background: rgba(232, 93, 4, 0.06);
    border: 1.5px solid rgba(232, 93, 4, 0.18);
}
.pl-price-val {
    font-family: var(--pl-display);
    font-size: clamp(2rem, 8vw, 2.75rem);
    color: var(--pl-fire);
    line-height: 1;
}
.pl-price-lbl {
    font-size: 0.72rem;
    color: var(--pl-muted);
    margin-top: 0.25rem;
}

.pl-local {
    margin-top: 2rem;
    padding: 1rem;
    border-radius: var(--pl-r);
    background: #fff;
    border: 1.5px solid var(--pl-bd);
}
.pl-local h3 {
    font-family: var(--pl-display);
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}
.pl-local p {
    font-size: 0.82rem;
    color: var(--pl-muted);
    line-height: 1.55;
    margin-bottom: 0.65rem;
}
.pl-local a {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pl-fire);
    text-decoration: none;
}
.pl-local a:hover { text-decoration: underline; }

/* ─── FOOTER ─── */
.pl-footer {
    background: var(--pl-bg);
    border-top: 1px solid rgba(232, 93, 4, 0.12);
    padding: 1.75rem 1rem calc(5rem + env(safe-area-inset-bottom));
    text-align: center;
}
.pl-footer-lbl {
    font-size: 0.58rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.22);
    margin-bottom: 0.5rem;
}
.pl-footer-names {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.65rem;
}
.pl-footer-main {
    font-family: var(--pl-display);
    font-size: 1rem;
    letter-spacing: 0.15em;
    color: var(--pl-ember);
}
.pl-footer-sep { color: rgba(255, 255, 255, 0.12); }
.pl-footer-sec {
    font-family: var(--pl-display);
    font-size: 0.82rem;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.35);
}
.pl-footer-contact {
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.22);
    letter-spacing: 0.08em;
    line-height: 1.6;
}
.pl-footer-contact a {
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
}
.pl-footer-contact a:hover { color: var(--pl-ember); }

/* Sticky CTA mobile */
.pl-sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom));
    background: linear-gradient(to top, rgba(13, 4, 0, 0.97) 65%, transparent);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(232, 93, 4, 0.15);
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.pl-sticky-cta.is-visible { transform: none; }
.pl-sticky-cta .pl-btn-fire { width: 100%; max-width: none; font-size: 1rem; }

@media (min-width: 35rem) {
    .pl-cat-grid { grid-template-columns: repeat(3, 1fr); }
    .pl-sticky-cta { display: none; }
    .pl-nav-ghost { display: inline-flex; }
}

@media (max-width: 34.99rem) {
    .pl-nav-ghost { display: none; }
}

@media (min-width: 48rem) {
    .pl-hero { padding-left: 2rem; padding-right: 2rem; }
    .pl-cats, .pl-light, .pl-logos, .pl-premio { padding-left: 2rem; padding-right: 2rem; }
    .pl-light-inner { max-width: 36rem; }
    .pl-title { font-size: clamp(5rem, 12vw, 8rem); }
    .pl-chips { gap: 0.55rem; }
    .pl-chip { font-size: 0.8rem; padding: 0.5rem 0.85rem; }
    .pl-steps { grid-template-columns: repeat(3, 1fr); }
    .pl-step { flex-direction: column; text-align: center; align-items: center; }
    .pl-footer { padding-bottom: 2rem; }
    .pl-premio-inner { max-width: 36rem; }
}

@media (min-width: 64rem) {
    .pl-cats-inner { max-width: 52rem; }
    .pl-light-inner { max-width: 40rem; }
}
