'A storm of his own making': how Ed Sheeran's tour became a full-blown culture war

'A storm of his own making': how Ed Sheeran's tour became a full-blown culture war

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.ttf) format(“truetype”);
font-weight: 300;
font-style: normal;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.ttf) format(“truetype”);
font-weight: 300;
font-style: italic;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf) format(“truetype”);
font-weight: 400;
font-style: normal;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf) format(“truetype”);
font-weight: 400;
font-style: italic;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.ttf) format(“truetype”);
font-weight: 500;
font-style: normal;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.ttf) format(“truetype”);
font-weight: 500;
font-style: italic;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.ttf) format(“truetype”);
font-weight: 600;
font-style: normal;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf) format(“truetype”);
font-weight: 600;
font-style: italic;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https:@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf) format(‘truetype’);
font-weight: 700;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf) format(‘truetype’);
font-weight: 700;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf) format(‘truetype’);
font-weight: 900;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf) format(‘truetype’);
font-weight: 900;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Titlepiece’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.ttf) format(‘truetype’);
font-weight: 700;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.ttf) format(‘truetype’);
font-weight: 300;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.ttf) format(‘truetype’);
font-weight: 300;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf) format(‘truetype’);
font-weight: 400;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2) format(‘woff2’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff) format(‘woff’),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf) format(‘truetype’);
font-weight: 400;
font-style: italic;
}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf) format(“truetype”);font-weight:400;font-style:normal}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf) format(“truetype”);font-weight:400;font-style:italic}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.ttf) format(“truetype”);font-weight:500;font-style:normal}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.ttf) format(“truetype”);font-weight:500;font-style:italic}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.ttf) format(“truetype”);font-weight:600;font-style:normal}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf) format(“truetype”);font-weight:600;font-style:italic}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf) format(“truetype”);font-weight:700;font-style:normal}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf) format(“truetype”);font-weight:700;font-style:italic}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf) format(“truetype”);font-weight:900;font-style:normal}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/foThe text you’ve provided is CSS code, not prose, so there’s no natural English to rewrite. It defines font faces for Guardian Headline and Guardian Titlepiece, along with responsive grid layouts for interactive content across various screen sizes. If you’d like, I can explain what this code does in plain English.For interactive grid figures with immersive captions, add 4px of top padding. In interactive grids within article bodies, interactive content, comment bodies, body elements, and feature bodies, place lines and meta in grid area 2/1/5/2. Set lines to max-content height with a 5px top margin, and meta to an 18px top margin. At viewports 81.25em and wider, use grid columns of 219px, 1px, 620px, 80px, and 300px. On iOS and Android, style the standfirst paragraphs with Guardian Headline at weight 500, display the article kicker section as a block with an uppercase first letter, add 12px top padding to keyline-4, and set byline authors to Guardian Headline at weight 700, including their links. Also on iOS and Android, make image figure inner heights auto and remove the top margin from paragraphs following atom figures. Define the Guardian Headline Full font face with light weight and normal style, and another with light italic style, using woff2, woff, and ttf sources.@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf’) format(‘truetype’);
font-weight: 400;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf’) format(‘truetype’);
font-weight: 400;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.ttf’) format(‘truetype’);
font-weight: 500;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.ttf’) format(‘truetype’);
font-weight: 500;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.ttf’) format(‘truetype’);
font-weight: 600;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf’) format(‘truetype’);
font-weight: 600;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf’) format(‘truetype’);
font-weight: 700;
font-style: normal;
}

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf’) format(‘truetype’);
font-weight: 700;
font-style: italic;
}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf) format(“truetype”);font-weight:900;font-style:normal}@font-face{font-family:Guardian Headline Full;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf) format(“truetype”);font-weight:900;font-style:italic}@font-face{font-family:Guardian Titlepiece;src:url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2) format(“woff2”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff) format(“woff”),url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.ttf) format(“truetype”);font-weight:700;font-style:normal}@media (min-width: 71.25em){.content__main-column–interactive{margin-left:160px}}@media (min-width: 81.25em){.content__main-column–interactive{margin-left:240px}}.content__main-column–interactive .element-atom{max-width:620px}@media (max-width: 46.24em){.content__main-column–interactive .element-atom{max-width:100%}}.content__main-column–interactive .element-showcase{margin-left:0}@media (min-width: 46.25em){.content__main-column–interactive .element-showcase{max-width:620px}}@media (min-width: 71.25em){.content__main-column–interactive .element-showcase{max-width:860px}}.content__main-column–interactive .element-immersive{max-width:1100px}@media (max-width: 46.24em){.content__main-column–interactive .element-immersive{width:calc(100vw – var(–scrollbar-width, 0px));position:relative;left:50%;right:50%;margin-left:calc(-50vw + var(–half-scrollbar-width, 0px))!important;margin-right:calc(-50vw + var(–half-scrollbar-width, 0px))!important}}@media (min-width: 46.25em){.content__main-column–interactive .element-immersive{transform:translate(-20px);width:calc(100% + 60px)}}@media (max-width: 71.24em){.content__main-column–interactive .element-immersive{margin-left:0;margin-right:0}}@media (min-width: 71.25em){.content__main-column–interactive .element-immersive{transform:translate(0);width:auto}}@media (min-width: 81.25em){.content__main-column–interactive .element-immersive{max-width:1260px}}.content__main-column–interactive p,.content__main-column–interactive ul{max-width:620px}.content__main-column–interactive:before{position:absolute;top:0;height:calc(100% + 15px);min-height:100px;content:””}@media (min-width: 71.25em){.content__main-column–interactive:before{border-left:1px solid #dcdcdc;z-index:-1;left:-10px}}@media (min-width: 81.25em){.content__main-column–interactive:before{border-left:1px solid #dcdcdc;left:-11px}}.content__main-column–interactive .element-atom{margin-top:0;margin-bottom:0;padding-bottom:12px;padding-top:12px}.content__main-column–interactive p+.element-atom{padding-top:0;padding-bottom:0;margin-top:12px;margin-bottom:12px}.content__main-column–interactive .element-inline{max-width:620px}@media (min-width: 61.25em){figure[data-spacefinder-role=inline].element{max-width:620px}}[data-gu-name=media]:has(figure.loop) figure.loop figcaption:not(.hidden){z-index:6}[data-gu-name=media]:has(figure.loop) figure.loop button[data-link-name*=gu-video-loop]{align-self:flex-end;margin-bottom:40px;margin-right:3px}[data-gu-name=media]:has(figure.loop) figure.loop .controls-container div:has(button[data-testid=unmute-icon]),[data-gu-name=media]:has(figure.loop) figure.loop .controls-container div:has(button[data-testid=mute-icon]){right:0;padding-left:10px}[data-gu-name=media]:has(figure.loop) #caption-button{z-index:100}@media (min-width: 61.25em){[data-gu-name=media]:has(figure.loop) #caption-button{bottom:20px}}@media (min-width: 46.25em){[data-gu-name=media]:has(figure.cinemagraph) .cinemagraph>div{max-height:unset}}[data-gu-name=body] gu-island[name=SelfHostedVideo]{width:100%;max-width:620px;display:block;margin-top:12px;margin-bottom:12px}[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop,[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop video{width:100%;height:auto;max-width:620px;margin:0 auto}[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive){max-width:unset;margin:12px 0}[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop,[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop video{max-width:unset;margin:0}@media (min-width: 71.25em){[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive){width:1140px;margin-left:-180px}[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure figcaption{margin-left:20px}}@media (min-width: 81.25em){[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive){width:1300px;margin-left:-260px}}:root{–dateline: #606060;–headerBorder: #dcdcdc;–captionText: #999;–captionBackground: hsla(0, 0%, 7%, .72);–feature: #c70000;–new-pillar-colour: var(–primary-pillar, var(–feature))}:root:root{–subheading-text: var(–secondary-pillar);–pullquote-text: var(–secondary-pillar);–pullquote-icon: var(–secondary-pillar);–block-quote-text: var(–article-text)}:root:root blockquote{–block-quote-fill: var(–secondary-pillar)}@media (prefers-color-scheme: dark){:root:root:not([data-color-scheme=light]){–subheading-text: var(–darkmode-pillar);–pullquote-text: var(–darkmode-pillar);–pullquote-icon: var(–darkmode-pillar)}:root:root:not([data-color-scheme=light]) blockquote{–block-quote-fill: var(–darkmode-pillar)}}.content__main-column–interactive .element.element-atom,.element.element-atom{padding:0}#article-body>div .element-atom:first-of-type+p:first-of-type,#article-body>div .element-atom:first-of-type+.sign-in-gate+p:first-of-type,#article-body>div .element-atom:first-of-type+#sign-in-gate+p:first-of-type,#article-body>div hr:not(.last-horizontal-rule)+p,.content–interactive>div .element-atom:first-of-type+p:first-of-type,.content–interactive>div .element-atom:first-of-type+.sign-in-gate+p:first-of-type,.content–interactive>div .element-atom:first-of-type+#sign-in-gate+p:first-of-type,.content–interactive>div hr:not(.last-horizontal-rule)+p,#comment-body .element-atom:first-of-type+p:first-of-type,#comment-body .element-atom:first-of-type+.sign-in-gate+p:first-of-type,#comment-body .element-atom:first-of-type+#sign-in-gate+p:first-of-type,#comment-body hr:not(.last-horizontal-rule)+p,[data-gu-name=body] .element-atom:first-of-type+p:first-of-type,[data-gu-name=body] .element-atom:first-of-type+.sign-in-gate+p:first-of-type,[data-gu-name=body] .element-atom:first-of-type+#sign-in-gate+p:first-of-type,[data-gu-name=body] hr:not(.last-horizontal-rule)+p,#feature-body .element-atom:first-of-type+p:first-of-type,#feature-body .element-atom:first-of-type+.sign-in-gate+p:first-of-type,#feature-body .element-atom:first-of-type+#sign-in-gate+p:first-of-type,#feature-body hr:not(.last-horizontal-rule)+p{padding-top:14px}#article-body>div .element-atom:first-of-type+p:first-of-type:first-letter,#article-body>div .element-atom:first-of-type+.sign-in-gate+p:first-of-type:first-letter,#article-body>div .element-atom:first-of-type+#sign-in-gate+p:first-of-type:first-letter,#article-body>div hr:not(.last-horizontal-rule)+p:first-letter,.content–interactive>div .element-atom:first-of-type+p:first-of-type:first-letter,.content–interactive>div .element-atom:first-of-type+.The first letter of the first paragraph after a sign-in gate, an element atom, or a horizontal rule (except the last one) in various content areas—such as interactive content, comment bodies, the main body, and feature bodies—will be styled as a drop cap. This styling uses the Guardian Headline font (or fallback serif fonts), bold weight, 111px size, 92px line height, floated left, uppercase, with an 8px right margin, aligned to the top of the text, and colored according to the drop-cap or new pillar color variable.

Horizontal rules followed by paragraphs in article bodies, interactive content, comment bodies, main bodies, and feature bodies have no top padding.

Pullquotes within article bodies, interactive content, comment bodies, main bodies, and feature bodies are limited to a maximum width of 620px.

Figcaptions inside showcase figures in the main content, feature article container, standard article container, and comment article container are set to static positioning with full width and a maximum width of 620px. On screens at least 71.25em wide, they become absolutely positioned with a maximum width of 140px. On screens at least 81.25em wide, the maximum width increases to 220px.

Immersive elements span the full viewport width, accounting for any scrollbar. On screens up to 71.24em wide, they are capped at 978px, and their figcaptions have 10px inline padding. Between 30em and 71.24em wide, the figcaption padding increases to 20px. Between 46.25em and 61.24em wide, the maximum width is 738px. On screens up to 46.24em wide, immersive elements are shifted left by 10px with no right margin. Between 30em and 46.24em wide, the left shift becomes 20px, and figcaptions get 20px inline padding.

On screens at least 71.25em wide, showcase figures inside the main body or interactive main column are shifted left by 160px. On screens at least 81.25em wide, further adjustments apply (the text cuts off here).figure.element.element–showcase.element-showcase,[data-gu-name=body] .content__main-column–interactive figure.element.element–showcase.element-showcase{margin-left:-240px!important}}@media (min-width: 61.25em){.furniture-wrapper{display:grid;grid-column-gap:20px;grid-row-gap:0px;grid-template-columns:[title-start headline-start meta-start standfirst-start] repeat(5,1fr) [title-end headline-end meta-end standfirst-end portrait-start] repeat(5,1fr) [portrait-end];grid-template-rows:[title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start] .75fr [standfirst-end meta-start] auto [meta-end portrait-end]}.furniture-wrapper #headline>div:first-child,.furniture-wrapper [data-gu-name=headline]>div:first-child,.furniture-wrapper .headline>div:first-child{border-top:1px solid var(–headerBorder)}.furniture-wrapper #meta,.furniture-wrapper [data-gu-name=meta]{position:relative;padding-top:2px;margin-right:0}.furniture-wrapper .standfirst .content__standfirst,.furniture-wrapper #standfirst .content__standfirst,.furniture-wrapper [data-gu-name=standfirst] .content__standfirst{margin-bottom:4px}.furniture-wrapper .standfirst ul li,.furniture-wrapper #standfirst ul li,.furniture-wrapper [data-gu-name=standfirst] ul li{font-size:20px}.furniture-wrapper .standfirst li a,.furniture-wrapper .standfirst a,.furniture-wrapper #standfirst li a,.furniture-wrapper #standfirst a,.furniture-wrapper [data-gu-name=standfirst] li a,.furniture-wrapper [data-gu-name=standfirst] a{border-bottom:none;background-image:none!important;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(–headerBorder, #dcdcdc)}.furniture-wrapper .standfirst li a:hover,.furniture-wrapper .standfirst a:hover,.furniture-wrapper #standfirst li a:hover,.furniture-wrapper #standfirst a:hover,.furniture-wrapper [data-gu-name=standfirst] li a:hover,.furniture-wrapper [data-gu-name=standfirst] a:hover{text-decoration-color:var(–new-pillar-colour)}.furniture-wrapper .standfirst p:first-of-type,.furniture-wrapper #standfirst p:first-of-type,.furniture-wrapper [data-gu-name=standfirst] p:first-of-type{border-top:1px solid var(–headerBorder);padding-bottom:0}}@media (min-width: 61.25em) and (min-width: 71.25em){.furniture-wrapper .standfirst p:first-of-type,.furniture-wrapper #standfirst p:first-of-type,.furniture-wrapper [data-gu-name=standfirst] p:first-of-type{border-top:unset}}@media (min-width: 61.25em){.furniture-wrapper figure{margin:0 0 0 -10px}.furniture-wrapper figure[data-spacefinder-role=inline].element{max-width:630px}}@media (min-width: 71.25em){.furniture-wrapper{grid-template-columns:[title-start headline-start meta-start] repeat(2,1fr) [meta-end standfirst-start] repeat(5,1fr) [title-end headline-end standfirst-end portrait-start] repeat(7,1fr) [portrait-end];grid-template-rows:[title-start portrait-start] 80px [title-end headline-start] auto [headline-end standfirst-start meta-start] auto [standfirst-end meta-end portrait-end]}.furniture-wrapper #meta:before,.furniture-wrapper [data-gu-name=meta]:before{content:””;width:540px;position:absolute;top:0;background-color:var(–headerBorder);height:1px}.furniture-wrapper .standfirst p,.furniture-wrapper #standfirst p,.furniture-wrapper [data-gu-name=standfirst] p{border-top:unset}.furniture-wrapper .standfirst:before,.furniture-wrapper #standfirst:before,.furniture-wrapper [data-gu-name=standfirst]:before{content:””;width:1px;background-color:var(–headerBorder);height:100%;position:absolute;top:0;left:.5px}}@media (min-width: 81.25em){.furniture-wrapper{grid-template-columns:[title-start headline-start meta-start] repeat(3,1fr) [meta-end standfirst-start] repeat(5,1fr) [title-end headline-end standfirst-end portrait-start] repeat(8,1fr) [portrait-end];grid-template-rows:[title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] .75fr [standfirst-end meta-end portrait-end]}.furniture-wrapper #meta:before,.furniture-wrapper [data-gu-name=meta]:before{width:620px}.furniture-wrapper .standfirst:before,.furniturThe provided text is CSS code, not prose, so there is no meaningful way to rewrite it into fluent, natural English without altering its function. If you have a passage of written text you’d like me to simplify or rephrase, please share that instead.For iOS and Android devices, the first letter of the first paragraph in feature, standard, and comment article containers—whether or not it follows a sign-in gate—is colored with the secondary pillar color, defaulting to black. On these devices, the article header has no height. The furniture wrapper has 4px top padding and 10px side padding. Inside it, content labels are bold, use the Guardian Headline font family, take the new pillar color, and are capitalized. The main headline is 32px, bold, has 12px bottom padding, and is forced to #121212. The figure element image inside the furniture wrapper is also styled.figure.element-image{position:relative;margin:14px 0 0 -10px;width:calc(100vw – var(–scrollbar-width, 0px));height:auto}body.ios #feature-article-container .furniture-wrapper figure.element-image .figure__inner,body.ios #feature-article-container .furniture-wrapper figure.element-image img,body.ios #feature-article-container .furniture-wrapper figure.element-image a,body.ios #standard-article-container .furniture-wrapper figure.element-image .figure__inner,body.ios #standard-article-container .furniture-wrapper figure.element-image img,body.ios #standard-article-container .furniture-wrapper figure.element-image a,body.ios #comment-article-container .furniture-wrapper figure.element-image .figure__inner,body.ios #comment-article-container .furniture-wrapper figure.element-image img,body.ios #comment-article-container .furniture-wrapper figure.element-image a,body.android #feature-article-container .furniture-wrapper figure.element-image .figure__inner,body.android #feature-article-container .furniture-wrapper figure.element-image img,body.android #feature-article-container .furniture-wrapper figure.element-image a,body.android #standard-article-container .furniture-wrapper figure.element-image .figure__inner,body.android #standard-article-container .furniture-wrapper figure.element-image img,body.android #standard-article-container .furniture-wrapper figure.element-image a,body.android #comment-article-container .furniture-wrapper figure.element-image .figure__inner,body.android #comment-article-container .furniture-wrapper figure.element-image img,body.android #comment-article-container .furniture-wrapper figure.element-image a{background-color:transparent;width:calc(100vw – var(–scrollbar-width, 0px));height:auto!important}body.ios #feature-article-container .furniture-wrapper .standfirst,body.ios #standard-article-container .furniture-wrapper .standfirst,body.ios #comment-article-container .furniture-wrapper .standfirst,body.android #feature-article-container .furniture-wrapper .standfirst,body.android #standard-article-container .furniture-wrapper .standfirst,body.android #comment-article-container .furniture-wrapper .standfirst{padding-top:4px;padding-bottom:24px;margin-right:-10px}body.ios #feature-article-container .furniture-wrapper .standfirst__inner p,body.ios #standard-article-container .furniture-wrapper .standfirst__inner p,body.ios #comment-article-container .furniture-wrapper .standfirst__inner p,body.android #feature-article-container .furniture-wrapper .standfirst__inner p,body.android #standard-article-container .furniture-wrapper .standfirst__inner p,body.android #comment-article-container .furniture-wrapper .standfirst__inner p{font-family:Guardian Headline,Guardian Egyptian Web,Guardian Headline Full,Georgia,serif}body.ios #feature-article-container .furniture-wrapper .standfirst__inner li a,body.ios #feature-article-container .furniture-wrapper .standfirst__inner a,body.ios #standard-article-container .furniture-wrapper .standfirst__inner li a,body.ios #standard-article-container .furniture-wrapper .standfirst__inner a,body.ios #comment-article-container .furniture-wrapper .standfirst__inner li a,body.ios #comment-article-container .furniture-wrapper .standfirst__inner a,body.android #feature-article-container .furniture-wrapper .standfirst__inner li a,body.android #feature-article-container .furniture-wrapper .standfirst__inner a,body.android #standard-article-container .furniture-wrapper .standfirst__inner li a,body.android #standard-article-container .furniture-wrapper .standfirst__inner a,body.android #comment-article-container .furniture-wrapper .standfirst__inner li a,body.android #comment-article-container .furniture-wrapper .standfirst__inner a{color:var(–new-pillar-colour)!important;background-image:none!important;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(–headerBorder, #dcdcdc);border-bottom:none}body.ios #feature-article-container .furniture-wrapper .standfirst__inner li a:hover,body.ios #feature-article-container .furniture-wrapper .standfirst__inneOn iOS and Android devices, when you hover over links in the standfirst section of feature, standard, or comment article containers, the underline color changes to the new pillar colour. The meta section in these article containers has no margin. The byline, byline author, author links, and byline spans within the meta section are all colored with the new pillar colour. The meta misc section has no padding.For `.meta__misc svg`, set the stroke to `var(–new-pillar-colour)`.

On iOS and Android, for the feature, standard, and comment article containers, style the caption button inside the showcase element in the furniture wrapper to use flexbox, with 5px padding, centered content, a width and height of 28px, and positioned 14px from the right.

Also on iOS and Android, for the article body in the feature, standard, and comment article containers, set the padding to `0 12px`.

For image figures in the article body that are not thumbnails or immersive, set the margin to 0, the width to `calc(100vw – 24px – var(–scrollbar-width, 0px))`, and the height to auto. Set the figcaption padding to 0.

For immersive image figures in the article body, set the width to `calc(100vw – var(–scrollbar-width, 0px))`.

For quoted blockquotes in the prose section of the article body, set the color to `var(–new-pillar-colour)`.

For links in the prose section of the article body, apply the following styles on iOS and Android for the feature, standard, and comment article containers.In article containers, links within the article body have no background image, are underlined with a 6px offset, and use the primary pillar color for text and the header border color for the underline. On iOS and Android, hovering over these links changes the underline color to the new pillar color. In dark mode, the furniture wrapper background becomes #1a1a1a. The content labels use the new pillar color. The main headline has no background and uses the header border color. The standfirst paragraphs and their links, as well as the byline author and its links, all use the new pillar color.When the body has the class “ios” or “android”, SVG icons inside the meta section of the furniture wrapper within the feature, standard, or comment article containers are stroked with the new pillar colour. Captions for showcase images in the same containers are coloured with the dateline colour. Quoted blockquotes in the article body prose use the new pillar colour. The main article body containers—including article body, interactive content, feature body, body data attribute, and comment body—have the dark background colour applied with importance. Additionally, the first letter of the first paragraph following an atom element, sign-in gate, or sign-in gate ID within these body containers is styled.This is a CSS selector list, not prose, so there is no meaningful way to rewrite it as fluent, natural English without changing what it is. It is a technical string of selectors targeting the first letter of paragraphs following `.element-atom` elements across various article containers on iOS and Android.On Android devices, the first letter of a paragraph that follows an element with the class “element-atom” (or an element with that class plus “sign-in-gate” or “#sign-in-gate”) inside various article containers—such as the feature article container, standard article container, or comment article container, and within specific body sections like #article-body, .content–interactive, #feature-body, [data-gu-name=body], or #comment-body—will be colored white, using the CSS variable –new-pillar-colour with a fallback of #ffffff.

Additionally, on both iOS and Android devices, when the page is a comment article (body.ios.garnett–type-comment or body.android.garnett–type-comment), the .standfirst inside the .furniture-wrapper within #comment-article-container will have 24px of top padding and no top margin.

Also, .prose h2 elements will have a font size of 24px.

On iOS devices, the #caption-button inside #feature-article-container, #standard-article-container, or #comment-article-container will have padding of 6px 5px 0.

The text cuts off at “body.android #fea”.The text you provided is CSS code, not prose, so there’s no natural English to rewrite. If you meant to send a different passage, please share it and I’ll rewrite it for you..furniture-wrapper .headline > div > div { padding-bottom: 0; }

.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper {
height: 100%;
position: relative;
overflow: hidden;
padding-bottom: 24px;
}

.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a {
max-width: unset;
}

.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1:hover,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a:hover,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper h1:hover,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper a:hover,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1:hover,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a:hover {
text-decoration-thickness: 2px;
text-underline-offset: 6px;
}

.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper .byline span {
line-height: 115%;
font-weight: 500;
font-size: 36px;
}

@media (min-width: 71.25em) {
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper [data-gu-name=”headline”] .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper .byline span {
font-size: 50px;
}
}

.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
position: relative;
padding-top: 4px;
}

@media (min-width: 61.25em) {
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
padding-top: 0;
}
}

