/* ============================================================
   Den-SHOW HERO v2.0 / v0.8.0
   Rebuilt from zero: Layout / Effects / Motion / Visual / Content.
   This file intentionally loads last and neutralizes legacy HERO rules.
   ============================================================ */

html body.denshow-theme #denshow-infinity.ds-page--hero-final .ds-hero-v2{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:100svh !important;
  height:100svh !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(60,205,95,.13), transparent 30%),
    radial-gradient(circle at 86% 56%, rgba(38,180,96,.10), transparent 34%),
    radial-gradient(circle at 20% 78%, rgba(90,220,88,.06), transparent 38%),
    linear-gradient(180deg,#020604 0%,#03100b 48%,#010303 100%) !important;
}

/* Kill legacy HERO internals in case cached CSS targets old descendants. */
html body.denshow-theme #opening.ds-hero-v2::before,
html body.denshow-theme #opening.ds-hero-v2::after{content:none !important;display:none !important;}
html body.denshow-theme #opening.ds-hero-v2 .ds-section-watermark,
html body.denshow-theme #opening.ds-hero-v2 .ds-hero-atmosphere,
html body.denshow-theme #opening.ds-hero-v2 .ds-hero-v23__stage,
html body.denshow-theme #opening.ds-hero-v2 .ds-hero-light-trails,
html body.denshow-theme #opening.ds-hero-v2 .ds-container.ds-hero-v23__content{display:none !important;}

/* Effects */
.ds-hero-v2__effects,
.ds-hero-v2__motion,
.ds-hero-v2__visual,
.ds-hero-v2__content{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
}
.ds-hero-v2__effects{z-index:0 !important;overflow:hidden !important;}
.ds-hero-v2__glow{position:absolute;border-radius:999px;filter:blur(58px);opacity:.72;transform:translate3d(0,0,0);}
.ds-hero-v2__glow--center{width:52vw;height:34vw;left:25%;top:25%;background:rgba(58,210,92,.16);animation:ds-hero-v2-glow-a 14s ease-in-out infinite alternate;}
.ds-hero-v2__glow--right{width:38vw;height:30vw;right:-10%;top:39%;background:rgba(43,225,133,.12);animation:ds-hero-v2-glow-b 17s ease-in-out infinite alternate;}
.ds-hero-v2__wordmark{
  position:absolute !important;
  left:50% !important;
  top:51% !important;
  width:min(1760px,92vw) !important;
  max-width:none !important;
  height:auto !important;
  transform:translate3d(-50%,-50%,0) !important;
  opacity:.105 !important;
  filter:brightness(.75) saturate(1.2) drop-shadow(0 0 22px rgba(75,230,95,.10)) !important;
  mix-blend-mode:screen !important;
}

/* Visual */
.ds-hero-v2__visual{z-index:3 !important;overflow:hidden !important;}
.ds-hero-v2__alpha{
  position:absolute !important;
  left:50% !important;
  top:43% !important;
  width:min(560px,36vw) !important;
  max-width:none !important;
  height:auto !important;
  transform:translate3d(-50%,-50%,0) !important;
  opacity:1 !important;
  filter:brightness(1.05) saturate(1.08) drop-shadow(0 0 10px rgba(130,255,120,.18)) drop-shadow(0 0 34px rgba(55,230,105,.14)) !important;
}

/* Motion: six constant horizontal light trails. */
.ds-hero-v2__motion{z-index:4 !important;overflow:hidden !important;mix-blend-mode:screen !important;}
.ds-hero-v2__trail{
  position:absolute !important;
  left:-72vw !important;
  display:block !important;
  height:1px !important;
  min-height:1px !important;
  border-radius:999px !important;
  opacity:.82 !important;
  background:linear-gradient(90deg, transparent 0%, rgba(105,235,83,.05) 8%, rgba(105,235,83,.32) 24%, rgba(245,255,218,.95) 50%, rgba(105,235,83,.30) 74%, transparent 100%) !important;
  box-shadow:0 0 10px rgba(115,245,80,.56),0 0 32px rgba(64,230,105,.28),0 0 64px rgba(64,230,105,.12) !important;
  filter:blur(.25px) !important;
  transform-origin:center !important;
  animation-name:ds-hero-v2-trail !important;
  animation-timing-function:linear !important;
  animation-iteration-count:infinite !important;
  will-change:transform !important;
}
.ds-hero-v2__trail::after{
  content:"";
  position:absolute;
  right:30%;
  top:50%;
  width:5px;
  height:5px;
  border-radius:999px;
  background:rgba(238,255,188,.96);
  box-shadow:0 0 12px rgba(150,255,90,.8),0 0 28px rgba(84,245,110,.48);
  transform:translateY(-50%);
}
.ds-hero-v2__trail--one{top:19%;width:54vw;transform:rotate(5deg);animation-duration:8.8s !important;animation-delay:-7.1s !important;}
.ds-hero-v2__trail--two{top:27%;width:68vw;transform:rotate(-1.8deg);animation-duration:10.9s !important;animation-delay:-3.8s !important;}
.ds-hero-v2__trail--three{top:35%;width:48vw;transform:rotate(4.2deg);animation-duration:9.6s !important;animation-delay:-1.4s !important;}
.ds-hero-v2__trail--four{top:47%;width:76vw;transform:rotate(-5.6deg);animation-duration:11.7s !important;animation-delay:-9.2s !important;}
.ds-hero-v2__trail--five{top:59%;width:60vw;transform:rotate(6.2deg);animation-duration:10.1s !important;animation-delay:-5.7s !important;}
.ds-hero-v2__trail--six{top:70%;width:70vw;transform:rotate(-3.3deg);animation-duration:9.2s !important;animation-delay:-2.6s !important;}

