
        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Source Sans Pro', sans-serif;
            background: linear-gradient(135deg, #0a0a1a 0%, #0d1528 30%, #0a0a1a 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #E6EDF3;
            position: relative;
        }

        /* ===== STELLE ===== */
        .stars {
            position: fixed; top: 0; left: 0;
            width: 100%; height: 100%;
            overflow: hidden; z-index: 0;
        }
        .star {
            position: absolute; border-radius: 50%;
            background: white;
            animation: twinkle 3s ease-in-out infinite;
        }
        @keyframes twinkle {
            0%, 100% { opacity: 0.3; }
            50% { opacity: 1; }
        }
        .shooting-star {
            position: fixed; width: 100px; height: 2px;
            background: linear-gradient(90deg, #00D4FF, transparent);
            border-radius: 50%;
            animation: shoot 4s ease-in-out infinite;
            opacity: 0;
        }
        .shooting-star::before {
            content: ''; position: absolute;
            width: 6px; height: 6px;
            background: white; border-radius: 50%;
            box-shadow: 0 0 10px #00D4FF, 0 0 20px #00D4FF;
            left: 0; top: -2px;
        }
        .shooting-star:nth-child(1) { top: 15%; left: 70%; animation-delay: 0s; animation-duration: 8s; }
        .shooting-star:nth-child(2) { top: 30%; left: 50%; animation-delay: 12s; animation-duration: 10s; }
        @keyframes shoot {
            0% { transform: translateX(0) translateY(0) rotate(-35deg); opacity: 0; }
            2% { opacity: 1; }
            10% { transform: translateX(-250px) translateY(120px) rotate(-35deg); opacity: 0; }
            100% { transform: translateX(-250px) translateY(120px) rotate(-35deg); opacity: 0; }
        }

        /* ===== LAYOUT ===== */
        .container {
            text-align: center;
            padding: 3rem 2rem 2rem;
            max-width: 960px;
            position: relative;
            z-index: 1;
            margin: 2rem auto;
        }

        /* ===== HOME LINK ===== */
        .home-bar { text-align: center; margin-bottom: 0.8rem; direction: ltr; }
        .home-bar a {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 0.75rem; font-weight: 400;
            color: #5A6370;
            text-decoration: none;
            letter-spacing: 2px;
            text-transform: uppercase;
            transition: color 0.3s ease;
        }
        .home-bar a:hover { color: #00D4FF; }

        /* ===== LANGUAGE SWITCH ===== */
        .lang-rows { margin-bottom: 2.5rem; direction: ltr; unicode-bidi: bidi-override; }
        .lang-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px; align-items: flex-end; padding: 0.3rem 0; direction: ltr; }
        .lang-row a, .lang-row .lang-item {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 0.8rem; font-weight: 400;
            color: #8B949E;
            text-decoration: none;
            letter-spacing: 1px;
            transition: color 0.3s ease, transform 0.3s ease;
            min-width: 65px;
            display: flex; flex-direction: column; align-items: center; gap: 4px;
            direction: ltr;
            unicode-bidi: normal;
        }
        .lang-row a:hover { color: #E6EDF3; transform: translateY(-2px); }
        .lang-row a.lang-active {
            color: #FFD700;
            font-weight: 700;
            pointer-events: none;
            cursor: default;
            text-shadow: 0 0 14px rgba(255, 215, 0, 0.5);
        }
        .lang-row a.lang-active:hover {
            transform: none;
            color: #FFD700;
        }
        .lang-row .flag { font-size: 2rem; line-height: 1; }

        /* ===== TITOLI ===== */
        .logo {
            font-family: 'Cormorant Garamond', serif;
            font-size: 4rem; font-weight: 700;
            color: #00D4FF;
            margin-bottom: 0.5rem;
            text-shadow: 0 0 30px rgba(0, 212, 255, 0.3);
            letter-spacing: 2px;
        }

        .subtitle {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1.2rem; font-weight: 300;
            color: #FBBF24;
            letter-spacing: 3px;
            text-transform: uppercase;
            margin-bottom: 1rem;
        }

        .divider {
            width: 150px; height: 2px;
            background: linear-gradient(90deg, transparent, #00D4FF, transparent);
            margin: 0 auto 2.5rem;
        }

        /* ===== DICHIARAZIONE IP ===== */
        .ip-notice {
            background: transparent;
            border: none;
            padding: 0 1rem;
            margin-bottom: 2.5rem;
            text-align: justify;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
        }
        .ip-notice-title {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.1rem;
            font-weight: 600;
            color: #00D4FF;
            margin-bottom: 0.8rem;
            letter-spacing: 0.5px;
            text-align: center;
        }
        .ip-notice-text {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 0.88rem;
            font-weight: 300;
            color: #9BA4AE;
            line-height: 1.8;
        }
        .ip-notice-text strong {
            color: #d0d7df;
            font-weight: 600;
        }
        .ip-notice-email {
            color: #00D4FF;
            text-decoration: none;
            font-weight: 400;
            transition: color 0.3s ease;
        }
        .ip-notice-email:hover { color: #FBBF24; }

        /* ===== RITRATTI ===== */
        .portraits {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 1.5rem;
        }
        .portrait-img {
            height: 220px;
            width: auto;
            object-fit: contain;
            filter: drop-shadow(0 0 12px rgba(0, 0, 0, 0.6));
            transition: all 0.4s ease;
        }
        .portrait-img:hover {
            filter: drop-shadow(0 0 20px rgba(0, 212, 255, 0.25));
        }
        .portrait-center {
            text-align: center;
        }
        .portrait-title {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.6rem;
            font-weight: 700;
            color: #FBBF24;
            letter-spacing: 2px;
            text-shadow: 0 0 20px rgba(251, 191, 36, 0.3);
        }
        .portrait-number {
            font-family: 'Lora', serif;
            font-size: 2.8rem;
            font-weight: 700;
            color: #FBBF24;
            line-height: 1.2;
            text-shadow: 0 0 30px rgba(251, 191, 36, 0.2);
        }
        .portrait-claim {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1.2rem;
            font-weight: 600;
            color: #FBBF24;
        }
        .portrait-label {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 0.75rem;
            font-weight: 400;
            color: #8B949E;
            margin-top: 0.5rem;
            letter-spacing: 0.5px;
        }

        /* ===== DEDICA ===== */
        .dedication {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.15rem;
            font-style: italic;
            font-weight: 400;
            color: #8B949E;
            line-height: 1.7;
            max-width: 900px;
            margin: 1.2rem auto 2rem;
            text-align: center;
        }

        /* ===== SEPARATORE ===== */
        .section-divider {
            width: 200px;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.5), rgba(0, 212, 255, 0.5), transparent);
            margin: 0 auto 2rem;
        }

        /* ===== PULSANTI ===== */
        .actions {
            margin-bottom: 2rem;
        }
        .tags {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 1rem;
        }
        .tag {
            background: transparent;
            border: 1px solid rgba(0, 212, 255, 0.6);
            color: #00D4FF;
            padding: 0.5rem 1.25rem;
            border-radius: 25px;
            font-size: 0.95rem;
            font-weight: 400;
            transition: all 0.3s ease;
            text-decoration: none;
            cursor: pointer;
        }
        .tag:hover {
            background: rgba(0, 212, 255, 0.15);
            border-color: #00D4FF;
            box-shadow: 0 0 15px rgba(0, 212, 255, 0.4);
            color: #ffffff;
            transform: translateY(-2px);
        }
        .tag-subtitle {
            display: block;
            font-size: 0.75rem;
            opacity: 1;
            margin-top: 4px;
            font-weight: 400;
            color: #FBBF24;
        }

        /* ===== Format selector (HTML / PDF pills) ===== */
        .format-row {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.8rem;
            margin-top: 8px;
        }
        .format-row .tag-subtitle {
            margin-top: 0;
        }
        .format-pill {
            display: inline-block;
            padding: 0.25rem 0.75rem;
            border-radius: 12px;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 1px;
            text-decoration: none;
            transition: all 0.3s ease;
            cursor: pointer;
        }
        .pill-html {
            background: rgba(0, 212, 255, 0.15);
            border: 1px solid rgba(0, 212, 255, 0.5);
            color: #00D4FF;
        }
        .pill-html:hover {
            background: rgba(0, 212, 255, 0.35);
            border-color: #00D4FF;
            box-shadow: 0 0 12px rgba(0, 212, 255, 0.4);
            color: #fff;
        }
        .pill-pdf {
            background: rgba(220, 80, 80, 0.15);
            border: 1px solid rgba(220, 80, 80, 0.5);
            color: #e06060;
        }
        .pill-pdf:hover {
            background: rgba(220, 80, 80, 0.35);
            border-color: #e06060;
            box-shadow: 0 0 12px rgba(220, 80, 80, 0.4);
            color: #fff;
        }

        /* ===== FOOTER ===== */
        .closing {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.1rem;
            font-style: italic;
            color: #FBBF24;
            opacity: 0.7;
            margin-top: 1rem;
            margin-bottom: 1.5rem;
        }
        .footer-box {
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 12px;
            padding: 1.5rem 2rem;
            max-width: 750px;
            margin: 0 auto 2rem;
            text-align: center;
        }
        .footer-box p {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.1rem;
            font-style: italic;
            font-weight: 400;
            color: #c8c0a0;
            line-height: 1.8;
        }
        .footer-box strong {
            color: #e0d8b8;
            font-weight: 700;
        }
        .footer-box a {
            color: #FBBF24;
            text-decoration: none;
            transition: color 0.3s ease;
        }
        .footer-box a:hover { color: #00D4FF; }
        .footer-copyright {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.2rem;
            font-style: italic;
            color: #5A6370;
            margin-top: 1.5rem;
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 768px) {
            .logo { font-size: 2.5rem; }
            .subtitle { font-size: 1rem; letter-spacing: 2px; }
            .container { padding: 2rem 1.5rem; }
            .portraits { gap: 1rem; }
            .portrait-img { height: 120px; }
            .portrait-number { font-size: 1.8rem; }
            .portrait-title { font-size: 1.1rem; }
            .portrait-claim { font-size: 0.9rem; }
            .tags { gap: 0.75rem; }
            .tag { font-size: 0.85rem; padding: 0.4rem 1rem; }
        }
    