.nessun-dorma-page {
    --bl26-ink: #171a1f;
    --bl26-muted: #5f6872;
    --bl26-purple: #0f766e;
    --bl26-pink: #c2410c;
    --bl26-cyan: #0284c7;
    --bl26-lime: #fbbf24;
    --bl26-soft: #f3faf6;
    --bl26-line: rgba(15, 118, 110, .16);
    background: #fbfdf9;
    color: var(--bl26-ink);
    overflow-x: clip;
}

.nessun-dorma-page .site-header { border-bottom-color: rgba(15, 118, 110, .14); }
.nessun-dorma-page main { overflow: visible; }
.nessun-dorma-page .bl26-jump { background: rgba(251, 253, 249, .94); }
.nessun-dorma-page .bl26-jump a:hover,
.nessun-dorma-page .bl26-jump a[aria-current="location"] { background: var(--bl26-purple); }
.nessun-dorma-page .bl26-section:nth-of-type(even) { background: #fff; }

.nd26-hero {
    position: relative;
    min-height: 680px;
    min-height: min(760px, calc(100svh - 44px));
    display: grid;
    align-items: end;
    padding: 110px 0 64px;
    color: #fff;
    background: #111a1d;
    overflow: hidden;
}

.nd26-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(90deg, rgba(10, 14, 16, .9) 0%, rgba(10, 14, 16, .52) 42%, rgba(10, 14, 16, .08) 100%),
        linear-gradient(0deg, rgba(10, 14, 16, .74) 0%, rgba(10, 14, 16, 0) 58%),
        var(--nd26-hero-image);
    background-size: cover;
    background-position: center;
    transform: scale(1.015);
}

.nd26-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 8px;
    background: linear-gradient(90deg, #fbbf24, #f97316 45%, #0f766e);
}

.nd26-hero-content {
    position: relative;
    z-index: 1;
}

.nd26-hero h1 {
    max-width: 860px;
    margin: 18px 0 16px;
    color: #fff;
    font-size: clamp(3.2rem, 8vw, 7.8rem);
    line-height: .9;
    letter-spacing: 0;
}

.nd26-lead {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(1.08rem, 1.7vw, 1.34rem);
    line-height: 1.62;
}

.nd26-hero .bl26-hero-facts span {
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(12px);
}

.nd26-hero .bl26-hero-facts .is-free,
.nessun-dorma-page .bl26-btn.is-register,
.nessun-dorma-page .bl26-route-link,
.nessun-dorma-page .bl26-mobile-actions a:first-child {
    color: #171a1f;
    background: var(--bl26-lime);
    border-color: var(--bl26-lime);
}

.nd26-hero .bl26-btn.is-primary { color: #171a1f; }
.nd26-hero .bl26-btn.is-light,
.nd26-hero .bl26-btn.is-share {
    border-color: rgba(255, 255, 255, .26);
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(12px);
}

.nd26-photo-credit {
    max-width: 720px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .64);
    font-size: .74rem;
}

.nd26-photo-credit a { color: #fff; }

.nd26-update {
    border-color: rgba(15, 118, 110, .24);
    background: #edfdf8;
}

.nd26-update > i,
.nd26-update strong { color: #0f766e; }
.nd26-update p { color: #315d58; }

.nd26-timeline-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nd26-timeline-grid article {
    min-height: 166px;
}

.nd26-timeline-grid strong {
    font-size: clamp(2.4rem, 5vw, 3.5rem);
}

.nd26-ticket-card {
    color: #171a1f;
    background: linear-gradient(135deg, #fbbf24, #fde68a);
}

.nd26-ticket-card .bl26-free-icon {
    background: #0f766e;
}

.nessun-dorma-page .bl26-checklist {
    background: #13231f;
}

.nessun-dorma-page .bl26-map-section {
    color: #fff;
    background: #13231f !important;
}

.nessun-dorma-page .bl26-map-section .bl26-section-head h2 { color: #fff; }
.nessun-dorma-page .bl26-map-section .bl26-section-head p { color: rgba(255, 255, 255, .7); }
.nessun-dorma-page .bl26-map-card,
.nessun-dorma-page .bl26-location-photo { background: #20332e; }
.nessun-dorma-page .bl26-map-list button,
.nessun-dorma-page .bl26-route-link { border-radius: 14px; }

.nessun-dorma-page .bl26-map-marker.is-stage { background: #c2410c; }
.nessun-dorma-page .bl26-map-marker.is-entrance { background: #0f766e; }
.nessun-dorma-page .bl26-map-marker.is-info { color: #171a1f; background: #fbbf24; }
.nessun-dorma-page .bl26-map-marker.is-useful { background: #0284c7; }
.nessun-dorma-page .bl26-dot.is-stage { background: #f97316; }
.nessun-dorma-page .bl26-dot.is-entrance { background: #14b8a6; }
.nessun-dorma-page .bl26-dot.is-info { background: #fbbf24; }
.nessun-dorma-page .bl26-dot.is-useful { background: #38bdf8; }

.nd26-program-grid article {
    min-height: 190px;
}

.nessun-dorma-page .bl26-travel-grid .is-best {
    border-color: var(--bl26-purple);
}

.nessun-dorma-page .bl26-choice {
    background: var(--bl26-purple);
}

.nd26-soft-note {
    background: #0f766e;
}

.nd26-soft-note > i {
    color: #fbbf24;
}

.nessun-dorma-page .bl26-tv-card {
    background: radial-gradient(circle at 90% 10%, rgba(251, 191, 36, .78), transparent 33%), linear-gradient(135deg, #0f766e, #13231f);
}

.nessun-dorma-page .bl26-sources {
    background: #edf5ef !important;
}

.nessun-dorma-page .bl26-sources a,
.nessun-dorma-page .bl26-inline-register,
.nessun-dorma-page .bl26-date-grid article a {
    background: var(--bl26-purple);
}

.nessun-dorma-page .bl26-sources a {
    color: var(--bl26-purple);
    background: transparent;
}

.nessun-dorma-page .bl26-mobile-actions {
    background: rgba(19, 35, 31, .96);
}

@media (max-width: 980px) {
    .nd26-hero {
        min-height: 680px;
        padding-top: 88px;
    }
    .nd26-timeline-grid {
        grid-template-columns: repeat(3, minmax(170px, 1fr));
        overflow-x: auto;
        padding-bottom: 4px;
    }
}

@media (max-width: 680px) {
    .nessun-dorma-page {
        padding-bottom: 66px;
    }

    .nd26-hero {
        min-height: 620px;
        padding: 72px 0 46px;
    }

    .nd26-hero::before {
        background-image:
            linear-gradient(0deg, rgba(10, 14, 16, .92) 0%, rgba(10, 14, 16, .6) 66%, rgba(10, 14, 16, .18) 100%),
            var(--nd26-hero-image);
        background-position: center top;
    }

    .nd26-hero h1 {
        font-size: clamp(3rem, 17vw, 4.45rem);
    }

    .nd26-hero .bl26-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .nd26-hero .bl26-hero-actions .is-share {
        grid-column: 1 / -1;
    }

    .nd26-timeline-grid {
        grid-template-columns: repeat(3, minmax(138px, 1fr));
    }

    .nd26-timeline-grid article {
        min-height: 148px;
    }

    .nd26-timeline-grid strong {
        font-size: 2rem;
    }

    .nessun-dorma-page .bottom-nav {
        display: none !important;
    }
}