@media (min-width: 71.25em) {
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
padding-top: 2px;
}
}

.furniture-wrapper #meta .content__meta-container_dcr gu-island[name=”Branding”],
.furniture-wrapper [data-gu-name=”meta”] .content__meta-container_dcr gu-island[name=”Branding”] {
display: block;
}

.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
position: relative;
}

@media (min-width: 61.25em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
grid-area: portrait;
}
}

.furniture-wrapper #main-media > div,
.furniture-wrapper [data-gu-name=”media”] > div {
position: relative;
}

.furniture-wrapper #main-media div + span,
.furniture-wrapper [data-gu-name=”media”] div + span {
display: block;
}

.furniture-wrapper #main-media figure,
.furniture-wrapper [data-gu-name=”media”] figure {
height: 100%;
margin-left: 10px;
}

.furniture-wrapper #main-media figure picture img,
.furniture-wrapper #main-media figure figcaption,
.furniture-In the media wrapper, the figure, picture, and image elements, along with the figure caption, are set to a width calculated from the viewport width minus 40 pixels and any scrollbar width, with automatic height, a 10-pixel left margin, and 10 pixels of vertical padding. The main media figure caption and the media wrapper figure caption have a 10-pixel bottom margin and 10 pixels of padding. The main media figure and media wrapper figure have a pseudo-element before them that displays a centered, non-repeating background image scaled to fit, positioned absolutely at the top with a 10-pixel left offset and inherited height. For cinemagraph figures, the first div has a transparent background, and the video is set to 92% width with a 16-pixel top margin and 8-pixel horizontal margins, while the caption is 93% wide with a 12-pixel bottom margin and a 2-pixel left margin. At a minimum width of 23.4375em, the cinemagraph video becomes 94% wide, and the caption becomes 91% wide with a 9-pixel left margin and a 12-pixel bottom margin. At a minimum width of 46.25em, the main media figure and media wrapper figure have no left margin. The picture image is 670 pixels wide with automatic height, a 5-pixel left margin, and 15-pixel vertical and 10-pixel horizontal padding. The pseudo-element is 700 pixels wide and offset 10 pixels to the left. The caption is 650 pixels wide with a 15-pixel left margin, a 15-pixel bottom margin, and 15-pixel vertical and 10-pixel horizontal padding. The cinemagraph video is 96% wide with an 18-pixel top margin and 6-pixel horizontal margins, and the caption is 96% wide with a 6-pixel left margin and a 17-pixel bottom margin. At a minimum width of 61.25em, the pseudo-element is 470 pixels wide. The picture image and caption are both 450 pixels wide with no left margin. The picture image has 10-pixel vertical padding, and the caption has a 10-pixel bottom margin. The cinemagraph video has a 10-pixel top margin and 6-pixel horizontal margins, and the caption has a 6-pixel left margin and a 12-pixel bottom margin. At a minimum width of 71.25em, the pseudo-element is 550 pixels wide. The picture image is 520 pixels wide with a 5-pixel left margin and 10-pixel vertical and 5-pixel horizontal padding. The caption is 510 pixels wide with a 10-pixel left margin and a 10-pixel bottom margin. The cinemagraph video has a 12-pixel top margin and 6-pixel horizontal margins, and the cinemagraph caption is cut off.The caption for the furniture wrapper’s media figure has a left margin of 6px and a bottom margin of 15px.

