/* ---------- HERO ---------- */
        .hero {
            position: relative;
            min-height: 70vh;
            background: #05070d;
            overflow: hidden;
        }
        .hero-media {
            position: absolute; inset: 0;
            width: 100%; height: 100%;
            object-fit: cover; object-position: center top;
        }
        .hero::after {
            content: '';
            position: absolute; inset: 0;
            background:
                linear-gradient(180deg, rgba(5,7,13,.35) 0%, rgba(5,7,13,0) 30%, rgba(5,7,13,.6) 80%, #05070d 100%);
        }
        .hero-bottom {
            position: absolute;
            left: 0; right: 0; bottom: 54px;
            z-index: 2;
            display: flex;
            align-items: flex-end;
            gap: 14px;
        }
        .hero-title {
            padding: 40px 84px 40px 84px;
            min-width: 494px;
            background: linear-gradient(90deg, #8d0a0f 0%, #b5121a 55%, rgba(140,10,15,.0) 100%);
            font-family: 'Oswald', sans-serif;
            text-transform: uppercase;
            line-height: 1;
            text-shadow: 0 3px 8px rgba(0,0,0,.45);
        }
        .hero-title-top { display: block; font-size: 60px; letter-spacing: 3%; }
        .hero-title-country { display: block; font-size: 80px; margin-top: 6px; letter-spacing: 1px; }

        .country-switch {
            display: flex; align-items: center; gap: 30px;
            padding: 35px 40px 35px 40px;
            background: rgba(5,7,13,.75);
            border: 1px solid rgba(255,255,255,.18);
        }
        .country-switch a {
            display: inline-flex; align-items: center; gap: 12px;
            font-family: 'Oswald', sans-serif;
            font-size: 26px; text-transform: uppercase;
            opacity: .85; transition: opacity .2s;
        }
        .country-switch a:hover, .country-switch a.active { opacity: 1; }
        .flag {
            width: 47px; height: 47px; border-radius: 50%;
            border: 2px solid #fff; flex: none;
            box-shadow: 0 2px 6px rgba(0,0,0,.4);
        }
        .flag--de { background: linear-gradient(#000 0 33.3%, #dd0000 33.3% 66.6%, #ffce00 66.6%); }
        .flag--at { background: linear-gradient(#ed2939 0 33.3%, #fff 33.3% 66.6%, #ed2939 66.6%); }
        .flag--fr { background: linear-gradient(90deg, #002395 0 33.3%, #fff 33.3% 66.6%, #ed2939 66.6%); }

        .anniversary {
            position: relative; z-index: 2;
            padding: 12px 20px;
            text-align: center;
            /*background: linear-gradient(90deg, #6e070b 0%, #a50d12 25%, #a50d12 75%, #6e070b 100%);*/
            background: linear-gradient(84.93deg, rgba(139, 10, 10, 0) -3.08%, #8b0a0a 28.42%, #8b0a0a 68.72%, rgba(139, 10, 10, 0) 97.29%);
        }
        .anniversary h3 {
    font-family: 'Oswald', sans-serif;

    color: #e8c467;
    
    font-weight: 500;
    font-size: 32px;
    line-height: 94%;
    text-align: center;
    text-transform: uppercase;
    background: radial-gradient(67.15% 72.15% at 50% 50%, #d9e6f2 0%, #d4af37 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 0;
    margin: 12px;
}