[x-cloak]{display:none!important}
    :root { --ease-premium: cubic-bezier(.16,1,.3,1); --ease-soft: cubic-bezier(.33,1,.68,1); }
    html { scroll-behavior: smooth; }
    body { overflow-x: hidden; }
    ::-webkit-scrollbar { width: 8px; }
    ::-webkit-scrollbar-track { background: #050505; }
    ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 999px; }

    .site-header { transition: background-color .8s var(--ease-soft), backdrop-filter .8s var(--ease-soft), border-color .8s var(--ease-soft); }
    .site-header.is-scrolled { background: rgba(0,0,0,.72); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); }
    .nav-link { position: relative; }
    .nav-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: -8px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .75s var(--ease-premium); }
    .nav-link:hover::after { transform: scaleX(1); transform-origin: left; }

    .reveal { opacity: 0; transform: translate3d(0, 42px, 0); transition: opacity 1.25s var(--ease-soft), transform 1.25s var(--ease-premium); transition-delay: var(--reveal-delay, 0ms); }
    .reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
    .reveal-left { opacity: 0; transform: translate3d(-42px, 0, 0); transition: opacity 1.35s var(--ease-soft), transform 1.35s var(--ease-premium); transition-delay: var(--reveal-delay, 0ms); }
    .reveal-right { opacity: 0; transform: translate3d(42px, 0, 0); transition: opacity 1.45s var(--ease-soft), transform 1.45s var(--ease-premium); transition-delay: var(--reveal-delay, 0ms); }
    .reveal-left.is-visible, .reveal-right.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }

    .slow-zoom img { transform: scale(1); animation: slowZoom 36s ease-in-out infinite alternate; will-change: transform; }
    .slow-pan img { animation: slowPan 42s ease-in-out infinite alternate; will-change: transform; }
    .float-soft { animation: floatSoft 14s ease-in-out infinite alternate; will-change: transform; }
    .work-tab span { transition: transform .7s var(--ease-premium); }
    .work-tab:hover span { transform: translateX(4px); }
    .work-panel { transform: translate3d(0,0,0); transition: opacity .65s var(--ease-soft), transform .75s var(--ease-premium); }
    .work-panel.is-changing { opacity: 0; transform: translate3d(24px,0,0); }
    .premium-card { transition: transform .9s var(--ease-premium), box-shadow 1s var(--ease-soft), border-color .9s var(--ease-soft), background-color .9s var(--ease-soft); border: 1px solid transparent; }
    .premium-card:hover { transform: translateY(-6px); box-shadow: 0 18px 60px rgba(0,0,0,.12); border-color: rgba(0,0,0,.08); }
    .premium-card img { transition: transform .75s var(--ease-premium); }
    .premium-card:hover img { transform: rotate(-8deg) scale(1.06); }
    .image-cta img { transition: transform 1.7s var(--ease-premium), filter 1.7s var(--ease-soft); }
    .image-cta:hover img { transform: scale(1.055); filter: brightness(1.08); }
    .image-cta span span { transition: transform .95s var(--ease-premium), background-color .95s var(--ease-soft); }
    .image-cta:hover span span { transform: translateY(-2px) scale(1.03); background: rgba(255,255,255,.22); }

    @keyframes slowZoom { from { transform: scale(1); } to { transform: scale(1.028); } }
    @keyframes slowPan { from { transform: scale(1.01) translate3d(-5px,0,0); } to { transform: scale(1.035) translate3d(6px,-4px,0); } }
    @keyframes floatSoft { from { transform: translate3d(0,0,0) rotate(0deg); } to { transform: translate3d(0,-5px,0) rotate(-.2deg); } }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
      .reveal, .reveal-left, .reveal-right { opacity: 1 !important; transform: none !important; }
    }
