ADVERTISEMENT

A review of 'Beetlejuice Beetlejuice'

Published Sep 4, 2024 02:49 pm

At A Glance

  • You don't need to have seen the first, but it would help to get you into the right headspace for something as uniquely deviant as a Tim Burton film.

PH_PHILIPPINES_BTLBTL_INSTA_VERT_MAIN_1638x2048_INTL_REV.jpg

With the spate of nostalgia-laced films that have hit theaters in recent years, such as Indiana Jones and the Dial of Destiny, Topgun Maverick, and Ghostbusters Afterlife, you’d easily be forgiven for thinking that at least part of the reason they were made was to give the fans. The stars one last hurrah, one last round before the bar closes on them and the curtain falls for good. If anything, it’s shown that the trend of sequels made decades after the original could be feasible and potentially profitable.

The latest entry into that group of movies is Beetlejuice Beetlejuice, the sequel to the 1988 original. Both are directed by Tim Burton and both feature Michael Keaton in the title role of the vile, crude, politically incorrect demon from the afterlife, a role which unsurprisingly, Keaton performs with as much fun and energy now as he did over three decades ago.

Also returning is Winona Ryder as Lydia Deetz, the morose, gothic teen from the first film, now a grown woman, mother, and cheap reality television ghost-hunting show host.

PH_PHILLIPINES_BTLBTL_Digital_Character_Art_Beetlejuice_InstaVert_1638x2048_INTL.jpg

She has an estranged relationship with her daughter, Astrid, played by Jenna Ortega, this generation’s poster girl of goth. Ghouls and dark forces are nothing new to Ortega, having led her show as the darkly stoic Wednesday Adams, and she slips in perfectly with the rest of the cast.

When Lydia’s father suddenly dies on his way back from birdwatching, the two, along with Lydia’s mother Delia (Catherine O’Hara) return home to the not-exactly-sleepy town of Winter River for the funeral. All three generations of Deetz have their demons to face in their old house, Lydia, most of all, as somehow from the impossible maze of the afterlife, the ghost with the most has returned to claim his bride.

You don’t need to have seen the first, but it would help to get you into the right headspace for something as uniquely deviant as a Tim Burton film. Also, the first movie is a blast to watch on its own.

PH_PHILLIPINES_BTLBTL_Digital_Character_Art_Lydia_InstaVert_1638x2048_INTL.jpg

And this second Beetlejuice film is very much a Tim Burton film, with an off-hand, almost nonchalant approach to the macabre that is both morbidly funny and inordinately grotesque. The movie feels like Burton letting loose and spreading his wings after a long nap, getting back into what he’s known for and reveling in it.

Parts of it are a bit long, and the song choices aren’t as catchy as the original’s, aside from the tune of the Soul Train to the Afterlife segment, which had a groove even a decaying zombie could dance to.

PH_PHILLIPINES_BTLBTL_Digital_Character_Art_Astrid_InstaVert_1638x2048_INTL.jpg

Danny Elfman’s score is as chilling and moving as ever, however, deftly adding that feel of playful urgency and gothic anticipation.

Now showing in theaters, Beetlejuice Beetlejuice is a fun romp through the afterlife.

ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.