.hero{min-height:92vh; display:flex; flex-direction:column; justify-content:center; padding:150px 0 60px;}
.hero .wrap{width:100%;}
.hero-kicker{font-family:var(--font-mono); font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; color:var(--text-dim); margin-bottom:22px; display:flex; align-items:center; gap:10px;}
.hero-kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--accent); box-shadow:0 0 12px var(--accent);}
body[data-theme="artist"] .hero-kicker{font-family:var(--font-display); font-style:italic; letter-spacing:.05em;}

.hero h1{
  font-family:var(--font-display); font-weight:700; letter-spacing:-.02em; line-height:.98;
  font-size:clamp(2.6rem,7.4vw,6rem); margin-bottom:26px;
}
.hero h1 .line2{color:var(--accent);}
body[data-theme="artist"] .hero h1{font-weight:900; font-style:italic;}

.hero-sub{max-width:620px; font-size:1.15rem; color:var(--text-dim); margin-bottom:40px;}
.hero-sub .hl{color:var(--text); font-weight:600;}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:56px;}

.hero-stats{display:flex; gap:clamp(24px,5vw,56px); flex-wrap:wrap; border-top:1px solid var(--border); padding-top:28px;}
.stat b{display:block; font-family:var(--font-display); font-size:1.8rem; color:var(--accent);}
.stat span{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-faint);}
body[data-theme="artist"] .stat span{font-family:var(--font-display); font-style:italic; letter-spacing:.02em; text-transform:none;}

/* Portal cards used on index.html and artist.html hubs */
.portal-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; margin-top:20px;}
.portal-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px 28px;
  display:flex; flex-direction:column; gap:14px; transition:transform .35s var(--ease), border-color .35s var(--ease);
  position:relative; overflow:hidden;
}
.portal-card::before{content:"";position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease);}
.portal-card:hover{transform:translateY(-6px); border-color:var(--border-strong);}
.portal-card:hover::before{transform:scaleX(1);}
.portal-card i.picon{font-size:1.8rem; color:var(--accent);}
.portal-card h3{font-family:var(--font-display); font-size:1.4rem; font-weight:700;}
body[data-theme="artist"] .portal-card h3{font-style:italic;}
.portal-card p{color:var(--text-dim); font-size:.92rem; flex-grow:1;}
.portal-card .go{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent);}
