.page-hero {
    border-left: 5px solid var(--accent);
}

.championship-section {
    border-left: 3px solid rgba(30, 132, 194, 0.45);
}

.championship-section p {
    margin-top: 0.35rem;
}

.championship-lead {
    color: var(--muted);
}

.stage-grid,
.info-grid,
.schedule-grid {
    margin-top: 0.9rem;
    display: grid;
    gap: 0.8rem;
}

.stage-card,
.ticket-card,
.info-card,
.schedule-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #e7edf3;
    box-shadow: 0 8px 20px rgba(44, 65, 86, 0.08);
}

.stage-card,
.ticket-card,
.info-card {
    padding: 0.95rem;
}

.stage-card.is-featured {
    background: linear-gradient(180deg, rgba(244, 248, 241, 0.98), rgba(234, 239, 231, 0.96));
    border-color: rgba(90, 122, 70, 0.28);
}

.stage-eyebrow,
.info-label {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-family: "Barlow Condensed", "Segoe UI", sans-serif;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    background: var(--accent);
    border-radius: 999px;
    padding: 0.24rem 0.56rem;
}

.stage-card h3,
.ticket-card h3,
.schedule-card h2 {
    margin-top: 0.55rem;
    font-family: "Barlow Condensed", "Segoe UI", sans-serif;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.stage-card h3,
.ticket-card h3 {
    font-size: 1.25rem;
}

.schedule-card h2 {
    font-size: 1.4rem;
    margin-bottom: 0.6rem;
}

.stage-card p,
.ticket-card p,
.info-card p,
.schedule-list li {
    color: var(--muted);
}

.stage-link,
.download-link {
    margin-top: 0.75rem;
    display: inline-block;
    text-decoration: none;
    font-family: "Barlow Condensed", "Segoe UI", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #fff;
    background: var(--accent);
    border-radius: 10px;
    padding: 0.55rem 0.72rem;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.stage-link:hover,
.stage-link:focus-visible,
.download-link:hover,
.download-link:focus-visible {
    transform: translateY(-1px);
    opacity: 0.92;
}

.championship-highlight,
.info-callout {
    margin-top: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(128, 162, 58, 0.4);
    background: linear-gradient(135deg, #fff6a8, #ffd82f);
    color: #22251f;
}

.championship-highlight strong,
.championship-highlight span,
.info-callout strong,
.info-callout span {
    display: block;
}

.championship-highlight span,
.info-callout span {
    margin-top: 0.25rem;
    font-size: 0.95rem;
}

.schedule-card {
    padding: 1rem;
}

.schedule-list {
    margin: 0;
    padding-left: 1.1rem;
    display: grid;
    gap: 0.55rem;
}

.schedule-list li::marker {
    color: var(--accent);
}

@media (min-width: 768px) {
    .stage-grid,
    .info-grid,
    .schedule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ticket-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .schedule-grid {
        align-items: start;
    }

    .schedule-grid .schedule-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}