Even Anne Hathaway is embracing her inner coastal grandmother.
Confused?
If you are an avid TikTok user, you might have come across the term ‘coastal grandmother’ these past few weeks, as the aesthetic has been making rounds across the social media platform. (In fact, #coastalgrandmother already has a whopping 26 million views).
And let’s be clear – you don’t actually need to live on the coast or be a grandmother to be a coastal grandmother.
Essentially, according to fashion insiders – and TikToker-ers – a coastal grandmother is an entire lifestyle inspired by the aesthetic portrayed in Nancy Meyers’ movies such as Something’s Gotta Give (2003), It’s Complicated (2009) and Home Again (2017).
It was TikTok influencer Lex Nicoleta who first coined the term a few weeks back, explaining it as ‘a love of “coastal vibes, recipes, cooking… cosy interiors and more.”
@lexnicoleta GRAN EXPLAINED #coastalgrandmother ♬ This Will Be (An Everlasting Love) – Natalie Cole
In terms of style, Nicoleta describes a ‘coastal grandmother’ as “classic and timeless,” but it goes beyond just fashion. It’s also about what activities you fill your weekends with, what music you listen to and your décor.
“It’s more about the way you live your life,” she explains.
“Slowing down and taking time to enjoy the little things like flipping through magazines and sipping tea on a Sunday morning or preparing a dinner with the day’s farmer’s market finds.”
What this means, of course, is that the aesthetic isn’t just for grandmothers and seaside dwellers, but anyone who appreciates the vibes of Nancy Meyers’ films (who doesn’t?!) or visiting friends and family that live near the beach, both of which first inspired Nicoleta to coin the term.
“The coastal grandmother lifestyle is attainable no matter who you are or where you live,” she explains.
“You don’t have to live by the coast or be a grandmother to be a coastal grandmother,” she adds. “You can take aspects of an aspirational lifestyle and bring them into your everyday life.”
Sounds like a vibe perfect for summer? I know!
Heck – even celebrities are getting on board.
Wondering how to channel the coastal grandmother look this summer? Take a look:
A mix of fashion and lifestyle, the costal grandmother vibe stretches to interiors too – and if you want to clear image of what we are talking about, you need a good Nancy Meyers movie binge – it is very much this vibe:
Curious to see if YOU are a real coastal grandmother?
Here’s a list of 10 things a coastal grandmother would do:
- Steal her lover’s work button-down and wear it with worn-in jeans to dinner
- Keep a pocket notebook to write poetic phrases when inspiration strikes
- Pick fresh peonies from her garden (and just tend to a garden in general)
- Exclusively use Le Labo laundry detergent
- Open a bottle of red wine at 4 pm
- Take long walks on the beach (either solo or with her beloved dog)
- Wear a signature stack of gold jewellery, curated over time from flea markets
- Swear by a capsule wardrobe—white, tan and shades of blue and green only
- Invite her friends over every week for afternoon tea
- Show up to every occasion in a straw hat
var host="www.her.ie"; var element = document.createElement('script'); var firstScript = document.getElementsByTagName('script')[0]; var url="https://quantcast.mgr.consensu.org" .concat('/choice/', 'wFs6Tqd6-pgRC', '/', host, '/choice.js') var uspTries = 0; var uspTriesLimit = 3; element.async = true; element.type="text/javascript"; element.src = url;
firstScript.parentNode.insertBefore(element, firstScript);
function makeStub() { var TCF_LOCATOR_NAME = '__tcfapiLocator'; var queue = []; var win = window; var cmpFrame;
function addFrame() var doc = win.document; var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);
if (!otherCMP) if (doc.body) var iframe = doc.createElement('iframe');
iframe.style.cssText="display:none"; iframe.name = TCF_LOCATOR_NAME; doc.body.appendChild(iframe); else setTimeout(addFrame, 5);
return !otherCMP;
function tcfAPIHandler() var gdprApplies; var args = arguments;
if (!args.length) return queue; else if (args[0] === 'setGdprApplies') if ( args.length > 3 && args[2] === 2 && typeof args[3] === 'boolean' ) gdprApplies = args[3]; if (typeof args[2] === 'function') args[2]('set', true);
else if (args[0] === 'ping') var retr = gdprApplies: gdprApplies, cmpLoaded: false, cmpStatus: 'stub' ;
if (typeof args[2] === 'function') args[2](retr);
else queue.push(args);
function postMessageEventHandler(event) { var msgIsString = typeof event.data === 'string'; var json = ;
try if (msgIsString) json = JSON.parse(event.data); else json = event.data;
catch (ignore)
var payload = json.__tcfapiCall;
if (payload) window.__tcfapi( payload.command, payload.version, function(retValue, success) var returnMsg = __tcfapiReturn: returnValue: retValue, success: success, callId: payload.callId
; if (msgIsString) returnMsg = JSON.stringify(returnMsg);
event.source.postMessage(returnMsg, '*'); , payload.parameter );
}
while (win) try if (win.frames[TCF_LOCATOR_NAME]) cmpFrame = win; break;
catch (ignore)
if (win === window.top) break;
win = win.parent;
if (!cmpFrame) addFrame(); win.__tcfapi = tcfAPIHandler; win.addEventListener('message', postMessageEventHandler, false);
};
makeStub();
var uspStubFunction = function() var arg = arguments; if (typeof window.__uspapi !== uspStubFunction) setTimeout(function() if (typeof window.__uspapi !== 'undefined') window.__uspapi.apply(window.__uspapi, arg);
, 500);
;
var checkIfUspIsReady = function() uspTries++; if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) console.warn('USP is not accessible'); else clearInterval(uspInterval); ; if (typeof window.__uspapi === 'undefined') window.__uspapi = uspStubFunction; var uspInterval = setInterval(checkIfUspIsReady, 6000); // This callback is triggered on each page load __tcfapi('addEventListener', 0, function(tcData, success) ); function processCmpData(tcData) // Flag that CMP has been processed. consentManager.cmpProcessed = true; // Permutive disabling needed? if (tcData.purpose.consents[1] && tcData.purpose.consents[3]) consentManager.permutive.isAllowed = true; if (consentManager.isAllowed('permutive')) window.localStorage.removeItem('permutive-opt-out'); else window.localStorage.setItem('permutive-opt-out', 'true'); consentManager.setUserConsent(tcData); // Consent String is needed as DFP target consentManager.setConsentString(tcData.tcString); consentManager.trackPublisherConsentLevel(tcData.publisher.consents); consentManager.trackVendorConsentLevel(tcData.vendor.consents); /** * According to Google policies, if Publisher Purpose 1 is revoked, we should not display ads at all * Check https://support.google.com/admanager/answer/9805023?hl=en for more information * Here we update the flag that points if ads should be rederer or not. */ consentManager.hideAds(tcData.purpose.consents[1]); // Posts tagged as sensitive shouldn't be showing any ads. Since we have a way to control ads viewability through // the consent manager, it's easy to check for the posts tags and flagged if they should shown or not. // According to Google policies, if Publisher Purpose 1 is revoked, we should not display ads at all // Check https://support.google.com/admanager/answer/9805023?hl=en for more information if (consentManager.hasBeenProcessed() && consentManager.displayAds) consentManager.renderAds(); // If consent was processed once the page was loaded, there are some ads that may not appear. Let's run prebid again. if (typeof executeParallelAuctionAlongsidePrebid !== 'undefined' && !consentManager.prebidProcessed && consentManager.displayAds) executeParallelAuctionAlongsidePrebid() // Facebook and Twitter are non IAB vendors, so we need to check their consents using a different callback __tcfapi('getNonIABVendorConsents', 0, function(consent, success) if (success && consent.gdprApplies) consentManager.setUserNonIabConsent(consent); ) if (!consentManager.sentEventFbPixel && consentManager.isAllowed('facebook')) !function(f,b,e,v,n,t,s)if(f.fbq)return;n=f.fbq=function()n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments);if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)(window, document,'script','//connect.facebook.net/en_US/fbevents.js'); fbq('init', '1021712967898776'); fbq('track', "PageView"); fbq('track', 'ViewContent'); consentManager.sentEventFbPixel = true;
More Stories
Evolving Fashion Trends – Then and Now
Gold Dog Tag Jewelry
How To Attach Cabochons To Cabochon Settings