/* Content */
.ds-hero-v2__content{
  z-index:7 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  padding-top:calc(50svh + 94px) !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
}
.ds-hero-v2__copy{
  width:min(900px,calc(100vw - 48px)) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
  color:#fffdf1 !important;
  text-shadow:0 16px 58px rgba(0,0,0,.62),0 0 18px rgba(255,255,230,.08) !important;
}
.ds-hero-v2__line{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-family:var(--ds-serif, 'Noto Serif JP', serif) !important;
  font-weight:500 !important;
  font-size:clamp(40px,4.6vw,82px) !important;
  line-height:1.18 !important;
  letter-spacing:-.07em !important;
  color:#fffdf1 !important;
  opacity:1 !important;
  transform:none !important;
}
.ds-hero-v2__line + .ds-hero-v2__line{margin-top:.08em !important;}
.ds-hero-v2__scroll{
  pointer-events:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:138px !important;
  height:48px !important;
  margin-top:44px !important;
  padding:0 28px !important;
  border:1px solid rgba(84,225,74,.78) !important;
  border-radius:999px !important;
  color:#31ff91 !important;
  background:rgba(2,12,7,.38) !important;
  box-shadow:inset 0 0 18px rgba(54,225,88,.10),0 0 24px rgba(54,225,88,.12) !important;
  font-family:var(--ds-sans, Inter, sans-serif) !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}
.ds-hero-v2__scroll-line{
  display:block !important;
  width:1px !important;
  height:76px !important;
  margin-top:20px !important;
  background:linear-gradient(180deg, rgba(71,225,91,.85), rgba(71,225,91,0)) !important;
  position:relative !important;
}
.ds-hero-v2__scroll-line::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#57e35e;
  box-shadow:0 0 18px rgba(87,227,94,.7);
  transform:translate(-50%,50%);
}

@keyframes ds-hero-v2-trail{
  0%{translate:0 0;}
  45%{translate:100vw -10px;}
  100%{translate:190vw 8px;}
}
@keyframes ds-hero-v2-glow-a{from{transform:translate3d(-3%,1%,0) scale(1);}to{transform:translate3d(4%,-2%,0) scale(1.08);}}
@keyframes ds-hero-v2-glow-b{from{transform:translate3d(4%,2%,0) scale(1);}to{transform:translate3d(-5%,-3%,0) scale(1.1);}}

@media (max-width:1180px){
  .ds-hero-v2__alpha{width:min(560px,46vw) !important;top:42% !important;}
  .ds-hero-v2__content{padding-top:calc(50svh + 86px) !important;}
  .ds-hero-v2__wordmark{width:112vw !important;}
}
@media (max-width:760px){
  html body.denshow-theme #denshow-infinity.ds-page--hero-final .ds-hero-v2{min-height:100svh !important;height:100svh !important;}
  .ds-hero-v2__wordmark{top:48% !important;width:168vw !important;opacity:.075 !important;}
  .ds-hero-v2__alpha{top:38% !important;width:min(360px,72vw) !important;}
  .ds-hero-v2__content{padding-top:calc(50svh + 48px) !important;}
  .ds-hero-v2__line{font-size:clamp(32px,9vw,48px) !important;line-height:1.28 !important;letter-spacing:-.06em !important;}
  .ds-hero-v2__scroll{height:44px;min-width:124px;margin-top:34px;font-size:12px;}
  .ds-hero-v2__scroll-line{height:54px;margin-top:16px;}
  .ds-hero-v2__trail{left:-110vw !important;height:1px !important;}
  .ds-hero-v2__trail--one{top:18%;width:102vw;}
  .ds-hero-v2__trail--two{top:28%;width:122vw;}
  .ds-hero-v2__trail--three{top:38%;width:98vw;}
  .ds-hero-v2__trail--four{top:50%;width:128vw;}
  .ds-hero-v2__trail--five{top:62%;width:106vw;}
  .ds-hero-v2__trail--six{top:74%;width:118vw;}
}
@media (prefers-reduced-motion: reduce){
  .ds-hero-v2__trail,
  .ds-hero-v2__glow{animation:none !important;}
}
