.rm-page{--rm-bg:#030817;--rm-panel:#0b1529;--rm-panel2:#111d37;--rm-red:#ff1744;--rm-violet:#865dff;--rm-blue:#10a7ff;--rm-gold:#edc35b;--rm-text:#fff;--rm-muted:#aebbd0;background:radial-gradient(circle at 80% 0,rgba(134,93,255,.16),transparent 32%),linear-gradient(#030817,#050b18);color:var(--rm-text);min-height:100vh}.rm-page *{box-sizing:border-box}.rm-shell{width:min(1380px,calc(100% - 48px));margin:auto}.rm-hero{position:relative;overflow:hidden;min-height:590px;display:flex;align-items:center;background:linear-gradient(120deg,#030817 10%,#101130 62%,#17091e)}.rm-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 70px)}.rm-hero-glow{position:absolute;width:560px;height:560px;border-radius:50%;right:-90px;top:30px;background:radial-gradient(circle,rgba(255,23,68,.26),rgba(134,93,255,.12) 42%,transparent 70%);filter:blur(8px)}.rm-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding:72px 0}.rm-eyebrow,.rm-section-heading span,.rm-kicker,.rm-next>span{font-size:12px;letter-spacing:.2em;color:var(--rm-gold);font-weight:900}.rm-hero h1{font-size:clamp(60px,9vw,118px);line-height:.9;margin:16px 0}.rm-claim{font-size:clamp(24px,3vw,38px);margin:0 0 18px}.rm-intro{max-width:680px;color:#d4dceb;font-size:18px;line-height:1.65}.rm-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.rm-btn{border:0;border-radius:12px;padding:15px 23px;font-weight:900;color:#fff!important;text-decoration:none!important;cursor:pointer;display:inline-flex;align-items:center;gap:10px}.rm-btn-live{background:linear-gradient(135deg,#d50032,var(--rm-red));box-shadow:0 0 30px rgba(255,23,68,.38)}.rm-btn-ghost{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06)}.rm-hero-onair{margin-top:30px;padding:15px 18px;border-left:3px solid var(--rm-red);background:rgba(255,255,255,.045);display:flex;flex-direction:column;gap:4px;max-width:420px}.rm-hero-onair span{font-size:11px;color:var(--rm-red);font-weight:900;letter-spacing:.15em}.rm-hero-onair strong{font-size:22px}.rm-hero-onair small{color:var(--rm-muted)}.rm-hero-art{position:relative;display:grid;place-items:center}.rm-logo-disc{width:min(430px,80vw);aspect-ratio:1;border-radius:50%;padding:24px;background:linear-gradient(145deg,#0b0b0e,#020204);box-shadow:0 0 0 3px rgba(255,255,255,.05),0 0 70px rgba(255,23,68,.3),inset 0 0 40px #000}.rm-logo-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%}.rm-equalizer{position:absolute;bottom:-35px;display:flex;gap:8px;align-items:end;height:80px}.rm-equalizer i{width:7px;border-radius:8px;background:linear-gradient(var(--rm-blue),var(--rm-violet),var(--rm-red));animation:rmEq 1.1s ease-in-out infinite alternate}.rm-equalizer i:nth-child(1),.rm-equalizer i:nth-child(7){height:25%}.rm-equalizer i:nth-child(2),.rm-equalizer i:nth-child(6){height:55%;animation-delay:.2s}.rm-equalizer i:nth-child(3),.rm-equalizer i:nth-child(5){height:80%;animation-delay:.4s}.rm-equalizer i:nth-child(4){height:100%;animation-delay:.1s}@keyframes rmEq{to{height:25%}}.rm-content{padding:60px 0 90px}.rm-player-section,.rm-section{margin-bottom:72px}.rm-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.rm-section-heading h2{font-size:clamp(30px,4vw,52px);margin:7px 0 0}.rm-section-heading>a,.rm-section-heading>strong{color:var(--rm-muted);text-decoration:none}.rm-live-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(255,23,68,.1);color:var(--rm-red)!important}.rm-live-pill i{width:8px;height:8px;border-radius:50%;background:var(--rm-red);box-shadow:0 0 0 7px rgba(255,23,68,.13)}.rm-player-card{display:grid;grid-template-columns:270px minmax(0,1fr) 300px;gap:26px;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(135deg,var(--rm-panel2),var(--rm-panel));box-shadow:0 24px 70px rgba(0,0,0,.32)}.rm-cover-wrap img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;background:#06080d}.rm-player-main h3{font-size:34px;margin:10px 0}.rm-player-main p{color:var(--rm-muted)}.rm-controls{display:flex;align-items:center;gap:18px;margin-top:26px}.rm-play{width:64px;height:64px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--rm-red),#bd0035);color:#fff;font-size:24px;cursor:pointer;box-shadow:0 0 26px rgba(255,23,68,.35)}.rm-wave{height:58px;display:flex;align-items:center;gap:4px;flex:1}.rm-wave b{width:4px;height:18%;border-radius:9px;background:linear-gradient(var(--rm-blue),var(--rm-violet));animation:rmWave .8s ease-in-out infinite alternate;animation-play-state:paused}.rm-wave.is-playing b{animation-play-state:running}.rm-wave b:nth-child(3n){animation-delay:.25s}.rm-wave b:nth-child(2n){animation-delay:.5s}@keyframes rmWave{to{height:85%}}.rm-volume{display:flex;align-items:center;gap:8px}.rm-volume input{width:100px}.rm-player-status{font-size:13px}.rm-next{border-left:1px solid rgba(255,255,255,.12);padding-left:28px;display:flex;flex-direction:column;justify-content:center}.rm-next strong{font-size:24px;margin:12px 0}.rm-next small{color:var(--rm-muted)}.rm-schedule{display:grid;gap:9px}.rm-schedule article{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:18px 22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:14px}.rm-schedule article.is-current{border-color:var(--rm-red);box-shadow:0 0 24px rgba(255,23,68,.16)}.rm-schedule time{font-size:22px;font-weight:900;color:var(--rm-gold)}.rm-schedule article div{display:flex;flex-direction:column;gap:5px}.rm-schedule small{color:var(--rm-muted)}.rm-schedule article>span{font-size:11px;color:var(--rm-red);font-weight:900}.rm-source{color:var(--rm-muted);margin-top:-8px}.rm-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rm-news-card{overflow:hidden;border-radius:18px;background:var(--rm-panel);border:1px solid rgba(255,255,255,.08)}.rm-news-card a{color:inherit!important;text-decoration:none!important}.rm-news-image{aspect-ratio:16/9;background:linear-gradient(135deg,#17243a,#650b32);display:grid;place-items:center}.rm-news-image img{width:100%;height:100%;object-fit:cover}.rm-news-image span{font-size:44px;font-weight:900}.rm-news-copy{padding:20px}.rm-news-copy time{font-size:12px;color:var(--rm-gold)}.rm-news-copy h3{font-size:21px;line-height:1.3;margin:10px 0}.rm-news-copy p{color:var(--rm-muted);line-height:1.55}.rm-news-copy strong{color:#fff}.rm-listen-anywhere{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(135deg,#0e1830,#081020)}.rm-listen-anywhere article{display:flex;gap:14px;padding:24px;border-right:1px solid rgba(255,255,255,.08)}.rm-listen-anywhere article:last-child{border:0}.rm-listen-anywhere article>span{font-size:30px}.rm-listen-anywhere p{margin:7px 0 0;color:var(--rm-muted);line-height:1.45}.rm-empty{padding:28px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;color:var(--rm-muted);grid-column:1/-1}@media(max-width:1050px){.rm-hero-grid{grid-template-columns:1fr}.rm-hero-art{order:-1}.rm-logo-disc{width:300px}.rm-player-card{grid-template-columns:220px 1fr}.rm-next{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:22px 0 0}.rm-news-grid{grid-template-columns:repeat(2,1fr)}.rm-listen-anywhere{grid-template-columns:repeat(2,1fr)}.rm-listen-anywhere article:nth-child(2){border-right:0}.rm-listen-anywhere article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}}@media(max-width:700px){.rm-shell{width:min(100% - 24px,1380px)}.rm-hero{min-height:auto}.rm-hero-grid{padding:42px 0}.rm-hero h1{font-size:54px}.rm-player-card{grid-template-columns:1fr}.rm-cover-wrap img{max-width:260px}.rm-controls{flex-wrap:wrap}.rm-volume{width:100%}.rm-section-heading{align-items:flex-start;flex-direction:column}.rm-news-grid{grid-template-columns:1fr}.rm-listen-anywhere{grid-template-columns:1fr}.rm-listen-anywhere article{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.rm-schedule article{grid-template-columns:70px 1fr}.rm-schedule article>span{grid-column:2}}

/* ==========================================================
   RADIO MESSINA — CONTENUTI ISTITUZIONALI INDIPENDENTI
   ========================================================== */

.rm-hero.has-custom-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 23, .97) 0%,
            rgba(3, 8, 23, .82) 45%,
            rgba(3, 8, 23, .36) 100%
        ),
        var(--rm-hero-image) center / cover no-repeat;
}

