/* Shared choreography: light, depth, then a readable resting state. */
.real-photo{translate:calc(var(--pointer-x,0px)*-.5) calc(var(--hero-drift,0px)*.55 + var(--pointer-y,0px)*-.5);scale:1.035}
.real-stamp{translate:var(--pointer-x,0px) calc(var(--pointer-y,0px) - var(--hero-drift,0px)*.3)}
.real-atmosphere{translate:calc(var(--pointer-x,0px)*1.5) calc(var(--pointer-y,0px)*1.5)}
.home-orbits{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;translate:calc(var(--pointer-x,0px)*.5) calc(var(--hero-drift,0px)*-.25)}
.orbit{position:absolute;border:1px solid #a1d76866;border-radius:50%;width:460px;height:460px;right:-80px;top:90px}
.orbit-one{border-style:dashed;animation:home-orbit 40s linear infinite}
.orbit-two{width:360px;height:360px;right:-30px;top:140px;border-color:#ffffff26;animation:home-orbit-arrive 1.5s ease-out both}
.orbit-dot{position:absolute;width:14px;height:14px;right:12%;top:20%;border-radius:50%;background:#8cc540;box-shadow:0 0 0 10px #8cc54020,0 0 35px #8cc54088;animation:home-dot 4s ease-in-out infinite}
.orbit-cross{position:absolute;right:24px;top:28px;font:300 60px/1 Arial,sans-serif;color:#8cc540aa;animation:home-orbit 18s linear infinite}
.real-concept,.real-brand-story,.real-journey,.prize-showcase,.real-finale{position:relative}
.home-section-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#8cc540,#d5edbc,transparent);transform:scaleX(var(--section-progress,0));transform-origin:left;pointer-events:none}
.home-mechanic article.reveal-ready:not(.is-revealed){transform:translateX(-38px) rotate(-3deg);opacity:0}
.home-mechanic article:nth-child(2).reveal-ready:not(.is-revealed){transform:translateX(38px) rotate(3deg)}
.real-journey li.reveal-ready:not(.is-revealed){transform:translateX(45px);opacity:0}
.real-prize-card.reveal-ready:not(.is-revealed){transform:perspective(1000px) translateY(45px) rotateX(8deg);opacity:0}
.real-finale h2{position:relative;display:table;margin-inline:auto;text-shadow:0 5px 0 #03271b}
.real-finale h2::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:5px;background:#8cc540;transform:scaleX(0) rotate(-2deg);transform-origin:left}
.real-finale.home-in-view h2::after{animation:home-underline .7s cubic-bezier(.16,1,.3,1) .55s forwards}
.real-finale.home-in-view .campaign-cta{animation:home-button-arrive .8s cubic-bezier(.16,1,.3,1) .35s both}
.real-journey li:hover>span{box-shadow:0 0 0 6px #8cc54020;transform:rotate(-8deg) scale(1.08)}
.home-tab-hidden *,.home-tab-hidden *::before,.home-tab-hidden *::after{animation-play-state:paused!important}
@keyframes home-orbit{to{transform:rotate(360deg)}}
@keyframes home-orbit-arrive{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes home-dot{50%{transform:translateY(-14px);box-shadow:0 0 0 17px #8cc54008,0 0 40px #8cc54066}}
@keyframes home-underline{to{transform:scaleX(1) rotate(-2deg)}}
@keyframes home-button-arrive{from{opacity:0;transform:translateY(22px) scale(.9)}to{opacity:1;transform:none}}
@media(max-width:650px){
 .home-orbits{height:410px}.orbit{width:230px;height:230px;right:-65px;top:65px}.orbit-two{width:170px;height:170px;right:-35px;top:95px}.orbit-cross{display:none}.orbit-dot{width:9px;height:9px;top:95px;right:22%}
 .home-mechanic article.reveal-ready:not(.is-revealed),.home-mechanic article:nth-child(2).reveal-ready:not(.is-revealed),.real-journey li.reveal-ready:not(.is-revealed){transform:translateY(18px)}
 .real-prize-card.reveal-ready:not(.is-revealed){transform:translateY(22px)}
 .real-photo{translate:0 calc(var(--hero-drift,0px)*.3);scale:1.02}
}
@media(prefers-reduced-motion:reduce){
 .real-photo,.real-stamp,.real-atmosphere,.home-orbits{translate:none;scale:1}
 .home-orbits *,.real-finale h2::after,.real-finale .campaign-cta{animation:none!important}
 .home-section-line{transform:none}
 .reveal-ready{opacity:1!important;transform:none!important}
}