On screens at least 81.25em wide, the main media figure and the media figure in the furniture wrapper get a before element that is 630px wide. Their picture images are 600px wide with 15px of padding above and below. Their captions are 600px wide with a 5px left margin and a 15px bottom margin. For cinemagraph figures, the video has a top margin of 16px and side margins of 8px, and the caption has an 8px left margin.

The caption button in the main media and media wrapper is positioned 15px from the right and 20px from the bottom. On screens at least 46.25em wide, it moves to 45px from the right and 30px from the bottom. On screens at least 61.25em wide, it goes back to 15px from the right and 20px from the bottom. On screens at least 71.25em wide, it is 20px from the right. On screens at least 81.25em wide, it is 30px from the bottom.

When the main media or media wrapper contains a cinemagraph, the caption button is 20px from the right. On screens at least 46.25em wide, it is 35px from the right and 25px from the bottom. On screens at least 61.25em wide, it is 25px from the right and 20px from the bottom. On screens at least 71.25em wide, it is 25px from the bottom.

The no-media div in the main media and media wrapper uses flexbox to center its content, taking up the full width. Its paragraph text is 24px, bold, with 115% line height, colored with the byline anchor variable, and underlined.

On screens at least 71.25em wide, the interactive main column has no left margin, and its before element is hidden.