.rm-hero.has-custom-image::before {
    z-index: 1;
}

.rm-hero.has-custom-image .rm-hero-glow {
    z-index: 1;
}

.rm-hero.has-custom-image .rm-hero-grid {
    z-index: 2;
}

.rm-story-card {
    position: relative;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: clamp(28px, 5vw, 70px);
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 62px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(134, 93, 255, .19),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(17, 29, 55, .98),
            rgba(7, 14, 29, .98)
        );
    box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
}

.rm-story-card::after {
    content: "";
    position: absolute;
    right: -130px;
    bottom: -160px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(255, 23, 68, .08);
    filter: blur(6px);
}

.rm-story-mark {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 180px;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
    color: #fff;
    background:
        radial-gradient(
            circle at 35% 30%,
            #2a3861,
            #10182e 54%,
            #040711 100%
        );
    box-shadow:
        0 0 0 8px rgba(134, 93, 255, .06),
        0 0 45px rgba(134, 93, 255, .2);
    font-size: 48px;
    font-weight: 900;
    letter-spacing: -.05em;
}

.rm-story-copy {
    position: relative;
    z-index: 2;
    color: #d8e0ef;
    font-size: clamp(16px, 1.35vw, 20px);
    line-height: 1.8;
}

.rm-story-copy p:first-child {
    margin-top: 0;
}

.rm-story-copy p:last-child {
    margin-bottom: 0;
}

.rm-studios-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.rm-studio-photo {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 18px;
    background: var(--rm-panel);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .22);
}

.rm-studio-photo::after {
    content: "Apri fotografia";
    position: absolute;
    inset: auto 14px 14px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    background: rgba(3, 8, 23, .72);
    backdrop-filter: blur(8px);
    opacity: 0;
    transform: translateY(8px);
    transition: .22s ease;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.rm-studio-photo:hover::after,
.rm-studio-photo:focus-visible::after {
    opacity: 1;
    transform: translateY(0);
}

.rm-studio-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.rm-studio-photo:hover img {
    transform: scale(1.045);
}

.rm-radio-banner {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    background: var(--rm-panel);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .25);
}

.rm-radio-banner img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 380px;
    object-fit: cover;
}

@media (max-width: 900px) {
    .rm-story-card {
        grid-template-columns: 1fr;
    }

    .rm-story-mark {
        width: 140px;
    }

    .rm-studios-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .rm-studios-grid {
        grid-template-columns: 1fr;
    }

    .rm-story-card {
        padding: 26px 22px;
    }
}