:root{
  --bg:#080f20;
  --panel:#111d35;
  --panel2:#172440;
  --gold:#e8b976;
  --goldlight:#ffe5b4;
  --cream:#fff2df;
  --muted:#b9c0d2;
  --burgundy:#8d1634;
  --border:rgba(232,185,118,.27);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(ellipse at 82% 3%,#413451 0%,transparent 35%),
    radial-gradient(ellipse at 10% 35%,#172948 0%,transparent 40%),
    var(--bg);
  color:var(--cream);
  font-family:Arial,Helvetica,sans-serif;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
.shell{width:min(1240px,calc(100% - 40px));margin:auto}
.site-header{
  position:relative;
  z-index:3;
  border-bottom:1px solid var(--border);
  background:rgba(7,14,31,.95);
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:20px 0;
}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-logo{width:72px;height:72px;object-fit:contain}
.brand-symbol{
  width:67px;height:67px;
  display:grid;place-items:center;
  border-radius:50%;
  border:2px solid var(--gold);
  color:var(--gold);
  font-weight:900;
  font-family:Georgia,serif;
}
.brand-text strong{
  display:block;font-family:Georgia,serif;
  font-size:23px;line-height:1.1;letter-spacing:.5px;
}
.brand-text small{
  display:block;margin-top:8px;
  color:var(--gold);
  font-size:10px;letter-spacing:3px;
}
.main-nav{display:flex;gap:27px;align-items:center}
.main-nav a{font-size:14px;color:#e7dfd8}
.main-nav a:hover{color:var(--gold)}
.top-live,.outline-button{
  display:inline-flex;align-items:center;
  justify-content:center;gap:10px;
  padding:13px 20px;
  border:1px solid var(--gold);
  border-radius:30px;
  color:var(--goldlight);
  font-size:13px;font-weight:700;
}
.live-dot{
  display:inline-block;
  width:8px;height:8px;
  background:#f33f56;border-radius:50%;
  box-shadow:0 0 12px #f33f56;
}
.hero{
  min-height:590px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:55px;align-items:center;
  padding-top:80px;padding-bottom:80px;
}
.eyebrow{
  color:var(--gold);
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
}
.hero h1,.artist-copy h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(48px,5.3vw,78px);
  line-height:1.04;
  letter-spacing:-1.8px;
  font-weight:500;
  margin:22px 0;
}
.hero h1 em{color:var(--gold);font-weight:400}
.gold-rule{
  width:110px;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:25px 0;
}
.hero-copy p{
  max-width:470px;
  color:#d2cede;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:20px;line-height:1.65;
  margin-bottom:29px;
}
.hero-location{
  margin-top:38px;
  font-size:10px;
  letter-spacing:4px;
  color:#acb1ca;
}
.hero-tv{min-width:0;text-align:center}
.tv-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border:2px solid var(--gold);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 45%,#3c2d43,transparent 52%),
    linear-gradient(135deg,#172844,#060a15);
  box-shadow:0 0 42px rgba(224,160,93,.18);
}
.tv-heading{
  position:absolute;top:15px;left:16px;right:16px;
  z-index:2;display:flex;
  justify-content:space-between;align-items:center;
  font-size:11px;color:var(--goldlight);
  pointer-events:none;
}
.live-pill{
  background:#a00b20;color:#fff;
  padding:10px 14px;border-radius:10px;
  font-weight:700;
}
.tv-frame video{
  position:relative;z-index:1;
  width:100%;height:100%;display:block;
  object-fit:contain;
}
.tv-placeholder{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:13px;
  pointer-events:none;
  background:radial-gradient(circle,#242b48,#0a1020);
}
.tv-placeholder strong{
  font-family:Georgia,serif;
  letter-spacing:2px;
  font-size:clamp(16px,2.5vw,29px);
}
.tv-placeholder small{letter-spacing:3px;color:var(--gold)}
.tv-art{
  color:var(--gold);
  font-size:72px;
}
.gold-button{
  display:inline-flex;align-items:center;
  justify-content:center;gap:10px;
  border:1px solid #ffdfa4;
  background:linear-gradient(125deg,#f6d393,#b57937);
  color:#181020;
  border-radius:30px;
  padding:16px 32px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 35px rgba(202,131,54,.22);
}
.play-button{margin-top:22px;width:min(100%,360px)}
.player-status{font-size:12px;color:var(--muted)}
.section-block{padding:65px 0}
.section-heading{text-align:center;margin-bottom:36px}
.section-heading h2{
  font:normal clamp(32px,4vw,48px) Georgia,serif;
  margin:12px 0;color:var(--cream);
}
.section-heading p{color:var(--muted)}
.artist-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.artist-card,.video-card{
  min-width:0;overflow:hidden;
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:17px;
  transition:transform .2s,border-color .2s;
}
.artist-card:hover,.video-card:hover{
  transform:translateY(-5px);
  border-color:var(--gold);
}
.artist-card-image{
  height:255px;
  background:linear-gradient(145deg,#39263d,#132743);
  overflow:hidden;
}
.artist-card-image img{
  width:100%;height:100%;object-fit:cover;
}
.music-placeholder{
  display:grid;place-items:center;
  height:100%;font-size:100px;color:var(--gold);
  opacity:.65;
}
.artist-card-body{padding:22px}
.artist-card h3,.video-card h3{
  font:normal 26px Georgia,serif;
  margin:10px 0;
}
.artist-card p{
  color:var(--muted);
  line-height:1.5;
  font-size:13px;
  min-height:35px;
}
.card-cta{color:var(--gold);font-size:13px;font-weight:700}
.empty-panel{
  padding:65px 25px;
  border:1px solid var(--border);
  border-radius:20px;
  background:linear-gradient(135deg,#182441,#111729);
  text-align:center;
  color:var(--muted);
}
.empty-panel h3{
  color:var(--cream);
  font:normal 29px Georgia,serif;
}
.empty-icon{font-size:60px;color:var(--gold)}
.archive-banner{
  display:flex;align-items:center;
  justify-content:space-between;gap:30px;
  padding:45px;
  border:1px solid var(--border);
  border-radius:22px;
  background:linear-gradient(115deg,#2a2340,#142541 65%,#492333);
  margin-top:10px;margin-bottom:85px;
}
.archive-banner h2{
  margin:12px 0;
  font:normal 37px Georgia,serif;
}
.archive-banner p{color:var(--muted);line-height:1.6}
.artist-hero{
  padding:65px 0;
  background:radial-gradient(ellipse at 75% 40%,#4b2c42,transparent 50%);
}
.artist-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;gap:50px;
}
.artist-subtitle{
  font:italic 21px Georgia,serif;
  color:var(--goldlight);
}
.artist-portrait{
  min-height:390px;overflow:hidden;
  border-radius:22px;
  border:1px solid var(--border);
  background:#1a2841;
}
.artist-portrait img{
  width:100%;height:390px;object-fit:cover;
}
.portrait-placeholder{
  display:grid;place-items:center;
  height:390px;
  font-size:130px;color:var(--gold);
}
.bio-panel{
  padding:38px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--panel);
}
.bio-text{
  font:18px/1.85 Georgia,serif;
  color:#eee2d7;
}
.video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.video-card{padding-bottom:22px}
.video-thumb{
  height:185px;position:relative;
  background:linear-gradient(135deg,#2b3657,#3a1d39);
}
.video-thumb img{width:100%;height:100%;object-fit:cover}
.play-symbol{
  position:absolute;inset:0;
  display:grid;place-items:center;
  font-size:40px;
  color:#fff;
  text-shadow:0 2px 14px #000;
}
.video-card h3,.video-card .card-cta{margin:15px 20px;display:block}
.empty-page{padding:120px 0;min-height:55vh}
.empty-page h1{font:normal 50px Georgia,serif}
.empty-page p{color:var(--muted)}
.site-footer{
  background:#070d1c;
  border-top:1px solid var(--border);
}
.footer-inner{
  display:flex;justify-content:space-between;
  align-items:center;gap:25px;
  flex-wrap:wrap;padding:35px 0;
}
.footer-inner strong{font:normal 22px Georgia,serif}
.footer-inner p,.footer-inner span{font-size:12px;color:var(--muted)}
.footer-inner nav{display:flex;gap:24px;font-size:13px}
@media(max-width:1050px){
  .main-nav{gap:14px}
  .topbar{flex-wrap:wrap}
  .hero{gap:25px}
  .artist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:740px){
  .shell{width:min(100% - 28px,1240px)}
  .topbar{padding:14px 0}
  .brand-logo,.brand-symbol{width:51px;height:51px}
  .brand-text strong{font-size:17px}
  .brand-text small{font-size:8px;letter-spacing:2px}
  .main-nav{order:3;width:100%;justify-content:space-between}
  .main-nav a{font-size:12px}
  .top-live{padding:9px 12px;font-size:11px}
  .hero{grid-template-columns:1fr;padding:45px 0;min-height:0}
  .hero h1{font-size:52px}
  .hero-copy p{font-size:17px}
  .artist-hero-grid{grid-template-columns:1fr}
  .archive-banner{flex-direction:column;align-items:flex-start;padding:28px}
  .video-grid{grid-template-columns:1fr}
}
@media(max-width:450px){
  .artist-grid{grid-template-columns:1fr}
  .artist-card-image{height:270px}
  .main-nav{gap:9px}
  .main-nav a{font-size:11px}
  .top-live{display:none}
}

/* RNP-031 - Video degli artisti */
.video-card .video-thumb{
  position:relative;
  height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
}
.video-launch{
  position:absolute;
  inset:0;
  display:block;
  color:inherit;
}
.video-launch img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.video-launch .play-symbol{
  pointer-events:none;
}
.video-thumb iframe,
.video-thumb video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#000;
}
.video-external{
  display:inline-block;
  margin:0 20px 7px;
}
