/* Hero entrance (direction C, picked by Matteo 2026-10-07). All content is visible before JavaScript. */
.hero[data-motion] .hero-copy,.hero[data-motion] .hero-stage{transition:none}
.hero[data-motion] .orbit{display:none}
.hero[data-motion] .hero-stage::before{content:"";position:absolute;inset:12% 4% 105px;border:1px solid var(--line);border-radius:180px 180px 40px 40px}
.hero[data-motion] .hero-copy{position:relative}
.hero[data-motion] .alignment-rule{display:block;position:absolute;left:0;top:-35px;width:100%;height:1px;background:var(--ink);opacity:.35;transform-origin:left}
.hero[data-motion] .native-phone{box-shadow:18px 25px 0 var(--mint)}
@media(max-width:560px){.hero[data-motion] .alignment-rule{top:38px;left:calc(50% - 24px);width:48px}.hero[data-motion] .native-phone{box-shadow:inset -4px 0 0 var(--mint),0 18px 28px rgba(10,30,24,.14)}.hero[data-motion] .hero-stage::before{inset:12% 5% 112px;border-radius:160px 160px 36px 36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero[data-motion] *{animation:none!important;transition:none!important}}

/* Bounded early enhancement: the head deadline restores static content in 450 ms. */
.hero-pending .hero[data-motion] h1{opacity:.35;transform:translateX(-22px)}
.hero-pending .hero[data-motion] .native-phone{transform:translateX(32px) rotate(-3deg);opacity:.5}

.hero[data-motion] .motion-line{display:inline-block}
