:root{
  --ink:#2A1A2A; --ink-2:#5A4A5A; --cream:#FFF5F8; --cream-2:#FFE0EC;
  --bg:#2A1820; --bar:rgba(255,245,248,.95); --accent:#F5A3C7; --accent-2:#AD1457;
  --purple:#8E5CF2; --sun:#FFE08A; --title:#F8BBD0; --sky:linear-gradient(180deg,#2a1820,#5a3040 45%,#ffd0e0);
  --sci-bg:#FCE4EC; --r:28px;
  --font-d:"ZCOOL KuaiLe","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-b:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
}

/* Open hero: watercolor full-bleed on top; title/actions below — no emoji overlay */
.hero.hero-open{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  place-items:unset;
  align-content:unset;
  min-height:auto;
  overflow:hidden;
  padding-top:calc(72px + env(safe-area-inset-top,0px));
  background:var(--bg);
}
.hero.hero-open .hero-scene{display:none}
.hero.hero-open .hero-stage{
  position:relative;
  order:1;
  flex:0 0 auto;
  min-height:min(52vh,460px);
  height:min(52vh,460px);
  width:100%;
  overflow:hidden;
  z-index:1;
  border-radius:0 0 28px 28px;
}
.hero.hero-open .stage-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  border:0;
  border-radius:0;
  filter:none;
  transform:none;
  animation:none;
  z-index:1;
}
.hero.hero-open .hero-copy{
  position:relative;
  z-index:4;
  order:2;
  width:100%;
  max-width:none;
  margin:0;
  padding:18px 20px 32px;
  background:linear-gradient(180deg,rgba(42,24,32,.72),rgba(42,24,32,.96));
  text-align:center;
}
.hero.hero-open .hero-sub{
  margin:10px auto 14px;
  color:var(--ink);
  background:rgba(255,255,255,.94);
  border:3px solid var(--ink);
  border-radius:18px;
  box-shadow:0 4px 0 var(--ink);
  padding:10px 16px;
  display:inline-block;
  text-shadow:none;
  max-width:34em;
  line-height:1.45;
}
@media (min-width:900px){
  .hero.hero-open .hero-stage{min-height:min(56vh,540px);height:min(56vh,540px)}
  .hero.hero-open .hero-copy{padding:20px clamp(28px,8vw,96px) 40px}
  .hero.hero-open .hero-copy .hero-kicker,
  .hero.hero-open .hero-copy .title-3d,
  .hero.hero-open .hero-copy .hero-sub,
  .hero.hero-open .hero-copy .hero-actions{max-width:820px;margin-left:auto;margin-right:auto}
}
@media (max-width:640px){
  .hero.hero-open{padding-top:calc(64px + env(safe-area-inset-top,0px))}
  .hero.hero-open .hero-stage{min-height:min(42vh,300px);height:min(42vh,300px);border-radius:0 0 20px 20px}
  .hero.hero-open .hero-copy{padding:14px 14px 28px}
}
