:root { --geai-ease:cubic-bezier(.22,.68,0,1) }
/* Browsers without document transitions keep immediate native navigation. */
@view-transition { navigation:auto }
::view-transition-old(root) { animation:geai-page-out .24s ease both }
::view-transition-new(root) { animation:geai-page-in .42s var(--geai-ease) both }
@keyframes geai-page-out { to { opacity:0 } }
@keyframes geai-page-in { from { opacity:0;transform:translateY(10px) } to { opacity:1;transform:none } }
.desktop-nav a::after { right:0; transform:scaleX(0); transform-origin:left; transition:transform .3s var(--geai-ease) }
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after { transform:scaleX(1) }
.pill,.round-link,.header-cta { transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s var(--geai-ease) }
.pill:active,.round-link:active { transform:scale(.98) }
@media(hover:hover) and (pointer:fine) {
 .campaign-image>img,.talent-portrait img,.collection-cover img { transition:transform .7s var(--geai-ease) }
}
@media(max-width:600px) {
 .world,.world-genova { min-height:82svh }
 .world>img { position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:67% center;z-index:-2 }
 .world-shade { display:block;background:linear-gradient(0deg,#052319f0,transparent 90%);z-index:-1 }
 .world-content,.world-genova .world-content { min-height:82svh;padding:48px 24px;position:relative;z-index:1;background:transparent }
 .world-content h2 { font-size:clamp(44px,12vw,68px) }
 .world-content>p:last-child { font-size:16px;max-width:350px }
}
@media(prefers-reduced-motion:reduce) {
 ::view-transition-old(root),::view-transition-new(root) { animation:none!important }
}
