coleman spilde’s review published on Letterboxd:
there she is! the almost birthday girl!
everything i had hoped for since i became reluctantly enamored with the very first gruesome teaser in early january: longlegs is dripping with dread and witheringly cold. i guess i can see how some feel this has the stylistic trappings of “prestige horror,” but if you really study the details here—how oz perkins frames his shots, the way plot points are sewn together with a blood-soaked needle that creates an atmosphere of unrelenting suspicion and danger—it’s easy to see that this is the kind of horror that the modern, colloquial “prestige horror” flicks wish they could attain.
i was locked in from start to finish. opening scene and title card made my stomach churn; cage’s performance is horrifying and monroe gives another gripping and compelling interior turn, but it’s perkins’ screenplay that really unnerved me (and has stuck with me in the hours since). he understands how to write dialogue that evokes a primal, childlike discomfort, a verbal bedfellow to the creeping feeling of imagining someone is standing in your closet or the shadow that passed your ceiling is that of a person and not a branch. lee harker’s back turned to the doorways. sprawling suburbia covered in snow—a singularly recognizable sight for my midwest-born eyes—and a pale white face to match. toss in some heavy, inescapable occult imagery and you’ve got a recipe for something i am drawn to like catnip. i am fascinated by a chance to graze the darkness’ roiling surface, and step into complete and total perversion of the mind. longlegs gave that to me, and i’m sickly grateful.
(light spoilers below):
i adore that this is not merely a horror-procedural about the capabilities of a human mind when corrupted. we’ve got enough of those, and we’ll have more excellent ones. perkins’ blend of macabre supernatural with the serial killer procedural actually feels quite exciting and fresh. it would be easier to explain it all away with a killer’s psychopathy. but for me, it’s far more terrifying to suggest that there is real power beyond our control, satanic forces that can manipulate us to do their bidding by way of algorithmic deceit. i fucking love the details of how these commands run through various vessels and channels, and i think this movie will only reward on rewatch. like…did you want rosemary’s baby to end with a healthy newborn human child?
and one additional note: i can’t think of anything more lame than telling someone they need to watch more movies if a movie gets under their skin and they’re genuinely terrified by it. the difference between scary versus unnerving is not one that every viewer has intimate knowledge of, and it’s fucking cool that a polarizing and wicked story like this can draw so many people—who might not be as familiar with the genres and subgenres it lives in—to movie theaters. everyone has to start somewhere. original movies and storytelling aren’t dead, so the desire to make fun of people who were actually affected enough by the marketing to go see it and love it and be scared by it reads as purely juvenile.
coleman spilde liked these reviews
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_48c4b0e2-5da2-4f8e-b1e6-bde5f2c10584" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-48c4b0e2-5da2-4f8e-b1e6-bde5f2c10584'; adUnit.className = 'pw-div -tile300x250 -alignleft -bottommargin'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'med_rect_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-48c4b0e2-5da2-4f8e-b1e6-bde5f2c10584'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-48c4b0e2-5da2-4f8e-b1e6-bde5f2c10584'));
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_c39ea737-e821-403e-8bf6-b4054841ffe7" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-c39ea737-e821-403e-8bf6-b4054841ffe7'; adUnit.className = 'pw-div'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'sky_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-c39ea737-e821-403e-8bf6-b4054841ffe7'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-c39ea737-e821-403e-8bf6-b4054841ffe7'));