@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;
}Here is the rewritten text in fluent, natural English:
“`css
@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;
}
“`Here is the rewritten text in fluent, natural English:
“`css
@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;
}
“““css
@font-face {
font-family: Guardian Headline;
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;
}
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-column-gap: 0px;
grid-template-columns: 100%;
grid-template-areas:
“media”
“title”
“headline”
“standfirst”
“lines”
“meta”
“body”;
}
@media (min-width: 30em) {
#article-body > div .content–interactive-grid figure.element–immersive figcaption,
.content–interactive > div .content–interactive-grid figure.element–immersive figcaption,
#comment-body .content–interactive-grid figure.element–immersive figcaption,
[data-gu-name=”body”] .content–interactive-grid figure.element–immersive figcaption,
#feature-body .content–interactive-grid figure.element–immersive figcaption {
padding: 0 20px;
max-width: 620px;
}
}
@media (min-width: 46.25em) {
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-template-columns: 100%;
grid-column-gap: 10px;
grid-template-areas:
“title”
“headline”
“standfirst”
“media”
“lines”
“meta”
“body”;
}
#article-body > div .content–interactive-grid #maincontent,
.content–interactive > div .content–interactive-grid #maincontent,
#comment-body .content–interactive-grid #maincontent,
[data-gu-name=”body”] .content–interactive-grid #maincontent,
#feature-body .content–interactive-grid #maincontent {
padding-right: 80px;
}
}
@media (min-width: 61.25em) {
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-template-columns: 620px 300px;
grid-template-areas:
“title right-column”
“headline right-column”
“standfirst right-column”
“media right-column”
“lines right-column”
“meta right-column”
“body right-column”
“. right-column”;
}
#article-body > div .content–interactive-grid #maincontent,
.content–interactive > div .content–interactive-grid #maincontent,
#comment-body .content–interactive-grid #maincontent,
[data-gu-name=”body”] .content–interactive-grid #maincontent,
#feature-body .content–interactive-grid #maincontent {
padding-right: unset;
}
}
@media (min-width: 71.25em) {
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-template-columns: 140px 1px 620px 300px;
grid-template-areas:
“title border headline right-column”
“. border standfirst right-column”
“. border media right-column”
“. border body right-column”
“. border . right-column”;
}
#article-body > div .content–interactive-grid .content__standfirst,
.content–interactive > div .content–interactive-grid .content__standfirst,
#comment-body .content–interactive-grid .content__standfirst,
[data-gu-name=”body”] .content–interactive-grid .content__standfirst,
#feature-body .content–interactive-grid .content__standfirst {
padding-bottom: 0;
}
#article-body > div .content–interactive-grid figure.element–immersive figcaption,
.content–interactive > div .content–interactive-grid figure.element–immersive figcaption,
#comment-body .cont
“`Here is the rewritten text in fluent, natural English:
For interactive grid figures with immersive elements, the caption should have 4 pixels of padding at the top and none on the sides. In the main article body, the lines and meta sections within an interactive grid should be placed in the grid area starting at row 2, column 1, and ending at row 5, column 2. The lines section should have a height set to “max-content” and a top margin of 5 pixels. The meta section should have a top margin of 18 pixels.
On screens wider than 81.25em (1300 pixels), the interactive grid should use a layout with columns of 219px, 1px, 620px, 80px, and 300px.
On iOS and Android devices, the first paragraph inside the article header’s standfirst should use the Guardian Headline font family with a weight of 500. The article kicker section should be displayed as a block, and its first letter should be uppercase. The keyline-4 element should have a top padding of 12 pixels. The byline author’s name should use the Guardian Headline font family with a weight of 700, and any links within it should also be bold. For images with the class “element-image,” the inner figure should have its height set to “auto.” If an atom element is followed by a paragraph, that paragraph should have no top margin.
Finally, the custom font “Guardian Headline Full” is defined in two styles: light (weight 300) and light italic (weight 300), using the specified URLs for woff2, woff, and truetype formats.I’m sorry, but the text you’ve provided appears to be CSS code for defining font faces, not a passage of written English that can be rewritten. Could you please provide the actual text you’d like me to rewrite?@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”] {
width: 32px;
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}
[data-gu-name=”media”]:has(figure.loop) #caption-button {
z-index: 100;
}
[data-gu-name=”body”] gu-island[name=”SelfHostedVideo”] {
width: 100%;
max-width: 620px;
}Here is the rewritten text in fluent, natural English:
For self-hosted videos inside the article body, the video and its container should be displayed as a block with a top and bottom margin of 12px. The video should take up the full width of its container, with a maximum width of 620px, and be centered horizontally.
If the video has the class “element-video-immersive”, the container should have no maximum width and a margin of 12px on top and bottom. The video itself should also have no maximum width and no margin.
On screens wider than 71.25em (1140px), an immersive video container should be 1140px wide with a left margin of -180px. Its caption should have a left margin of 20px.
On screens wider than 81.25em (1300px), the immersive video container should be 1300px wide with a left margin of -260px.
The following CSS variables are defined:
– `–dateline`: #606060
– `–headerBorder`: #dcdcdc
– `–captionText`: #999
– `–captionBackground`: hsla(0, 0%, 7%, .72)
– `–feature`: #c70000
– `–new-pillar-colour`: defaults to `–primary-pillar`, or `–feature` if that is not set
Additional variables are set for subheadings, pull quotes, and block quotes, which all use `–secondary-pillar` by default. Block quotes also use `–secondary-pillar` for their fill color.
In dark mode (when the user’s system preference is dark and no light color scheme is forced), subheadings, pull quotes, and block quotes use `–darkmode-pillar` instead.
Interactive article content and regular article body content should not have padding on elements with the class “element-atom”.
When an element-atom is the first child inside the article body, the paragraph that follows it should have 14px of padding on top. The same applies if the first child is a horizontal rule that is not the last one.
The first letter of the first paragraph after an element-atom or a non-last horizontal rule should have no special styling applied.Here’s the rewritten text in fluent, natural English:
For the first letter of certain paragraphs, the styling uses the Guardian Headline font family, with a bold weight, a font size of 111 pixels, and a line height of 92 pixels. It floats to the left, is uppercase, and includes a right margin of 8 pixels. The color is set by a custom property for drop caps.
Paragraphs that follow a horizontal rule have no top padding.
Pull quotes are limited to a maximum width of 620 pixels.
For showcase elements, the captions are positioned statically and take up the full width, with a maximum of 620 pixels. On screens wider than 71.25em, the max width is 140 pixels, and on screens wider than 81.25em, it’s 220 pixels.
Immersive elements span the full viewport width minus the scrollbar. On smaller screens (up to 71.24em), the max width is 978 pixels, and captions have 10 pixels of padding on each side. On screens between 30em and 71.24em, the caption padding increases to 20 pixels. For screens between 46.25em and 61.24em, the max width is 738 pixels. On very small screens (up to 46.24em), the element has a negative left margin of 10 pixels and no right margin. If the screen is also at least 30em, the left margin becomes -20 pixels and caption padding is 20 pixels.
Showcase elements have a left margin of -160 pixels on screens wider than 71.25em, and -240 pixels on screens wider than 81.25em.
For screens wider than 61.25em, the furniture wrapper uses a CSS grid with 10 columns, a 20-pixel gap between columns, and no row gap. The grid rows are set for the title, headline, standfirst, and meta sections. The headline’s first child has a border property that is incomplete in the original text.Here’s the rewritten version in fluent, natural English:
The top border of the header is set to 1 pixel solid using the header border color. In the furniture wrapper, the meta section is positioned relatively with 2 pixels of padding on top and no right margin. The standfirst content has a bottom margin of 4 pixels. List items inside the standfirst have a font size of 20 pixels. Links within the standfirst have no bottom border, no background image, and are underlined with a 6-pixel offset. The underline color matches the header border. When you hover over these links, the underline color changes to the new pillar color.
The first paragraph in the standfirst has a top border of 1 pixel solid using the header border color and no bottom padding. On screens wider than 61.25em (980px) and also wider than 71.25em (1140px), this top border is removed. On screens wider than 61.25em, figures have no left margin and a 10-pixel negative left margin. Inline figures with the data-spacefinder-role attribute have a maximum width of 630 pixels.
On screens wider than 71.25em, the furniture wrapper uses a grid layout with specific column and row definitions. The meta section has a 540-pixel-wide line above it, using the header border color. Standfirst paragraphs have no top border. A vertical line, 1 pixel wide and using the header border color, appears to the left of the standfirst section.
On screens wider than 81.25em (1300px), the grid layout adjusts with different column and row sizes. The line above the meta section becomes 620 pixels wide, and the vertical line to the left of the standfirst shifts slightly.
In the article header, labels within the title section have 2 pixels of top padding. The headline (h1) has a font weight of 600, a maximum width of 620 pixels, and a font size of 32 pixels. On screens wider than 71.25em, the headline’s maximum width is 540 pixels and the font size increases to 50 pixels.
On screens wider than 46.25em (740px), the keyline-4 element has no right margin. On screens wider than 61.25em, the keyline-4 element is hidden.eyline-4 svg, .furniture-wrapper [data-gu-name=”lines”] svg {
stroke: var(–headerBorder);
}
@media (min-width: 46.25em) {
.furniture-wrapper #meta,
.furniture-wrapper [data-gu-name=”meta”] {
margin-right: 0;
}
}
.furniture-wrapper #meta .meta__social,
.furniture-wrapper #meta .meta__social ul li a span,
.furniture-wrapper #meta .meta__comment,
.furniture-wrapper [data-gu-name=”meta”] .meta__social,
.furniture-wrapper [data-gu-name=”meta”] .meta__social ul li a span,
.furniture-wrapper [data-gu-name=”meta”] .meta__comment {
border-color: var(–headerBorder);
}
.furniture-wrapper #meta .content__meta-container_dcr > div > gu-island,
.furniture-wrapper [data-gu-name=”meta”] .content__meta-container_dcr > div > gu-island {
display: none;
}
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
margin-left: -10px;
padding-left: 10px;
position: relative;
}
@media (min-width: 46.25em) {
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
padding-top: 2px;
}
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name=”standfirst”] p {
font-weight: 400;
font-size: 20px;
padding-bottom: 14px;
}
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
position: relative;
margin-top: 0;
margin-bottom: 2px;
grid-area: portrait;
}
.furniture-wrapper #main-media div div,
.furniture-wrapper [data-gu-name=”media”] div div {
width: 100%;
margin-inline: 0;
}
@media (min-width: 61.25em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
margin-bottom: 0;
}
}
@media (max-width: 46.24em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
width: calc(100vw – var(–scrollbar-width, 0px));
margin-left: -10px;
}
}
@media (max-width: 46.24em) and (min-width: 30em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
margin-left: -20px;
}
}
.furniture-wrapper figcaption {
position: absolute;
bottom: 0;
padding: 4px 10px 12px;
background-color: var(–captionBackground);
color: var(–captionText);
max-width: unset;
width: 100%;
margin-bottom: 0;
min-height: 46px;
}
.furniture-wrapper figcaption span {
color: var(–headerBorder);
}
.furniture-wrapper figcaption span svg {
fill: var(–headerBorder);
}
.furniture-wrapper figcaption span:nth-of-type(1) {
display: none;
}
.furniture-wrapper figcaption span:nth-of-type(2) {
display: block;
max-width: 90%;
}
@media (min-width: 30em) {
.furniture-wrapper figcaption {
padding: 4px 20px 12px;
}
}
.furniture-wrapper figcaption.hidden {
opacity: 0;
}
.furniture-wrapper #caption-button {
display: block;
position: absolute;
bottom: 10px;
right: 8px;
z-index: 30;
background-color: var(–captionBackground);
border: none;
border-radius: 50%;
padding: 6px 5px 5px;
}
.furniture-wrapper #caption-button svg {
transform: scale(0.85);
}
@media (min-width: 30em) {
.furniture-wrapper #caption-button {
right: 10px;
}
}
@media (min-width: 71.25em) {
.content__main-column–interactive:before {
top: -12px !important;
height: calc(100% + 24px) !important;
}
}
.content__main-column–interactive h2 {
max-width: 620px;
}
:root:has(.ios, .android) {
–darkBackground: #1a1a1a;
–feature: #c70000;
–darkmodeFeature: #ff5943;
–new-pillar-colour: var(–primary-pillar, var(–feature));
}
@media (prefers-color-scheme: dark) {
:root:has(.ios, .android) {
–new-pillar-colour: var(–darkmode-pillar, var(–darkmodeFeature));
}
}
body.ios #feature-article-container .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #feature-article-container .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
body.ios #feature-article-container .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter,
body.ios #standard-article-container .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #standard-article-container .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
body.ios #standard-article-container .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter,
body.ios #comment-article-container .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #comment-article-container .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
body.ios #comment-article-container .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter {
/ No styles defined here /
}On Android devices, the first letter of the first paragraph after certain elements (like `.element-atom:first-of-type` or `.sign-in-gate`) in article containers should be styled with the secondary pillar color, which defaults to black if not set.
On both iOS and Android, the article header in feature, standard, and comment article containers should have a height of zero.
For the furniture wrapper in these containers on both platforms, apply the following styles:
– Add padding of 4px on top and bottom, and 10px on the left and right.
– Style the content labels with bold font weight, using the font family “Guardian Headline”, “Guardian Egyptian Web”, “Guardian Headline Full”, Georgia, or serif. Set the color to the new pillar color and use capitalized text.
For the headline (h1) inside the furniture wrapper on both platforms:
– Set the font size to 32px, bold weight, with 12px of padding at the bottom. The color should be #121212 (important to override other styles).
For images inside figure elements with the class “element-image” within the furniture wrapper on both platforms:
– Position them relatively, with a top margin of 14px and no left margin (0). The width should be the full viewport width minus any scrollbar width, and the height should be auto.
– For the inner elements of the figure (`.figure__inner`, `img`, and `a`), no additional styles are specified beyond what’s inherited.For iOS and Android, in the article containers (feature, standard, and comment), the furniture wrapper’s figure element with the class “element-image” and its inner elements (links, images, and figure inner divs) have a transparent background. Their width is set to the full viewport width minus the scrollbar width, and the height is automatically adjusted (with !important).
For the standfirst sections in these containers on both iOS and Android, there is 4px of padding on top and 24px on the bottom, with a right margin of -10px.
The paragraph text inside the standfirst inner div uses the font family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif.
Links inside the standfirst inner div (including list item links) are styled with the new pillar colour (using !important), no background image, an underline with a 6px offset, a decoration color set to the header border (default #dcdcdc), and no bottom border.
When hovering over these links, the styling remains the same as the default state.For Android: When you hover over a link inside `.standfirst__inner a` within `#comment-article-container .furniture-wrapper`, the text underline color changes to the new pillar color.
For both iOS and Android: In `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`, the `.furniture-wrapper .meta` section has no margin. The byline text, including author names and links, uses the new pillar color. The `.meta__misc` section has no padding, and any SVG icons inside it use the new pillar color for their stroke. Also, the caption button inside `.element–showcase` is displayed as a flex container, centered, with 5px padding, and is 28px wide and 28px tall, positioned 14px from the right.Here is the rewritten version in fluent, natural English:
For article sections on iOS and Android, the main content area has 12 pixels of padding on the left and right.
When an image is not a thumbnail or immersive style, it takes up the full width of the screen minus 24 pixels and the scrollbar width. The caption for these images has no padding.
Immersive images, on the other hand, span the entire width of the screen, minus the scrollbar width.
For quoted block quotes within the article text, the quotation mark color matches the new pillar color.
Links in the article text are underlined with a 6-pixel offset, using the primary pillar color. The underline color matches the header border. When you hover over a link, the underline changes to the new pillar color.
In dark mode, the furniture styling adjusts accordingly.On iOS and Android, the `.furniture-wrapper` inside `#feature-article-container`, `#standard-article-container`, and `#comment-article-container` has a background color of `#1a1a1a`.
In these wrappers, the `.content__labels` text color is set to `var(–new-pillar-colour)`.
The `h1.headline` has no background color and uses `var(–headerBorder)` for its text color.
Paragraphs inside `.standfirst` also use `var(–headerBorder)` for their text color.
Links inside `.standfirst`, as well as `.byline__author` and any `span.byline__author a` within `.meta`, are styled with `var(–new-pillar-colour)`.
SVG icons inside `.meta__misc` use `var(–new-pillar-colour)` for their stroke color.
For `figure.element-image.element–showcase figcaption`, the styling applies to both iOS and Android across the same article containers.For iOS and Android devices, the caption under the image in the furniture section of article containers uses the dateline color. On both iOS and Android, quoted block quotes in the article body of feature, standard, and comment article containers use the new pillar color.
For iOS and Android, the main content areas in feature, standard, and comment article containers—including the article body, interactive content, feature body, comment body, and the body data attribute—have a dark background color. Additionally, on iOS and Android, the first letter of a paragraph that follows an element atom (or a sign-in gate after an element atom) in these content areas also follows this styling.Here’s the rewritten text in fluent, natural English:
On iOS devices, the first letter of a paragraph that comes right after an element-atom (or after a sign-in gate that follows an element-atom) should be styled in a specific way. This applies in several places within the standard article container, including the interactive content area, the feature body, the data-gu-name=”body” section, and the comment body. The same styling also applies in the comment article container, in areas like the article body, interactive content, feature body, data-gu-name=”body”, and comment body.
On Android devices, the same first-letter styling applies in the feature article container and the standard article container, in sections such as the article body, interactive content, feature body, data-gu-name=”body”, and comment body.Here’s the rewritten version in fluent, natural English:
On Android devices, the first letter of certain paragraphs should use the new pillar color (white by default). This applies to paragraphs that come right after an element atom in various sections of standard and comment article containers, including the article body, interactive content, feature body, comment body, and data-gu-name sections.
For iOS and Android comment articles, the standfirst section inside the furniture wrapper should have 24 pixels of padding at the top and no margin.
In prose sections, heading 2 (h2) should be 24 pixels in size.
For iOS devices, the caption button in feature, standard, and comment article containers should have 6 pixels of top padding and 5 pixels on the sides, with no bottom padding. For Android devices, the same button should have 4 pixels of padding on all sides.
When the device is in dark mode (and no light color scheme is specified), the following colors should be used:
– Follow text: #dcdcdc
– Follow icon fill: the dark mode pillar color
– Standfirst text: #dcdcdc
– Standfirst link text: the dark mode pillar color
– Standfirst link border: the dark mode pillar color
– Byline: the dark mode pillar color
For both iOS and Android, the content labels inside the furniture wrapper of feature, standard, and comment article containers should follow the same styling rules.The following CSS rules apply font-weight 500 to various headline and standfirst elements inside `.furniture-wrapper` and related containers. On the root body, a custom property `–weekend-essay-bg` is set to `#fff4f2`, and the background uses this value. The article section and sub-meta backgrounds also use this variable. The `[data-gu-name=lines]` element is hidden. The `.furniture-wrapper` is positioned relatively. At screen widths of 81.25em and above, the grid rows are defined for title, portrait, headline, standfirst, and meta sections.
The `.article-header` and `[data-gu-name=title]` elements have a height of 70px and are positioned relatively. Inside them, `.content__labels` inherits this height. A pseudo-element after `.content__labels` shows a 70px by 70px book GIF image, positioned at the bottom right. At 81.25em and above, this image becomes 110px by 110px. The inner `div` of `.content__labels` takes full height. After this inner `div`, a pseudo-element creates a full-width horizontal line (using `calc(100vw – var(–scrollbar-width, 0px))`) with a color of `#dcdcdc`, positioned at the bottom and offset 10px to the left. At 46.25em, the left offset becomes 20px and the width is 738px. At 61.25em, this line is hidden. At 71.25em, the header height becomes 80px, and at 81.25em, it becomes 125px.
At 81.25em and above, the headline elements have a top margin of -2px. The inner `div` of headline elements has no bottom padding. The `.portrait-mainmedia__headline-wrapper` inside headline elements takes full height, is positioned relatively, has hidden overflow, and includes 24px of bottom padding. Headings and links inside this wrapper are styled accordingly.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-wrapper [data-gu-name=media] figure picture img,
.furniture-wrapper [data-gu-name=media] figure figcaption {
width: calc(100vw – 40px – var(–scrollbar-width, 0px));
height: auto;
margin-left: 10px;
padding: 10px 0;
}
.furniture-wrapper #main-media figure figcaption,
.furniture-wrapper [data-gu-name=media] figure figcaption {
margin-bottom: 10px;
padding: 10px;
}
.furniture-wrapper #main-media figure:before,
.furniture-wrapper [data-gu-name=media] figure:before {
content: “”;
display: block;
width: calc(100vw – 20px – var(–scrollbar-width, 0px));
background-image: url(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1777034148/frame.png);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
position: absolute;
top: 0;
left: 10px;
height: inherit;
}
@media (min-width:At screen widths of 46.25em and above, within `.furniture-wrapper #main-media` and `.furniture-wrapper [data-gu-name=media]`, the `figure` element has no left margin. The `picture img` inside it is 670px wide, auto height, with a 5px left margin and 15px top and bottom padding plus 10px side padding. The `figure:before` element is 700px wide and positioned 10px to the left. The `figcaption` is 650px wide, with a 15px left margin and bottom margin, and 15px top and bottom padding plus 10px side padding.
At 61.25em and above, `figure:before` is 470px wide. The `picture img` and `figcaption` are both 450px wide with no left margin. The `picture img` has 10px top and bottom padding and no side padding. The `figcaption` has a 10px bottom margin.
At 71.25em and above, `figure:before` is 550px wide. The `picture img` is 520px wide, with a 5px left margin and 10px top and bottom padding plus 5px side padding. The `figcaption` is 510px wide, with a 10px left margin and bottom margin.
At 81.25em and above, `figure:before` is 630px wide. The `picture img` is 600px wide, with 15px top and bottom padding and no side padding. The `figcaption` is 600px wide, with a 5px left margin and a 15px bottom margin.
For the `#caption-button` inside `.furniture-wrapper #main-media` and `.furniture-wrapper [data-gu-name=media]`, it is positioned 15px from the right and 20px from the bottom. At 46.25em and above, it moves to 45px from the right and 30px from the bottom. At 61.25em and above, it returns to 15px from the right and 20px from the bottom. At 71.25em and above, it is 20px from the right. At 81.25em and above, it is 30px from the bottom.
The `.no-media-div` inside these elements is a flex container that centers its content both horizontally and vertically, taking full width. Its `p` element has a font size of 24px, a font weight of 500, a line height of 115%, uses the `–byline-anchor` color, is bold and underlined, and is displayed as a block.
At 71.25em and above, `.content__main-column–interactive` has no left margin, and its `:before` element is hidden.
An `aside[data-spacefinder-role=supporting]` that contains a `blockquote` inside `.content__main-column–interactive` has a background color of `var(–weekend-essay-bg, #fff4f2)`.
The first `p` element inside `.content__main-column–interactive` has its first letter set to a font weight of 300.
For the first letter of a `p` that follows an `hr`, a `.progress-bar-wrapper`, or has the class `drop-cap`, it uses the font family `Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif`, with a font weight of 300, a font size of 111px, a line height of 92px, is uppercase, floats left, has an 8px right margin, is vertically aligned to the text top, uses border-box sizing, and its color is set to `var(–drop-cap, var(–new-pillar-colour))`.Here is the rewritten text in fluent, natural English:
– Color: #8d2700
– Font size: 28px
– Font style: normal
– Font weight: 300
– Line height: normal
– Margin bottom: 8px
For screens wider than 71.25em, the main column’s h2 headings should have a font size of 32px. If an h2 contains a strong tag, its font weight should be 500.
If a figure contains an iframe, its background color should match the weekend essay background (default: #fff4f2).
On apps (iOS and Android), the byline section should display as a block with a 10px top margin. Any span inside it should have a font size of 14px.
Also on apps, media elements (like divs, figures, and pictures) inside the main media or media sections should have a width set to fit-content.
In dark mode (prefers-color-scheme: dark), the body background should be #1a1a1a, and the weekend essay background should also be #1a1a1a. The decorative line after the article header or title labels should use a white book GIF. The SVG paths in the byline follow wrapper should be white. And the background image before media figures should also use the correct URL.Here’s the rewritten version in fluent, natural English:
“`css
(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1777034148/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.android #feature-article-container .furniture-wrapper .content__labels,
body.android #standard-article-container .furniture-wrapper .content__labels,
body.android #comment-article-container .furniture-wrapper .content__labels,
body.ios #feature-article-container .furniture-wrapper h1.headline,
body.ios #standard-article-container .furniture-wrapper h1.headline,
body.ios #comment-article-container .furniture-wrapper h1.headline,
body.android #feature-article-container .furniture-wrapper h1.headline,
body.android #standard-article-container .furniture-wrapper h1.headline,
body.android #comment-article-container .furniture-wrapper h1.headline {
font-weight: 500;
}
@media (prefers-color-scheme: light) {
html:has(body.ios, body.android) {
background-color: var(–weekend-essay-bg, #fff4f2);
}
}
html:has(body.ios, body.android) body.ios,
html:has(body.ios, body.android) body.android {
–opinion-primary: #c74600;
–byline-anchor: var(–opinion-primary, #c74600);
–primary-pillar: var(–opinion-primary, #c74600);
}
@media (prefers-color-scheme: light) {
html:has(body.ios, body.android) body.ios,
html:has(body.ios, body.android) body.android {
background-color: var(–weekend-essay-bg, #fff4f2);
}
}
@media (prefers-color-scheme: dark) {
html:has(body.ios, body.android) body.ios,
html:has(body.ios, body.android) body.android {
–weekend-essay-bg: #1a1a1a;
–opinion-primary: #ff7f0f;
}
html:has(body.ios, body.android) .garnett–pillar-opinion:not(.garnett–type-media).ios .article__body,
html:has(body.ios, body.android) .garnett–pillar-opinion:not(.garnett–type-media).ios .tags {
background-color: unset;
}
}
body.ios #feature-article-container,
body.ios #standard-article-container,
body.ios #comment-article-container,
body.android #feature-article-container,
body.android #standard-article-container,
body.android #comment-article-container {
background-color: var(–weekend-essay-bg, #fff4f2);
}
@media (min-width: 61.25em) {
body.ios #feature-article-container .furniture-wrapper,
body.ios #standard-article-container .furniture-wrapper,
body.ios #comment-article-container .furniture-wrapper,
body.android #feature-article-container .furniture-wrapper,
body.android #standard-article-container .furniture-wrapper,
body.android #comment-article-container .furniture-wrapper {
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] 0.25fr [title-end headline-start] 1fr [headline-end standfirst-start] 1.25fr [standfirst-end meta-start] auto [meta-end portrait-end];
}
}
body.ios #feature-article-container .furniture-wrapper .title-and-gif-wrapper,
body.ios #standard-article-container .furniture-wrapper .title-and-gif-wrapper,
body.ios #comment-article-container .furniture-wrapper .title-and-gif-wrapper,
body.android #feature-article-container .furniture-wrapper .title-and-gif-wrapper,
body.android #standard-article-container .furniture-wrapper .title-and-gif-wrapper,
body.android #comment-article-container .furniture-wrapper .title-and-gif-wrapper {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
position: relative;
}
body.ios #feature-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.ios #standard-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.ios #comment-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.android #feature-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.android #standard-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.android #comment-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels {
/ content continues here /
}
“`Here’s the rewritten CSS in fluent, natural English:
The `.furniture-wrapper .title-and-gif-wrapper .content__labels` has a font size of 17px, normal style, bold weight, and 115% line height.
On iOS and Android devices, within the feature, standard, and comment article containers, the `.furniture-wrapper .title-and-gif-wrapper .content__labels a` uses the color `var(–new-pillar-colour, #c74600)` and has no text transformation.
Also on iOS and Android, in the same article containers, the `.gif-container` and its images inside `.title-and-gif-wrapper` are set to 70px wide and 70px tall.
For the `.book-gif-white` class inside the `.gif-container` and its images, on both iOS and Android across all article containers, the display is set to none.
In dark mode (when the user’s system prefers a dark color scheme), on iOS and Android, the `.book-gif` class inside the `.gif-container` and its images is hidden (display none).On Android devices, the following elements are hidden:
– `.book-gif` inside `.gif-container` or `img.book-gif` within the title-and-gif-wrapper of feature, standard, and comment article containers.
On both iOS and Android, the `.book-gif-white` versions (in the same containers) are displayed as block elements.
For both iOS and Android, after the title-and-gif-wrapper in feature, standard, and comment article containers, a 1-pixel-wide, full-viewport-width line is added at the bottom, positioned 10 pixels to the left, with a light gray color (#dcdcdc).
When the screen width is at least 61.25em (about 980px), the title-and-gif-wrapper is placed in the “title” grid area, and the line width is reduced to half the viewport width (50vw).
In dark mode (prefers-color-scheme: dark), the line color remains the same for both iOS and Android.Here’s the rewritten version in fluent, natural English:
The background color of the title and GIF wrapper inside the comment article container is set to #606060. On screens wider than 61.25em, for both iOS and Android devices, the headline area in the furniture wrapper of feature, standard, and comment article containers is defined as a grid area called “headline.”
For iOS and Android devices, the headline, byline, and byline links in the furniture wrapper of feature, standard, and comment article containers all have a font size of 36px, normal font style, a font weight of 500, and a line height of 115%.
Also on these devices, the byline, byline text, and byline links in the same containers use a color that matches the new pillar color, which defaults to #c70000.
In dark mode, the byline styling for iOS and Android devices in these article containers follows the same rules.On iOS and Android, for feature, standard, and comment article containers, the byline links and text inside `.furniture-wrapper .meta__byline` should use the new pillar color (defaulting to `#c74600`) with `!important`. Also, hide the avatar in those byline sections with `display: none !important`. For the headline (`h1.headline`) in the same containers, set `margin-bottom` and `padding-bottom` to `0`. Make the byline text italic (`font-style: italic !important`), but keep the author name inside `.byline__author` normal (`font-style: normal !important`). Finally, for the main media element (`#main-media`), set its height to `auto`, aspect ratio to `4/5`, and background color to transparent.Here’s the rewritten version in fluent, natural English:
The main media figure inside the wrapper should take up the full height and have no left margin. On iOS and Android devices, the inner part of the figure in article containers should be positioned normally (top and left set to zero). The background of the element’s inner section should be transparent, with no overflow hidden and no padding.
Images inside these figures should be as wide as the screen minus 40 pixels, with a 20-pixel left margin and a 25-pixel top margin. However, if the image is inside the element’s inner section, the top margin should be reduced to 13 pixels.
The caption for the figure should automatically adjust its height. Any text inside the caption, including paragraphs and spans, should display normally without extra styling.Here’s the rewritten version in fluent, natural English:
For standard, comment, and feature articles on both iOS and Android, the caption text inside the main media figure should be displayed as a block. It should not have a maximum height, should be positioned relatively, and its color should be set to the caption text variable (which defaults to #999).
When the screen width is at least 46.25em (about 740px), the main media figure should not have a maximum width. Also, a pseudo-element before the figure should be positioned 10px from the left and have a width equal to the viewport width minus 20px. The image inside the figure should have a width equal to the viewport width minus 60px, with a left margin of 30px and a top margin of 40px.
When the screen width is at least 61.25em (about 980px), the pseudo-element before the figure should have a width equal to half the viewport width minus 20px, minus the scrollbar width (if any).Here’s the rewritten version in fluent, natural English:
For images inside the main media section on iOS and Android devices, the width is set to half the viewport width minus 40 pixels and the scrollbar width. The image is moved 18 pixels to the left, keeps its original height, has no padding, and has a 10-pixel top margin.
When the screen is at least 71.25em wide, the top position of the decorative element before the image is shifted up by 4 pixels.
When the screen is at least 81.25em wide, the decorative element is moved 20 pixels to the left. The image width becomes half the viewport width minus 90 pixels and the scrollbar width, with a 12-pixel left margin. The image keeps its height, has a negative top margin of 10 pixels, and gains 21 pixels of top padding.
In dark mode, the decorative element uses a white frame image instead of the default.
For the first image in the main media section on iOS and Android, the decorative element spans the full viewport width minus 20 pixels and the scrollbar width, starting from the left edge.Here’s the rewritten version in fluent, natural English:
For the first image in an article, the image width is set to fill the full screen width minus 20 pixels and the scrollbar width. It has no left margin and includes 10 pixels of padding.
On screens wider than 61.25em (about 980px), the image width is reduced to half the screen width minus 30 pixels and the scrollbar width. It gets a 5-pixel left margin, keeps its height proportional, and adds 21 pixels of top padding.
On screens wider than 81.25em (about 1300px), the image width is further reduced to half the screen width minus 70 pixels and the scrollbar width. It still has a 5-pixel left margin, maintains its height, and adds 21 pixels of top padding, but also shifts upward by 10 pixels.
For screens wider than 61.25em, the image container itself is set to full height with a maximum width of 620 pixels. A pseudo-element before the container spans half the screen width minus 20 pixels and the scrollbar width, aligned to the left, and fills the full height.
For screens wider than 81.25em, that pseudo-element width is reduced to half the screen width minus 70 pixels and the scrollbar width, still aligned left and filling the full height.Here’s the rewritten version in fluent, natural English:
The `.furniture-wrapper #main-media figure.element.is-first-image:before` has a left offset of -20px.
For screens wider than 46.25em (740px), on both iOS and Android devices, the caption button inside the main media area of feature, standard, and comment articles is positioned 45px from the bottom.
For screens wider than 61.25em (980px), on both iOS and Android devices, the main media area in these article types is set to a grid area called “portrait,” with a maximum width of 620px and automatic height.
On both iOS and Android, in all three article types, the figure elements inside the furniture wrapper are positioned relatively with no top margin. Their inner content (`.figure__inner`) is placed absolutely, 15px from the top and 20px from the left, with a width of the full viewport minus 40px and automatic height. Images inside these inner containers fill the full width and height, using `object-fit: cover`.
The caption button inside these figure elements is positioned 24px from the right and 20px from the bottom.
For screens wider than 46.25em (740px), on both iOS and Android, the inner content of these figure elements is 680px wide with automatic height, positioned 10px from the top and 10px from the left.For the caption button inside figure elements within the furniture wrapper on iOS and Android devices, the bottom position is set to 25px. This applies to feature, standard, and comment article containers.
On screens wider than 61.25em, the figure element inside the furniture wrapper on iOS and Android devices has a width calculated as half the viewport width minus 20px, minus the scrollbar width if present.
For the standfirst section inside the furniture wrapper on iOS and Android devices, the top margin is removed, and it has 8px of padding on top and 10px on the right. The pseudo-element before the standfirst is hidden.
Inside the standfirst, paragraphs, links, and list items have a font size of 20px, normal font style, medium font weight, 115% line height, and no bottom padding.
On screens wider than 61.25em, the standfirst section is placed in the grid area named “standfirst.”
The meta section inside the furniture wrapper on iOS and Android devices is also styled accordingly.For Android:
In `#standard-article-container .furniture-wrapper .meta` and `#comment-article-container .furniture-wrapper .meta`, set `padding-top: 0 !important`.
For iOS and Android:
In `#feature-article-container .furniture-wrapper .meta .meta__published`, `#standard-article-container .furniture-wrapper .meta .meta__published`, and `#comment-article-container .furniture-wrapper .meta .meta__published`, set `position: relative`.
Then, for each of those `.meta__published` elements, add a `:after` pseudo-element with:
– `content: “”`
– `display: block`
– `width: 100vw`
– `height: 1px`
– `background-color: #dcdcdc`
– `position: absolute`
– `bottom: 0`
– `left: -10px`
At screens 61.25em and wider:
For iOS and Android, in `#feature-article-container .furniture-wrapper .meta`, `#standard-article-container .furniture-wrapper .meta`, and `#comment-article-container .furniture-wrapper .meta`, set:
– `grid-area: meta`
– `display: block`
Also, for the `.meta__published:after` in those containers, change `width` to `50vw`.
At screens 81.25em and wider:
For iOS and Android, in `#feature-article-container .furniture-wrapper .meta .meta__misc`, `#standard-article-container .furniture-wrapper .meta .meta__misc`, and `#comment-article-container .furniture-wrapper .meta .meta__misc`, set `margin-left: 0`.
In dark mode (prefers-color-scheme: dark):
For iOS and Android, change the `background-color` of `.meta__published:after` in all those containers to `#606060`.
Finally, for iOS and Android:
In `#feature-article-container .furniture-wrapper .meta:before`, `#feature-article-container .furniture-wrapper .keyline:before`, `#standard-article-container .furniture-wrapper .meta:before`, `#standard-article-container .furniture-wrapper .keyline:before`, `#comment-article-container .furniture-wrapper .meta:before`, and `#comment-article-container .furniture-wrapper .keyline:before`, set `display: none`.“`css
.rapper .meta:before,
body.android #comment-article-container .furniture-wrapper .keyline:before {
display: none;
}
body.ios #feature-article-container .furniture-wrapper aside.element-rich-link,
body.ios #standard-article-container .furniture-wrapper aside.element-rich-link,
body.ios #comment-article-container .furniture-wrapper aside.element-rich-link,
body.android #feature-article-container .furniture-wrapper aside.element-rich-link,
body.android #standard-article-container .furniture-wrapper aside.element-rich-link,
body.android #comment-article-container .furniture-wrapper aside.element-rich-link {
display: none;
}
body.ios #feature-article-container #comment-header #cutout-container,
body.ios #standard-article-container #comment-header #cutout-container,
body.ios #comment-article-container #comment-header #cutout-container,
body.android #feature-article-container #comment-header #cutout-container,
body.android #standard-article-container #comment-header #cutout-container,
body.android #comment-article-container #comment-header #cutout-container {
display: none !important;
}
body.ios #article-body,
body.ios #feature-body,
body.android #article-body,
body.android #feature-body {
background-color: var(–weekend-essay-bg, #fff4f2);
margin-top: 6px;
}
body.ios #article-body hr,
body.ios #feature-body hr,
body.android #article-body hr,
body.android #feature-body hr {
height: 1px;
border: 0;
margin-bottom: 3px;
background-color: #dcdcdc;
width: 150px;
margin-left: 0;
margin-top: 48px;
}
body.ios #article-body p:not(:has(span)):first-of-type:first-letter,
body.ios #article-body hr + p:first-letter,
body.ios #feature-body p:not(:has(span)):first-of-type:first-letter,
body.ios #feature-body hr + p:first-letter,
body.android #article-body p:not(:has(span)):first-of-type:first-letter,
body.android #article-body hr + p:first-letter,
body.android #feature-body p:not(:has(span)):first-of-type:first-letter,
body.android #feature-body hr + p:first-letter {
font-family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif;
font-weight: 300 !important;
font-size: 111px;
line-height: 92px;
float: left;
text-transform: uppercase;
box-sizing: border-box;
margin-right: 8px;
vertical-align: text-top;
color: var(–drop-cap, var(–secondary-pillar));
}
body.ios #article-body h2:has(strong),
body.ios #article-body .prose h2 strong,
body.ios #article-body .prose h2 b,
body.ios #feature-body h2:has(strong),
body.ios #feature-body .prose h2 strong,
body.ios #feature-body .prose h2 b,
body.android #article-body h2:has(strong),
body.android #article-body .prose h2 strong,
body.android #article-body .prose h2 b,
body.android #feature-body h2:has(strong),
body.android #feature-body .prose h2 strong,
body.android #feature-body .prose h2 b {
font-weight: 500 !important;
}
@media (prefers-color-scheme: dark) {
body.ios #article-body hr,
body.ios #feature-body hr,
body.android #article-body hr,
body.android #feature-body hr {
background-color: #606060;
}
body.ios #article-body hr + p:first-letter,
body.ios #feature-body hr + p:first-letter,
body.android #article-body hr + p:first-letter,
body.android #feature-body hr + p:first-letter {
color: var(–new-pillar-colour, #ff5943);
}
body.ios #article-body p > a,
body.ios #feature-body p > a,
body.android #article-body p > a,
body.android #feature-body p > a {
text-decoration: none !important;
}
}
body.ios #article-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #feature-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
body.android #article-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
body.android #feature-body > div .element-atom:first-of-type + p:first-of-type:first-letter {
font-weight: 500;
}
body.ios #comment-body .element-atom + p:first-of-type:first-letter,
body.ios #comment-body .element-atom + .sign-in-gate + p:first-of-type:first-letter,
body.ios #comment-body .element-atom + #sign-in-gate + p:first-of-type:first-letter,
body.ios [data-gu-name=”body”] .element-atom + p:first-of-type:first-letter,
body.ios [data-gu-name=”body”] .element-atom + .sign-in-gate + p:first-of-type:first-letter,
body.ios [data-gu-name=”body”] .element-atom + #sign-in-gate + p:first-of-type:first-letter,
body.android #comment-body .element-a
“`Here’s the rewritten version in fluent, natural English:
Last month, Ryan Gosling spoke to an audience about to watch his new film. “It’s not your job to keep cinemas open,” he told them. “It’s our job to make things worth leaving your house for. This movie is for you. Enjoy the ride!” It’s no surprise they applauded.
This approach is very different from what studios did right after the Covid crisis. Back then, they thought the best way to get people out of their homes and into theaters was to lecture them about it. That turned out to be a big mistake. Audiences voted with their feet—by putting on their slippers and turning on Netflix instead. Big-budget films flopped, and 40% of screens in the US closed.
A problem that had been in the rear-view mirror—the rise of streaming—suddenly became front and center. And the situation has remained tough ever since. Projections suggest the box office might not bounce back to pre-pandemic levels until 2030, assuming no more disasters happen.
As for Gosling, he first tried flattering audiences—and taking responsibility for his industry’s future—in the summer of 2023. That was when he was promoting Barbie, which earned $1.4 billion (£1.2 billion) and became the highest-grossing film of the year. So far in 2026, the biggest opening weekend belongs to Gosling’s new movie, Project Hail Mary, which made $141 million in its first three days and has now earned $577 million total.
But Mary will almost certainly be overtaken by Michael, Antoine Fuqua’s biopic about Michael Jackson. These two films—and Barbie too—share some key similarities. Their marketing relies on the idea that they were made for that vague group called “the fans,” not for film buffs or critics. Going to see them is a treat. An event, even. So enjoy! And for heaven’s sake, don’t overthink it.
Michael is currently on track to earn $165 million in its first three days. Less than half of that will come from the US, but it’s still likely to have the biggest domestic opening ever for a music biopic.Both Straight Outta Compton ($60 million) and Bohemian Rhapsody ($51 million) were big hits. Michael shares a producer, Graham King, with the Freddie Mercury film, which ended up earning $911 million—making it the biggest music biopic ever by over $600 million.
To add to those box office records, Michael is also the most expensive music biopic ever made, with a final budget of around $200 million. About $50 million of that went toward reshoots after the producers realized that a legal settlement with one of the men who had accused Jackson of sexual assault meant they had to scrap the entire third act.
The original version of the film showed how these allegations affected Jackson. Since then, director Fuqua has spoken about them with skepticism, saying, “Sometimes people do some nasty things for some money.” The movie also avoids other allegations that have come out against Jackson by ending the story in 1988.
All of this helps explain the harsh reviews Michael got when it came out. Peter Bradshaw of the Guardian called it “a frustratingly shallow, inert picture,” and Alissa Wilkinson of the New York Times said it was “insulting both to audience and subject.” There were many other negative reviews too.
But will any of that matter to audiences? Given what else people buying tickets for Michael are choosing to overlook, a bad review probably won’t stop them.
Michael isn’t just a turning point for music biopics. Its likely outcome—many predict it will earn over $1 billion—seems to confirm some striking new realities about the current state of the industry. The main takeaway appears to be that when it comes to objectivity, honesty, and truth, audiences will always choose the chance to sing along.
“Fans want to see someone dance and hear the greatest hits, and they don’t really care whether the story resembles reality in any way,” says Steven Gaydos, a former executive editor of Variety.
Director Kevin Macdonald agrees. His career includes both documentaries (the Oscar-winning One Day in September, plus films about Whitney Houston, Mick Jagger, Bob Marley, and John Lennon) and fiction (State of Play, Black Sea). “Audiences don’t seem to care about truth,” he says. “Many of these films are pure fan service. That’s fine as far as it goes. Maybe we were all naive for believing that popular artists were worth looking at seriously or critically.”
He thinks the broader the strokes, the more predictable the clichés, and the more obvious the song choices, the bigger the impact. “The audience for these films knows what they’ll get—and no matter how bland the storytelling is, the music will be reliably great.” He credits Bohemian Rhapsody’s success to its recreation of the last 10 minutes of Live Aid.
“It was rapturous and completely immersive—in a way I don’t remember the original TV performance being. Ironically, cinemas are staying open because music sounds so great in surround sound and Dolby Atmos.”
This truth helps explain why the music biopic is stuck in such a compromising loop. If what people want is a basic jukebox experience like stage shows such as MJ: The Musical ($319 million in five years), the main concern for producers is getting access to the hits. Without those—as Andre 3000’s Jimi Hendrix film ($600,000) and Johnny Flynn’s David Bowie biopic ($62,000) show, not to mention the famously awful 2004 Michael Jackson biopic Man in the Mirror (which debuted on VH1)—you might as well not bother.
But these rights come at a cost. Whoever controls the songs also controls the story. Audiences seem fine with that trade-off. But what about the directors? “Even the most celebrated filmmakers in Hollywood seem perfectly fine with doing authorized biographies,” says Gaydos. “Once you sign on with the fa…”When you’re hearing from the family or the celebrity themselves, you’re getting their version of reality. So it’s often just blatantly false.”
He points to an earlier example: Martin Scorsese’s acclaimed Bob Dylan documentaries, where the musician is mostly questioned not by Scorsese, but by his own lawyer, Jeff Rosen. That same Jeff Rosen worked as a producer on A Complete Unknown, the recent Dylan biopic starring Timothée Chalamet.
Not that Dylan really needed that oversight. “Bob read every line of that script,” says Gaydos. “The movie is 100% Bob Dylan’s take on the Bob Dylan story. And artistically, I think it suffers a lot because of that.”
Commercially, though, the film was a hit: $141 million at the box office, plus it introduced Gen Z to the now 84-year-old Dylan, which could pay off down the line. Its success led to the greenlighting of a Bruce Springsteen biopic, Deliver Me From Nowhere, which was also made with the subject’s close involvement.
But the formula isn’t foolproof. Despite the star power of Jeremy Allen White and a big promotional push from Springsteen himself, the movie—which focused on recording the 1982 album Nebraska in Springsteen’s bedroom—only made $45 million, $10 million less than its production budget.
“I don’t think the Springsteen movie failed because it was a whitewash,” says Gaydos. “It failed because it was really boring. Nobody seems to care that James Mangold or Martin Scorsese signed on to make movies that are basically approved by the person they’re about. But I think that’s a dangerous trend.”
While broadcasters like the BBC wouldn’t currently allow the estate to have control, says Macdonald, the fact that streamers are willing to do so means the future looks grim. “Most of those celebrity documentary films and series don’t require any kind of objectivity. Estates and living celebrities are happy to take producer credits on films about themselves. It’s no secret. The whole idea that an artist should be examined journalistically has gone the way of Top of the Pops.”
Plus, the financial power of these estates gives them an advantage most filmmakers can’t match. “The saddest example was Ezra Edelman’s series about Prince. He spent years working on it, only for the estate to shut it down because it showed Prince in a way they thought was bad for business.”
Macdonald himself made a series about Oprah Winfrey a few years ago, where he and his producer had final say. “But Oprah decided she didn’t like how she was portrayed and bought the entire film from the streamer that funded it.”
For a full century, biopics were seen as melodramatic trash. The first one, about Joan of Arc, came out in 1900. The next ten decades were filled with flashy, ridiculous versions of celebrity lives—along with a few good ones.
Still, the general feeling in Hollywood and beyond was that the genre was a bit of a joke. It seemed dishonest to think you could fit an accurate story into two hours. Anything complicated would be the first thing cut.
It took 100 years for a wave of filmmakers to realize that including tough moments—adding some grit to the mix—could make a movie that was both popular and believable.
In 2004, Jamie Foxx’s technically flawless and emotionally complex portrayal of Ray Charles won him the Academy Award for Best Actor. A year later, for Walk the Line, Reese Witherspoon’s June Carter Cash won Best Actress (though Joaquin Phoenix’s Johnny Cash lost to Philip Seymour Hoffman’s Truman Capote).
Between 2000 and 2019, 55% of Best Actor and Best Actress Oscars went to performances in biopics. Over the past four years, the genre has earned 63 Oscar nominations. Yet at the same time, hagiography has come back as a requirement for success.
Baz Luhrmann’sThe authorized Elvis (2022) was packed with hit songs, painted Presley’s manager as the villain, and earned praise from his family. It made $287 million and got eight Oscar nominations. On the other hand, Sofia Coppola’s unauthorized Priscilla (2023) painted Elvis in a bad light, was rejected by his family, and featured music by Coppola’s husband. It received zero Oscar nominations and made $33 million.
At the same time, an industry already struggling with streaming services and hit hard by COVID faced new challenges. Interest in superhero movies leveled off. While a Marvel movie’s brand recognition once meant guaranteed profits, Hollywood can no longer rely on spandex.
Live music has taken over as the booming economy of the age. And as concert films like James Cameron’s upcoming Billie Eilish 3D spectacle and the massive hit ($262 million) movie version of Taylor Swift’s Eras tour show, the film industry is more than happy to ride the coattails of the music business. Event cinema is essential, even if the event has little to do with movies.
Meanwhile, the saturation of social media has made everyday interest in celebrities’ lives more intense, intimate, and easy to manipulate. You might think the internet would make biopics unnecessary—if facts and old footage are easy to find, why bother making things up? But in reality, the constant flow of new information about celebrities has only deepened people’s investment in them. At the same time, Instagram, TikTok, and X have gotten people used to the idea that pop stars should fully control their own image—and ruthlessly profit from it.
For an industry in a tight spot, ignoring anything that might turn out to be a lifeline isn’t an option. “Biopics are just another form of mining intellectual property,” says Gaydos. And right now, studios are hungry for “anything that already has a built-in audience—or, I’d argue, is already pre-chewed.”
Films about the exciting breakthroughs of music icons also come with built-in nostalgia—a comforting factor that’s even more appealing for audiences looking to escape the news. “People just love soaking in the memories of being 18,” says Gaydos. “And Hollywood has gotten really good at tapping into that desire to go back to your youth and remember what you wore and who you kissed. It’s not very artistically interesting or solid, but boy, is it good business.”
That brings us to Sam Mendes’s four Beatles movies, the first fictional portrayals of the band that include the rights to use their songs. Both Ringo Starr and Paul McCartney are heavily involved in production, a collaboration balanced by the fact that each film offers a different band member’s perspective. Accusations of whitewashing or bias can be headed off well in advance.
Splitting the story this way also means overall earnings could either be diluted—or multiplied. It’s hard to tell at this point, though what happens this weekend will give some clues.
“There’s not a human being on earth who doesn’t know who Michael Jackson was,” says Gaydos, “and the same goes for the Beatles. If a film can promise to include 14 of their songs on the soundtrack, you’ve got a license to print money.”
Frequently Asked Questions
Here is a list of FAQs about the article Bad movies good business how sanitized biopics became a Hollywood staple written in a natural tone with clear direct answers
BeginnerLevel Questions
Q What is a sanitized biopic
A Its a movie based on a real persons life that leaves out the messy controversial or negative parts It makes the person look nicer simpler and more heroic than they really were
Q Why do studios make these sanitized movies if they arent accurate
A Because they make a lot of money A feelgood inspiring story appeals to a wider audience gets better reviews from casual viewers and is safer for bigbudget marketing Its less risky than a complex dark story
Q Whats an example of a sanitized biopic
A Bohemian Rhapsody is a classic example It played down his wild lifestyle his AIDS diagnosis timeline and the bands internal conflicts to focus on a triumphant concert ending
Q Are all biopics bad movies
A No The articles title is a bit provocative It means that the movies themselves are often criticized as shallow or inaccurate but the business strategy behind them is very smart
Q Who benefits from these sanitized stories
A The film studio the subjects estate or family and audiences who just want an uplifting simple story without having to think too hard
Advanced Critical Questions
Q How does a sanitized biopic differ from a wartsandall biopic
A A wartsandall biopic shows the subjects flaws bad decisions and moral contradictions A sanitized biopic smooths those over often creating a heros journey that doesnt reflect reality
Q What are the specific business reasons studios prefer sanitized biopics
A There are three main reasons
1 Legal Safety The subject or their estate is less likely to sue for defamation
2