In the interactive main column, a supporting aside containing a blockquote gets a background color of #fff4f2, or the weekend essay background variable if set.

The first paragraph’s first letter in the interactive main column is forced to font weight 300. The first letter of the first paragraph after an hr, after a progress bar wrapper, or in a paragraph with the drop-cap class uses the Guardian Headline font family at weight 300, size 111px, line height 92px, uppercase, floated left with an 8px right margin, aligned to the top of the text, and colored with the drop-cap or new pillar colour variable.

Headings in the interactive main column are colored #8d2700, sized 28px, normal style, weight 300, with normal line height and an 8px bottom margin. On screens at least 71.25em wide, they are 32px. If a heading contains a strong element, it is forced to weight 500.

A figure containing an iframe in the interactive main column gets a background color of #fff4f2, or the weekend essay background variable if set.

On screens at least 71.25em wide, the caption of a figure with the element-showcase class in the interactive main column is positioned absolutely.[data-rendering-target=apps] .meta__byline gu-island[name=FollowWrapper], [data-rendering-target=apps] [data-component=meta-byline] gu-island[name=FollowWrapper], [data-app-os=ios] .meta__byline gu-island[name=FollowWrapper], [data-app-os=ios] [data-component=meta-byline] gu-island[name=FollowWrapper], [data-app-os=android] .meta__byline gu-island[name=FollowWrapper], [data-app-os=android] [data-component=meta-byline] gu-island[name=FollowWrapper] { display: block; margin-top: 10px; }

