/* Styles that sit on top of site.css (the original compiled Tailwind build).
   site.css only contains the utility classes the original site used; put any
   new rules here. Brand tokens for reference:
     accent #ff7d55 · background-grey #f1f1f1 · lighter-grey #e7e7e7
     mid-grey #dadada · darker-grey #959595 · font: Aeonik (400, 500)
   Type scales with the window width (html font-size in site.css):
   1rem = 10px at 1440 wide; tablet <= 1023px; mobile <= 767px. */

/* Smooth scroll (Lenis) */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* Portfolio: text fades out then in, image slides up */
.fade-text-enter-active, .fade-text-leave-active { transition: opacity .4s ease, transform .4s ease; }
.fade-text-enter-from { opacity: 0; transform: translateY(10px); }
.fade-text-leave-to { opacity: 0; transform: translateY(-10px); }
.slide-up-enter-active, .slide-up-leave-active { transition: transform .5s ease-in-out; }
.slide-up-enter-from { transform: translateY(100%); }
.slide-up-leave-to { transform: translateY(-100%); }

/* Project icons (portfolio tabs and project page switcher) */
.project-icon svg { width: 100%; height: 100%; object-fit: contain; }
.project-icon svg path { fill: rgb(149 149 149); transition: fill .3s; }
.is-current .project-icon svg path { fill: #000; }

/* Press slider: slides cross-fade */
.press-slide { opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.press-slide.is-active { opacity: 1; pointer-events: auto; }

/* Partners band */
.animate-marquee { animation: marquee 60s linear infinite; will-change: transform; }
@keyframes marquee { 0% { transform: translateZ(0); } to { transform: translate3d(-50%, 0, 0); } }

/* Newsletter checkbox */
input:checked + div .check-icon { opacity: 1; }

/* Team bio pop-up */
.modal-backdrop { -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); opacity: 0; transition: all .5s ease; }
.modal-content { opacity: 0; transform: translateY(10rem); transition: all .5s cubic-bezier(.16, 1, .3, 1); }
.is-open .modal-backdrop { -webkit-backdrop-filter: blur(1.5rem); backdrop-filter: blur(1.5rem); opacity: 1; }
.is-open .modal-content { opacity: 1; transform: translateY(0); transition: all .8s cubic-bezier(.16, 1, .3, 1); }

/* Project page card scrolls without a native scrollbar */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

[hidden] { display: none !important; }
