body { background-color: #0A0C0E; color: #EDE7DC; margin: 0; -webkit-font-smoothing: antialiased; } .deck-card { box-shadow: 0 20px 40px -10px rgba(0,0,0,0.8); } .text-stroke { -webkit-text-stroke: 1px rgba(237,231,220,0.2); color: transparent; } /* Scroll driven animations handled mostly in JS for complex linking, but setting up structure here */ .portal-stage { height: calc(100vh + 354px); } #panel-left, #panel-right, #hero-img, #hero-wash, #dot-left, #dot-right, #title-left, #title-right { transition: none !important; } .sticky-container { position: sticky; top: 0; height: 100vh; overflow: hidden; } /* Mobile title: fit both words fully, keep a clear gap; hero stays full-bleed */ @media (max-width: 767px) { .portal-title { font-size: clamp(1.85rem, 9.2vw, 2.75rem) !important; padding-left: 1rem !important; padding-right: 1rem !important; gap: 0.85rem !important; justify-content: space-between !important; } #title-left, #title-right { max-width: none; transform-origin: center !important; } .hero-img-wrap { inset: 0 !important; width: auto !important; height: auto !important; transform: none !important; } #panel-left, #panel-right { width: 52% !important; } } #release-deck { user-select: none; -webkit-user-select: none; } #deck-card.dragging { transition: none !important; } #deck-card, #deck-next { transition: transform 420ms cubic-bezier(.2,.8,.2,1), opacity 420ms ease; } .deck-peek { box-shadow: 0 20px 40px -10px rgba(0,0,0,0.8); }