[data-rendering-target=apps] .meta__byline gu-island[name=FollowWrapper] span, [data-rendering-target=apps] [data-component=meta-byline] gu-island[name=FollowWrapper] span, [data-app-os=ios] .meta__byline gu-island[name=FollowWrapper] span, [data-app-os=ios] [data-component=meta-byline] gu-island[name=FollowWrapper] span, [data-app-os=android] .meta__byline gu-island[name=FollowWrapper] span, [data-app-os=android] [data-component=meta-byline] gu-island[name=FollowWrapper] span { font-size: 14px !important; }

[data-rendering-target=apps] #main-media div, [data-rendering-target=apps] #main-media figure, [data-rendering-target=apps] #main-media picture, [data-rendering-target=apps] [data-gu-name=media] div, [data-rendering-target=apps] [data-gu-name=media] figure, [data-rendering-target=apps] [data-gu-name=media] picture, [data-app-os=ios] #main-media div, [data-app-os=ios] #main-media figure, [data-app-os=ios] #main-media picture, [data-app-os=ios] [data-gu-name=media] div, [data-app-os=ios] [data-gu-name=media] figure, [data-app-os=ios] [data-gu-name=media] picture, [data-app-os=android] #main-media div, [data-app-os=android] #main-media figure, [data-app-os=android] #main-media picture, [data-app-os=android] [data-gu-name=media] div, [data-app-os=android] [data-gu-name=media] figure, [data-app-os=android] [data-gu-name=media] picture { width: -moz-fit-content; width: fit-content; }

@media (prefers-color-scheme: dark) {
[data-rendering-target=apps] body, [data-app-os=ios] body, [data-app-os=android] body {
–article-section-background: #1a1a1a;
–weekend-essay-bg: #1a1a1a;
}

[data-rendering-target=apps] .furniture-wrapper .article-header:after, [data-rendering-target=apps] .furniture-wrapper [data-gu-name=title] .content__labels:after, [data-app-os=ios] .furniture-wrapper .article-header:after, [data-app-os=ios] .furniture-wrapper [data-gu-name=title] .content__labels:after, [data-app-os=android] .furniture-wrapper .article-header:after, [data-app-os=android] .furniture-wrapper [data-gu-name=title] .content__labels:after {
background-image: url(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1784045269/book-white.gif);
}

[data-rendering-target=apps] .furniture-wrapper .meta__byline gu-island[name=FollowWrapper] svg path, [data-rendering-target=apps] .furniture-wrapper [data-component=meta-byline] gu-island[name=FollowWrapper] svg path, [data-app-os=ios] .furniture-wrapper .meta__byline gu-island[name=FollowWrapper] svg path, [data-app-os=ios] .furniture-wrapper [data-component=meta-byline] gu-island[name=FollowWrapper] svg path, [data-app-os=android] .furniture-wrapper .meta__byline gu-island[name=FollowWrapper] svg path, [data-app-os=android] .furniture-wrapper [data-component=meta-byline] gu-island[name=FollowWrapper] svg path {
fill: var(–byline-anchor, #ffffff) !important;
}

[data-rendering-target=apps] .furniture-wrapper #main-media figure:before, [data-rendering-target=apps] .furniture-wrapper [data-gu-name=media] figure:before, [data-app-os=ios] .furniture-wrapper #main-media figure:before, [data-app-os=ios] .furniture-wrapper [data-gu-name=media] figure:before, [data-app-os=android] .furniture-wrapper #main-media figure:before, [data-app-os=android] .furniture-wrapper [data-gu-name=media] figure:before {
background-image: url(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1784045269/frame-white.png) !important;
}
}

body.ios, body.android {
background-color: #fff;
}

body.ios #feature-article-container .furniture-wrapper .content__labels, body.ios #standard-article-container .furniture-wrapper .content__labels, body.ios #comment-article-container .furniture-wrapper .content__labels, body.andThe labels in the furniture wrapper of the feature, standard, and comment article containers on iOS and Android should use a font weight of 500. On iOS and Android, the headline in the same wrapper should also use a font weight of 500.

When the color scheme is light, the background color for iOS and Android should be set to the weekend essay background color, defaulting to #fff4f2. The same iOS and Android elements should define the opinion primary color as #c74600, with the byline anchor and primary pillar using that same color. In light mode, the background color should again be the weekend essay background, defaulting to #fff4f2.

In dark mode, the weekend essay background should be #1a1a1a and the opinion primary color should be #ff7f0f. For opinion pillar articles that are not media type on iOS, the article body and tags should have no background color.

The feature, standard, and comment article containers on iOS and Android should use the weekend essay background color, defaulting to #fff4f2.

