/* money1 intro v4: separate clean plate, live copy and one portrait. */
#home-portfolio-intro.hj-v4-intro {
  --hj-v4-clearance: clamp(3.5rem, 7svh, 5.5rem);
}
#home-portfolio-intro.hj-v4-intro .hj-portfolio-intro__scenes::after { content: none; display: none; }
#home-portfolio-intro.hj-v4-intro .hj-portfolio-intro__word {
  font-size: clamp(2.25rem, 8.7vw, 8.75rem);
  letter-spacing: 0;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-panel {
  position: absolute;
  z-index: 3;
  top: calc(50% + var(--intro-band-height) / 2 + var(--hj-v4-clearance));
  bottom: var(--intro-edge-gap);
  left: clamp(1.5rem, 6vw, 7rem);
  right: clamp(1.5rem, 6vw, 7rem);
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 3rem);
  overflow: hidden;
  pointer-events: none;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-copy {
  min-width: 0;
  align-self: center;
  color: #f8f1e4;
  opacity: 0;
  font-family: 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-eyebrow {
  margin: 0 0 clamp(.4rem, 1.2svh, .9rem);
  color: #8ab0af;
  font-size: clamp(.65rem, 1vw, .85rem);
  line-height: 1.4;
  letter-spacing: .14em;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-name {
  margin: 0;
  font-size: clamp(1.75rem, 4.8vw, 4.75rem);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.1;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-name span { display: block; color: #08b6ad; letter-spacing: -.025em; }
#home-portfolio-intro.hj-v4-intro .hj-v4-tagline {
  margin: clamp(.5rem, 1.6svh, 1.25rem) 0 0;
  font-size: clamp(.8rem, 1.35vw, 1.25rem);
  line-height: 1.55;
  text-wrap: balance;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-caption {
  margin: .4rem 0 0;
  color: #91a8ad;
  font-size: clamp(.6rem, .9vw, .8rem);
  line-height: 1.4;
  letter-spacing: .06em;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-panel .hj-portfolio-intro__character-frame {
  position: relative;
  z-index: 0;
  display: block;
  left: auto; right: auto; bottom: auto;
  min-width: 0;
  width: 100%;
  height: 100%;
  transform: none;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-panel .hj-portfolio-intro__character {
  position: static;
  display: block;
  width: 100%; max-width: 100%; height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transform: none;
  opacity: 1;
  filter: none;
}
#home-portfolio-intro.hj-v4-intro.is-playing .hj-v4-copy { animation: hj-v4-copy-in .9s var(--intro-strip-delay) ease both; }
#home-portfolio-intro.hj-v4-intro.is-playing .hj-v4-panel .hj-portfolio-intro__character { animation: hj-v4-portrait-in 1s ease both; }
#home-portfolio-intro.hj-v4-intro.is-finishing .hj-v4-panel { opacity: 0; transition: opacity .22s ease; }
@keyframes hj-v4-copy-in { from { opacity: 0; transform: translateY(.65rem); } to { opacity: 1; transform: none; } }
@keyframes hj-v4-portrait-in { from { opacity: 0; transform: translateY(10%); } to { opacity: 1; transform: none; } }
@media (max-width: 779px) {
  #home-portfolio-intro.hj-v4-intro { --hj-v4-clearance: clamp(2rem, 5.5svh, 3.25rem); }
  #home-portfolio-intro.hj-v4-intro .hj-portfolio-intro__title { padding-inline: 5vw; }
  #home-portfolio-intro.hj-v4-intro .hj-portfolio-intro__word { font-size: clamp(1.5rem, 8.8vw, 4rem); }
  #home-portfolio-intro.hj-v4-intro .hj-v4-panel { left: 5vw; right: 5vw; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: .65rem; }
  #home-portfolio-intro.hj-v4-intro .hj-v4-name { font-size: clamp(1.4rem, 6.8vw, 2.5rem); }
  #home-portfolio-intro.hj-v4-intro .hj-v4-eyebrow { font-size: .63rem; letter-spacing: .04em; }
  #home-portfolio-intro.hj-v4-intro .hj-v4-caption { letter-spacing: 0; }
}
@media (max-height: 540px) {
  #home-portfolio-intro.hj-v4-intro { --hj-v4-clearance: 1.5rem; }
  #home-portfolio-intro.hj-v4-intro .hj-v4-name { font-size: clamp(1.1rem, 4vw, 2rem); }
  #home-portfolio-intro.hj-v4-intro .hj-v4-eyebrow, #home-portfolio-intro.hj-v4-intro .hj-v4-caption { display: none; }
  #home-portfolio-intro.hj-v4-intro .hj-v4-tagline { margin-top: .3rem; font-size: .7rem; }
}

/* v4.1: intrinsic image height must not expand a definite-height grid row. */
#home-portfolio-intro.hj-v4-intro .hj-v4-panel {
  min-height: 0;
  grid-template-rows: minmax(0, 1fr);
}
#home-portfolio-intro.hj-v4-intro .hj-v4-panel .hj-portfolio-intro__character-frame {
  min-height: 0;
  overflow: hidden;
}
#home-portfolio-intro.hj-v4-intro .hj-v4-panel .hj-portfolio-intro__character {
  min-height: 0;
  max-height: 100%;
}
/* Progressive rendering: wallpaper initialization must not hide site content. */
html[data-wallpaper-mode="fullscreen"] body:not(.wallpaper-initialized) .w-full.z-30.pointer-events-none {
  visibility: visible !important;
}
