Never gonna fall for Modern love walks beside me Modern love walks on by Modern love gets me to the church on time Church on time terrifies me Church on time makes me party Church on time puts my trust in God and man God and man no confessions God and man no religion God and man don’t believe in modern love
—David Bowie, “Modern Love”
“Primavera” climaxes with a non-tryst between Will and Hannibal in the catacombs of a Palermo (not Florence) church. It ends on a very deliberate, precise beat, the final sentence and shot of the episode capturing Will forgiving Hannibal for his betrayal. “Secondo” begins shortly thereafter, as the doctor sits in his exquisitely decorated home with Bedelia, looking contemplative, and stoic as ever.
“How was seeing Will?” Bedelia asks Hannibal.
“It was nice,” says Hannibal, his face devoid of emotion. “Among other things. He knew where to find me.”
“Forgiveness is too great, and difficult, for one person,” Bedelia responds. “It takes two, the betrayer and the betrayed. Are you the betrayer, or the betrayed?”
Hannibal doesn’t know anymore.
Bedelia prods and provokes in ways no one else but a jealous ex is capable of. The look on her face, knowing and curious, suggests a reversal of control.
“Betrayal and forgiveness are best seen as something akin to falling in love,” she continues.
“You can’t control with respect to whom you fall in love,” says Hannibal, almost confessional.
The best relationships are based on trust and understanding (or so I’m told). Will and Hannibal understand each other so well, even several attempted murders on each of their parts can’t seem to sever the bond that keeps them tethered together. They predict the other’s next move, and yet they each still play along, a pair so deeply invested in their role-playing they’ve lost touch with their true selves. One has to wonder how far they’re willing to go to make this work. If Will’s desire to kill Hannibal has subsided — and it kinda looks that way — one has to wonder what, exactly, he wants out of this. The whole episode is permeated by the confused longing of a pair of lovers trying to figure out whether they should move on or move back.
Hannibal, a show about a cannibalistic, serial-killing psychiatrist and his mentally unstable patient, is now waxing poetic on the nature of love. And it’s fantastic.
After a Hannibal-centric episode and a Will-centric episode, “Secondo” allots equal time to both characters, dissolving from Hannibal to Will and back again. Hannibal invites over for dinner the boorish, self-satisfied Sogliato (Rinaldo Rocco), who challenged Hannibal’s expertise in “Antipasto.” Hannibal serves a symbolic last drink and begins to goad Sogliato. There’s an established order and rhythm to these final meals, at the end of which Hannibal ceremoniously kills his guest and prepares him for his next guest, continuing the Sisyphean cycle. But Hannibal breaks the rhythm when he abruptly jams an icepick into the man’s right temple. Comely and calmly, Hannibal sits down; he intones, “That may have been impulsive.” Hannibal has regained its mordant sense of humor.
Dressed impeccably well for a camping trip, Will embarks on a sojourn to Lithuania, to Hannibal Lecter’s childhood home. Impossibly dense woods ensnarl the building, with its rusted gates and its sallow lights looking like leaky infections. The Lecter mansion looks like a vestige spared the acumen of time but not the effects, a place whose physicality is slowly corroding but whose sole inhabitant, a beautiful young Asian woman (everyone on Hannibal is beautiful), remains unaware of the outside world. It’s a memory palace manifest.
In the woods, Will sees the young woman (Tao Okamoto) carrying a big, double-barrel shotgun. She walks upright, attentive; he crouches behind a felled tree and watches her watching for him. She abruptly turns, raises the gun, and blows a bird out of the sky. Pausing and panning, she looks toward Will again before picking up the fowl and heading home.
She plucks the feathers and prepares the bird in unhurried close-ups, feathers falling like the sheets of paper in Will’s memory of Lecter’s office. Director Vincenzo Natali alternates between her and Hannibal, who is preparing Sogliato for his new guests. (There’s also a nice nod to the ending of Ridley Scott’s awful adaptation of Hannibal.) The sensuous attention to the preparation of food has always been a defining aspect of Hannibal. Here, a consistently sickening depiction of consumption – of birds, snails, people – reigns over the usually romanticized depiction of Hannibal’s careful showmanship. The show has occasionally plucked the strings of vegetarian hearts, but this is the most Morrissey it’s ever gotten: “It’s not natural, normal, or kind / The flesh you so fancifully fry / The meat in your mouth / As you savor the flavor of murder.”
Chiyoh looks much younger than Hannibal (Okamoto is 30 to Mikkelsen’s 49), and while we don’t yet know how or when she assimilated, or was lured, into the Lecter home, her youth and smooth, angular face give the place the feeling of an eternal prison, the whole of the grounds akin to Dorian Gray’s portrait.
In a derelict cage lined with spikes, Chiyoh keeps prisoner a bearded man of an older but indeterminable age, accompanied only by snails and the irregular drip-drop of water, his body sinewy and emaciated and his mind clearly corroding. This man, she says, killed and ate Hannibal’s sister, Misha, to whom Hannibal alluded during a rare confessionary moment with Will. Turns out Hannibal became a cannibal because he watched a man (a coterie of Nazis in the Thomas Harris novels) kill and eat Misha. Hannibal Rising fleshes this admittedly awful idea out to almost excruciating length, but thankfully Fuller et al. keep this bizarre backstory nebulous and succinct. Will, beating the show’s critics to the punch, immediately points out that becoming the world’s most rarefied cannibalistic serial killer, while impressive, doesn’t really rectify someone eating your sister.
Back in Palermo (not Florence), we follow a man shrouded in shadows as he enters the cathedral from “Primavera.” Jack Crawford (Laurence Fishburne) steps toward the camera, wreathed by red flickering candles, as if returning from the depths of hell. Bearing a scar on his throat, he speaks with Police Inspector Pazzi, who tells us that the people of the village are so old-fashioned they hang garlic in the windows to ward off evil. They discuss Hannibal, Il Mostro (and Il Maestro), who, as Will tells us, manipulates people because he’s curious. Jack says that Will and Hannibal understand each other: “And who among us doesn’t want understanding? And acceptance?” Oh, how I’ve missed Larry Fishburne.
While Jack’s scene feels like a natural return to the pensive air of “Primavera,” the third episode of the season also showcases a return to the tar-black sense of humor that marked the first two seasons, which has helped keep the show from becoming too grim. It bears the influence of giallo horror and its various dream-logic elk, andfeels born of the same edified lineage as Edgar Allan Poe. It has relentless and singular aesthetic goals (the show follows Poe’s theory of impression, with every detail collectively possessing a unified feeling and focus), as well as a Herman Melvillian sense of humor, all deadpan and moribund and wry in its excesses.
“Secondo” is visually kaleidoscopic (as if an episode of Hannibal could be anything but), but its emotional and ontological daring may be difficult to grasp at first, and, to be honest, I was a little disappointed initially. But a second viewing, during which I wasn’t furiously scrawling notes about the visual elegance, elucidated the passion coursing through the episode. It’s a pretty ballsy piece of work, delving headlong into the fathomless caverns of Hannibal’s backstory (retaining select bits of Harris’s much-maligned Hannibal Rising while thankfully flensing others and altering the chronology to avoid Harris’s sloppy Nazi plotline), and introducing a new secondary character at a time when we still haven’t met back up with some of our main characters (Margot, Mason, Chilton, etc.). Will and Chiyoh talk about Hannibal the way you talk about an ex for whom you still long. Will already bears one scar, and can’t stop picking at his scabs.
While Chiyoh sleeps, Will lets her prisoner free; the prisoner subsequently attacks Chiyoh, though she manages to stab him in the neck and kill him.
Chiyoh doesn’t hold a grudge. She knows why Will did it: he was curious, too. “Hannibal would be proud of you.” They decorate and raise up the swaddled corpse; he now looks like a king moth, his wings protruding magnificently, his face almost peaceful. Chiyoh has no reason to stay here anymore. The pair sets off to find Hannibal.
Vincenzo Natali helmed the first three episodes of this season, and they form a sort of triptych: His personal style permeates each scene and helps elevate “Antipasto” and “Primavera” to greatness. He’s working from a (great) script, of course, but they feel like his episodes. Akin to Hannibal telling Beverly (poor Beverly) that a killer-cum-artist’s signature is sometimes hidden behind the seams shortly before he one-ups The Cell with her body, Natali’s stylistic quirks act like a signature sewn into the fleshy fabric of the episodes.
The episode closes where it began, with Bedelia questioning Hannibal about love and Will. Bedelia asks Hannibal how he came to be Hannibal, if his sister is responsible. He says his sister didn’t make him Hannibal, but she influenced him: “I forgave her that influence.”
Bedelia, appearing increasingly prescient (and calculating), knows what Hannibal will in a few minutes also know. At first she seemed to be trying to survive this season, her face marred with fear, but here she now coaxes him, draws an answer out of him, which suggest that Bedelia has a scheme of her own. If past actions are to be believed, she says, “There’s only way one you’ll forgive Will.”
A moment of silence passes. Hannibal looks up, setting his gorgonizing gaze upon us. “I have to eat him.”
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(106),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"106":106,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]