#dc-journey { --dc-reveal: 0; position: relative; }
#dc-journey.dc-enhanced { height: 220svh; }
body:has(.control-intro) #dc-journey .hero {
  background: #e9eeeb; position: relative; isolation: isolate;
  height: min(740px,calc(100svh - 130px)); min-height: 540px;
  padding: 80px 0 48px; display: flex; align-items: center; overflow: hidden;
}
body:has(.control-intro) #dc-journey.dc-enhanced .hero { position: sticky; top: 72px; }
.dc-poster, #dc-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.dc-poster { object-fit: cover; }
#dc-scene { opacity: var(--dc-reveal); }
#dc-scene canvas { width: 100%; height: 100%; display: block; }
body:has(.control-intro) #dc-journey .hero::before {
  display: block; position: absolute; inset: 0; width: 100%;
  background: linear-gradient(90deg,rgba(248,251,249,.97) 0%,rgba(248,251,249,.93) 29%,rgba(248,251,249,.76) 40%,rgba(248,251,249,.15) 59%,transparent 73%); z-index: -1;
}
body:has(.control-intro) #dc-journey .hero h1 { color: #173c30; font-size: 68px !important; }
body:has(.control-intro) #dc-journey .hero-sub { color: #344d40; max-width: 460px; font-size: 17px; }
body:has(.control-intro) #dc-journey .hero .btn-outline { color: #173c30; border-color: #688778; background: rgba(255,255,255,.84); }
#dc-journey .precision-headline { font-size: 24px; max-width: 440px; }
#dc-journey .hero-actions { max-width: 460px; gap: 12px; }
#dc-stage { color: #17654e; font: 12px/1.6 monospace; margin-bottom: 20px; }
.dc-credit { position: absolute; right: 24px; bottom: 14px; font-size: 11px; padding: 4px 8px; background: #ffffffdf; color: #34483e; }
.dc-overview { padding: 20px 0; border-bottom: 1px solid #cad8cf; background: #f4f7f5; }
.dc-enhanced > .dc-overview { position: sticky; top: calc(72px + clamp(540px,100svh - 130px,740px)); z-index: 2; }
.dc-overview .container { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.dc-overview h2 { font-size: 19px; margin-bottom: 8px; }
.dc-overview p { font-size: 14px; color: #586a60; }
@media(max-width:1100px) {
 body:has(.control-intro) #dc-journey .hero h1 { font-size: 52px !important; }
 body:has(.control-intro) #dc-journey .hero::before { background: linear-gradient(90deg,rgba(248,251,249,.97) 0%,rgba(248,251,249,.92) 43%,rgba(248,251,249,.3) 65%,transparent 84%); }
 body:has(.control-intro) #dc-journey .hero-sub { max-width: 410px; }
}
@media(max-width:760px), (prefers-reduced-motion:reduce) {
 #dc-journey.dc-enhanced { height: auto; }
 body:has(.control-intro) #dc-journey.dc-enhanced .hero { position: relative; top: auto; }
 #dc-scene { display: none; }
 .dc-enhanced > .dc-overview { position: static; }
}
@media(max-width:760px) {
 body:has(.control-intro) #dc-journey .hero { min-height: 620px; height: auto; padding: 110px 0 65px; }
 body:has(.control-intro) #dc-journey .hero::before { width: 100%; background: rgba(248,251,249,.87); }
 body:has(.control-intro) #dc-journey .hero h1 { font-size: 44px !important; }
 #dc-journey .precision-headline { font-size: 22px; }
 .dc-overview .container { grid-template-columns: 1fr; gap: 20px; }
}
