/* Film Work's section heading inherits the existing h2 styling unchanged. */
.still-project-section { margin-top:110px; padding-top:30px; scroll-margin-top:130px; }
.still-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; padding-top:26px; }
.still-project-card { min-width:0; display:block; color:white; text-decoration:none; text-align:center; }
.still-stack { position:relative; height:370px; isolation:isolate; }
.still-stack img { position:absolute; left:calc(50% + var(--x)); top:calc(50% + var(--y)); height:auto; max-height:300px; object-fit:cover; border:5px solid #f3f0e9; box-shadow:0 12px 32px #0009; transform:translate(-50%,-50%) translate(var(--push-x,0px),var(--push-y,0px)) rotate(calc(var(--rotation) + var(--push-rotation,0deg))); transition:transform .16s cubic-bezier(.2,.7,.2,1); will-change:transform; pointer-events:auto; }
.still-project-card:focus-visible { outline:1px solid white; outline-offset:12px; }
.still-project-card:focus-visible .still-stack img { transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1.04); }
.still-project-card .film-title { margin-top:16px; }
.still-detail { max-width:1440px; margin:0 auto; padding:190px 80px 80px; }
.still-project-intro { max-width:900px; margin-bottom:70px; }
.still-project-intro .main-title { font-size:clamp(2.1rem,5vw,5rem); font-weight:700; line-height:1.12; margin:0 0 20px; }
.still-project-intro .film-meta { font-size:.9em; color:#bbb; margin-bottom:28px; }
.still-description { font-family:inherit; font-size:.95em; line-height:1.6em; color:#ccc; max-width:780px; }
.still-gallery { columns:3; column-gap:24px; }
.still-photo { appearance:none; display:block; width:100%; border:0; padding:0; margin:0 0 24px; background:transparent; break-inside:avoid; cursor:zoom-in; }
.still-photo img { display:block; width:100%; height:auto; }
.still-photo:focus-visible { outline:2px solid white; outline-offset:5px; }
.still-detail + .site-footer { clear:both; }
.back-button { position:fixed; top:50%; left:0; transform:translateY(-50%); background:rgba(0,0,0,.7); color:white; padding:.8em; padding-left:20px; text-decoration:none; font-size:1em; z-index:100; transition:all .4s ease; backdrop-filter:blur(5px); width:40px; overflow:hidden; white-space:nowrap; }
.back-button:hover,.back-button:focus-visible { width:200px; background:rgba(255,255,255,.1); color:white; }
.back-button::before { content:'<'; font-size:1.2em; display:inline-block; margin-right:10px; margin-bottom:6px; transition:transform .4s ease; }
.back-button:hover::before { transform:translateX(5px); }
.still-lightbox { position:fixed; inset:0; width:100vw; max-width:100%; height:100dvh; max-height:100%; padding:40px 60px; border:0; background:#080808f8; color:white; }
.still-lightbox[open] { display:flex; align-items:center; justify-content:center; }
.still-lightbox::backdrop { background:#000d; }
.still-lightbox img { display:block; max-width:100%; max-height:calc(100dvh - 100px); object-fit:contain; }
.still-lightbox button { position:absolute; border:0; color:white; background:#111b; font:32px/1 Arial,sans-serif; padding:12px; cursor:pointer; }
.still-close { right:16px; top:12px; }.still-prev { left:6px; top:50%; }.still-next { right:6px; top:50%; }
.still-count { position:absolute; bottom:16px; left:0; width:100%; text-align:center; font-size:12px; color:#bbb; }
html.still-viewing { overflow:hidden; }
@media(max-width:1000px) { .still-stack { height:300px; }.still-stack img { max-height:250px; }.still-project-grid { gap:30px; }.still-detail { padding:160px 48px 60px; }.still-gallery { columns:2; } }
@media(max-width:600px) { .still-project-grid { grid-template-columns:1fr; gap:36px; }.still-project-section { margin-top:64px; }.still-stack { height:300px; }.still-detail { padding:170px 24px 50px; }.still-project-intro { margin-bottom:40px; }.still-gallery { columns:1; }.still-photo { margin-bottom:20px; }.still-lightbox { padding:40px; } }
@media(prefers-reduced-motion:reduce) { .back-button { transition:none; } }

/* Returning uses an explicit linear path instead of an immediate reset. */
.still-stack.is-returning img { transition:transform .55s linear; }
