/* Minimal platform-independent behavior; original visual stylesheet is retained. */
html {scroll-behavior:smooth}
.hero-slider .w-slider-mask {position:absolute;inset:0;width:100%;height:100%}
.hero-slider .w-slide {position:absolute;inset:0;width:100%;opacity:0;transition:opacity 2s ease}
.hero-slider .w-slide:first-child,.hero-slider .w-slide.is-active {opacity:1}
.hero-slider.is-running .w-slide:not(.is-active) {opacity:0}
.hero-slider .w-slider-arrow-left,.hero-slider .w-slider-arrow-right,.hero-slider .w-slider-nav {display:none}
a:focus-visible {outline:2px solid currentColor;outline-offset:5px}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}.hero-slider .w-slide{transition:none}}


/* Show the recovered gallery without the Webflow runtime. */
.portfolio-row {display:block}

.project-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:32px 5% 0}
.project-card {display:block;aspect-ratio:16/9;border:0;overflow:hidden}
.project-card img {display:block;width:100%;height:100%;object-fit:contain}
html.gallery-open {overflow:hidden}
.project-lightbox {width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px;border:0;background:#080808;color:#fff;box-sizing:border-box}
.project-lightbox::backdrop {background:#080808}
.project-lightbox[open] {display:flex;flex-direction:column}
.lightbox-bar {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
.project-lightbox button {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:1px solid #666;background:#080808;color:#fff;cursor:pointer}
.project-lightbox button:hover,.project-lightbox button:focus-visible {border-color:#00efa0;outline:2px solid #00efa0;outline-offset:2px}
.project-lightbox button:disabled {opacity:.35;cursor:default}
.lightbox-stage {display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;flex:1;min-height:0;padding-top:16px}
#gallery-image {width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pan-y}
@media(max-width:767px) {.project-grid {grid-template-columns:minmax(0,1fr);gap:20px}.project-lightbox {padding:12px}.lightbox-stage {gap:8px}}

/* A local poster fills the showreel area before the embedded player paints. */
.showreel-player {background:#050d0b url("/assets/showreel-poster.webp") center / cover no-repeat}