On screens at least 61.25em wide, the furniture wrapper in those containers on iOS and Android should use a grid with 20px column gaps and no row gaps. The columns should be defined with named lines for title, headline, meta, standfirst, and portrait, repeating five equal columns between the start and end of each group. The rows should be defined with named lines for title, portrait, headline, standfirst, and meta, using fractional units and auto sizing.

The title-and-gif wrapper inside the furniture wrapper on iOS and Android should be a flex container with a row direction, no wrapping, space-between justification, and relative positioning. The content labels inside that wrapper should use a font size of 17px, normal style, bold weight, and 115% line height. Links inside those content labels should follow the same styling.For iOS and Android devices, links in the content labels of feature, standard, and comment article containers use the new pillar color (default #c74600) and are not capitalized. GIF containers and their images in these article types are 70 by 70 pixels. White book GIFs are hidden on both iOS and Android. In dark mode, book GIFs are treated differently.On iOS and Android, the book GIFs in the title-and-GIF wrapper inside the furniture wrapper of the feature, standard, and comment article containers are hidden. However, the white book GIFs are shown as blocks on both iOS and Android in those same containers. On iOS and Android, the title-and-GIF wrapper in the feature, standard, and comment article containers has an after element that is a block, 100vw wide, 1px tall, colored #dcdcdc, positioned absolutely at the bottom and left -10px. At min-width 61.25em, on iOS and Android, the title-and-GIF wrapper in the feature, standard, and comment article containers is placed in the title grid area, and its after element is 50vw wide. In dark mode, on iOS and Android, the after element of the title-and-GIF wrapper in the feature, standard, and comment article containers is colored #606060. At min-width 61.25em, on iOS, the portrait-mainmedia__headline-wrapper in the furniture wrapper of the feature, standard, and comment article containers…On Android devices, the headline area for feature, standard, and comment article containers is set to the headline grid area. On iOS and Android devices, the headline, byline, and byline links for feature, standard, and comment article containers use a font size of 36px, normal style, medium weight, and 115% line height. On iOS and Android devices, the byline and byline links for feature, standard, and comment article containers use the color defined by the new pillar color variable, defaulting to #c70000. In dark mode, the same byline and byline link styles apply on iOS devices.On iOS and Android, for the feature, standard, and comment article containers, the byline text and links inside the furniture wrapper are set to the new pillar color (#c74600) with important priority. On both iOS and Android, the avatar in the byline is hidden. The headline has no bottom margin or padding. The byline is italicized, but the author name inside it is not. The main media area has automatic height, a 4:5 aspect ratio, and a transparent background. Any figure element inside the main media is set to full height with no left margin.On iOS and Android devices, for feature, standard, and comment article containers, the main media figure inside the furniture wrapper is positioned relative with no offset. Its inner element has a transparent background, visible overflow, and no padding. Images inside these figures are sized to the viewport width minus 40 pixels, with a 20-pixel left margin and a 25-pixel top margin. On iOS and Android, images inside the inner element have a 13-pixel top margin. Figure captions have automatic height, and their paragraphs and spans follow the same styling.On iOS and Android devices, within the feature, standard, and comment article containers, the caption text inside the main media figure is displayed as a block element with no maximum height, positioned relatively, and colored using the caption text variable (defaulting to #999).

On screens at least 46.25em wide, the main media figure in these article containers is allowed to exceed its normal maximum width. A pseudo-element before the figure is positioned 10px from the left with a width calculated as the viewport width minus 20px. Images inside the figure are sized to the viewport width minus 60px, with a 30px left margin and a 40px top margin.

On screens at least 61.25em wide, the pseudo-element before the figure is instead sized to half the viewport width minus 20px and any scrollbar width.For iOS and Android devices, in the feature, standard, and comment article containers, the main media figure element’s inner image should be sized to half the viewport width minus 40 pixels and any scrollbar width, with an 18-pixel left margin, automatic height, no padding, and a 10-pixel top margin.

On screens at least 71.25em wide, the figure element’s pseudo-element should be positioned 4 pixels from the top.

On screens at least 81.25em wide, the pseudo-element should be moved 20 pixels to the left, and the inner image should be sized to half the viewport width minus 90 pixels and any scrollbar width, with a 12-pixel left margin, automatic height, a -10-pixel top margin, and 21 pixels of top padding.

In dark mode, the pseudo-element should use a white frame background image.

When the figure is the first image, the pseudo-element should span the full viewport width minus 20 pixels and any scrollbar width, positioned at the left edge.This CSS code styles the first image in an article’s main media section for iOS and Android devices. On smaller screens, the image takes up nearly the full viewport width with some padding. On wider screens (at least 61.25em), the image is set to half the viewport width with adjusted margins and padding. On even wider screens (at least 81.25em), the width is reduced further with additional margin adjustments. The figure element containing the image is also styled with a maximum width and a pseudo-element that adjusts its position based on screen size.For iOS and Android devices, the caption button inside the main media section of the furniture wrapper is positioned 45px from the bottom.

On screens at least 61.25em wide, the main media section in the furniture wrapper for iOS and Android is placed in the portrait grid area, with a maximum width of 620px and automatic height.

For iOS and Android, the figure element inside the furniture wrapper is positioned relatively with no top margin. Its inner container is absolutely positioned 15px from the top and 20px from the left, with a width equal to the viewport width minus 40px and automatic height. Images inside this container fill the space using object-fit: cover. The caption button is placed 24px from the right and 20px from the bottom.

On screens at least 46.25em wide, the inner container for iOS and Android is 680px wide with automatic height, positioned 10px from the top and 10px from the left. The caption button positioning remains the same.Here is the text with the CSS rules for iOS and Android devices on article pages, covering figure widths, standfirst styling, and meta padding.For iOS and Android devices, the published metadata within the furniture wrapper of the feature, standard, and comment article containers is set to a relative position. On iOS and Android, this published metadata gets a pseudo-element that is a full viewport width, 1 pixel tall, light gray line positioned at the bottom and shifted 10 pixels to the left. On screens at least 61.25em wide, the metadata block in these containers is assigned to the meta grid area and displayed as a block, and the pseudo-element line becomes 50vw wide. On screens at least 81.25em wide, the miscellaneous metadata within the meta block has its left margin removed. In dark mode, the pseudo-element line changes to a dark gray color. On iOS and Android, the meta and keyline elements within the furniture wrapper of these article containers have their before pseudo-elements hidden.On iOS and Android, hide the furniture-wrapper aside element-rich-link in the feature, standard, and comment article containers. Also hide the comment-header cutout-container in those same containers.

On iOS and Android, give the article-body and feature-body a background color of var(–weekend-essay-bg, #fff4f2) and a top margin of 6px.

On iOS and Android, style horizontal rules in the article-body and feature-body with a height of 1px, no border, a bottom margin of 3px, a background color of #dcdcdc, a width of 150px, no left margin, and a top margin of 48px.

On iOS and Android, style the first letter of the first paragraph without a span, or the first paragraph after a horizontal rule, in the article-body and feature-body with the Guardian Headline font family, a font weight of 300, a font size of 111px, a line height of 92px, floated left, uppercase, box-sizing border-box, an 8px right margin, vertical-align text-top, and a color of var(–drop-cap, var(–secondary-pillar)).

On iOS and Android, set h2 elements containing strong, or strong and b elements inside prose h2, in the article-body and feature-body to a font weight of 500.

In dark mode, on iOS and Android, set horizontal rules in the article-body and feature-body to a background color of #606060. Set the first letter of the first paragraph after a horizontal rule in those sections to a color of var(–new-pillar-colour, #ff5943). Remove text decoration from links inside paragraphs in the article-body and feature-body.

On iOS and Android, set the first letter of the first paragraph after the first element-atom inside a div in the article-body and feature-body to a font weight of 500.

On iOS and Android, set the first letter of the first paragraph after an element-atom, or after an element-atom plus a sign-in-gate, in the comment-body or [data-gu-name=body] to a font weight of 500.Ed Sheeran has long been known as the “Mr. Nice Guy” of music. His is an unthreatening kind of pop stardom; he looks and talks like the guy who might be standing behind you in a pub, rather than someone selling out stadiums. He champions other artists, he celebrates different cultures. His songs are about love, heartbreak, and friendship. People get engaged at his concerts.

But this week, one of the most successful musicians in the world faced the biggest controversy of his career, and found himself dragged into exactly the kind of political row he has spent his career avoiding.

It began when Macklemore, the Grammy-winning rapper supporting Sheeran on the US leg of his Loop tour, used his set at MetLife Stadium in New Jersey to call for a “free Palestine.” He performed Hind’s Hall, his 2024 protest song for a five-year-old girl killed by Israeli forces, while footage of pro-Palestine student demonstrations and destruction in Gaza played behind him.

The backlash was immediate. The StopAntisemitism group accused Macklemore of “ambushing” fans with “anti-Israel propaganda,” a post amplified by the singer Pink. The Israeli-American Council called for him to be pulled from the tour, asking where the line should be drawn “when an opening act uses a global concert platform to advance a one-sided political agenda.” There was extra heat given Macklemore’s history: in 2014 he performed in a fake beard, wig, and prosthetic nose widely read as a Jewish caricature. He was soon dropped from the remaining tour dates.

But then Macklemore turned the story on Sheeran, accusing his friend of a “determination not to take sides publicly,” and claiming Robert Kraft – owner of the New England Patriots – had pressured Sheeran by threatening to pull his stadium from the tour dates and urging other venues to do the same. Sheeran’s team confirmed multiple venues had objected to Macklemore staying on the bill. Kraft, a prominent supporter of Israel and founder of the Foundation to Combat Antisemitism, has a personal relationship with Sheeran, who sang at his 2022 wedding. In a phone call with Sheeran, the billionaire reportedly acknowledged the sensitivity of Gaza but argued Macklemore’s remarks crossed into hate speech.

“Taking a side can cost you,” Macklemore said. “Money, brand deals, sponsorships, festivals, private shows, relationships, and access. I’ve lost all of those things. But there is no neutral positioBetween the oppressor and the oppressed.”

Sheeran and Macklemore pictured in 2014. The US rapper claimed the British singer was pressured by the billionaire stadium owner Robert Kraft. Photograph: Kevin Winter/Getty Images

Sheeran’s own statement, published a day later, did little to calm things down. He said dropping Macklemore was not his decision and he was “deeply disappointed” by it, but made clear he was not using the moment to declare a position on Israel and Palestine.

He was “appalled by the conflict,” he wrote, adding that the “suffering and pain caused on both sides” was “a human tragedy.” “I am not complicit. Just because I choose not to speak publicly, it doesn’t mean I don’t have [personal views], and it doesn’t mean that I don’t care.” He wanted his concerts to stay places of “safety and sanctuary,” where people could gather regardless of politics.

Palestinian artists put the finishing touches on a mural depicting Macklemore on the ruins of homes in Gaza City – the rapper has been vocal in his support for Palestinians. Photograph: Majdi Fathi/NurPhoto/Shutterstock

The Palestinian Campaign for the Academic and Cultural Boycott of Israel (PACBI) was unconvinced: Sheeran’s statement, it said, “attempts to ‘both-sides’ Israel’s ongoing genocide against Palestinians in Gaza” and its appeal to “peace” left out “its crucial condition – justice.”

“The stakes for him would have been very, very high,” said Dorian Lynskey, the author of 33 Revolutions Per Minute: A History of Protest Songs. “Taking a stand meant potentially cancelling the rest of your tour, with all the refunds, people who work on the tour losing their work. It’s an enormous thing.”

The far-right activist Tommy Robinson tweeted his support for Sheeran. Photograph: Isabel Infantes/Reuters

Lynskey, who has interviewed Sheeran several times, has “a lot of sympathy” for him, but he thinks the attempt to frame the decision as something that simply happened around him, rather than a choice he made, has backfired. “He may end up being put in another position which is further away from where his sympathies lie. He’s now being seen as a supporter of genocide, when he obviously isn’t.”

Within days, every other support act on the US tour pulled out, including Finneas, Lukas Graham, the Irish band Beoga and Aaron Rowe. Sheeran’s Instagram following dropped by almost 150,000 in 24 hours; Macklemore gained more than 750,000. The actor Hannah Einbinder, Irish musician CMAT and Zara Larsson spoke up for Macklemore. Then Tommy Robinson tweeted his support for Sheeran, yanking the singer into a political camp about as far as possible from where he would want to be.

Suddenly, one rapper’s decision to speak from a concert stage had ballooned into a full-blown culture war. Many were asking: how does a man who has built a fortune on being liked by everyone end up here?

Subtly progressive

The answer partly lies in the distinction Sheeran has always drawn between having political views and making them part of his public identity. He has never been entirely apolitical. In 2017, he said he was supporting Jeremy Corbyn at the general election, while also saying he did not want to tell other people how to vote. He has campaigned on music education and copyright and supported charities including Crisis. In 2022, he performed at the Concert for Ukraine alongside other artists, raising more than £13.4m for humanitarian relief after Russia’s invasion.

Paloma Faith, who also played at the Concert for Ukraine, highlighted what she perceived as a hypocrisy. “He wasn’t apolitical by doing that and I don’t really understand why one felt more political than the other,” she told Channel 4 News.

The songwriter and actor Paloma Faith, pictured here at a pro-Palestine protesIn 2025, Sheeran took a stand over Ukraine. Photograph: Neil Hall/EPA. Lynskey said the difference is that in the West, Ukraine is seen as a “consensus position”—”like Chris Martin wearing the pride flag, subtly progressive without risk of a massive backlash. That’s the realm Sheeran exists in: generally on the right side of things without talking about them too much. This time he’ll have had people around him saying ‘this is how much money you lose’ or ‘this is how you could be tarred as antisemitic.'”

Musicians speaking out is nothing new—from Dylan and civil rights to punk and anti-apartheid—and neither is the price of doing so. In 2003, the Dixie Chicks faced boycotts, radio bans, and death threats after Natalie Maines criticized George W. Bush over Iraq. What sets Sheeran apart is that he didn’t say the controversial thing himself—someone he chose to put on his stage did. Choosing Macklemore was not the same as endorsing everything he says. But Macklemore’s politics are not incidental to who he is.

Ed Sheeran’s people knew that Macklemore’s music was “explicitly political,” says Billy Bragg. Photograph: Isabel Infantes/Reuters. “He can’t say: ‘I didn’t know Macklemore was going to do that,'” said Billy Bragg, who has spent decades making explicitly political music. “Macklemore has been speaking out about Palestine and the war in Gaza for quite some time now. His song Hind’s Hall and its accompanying video are a central part of his set. Ed’s people must have seen that on every other night of the tour.”

Stephen Millar, author of Sounding Dissent, calls it “a maelstrom partly of Sheeran’s own making.” Sheeran had chosen an artist whose politics were well established, he said. “By doing that you could say that was his contribution to the cause. But to pull that back is almost like wanting your cake and eating it.”

David Hesmondhalgh, a professor of media, music, and culture at the University of Leeds, said that while artists should not be compelled to take a position on everything, “Sheeran arguably gains credibility from associating himself with an act like Macklemore whose star persona is based on strong political commitments … So his declarations of neutrality look a bit spineless.”

‘A real S-storm’

The episode also points to a broader shift in what people expect of celebrities. Social media and the sheer weight of feeling over Gaza have made the old split between public image and private politics much harder to maintain. “If you’re not using your platform, you’re seen as doing something wrong,” Millar said.

At the same time, artists have become proxies for arguments much bigger than themselves. Lynskey pointed to figures such as Gal Gadot and Mark Ruffalo, who have become stand-ins for opposing sides of the Israel-Palestine debate. “There is this sort of proxy war fought out with celebrities. People have been protesting for almost three years and it doesn’t seem to have made any difference, so I think they’re getting more and more angry and frustrated.”

The journalist Lulu Garcia-Navarro made a similar point to CNN: “There’s an increasing antipathy towards Israel, regardless of left or right, and popular culture gives people a way in—they’re not talking about what’s happening in Congress, but this they can understand.” She pointed to a second layer, too: “Both the left and right feel like they don’t have control over their free speech … today there’s a perception that pro-Palestinian voices get censored. So it’s become a real S-storm.”

Celebrities like the actor Gal Gadot, pictured, and Mark Ruffalo have become proxies in the Israel-Palestine debate. Photograph: Amazon MGM Studios. Lisa Nandy, the UK culture secretary, said she had “enormous sympathy” for Sheeran, calling his posiHe described the situation as “really difficult and impossible.” He wanted to give his support acts a platform, she said, while promoters warned they would cancel shows over political statements on stage.

Bragg also recognized the practical realities. “Undoubtedly Ed has contractual obligations, and he’d get sued and it would cost him money,” he said. “I can understand it.” But he believes Sheeran could have made a clearer distinction between defending Macklemore’s right to speak and endorsing everything he said.

“He doesn’t have to come out and say ‘free Palestine.’ Purely on free speech grounds, he can say an artist must be able to express their view. He needs to let people know how he feels about billionaires deciding what can and can’t be said from a stage,” he said.

“Of course, someone like Kanye West should be banned because of the antisemitic things he’s said. But drawing attention to the suffering of civilians in Gaza is not a reason to lose your gig. Culture has to entertain, but it can also challenge.”

The point resonated with the American left. “When you see what Robert Kraft did, lining up all the stadiums to censor speech in that one specific way, it’s clear this isn’t about one or two music artists—it’s about how a handful of stadium owners and the elite can bury an entire massive issue. In this case, the genocide in Gaza,” Alexandria Ocasio-Cortez told TMZ. “We need to be very clear about how dangerous a precedent this is.”

Lynskey worries about the broader lesson. “Are you just going to vet your support act for politics? Is the lesson that big artists learn that you don’t book anybody who might be a bit spicy? That would be terrible.”

Taking a stand

Sheeran is due back onstage at Philadelphia’s Lincoln Financial Field on Saturday—with no support acts and no band. “I can’t think of a clear precedent where a star of that size has been put in that kind of situation because of support acts,” Lynskey said. It’s a sharp contrast to his last tour, one of the best-attended of all time; this time thousands of tickets sit unsold, some going for $65 online. Classic Hits Radio in Ireland has dropped him from its playlist “for the foreseeable future,” citing listener reaction.

Finneas is among the musicians who have pulled out of the Loop tour, leaving Sheeran to perform alone. Photograph: Jerod Harris/Getty Images

“In Ireland, rebel songs were used to resist British occupation for centuries, so the fact that Sheeran makes so much of his Irishness makes his stance all the more jarring,” Millar said.

Sheeran has tried to address the controversy on his own terms: through money instead of words. Macklemore has pledged $1m of his Loop tour earnings to humanitarian organizations in Gaza; Sheeran and Kraft have each promised $2m for “aid in the region.” It’s a way of showing he cares about the human cost without making any overt political statements—but whether it satisfies the people who wanted him to speak is another matter.

Paul Rieckhoff, founder of Independent Veterans of America, who was inside MetLife Stadium with his two young children on the night of Macklemore’s statement, told CNN that Sheeran might be better placed than most to do some good here: “Maybe Ed Sheeran is the person who can actually bring people together around this. But it’s not going to be by throwing Macklemore under the bus or by appeasing Bob Kraft.”

Bragg said: “By trying to be Mr. Nice Guy and not take sides, he’s in danger of becoming a pariah himself. And that would be a shame, because it’s not his fault. He does need to make a choice here, and it’s one I think will define him in the eyes of the public for a long time.”

Frequently Asked Questions
Heres a set of FAQs on Ed Sheerans tour and the culture war around it

Beginner Questions

What is A storm of his own making about
Its about how Ed Sheerans 2025 tour got caught up in political and cultural fights well beyond just music

What actually happened
He announced shows in several countries and some venues and sponsors had ties to controversial political figures or causes Fans and critics clashed online over whether he should have avoided those deals

Why is a pop stars tour a culture war issue
Because people now expect celebrities to take moral or political stands A simple tour decision can get read as a statement about who you support

What does culture war mean here
It means a public fight over values and identity not just left vs right politics but who gets to decide whats acceptable

Who are the main sides in this fight
Broadly fans and activists who want artists to avoid certain sponsors or venues and fans who say music should stay out of politics There are also the venues sponsors and local governments in the middle

Did Ed Sheeran say anything himself
He mostly stayed quiet at first then gave a few vague comments about not wanting to divide fans That silence itself became a story

Intermediate Questions

What were the specific controversies
Reports pointed to tour sponsors and venues with links to arms companies fossil fuel firms and politicians with antiLGBTQ records Some shows were also in countries with poor human rights records

Why did fans get so angry
Many felt he was profiting from deals that conflicted with his public image as a nice apolitical guy Others felt he was being unfairly attacked for things outside his control

Was this really his fault
Partly He and his team chose the sponsors and venues But the backlash also reflects bigger expectations fans now place on celebrities

How did the tours business side work
Big tours rely on sponsors local promoters and venue deals Those partners often have political ties the artist may not fully control or even know about

Whats the benefit of getting involved in these fights
For artists taking a stand can build loyalty and press Staying neutral can avoid alienating part of the audience Theres no free option either choice has costs