Iran's economy is in ruins, and the regime feels more confident than ever. The Iranian people are left to suffer the consequences of war.

Iran's economy is in ruins, and the regime feels more confident than ever. The Iranian people are left to suffer the consequences of 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;
}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 .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 {
//
}
}
“`Here’s the rewritten version 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 interactive grids 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 (about 1300 pixels), the interactive grid layout should use columns of 219px, 1px, 620px, 80px, and 300px.

For iOS and Android devices, the standfirst text in article headers 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 12 pixels of padding at the top. The byline author name should use the Guardian Headline font family with a weight of 700, and any links within it should also be bold. Images with the “element-image” class should have their inner figure height set to “auto”. There should be no top margin on paragraphs that follow an element atom.

The custom font “Guardian Headline Full” is defined in three weights: light (300) with normal and italic styles, using WOFF2, WOFF, and TTF formats from the Guardian’s asset server.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?Here’s 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-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;
}

@media (min-width: 46.25em) {
[data-gu-name=”media”]:has(figure.cinemagraph) .cine {
/ styles here /
}
}
“`Here is the rewritten text in fluent, natural English:

Remove the max-height limit on div elements inside magraph.
For the body section, make self-hosted video islands full width, up to 620px, and display them as block elements with 12px top and bottom margins.
Inside those islands, make figure.loop and its video fill the full width, keep the height automatic, cap the width at 620px, and center them horizontally.
If a self-hosted video island contains a figure.loop with the class element-video-immersive, remove the max-width limit and set the margin to 12px on top and bottom, with zero on the sides.
For that immersive video, also remove the max-width on the figure and video, and set their margins to zero.

On screens wider than 71.25em (1140px), make the immersive video island 1140px wide and shift it 180px to the left.
For the figure caption inside it, add a 20px left margin.

On screens wider than 81.25em (1300px), make the immersive video island 1300px wide and shift it 260px to the left.

Define these CSS custom properties:
– dateline: #606060
– headerBorder: #dcdcdc
– captionText: #999
– captionBackground: hsla(0, 0%, 7%, 0.72)
– feature: #c70000
– new-pillar-colour: falls back to the primary pillar variable, or to feature

Also set:
– subheading-text, pullquote-text, and pullquote-icon to the secondary pillar variable
– block-quote-text to the article text variable

For blockquotes, set the block-quote-fill to the secondary pillar variable.

If the user prefers a dark color scheme and hasn’t set a light color scheme, override:
– subheading-text, pullquote-text, and pullquote-icon to the dark mode pillar variable
– block-quote-fill to the dark mode pillar variable

Remove padding from element-atom elements inside interactive main columns and elsewhere.

In the article body, interactive content, comment body, and feature body, when an element-atom or a horizontal rule (that isn’t the last one) is followed by a paragraph, add 14px of padding to the top of that paragraph.

For the first letter of that paragraph, no special styling is applied.Here is the rewritten text in fluent, natural English:

The first letter of the first paragraph after certain elements (like the sign-in gate, horizontal rules, or specific containers) is styled with a large, bold, uppercase drop cap. It uses the Guardian Headline font family, is 111px tall, and floats to the left. It has a right margin of 8px, aligns vertically to the top of the text, and takes its color from a custom property called `–drop-cap` (or falls back to `–new-pillar-colour`).

Paragraphs that come right after a horizontal rule have no top padding.

Pull quotes inside the main article body, comment section, or feature body are limited to a maximum width of 620px.

For showcase images in the main content, feature, standard, or comment article containers, the caption is positioned statically and spans the full width, up to 620px. On screens wider than 71.25em, the caption becomes absolutely positioned and is limited to 140px wide. On screens wider than 81.25em, the caption can be up to 220px wide.

Immersive elements take up the full viewport width (minus the scrollbar). On smaller screens (up to 71.24em), they are capped at 978px wide, and their captions have 10px of padding on each side. On screens between 30em and 71.24em, the caption padding increases to 20px. Between 46.25em and 61.24em, immersive elements are capped at 738px. On screens narrower than 46.24em, they shift 10px to the left (or 20px on screens wider than 30em), and captions again get 20px of padding.

On screens wider than 71.25em, showcase images in the body or interactive main column are shifted 160px to the left. On screens wider than 81.25em, that left margin increases to 240px.

Finally, on screens wider than 61.25em, the furniture wrapper becomes a grid layout with a 20px column gap, no row gap, and a template that starts with a title and a headline star.The layout uses a grid with columns defined as: [title-start, headline-start, meta-start] repeat(5, 1fr) [title-end, headline-end, meta-end, standfirst-start] repeat(5, 1fr) [portrait-end]. The rows are: [title-start, portrait-start] 0.25fr [title-end, headline-start] 1fr [headline-end, standfirst-start] 0.75fr [standfirst-end, meta-start] auto [meta-end, portrait-end].

In the furniture wrapper, the first child of the headline section has a top border of 1px solid using the variable –headerBorder. The meta section is positioned relatively, with 2px padding on top and no right margin. The standfirst content has a bottom margin of 4px. List items in the standfirst have a font size of 20px. Links in the standfirst have no bottom border, no background image, and are underlined with a 6px offset, using the –headerBorder color (default #dcdcdc). On hover, the underline color changes to –new-pillar-colour. The first paragraph in the standfirst has a top border of 1px solid –headerBorder and no bottom padding.

For screens wider than 61.25em and 71.25em, the first paragraph in the standfirst has no top border. For screens wider than 61.25em, figures have a left margin of 0 and a left offset of -10px. Inline figures with data-spacefinder-role have a max width of 630px.

For screens wider than 71.25em, the grid columns change to: [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]. Rows become: [title-start, portrait-start] 80px [title-end, headline-start] auto [headline-end, standfirst-start, meta-start] auto [standfirst-end, meta-end, portrait-end]. The meta section has a pseudo-element with a 540px wide line at the top, colored with –headerBorder. Standfirst paragraphs have no top border. The standfirst also has a pseudo-element with a 1px wide line on the left, full height, positioned at the top and 0.5px from the left.

For screens wider than 81.25em, the grid columns are: [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]. Rows are: [title-start, portrait-start] 0.25fr [title-end, headline-start] 1fr [headline-end, standfirst-start, meta-start] 0.75fr [standfirst-end, meta-end, portrait-end]. The meta pseudo-element is 620px wide, and the standfirst pseudo-element is positioned at -0.5px from the left.

In the article header, the labels section has 2px padding on top. The headline h1 has no additional styling specified.Here is the rewritten text in fluent, natural English:

h1 {
font-weight: 600;
max-width: 620px;
font-size: 32px;
}

@media (min-width: 71.25em) {
.furniture-wrapper #headline h1,
.furniture-wrapper [data-gu-name=headline] h1,
.furniture-wrapper .headline h1 {
max-width: 540px;
font-size: 50px;
}
}

@media (min-width: 46.25em) {
.furniture-wrapper .keyline-4,
.furniture-wrapper [data-gu-name=lines] {
margin-right: 0;
}
}

@media (min-width: 61.25em) {
.furniture-wrapper .keyline-4,
.furniture-wrapper [data-gu-name=lines] {
display: none;
}
}

.furniture-wrapper .keyline-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 {
/ The original text ends here, so no additional content is added. /
}Here is the rewritten text in fluent, natural English:

On iOS and Android, the first letter of the first paragraph after the first element atom (or sign-in gate) in article containers uses the secondary pillar color (defaulting to black). The article header is hidden (height set to 0). The furniture wrapper has 4px top padding and 10px side padding. Inside it, content labels are bold, use the Guardian Headline font family, and are capitalized with the new pillar color. The headline (h1) is 32px, bold, with 12px bottom padding and a dark color (#121212). Images inside the furniture wrapper are positioned relative, with a 14px top margin and a negative left margin of 10px, spanning the full viewport width minus the scrollbar. The figure inner and image elements follow the same styling.Here’s the rewritten version in fluent, natural English:

For iOS and Android devices, the image elements inside the furniture wrapper in feature, standard, and comment article containers should have a transparent background. Their width should be set to the full viewport width minus the scrollbar width, and the height should automatically adjust without being forced.

For the standfirst sections in these containers on both iOS and Android, add 4 pixels of padding on top and 24 pixels on the bottom, with a negative right margin of 10 pixels.

The paragraph text inside the standfirst should use the font family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, or serif.

Links inside the standfirst (including those in list items) should use the pillar colour, have no background image, and be underlined with a 6-pixel offset. The underline colour should match the header border (usually #dcdcdc), and there should be no bottom border.

When hovering over these links, the same styles should apply.Here’s the rewritten version in fluent, natural English:

When you hover over links inside the standfirst of an article on Android, the underline color changes to match the pillar color. This applies to feature, standard, and comment articles.

On both iOS and Android, the meta section (which includes the byline and author information) has no margin. The byline text, author names, and any links within them all use the pillar color.

The meta__misc section has no padding on both iOS and Android. Any SVG icons in this section use the pillar color for their stroke.

For showcase elements in feature, standard, and comment articles on iOS, the caption button styling is also affected.On Android, the caption button inside the furniture wrapper for feature, standard, and comment articles is styled as a flex container. It has 5px padding, centered content both horizontally and vertically, and is 28px wide and 28px tall, positioned 14px from the right.

For both iOS and Android, the article body in feature, standard, and comment articles has 0 padding on the top and bottom, and 12px padding on the left and right.

On both platforms, image elements inside the article body that are not thumbnails or immersive have no margin. Their width is calculated as the full viewport width minus 24px and the scrollbar width (if any), and their height is automatic. The captions for these images have no padding.

Immersive image elements on both platforms have a width equal to the full viewport width minus the scrollbar width.

For quoted blockquotes inside the article body on both platforms, the color of the quotation mark before the text is set by the new pillar color variable.

Links inside the article body on both platforms use the primary pillar color. They have no background image, are underlined with a 6px offset, and the underline color is set by the header border variable.On iOS and Android, when you hover over a link inside the article body (in feature, standard, or comment articles), the underline color changes to match the new pillar color.

In dark mode (when the device prefers a dark color scheme), the furniture wrapper background turns to #1a1a1a. The content labels inside the wrapper also take on the new pillar color. The main headline (h1) no longer has a background color and uses the header border color instead. The standfirst text and its links, as well as the byline author and their links, all use the new pillar color. Finally, any SVG icons in the meta section use a stroke color that matches the pillar color.Here’s the rewritten version in fluent, natural English:

“`css
ar(–new-pillar-colour)
}

/ iOS and Android: Caption color for showcase images in feature, standard, and comment articles /
body.ios #feature-article-container .furniture-wrapper figure.element-image.element–showcase figcaption,
body.ios #standard-article-container .furniture-wrapper figure.element-image.element–showcase figcaption,
body.ios #comment-article-container .furniture-wrapper figure.element-image.element–showcase figcaption,
body.android #feature-article-container .furniture-wrapper figure.element-image.element–showcase figcaption,
body.android #standard-article-container .furniture-wrapper figure.element-image.element–showcase figcaption,
body.android #comment-article-container .furniture-wrapper figure.element-image.element–showcase figcaption {
color: var(–dateline);
}

/ iOS and Android: Quote color in article body for feature, standard, and comment articles /
body.ios #feature-article-container .article__body .prose blockquote.quoted,
body.ios #standard-article-container .article__body .prose blockquote.quoted,
body.ios #comment-article-container .article__body .prose blockquote.quoted,
body.android #feature-article-container .article__body .prose blockquote.quoted,
body.android #standard-article-container .article__body .prose blockquote.quoted,
body.android #comment-article-container .article__body .prose blockquote.quoted {
color: var(–new-pillar-colour);
}

/ iOS and Android: Background color for article body sections in feature, standard, and comment articles /
body.ios #feature-article-container #article-body > div,
body.ios #feature-article-container .content–interactive > div,
body.ios #feature-article-container #feature-body,
body.ios #feature-article-container [data-gu-name=”body”],
body.ios #feature-article-container #comment-body,
body.ios #standard-article-container #article-body > div,
body.ios #standard-article-container .content–interactive > div,
body.ios #standard-article-container #feature-body,
body.ios #standard-article-container [data-gu-name=”body”],
body.ios #standard-article-container #comment-body,
body.ios #comment-article-container #article-body > div,
body.ios #comment-article-container .content–interactive > div,
body.ios #comment-article-container #feature-body,
body.ios #comment-article-container [data-gu-name=”body”],
body.ios #comment-article-container #comment-body,
body.android #feature-article-container #article-body > div,
body.android #feature-article-container .content–interactive > div,
body.android #feature-article-container #feature-body,
body.android #feature-article-container [data-gu-name=”body”],
body.android #feature-article-container #comment-body,
body.android #standard-article-container #article-body > div,
body.android #standard-article-container .content–interactive > div,
body.android #standard-article-container #feature-body,
body.android #standard-article-container [data-gu-name=”body”],
body.android #standard-article-container #comment-body,
body.android #comment-article-container #article-body > div,
body.android #comment-article-container .content–interactive > div,
body.android #comment-article-container #feature-body,
body.android #comment-article-container [data-gu-name=”body”],
body.android #comment-article-container #comment-body {
background-color: var(–darkBackground) !important;
}

/ iOS and Android: First letter styling after element-atom in article body sections /
body.ios #feature-article-container #article-body > div .element-atom + p:first-letter,
body.ios #feature-article-container #article-body > div .element-atom + .sign-in-gate + p:first-letter,
body.ios #feature-article-container #article-body > div .element-atom + #sign-in-gate + p:first-letter,
body.ios #feature-article-container .content–interactive > div .element-atom + p:first-letter,
body.ios #feature-article-container .content–interactive > div .element-atom + .sign-in-gate + p:first-letter,
body.ios #feature-article-container .content–interactive > div .element-atom + #sign-in-gate + p:first-letter,
body.ios #feature-article-container #feature-body .element-atom + p:first-letter,
body.ios #feature-article-container #feature-body .element-atom + .sign-in-gate + p:first-letter,
body.ios #feature-article-container #feature-body .element-atom + #sign-in-gate + p:first-letter,
body.ios #feature-article-container [data-gu-name=”body”] .element-atom + p:first-letter,
body.ios #feature-article-container [data-gu-name=”body”] .element-atom + .sign-in-gate + p:first-letter,
body.ios #feature-article-container [data-gu-name=”body”] .element-atom + #sign-in-gate + p:first-letter,
body.ios #feature-article-co
“`

I’ve kept the CSS structure intact while making the comments and selectors easier to read. The meaning and specificity remain the same.Here is the rewritten text in fluent, natural English:

This is a long list of CSS selectors used to style the first letter of a paragraph that comes right after a special content element (called an “element-atom”) in various parts of a website. These selectors apply to different containers and layouts, such as comment sections, feature articles, standard articles, and interactive content. They also target specific platforms like iOS and Android. In each case, the styling is triggered when a paragraph follows an element-atom, with or without a sign-in gate in between.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 article sections, including feature articles, standard articles, and comment articles. The same rule applies whether or not a sign-in gate appears between the element atom and the paragraph.

For comment articles on both iOS and Android, the standfirst section inside the furniture wrapper should have 24 pixels of padding at the top and no margin above it.

In prose sections, heading 2 (h2) should be 24 pixels in font size.

On iOS, the caption button in feature, standard, and comment articles should have 6 pixels of top padding and 5 pixels of left/right padding, with no bottom padding.

On Android, the same caption button should have 4 pixels of top padding and 4 pixels of left/right padding, with no bottom padding.

When the device is in dark mode (and the color scheme isn’t set to light), the follow text should be a light gray (#dcdcdc), and the follow icon fill should use the dark mode pillar color.Here is the rewritten text in fluent, natural English:

The first text uses a light gray color (#dcdcdc) for certain elements. The standfirst text, links, borders, and byline all use the dark mode pillar color.

On iOS and Android devices, within the feature, standard, and comment article containers, the furniture wrapper styles apply to labels, the main headline (h1), and the standfirst paragraph text. These all have a font weight of 500.

The root body uses a soft pink background (#fff4f2) for the weekend essay. This background also applies to the article section and sub-meta areas.

The lines element is hidden.

The furniture wrapper is positioned relatively. On screens wider than 81.25em, it uses a grid layout with specific row heights for the title, portrait, headline, standfirst, and meta sections.

The article header and title area are 70px tall and positioned relatively. Inside, the content labels fill the full height. After the labels, a small 70x70px book icon appears at the bottom right, using a GIF image. On wider screens (81.25em+), this icon grows to 110x110px.

A horizontal line (1px thick, light gray) appears below the labels, spanning the full viewport width. On screens between 46.25em and 61.25em, this line is 738px wide and offset to the left. On screens wider than 61.25em, the line is hidden.

The article header and title area increase in height on larger screens: 80px at 71.25em, and 125px at 81.25em.

At 81.25em and above, the headline section moves up slightly (margin-top: -2px). The headline wrapper inside the portrait main media area is set to full height, with relative positioning and hidden overflow.Here’s the rewritten text in fluent, natural English:

The headline section has hidden padding at the bottom. In the furniture wrapper, the headline titles and links inside the portrait main media wrapper don’t have a maximum width. When you hover over these titles or links, the underline becomes thicker (2px) and moves slightly away from the text (6px offset).

The headline titles, links, and byline text in the portrait main media wrapper have a line height of 115%, a font weight of 500, and a font size of 36px. On screens wider than 71.25em (about 1140px), the font size increases to 50px.

The standfirst section is positioned relatively with 4px of padding on top. On screens wider than 61.25em (about 980px), the top padding is removed. On screens wider than 71.25em, it gets 2px of top padding.

In the meta section, the branding island is displayed as a block element.

The main media section is positioned relatively. On screens wider than 61.25em, it’s placed in the portrait grid area. Any direct child div inside the main media is also positioned relatively. Any div followed by a span is displayed as a block.

Figures inside the main media take up full height and have a left margin of 10px. The images and captions inside these figures have a width equal to the viewport width minus 40px and the scrollbar width. They also have auto height, a 10px left margin, and 10px of padding on top and bottom. The captions have a bottom margin.Here is the rewritten text in fluent, natural English:

Bottom: 10px; padding: 10px.

For the main media figure inside the furniture wrapper, a pseudo-element is added before it. This element displays a background image from a specific URL. The image is set to cover the container, centered, and not repeated. It is positioned absolutely at the top, 10px from the left, and inherits the height of the parent.

On screens wider than 46.25em (about 740px), the figure’s left margin is removed. The image inside the picture element is set to 670px wide, with auto height, a 5px left margin, and 15px top and bottom padding with 10px on the sides. The pseudo-element is now 700px wide and shifted 10px to the left. The caption is 650px wide, with a 15px left margin and bottom margin, and 15px top and bottom padding with 10px on the sides.

On screens wider than 61.25em (about 980px), the pseudo-element narrows to 470px. The image and caption both become 450px wide, with no left margin. The image has 10px padding on top and bottom, and the caption’s bottom margin is reduced to 10px.

On screens wider than 71.25em (about 1140px), the pseudo-element is 550px wide. The image is 520px wide, with a 5px left margin and 10px padding on top and bottom, plus 5px on the sides. The caption is 510px wide, with a 10px left margin and bottom margin.

On screens wider than 81.25em (about 1300px), the pseudo-element is 630px wide. The image is 600px wide, with 15px padding on top and bottom. The caption is also 600px wide, with a 5px left margin and a 15px bottom margin.

The caption button inside the main media is positioned 15px from the right and 20px from the bottom. On screens wider than 46.25em, it moves to 45px from the right and 30px from the bottom. On screens wider than 61.25em, it returns to 15px from the right and 20px from the bottom. On screens wider than 71.25em, it is 20px from the right. On screens wider than 81.25em, it is 30px from the bottom.

If there is no media, a div is displayed as a flex container, centered both horizontally and vertically, taking full width. Inside, a paragraph has a font size of 24px, medium font weight, 115% line height, uses the byline anchor color, is bold and underlined, and is displayed as a block.

On screens wider than 71.25em, the main interactive content column has no left margin, and its pseudo-element is hidden.

An aside element with a supporting role that contains a blockquote inside the main interactive column has a background color set to a variable (defaulting to a light pink).

The first letter of the first paragraph in the main interactive column has a font weight of 300.

The heading level 2 inside the main interactive column…The first letter of paragraphs following `r+p`, `.content__main-column–interactive .progress-bar-wrapper+p`, and `.content__main-column–interactive p.drop-cap` uses the font `Guardian Headline`, `Guardian Egyptian Web`, `Guardian Headline Full`, `Georgia`, or `serif`. It has a font weight of 300, a size of 111px, a line height of 92px, and is displayed in uppercase. It floats left with an 8px right margin, aligns vertically to the text top, uses `box-sizing: border-box`, and its color is set by `–drop-cap` (falling back to `–new-pillar-colour`).

For `.content__main-column–interactive h2`, the color is `#8d2700`, font size is 28px, font style is normal, font weight is 300, line height is normal, and it has an 8px bottom margin. On screens wider than 71.25em, the font size increases to 32px. If the `h2` contains a `` element, its font weight becomes 500.

The `.content__main-column–interactive figure` that contains an “ has a background color set to `–weekend-essay-bg` (falling back to `#fff4f2`). On screens wider than 71.25em, the `figcaption` inside `.element-showcase.element–showcase` is positioned absolutely.

For apps and iOS/Android devices, the `FollowWrapper` component inside `.meta__byline` or `[data-component=meta-byline]` is displayed as a block with a 10px top margin. Its `` elements have a font size of 14px.

In apps and iOS/Android, the `div`, `figure`, and `picture` elements inside `#main-media` or `[data-gu-name=media]` have a width of `fit-content`.

When the user’s system prefers a dark color scheme, the body background for apps and iOS/Android becomes `#1a1a1a`, and `–weekend-essay-bg` is also set to `#1a1a1a`. The `:after` pseudo-elements for `.article-header` and `.content__labels` inside `.furniture-wrapper` use a background image from `https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1779379870/book-white.gif`. Additionally, the `svg path` inside the `FollowWrapper` component in `.meta__byline` or `[data-component=meta-byline]` within `.furniture-wrapper` is also styled.On Android, the path `[data-app-os=android] .furniture-wrapper [data-component=meta-byline] gu-island[name=FollowWrapper] svg path` uses a fill color of `var(–byline-anchor, #ffffff)` with an important flag.

For app rendering targets, the following elements have a background image set to `https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1779379870/frame-white.png` with an important flag:
– `[data-rendering-target=apps] .furniture-wrapper #main-media figure:before`
– `[data-rendering-target=apps] .furniture-wrapper [data-gu-name=media] figure:before`
– On iOS: `[data-app-os=ios] .furniture-wrapper #main-media figure:before` and `[data-app-os=ios] .furniture-wrapper [data-gu-name=media] figure:before`
– On Android: `[data-app-os=android] .furniture-wrapper #main-media figure:before` and `[data-app-os=android] .furniture-wrapper [data-gu-name=media] figure:before`

For the body of iOS and Android pages, the background color is set to white. On these devices, within the furniture wrapper of feature, standard, and comment article containers, the content labels and the headline (h1) have a font weight of 500.

When the user’s system prefers a light color scheme, the background color of the HTML element containing iOS or Android body classes is set to `var(–weekend-essay-bg, #fff4f2)`. For iOS and Android body elements, the opinion primary color is `#c74600`, and the byline anchor uses that same color. In light mode, the background color for these body elements is also `var(–weekend-essay-bg, #fff4f2)`.

In dark mode, for iOS and Android body elements, the weekend essay background becomes `#1a1a1a` and the opinion primary color becomes `#ff7f0f`. Also in dark mode, for opinion pillar articles that are not media type on iOS, the article body and tags have no background color set.

For feature, standard, and comment article containers on iOS and Android, the background color is `var(–weekend-essay-bg, #fff4f2)`.

On screens wider than 61.25em, the furniture wrapper in these containers uses a grid layout with a 20px column gap, no row gap, and 10 columns. The grid template areas are defined as: title, headline, meta, and standfirst start at column 1 and span 5 columns, ending at column 5. Portrait starts at column 6 and spans 5 columns, ending at column 10. The rows are set as: title starts at row 1 with a height of 0.25fr, headline starts at row 2 with a height of 1fr, standfirst starts at row 3 with a height of 1.25fr, meta starts at row 4 with auto height, and portrait spans from row 1 to row 4.

The title and GIF wrapper within the furniture wrapper of these containers is also styled accordingly.Here’s the rewritten version in fluent, natural English:

The layout uses flexbox with items arranged in a row, spaced evenly, and positioned relative to the container. On iOS and Android devices, the labels inside the title-and-gif section of article containers (feature, standard, and comment) are styled with a font size of 17px, normal style, bold weight, and 115% line height. Any links within these labels use the new pillar colour (defaulting to #c74600) and are not transformed to uppercase.

The GIF container and its images in the same section are set to 70px by 70px on both iOS and Android. However, the white book GIF (`.book-gif-white`) and its images are hidden on these devices.

In dark mode (when the user’s system prefers a dark colour scheme), the regular book GIF (`.book-gif`) is also hidden on iOS devices.On iOS and Android, the following elements are hidden:
– `.book-gif` containers and `img.book-gif` images inside `.gif-container` within `.title-and-gif-wrapper` in `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`.

Instead, these are shown:
– `.book-gif-white` containers and `img.book-gif-white` images in the same locations.

After each `.title-and-gif-wrapper` in these containers, a decorative line is added:
– A 1-pixel tall, full-width line (100vw) with a light gray color (`#dcdcdc`), positioned at the bottom, starting 10 pixels from the left.

On screens wider than 61.25em (about 980px), the `.title-and-gif-wrapper` is placed in the `title` area of a CSS grid. The decorative line remains the same.Here’s the rewritten CSS in fluent, natural English:

For the wrapper with the class “title-and-gif-wrapper,” and for the same element inside the furniture wrapper within comment article containers on Android devices, the width is set to 50 viewport width units (50vw).

When the user’s system is set to dark mode, the background color of the “title-and-gif-wrapper” after pseudo-element changes to #606060. This applies to iOS and Android devices across feature, standard, and comment article containers.

On screens wider than 61.25em (about 980px), the portrait main media headline wrapper inside the furniture wrapper is assigned to the “headline” grid area. This works for both iOS and Android devices across all article types.

For the headline (h1), the byline, and any links within the byline—inside the furniture wrapper on both iOS and Android devices across feature, standard, and comment article containers—the font size is 36 pixels, the font style is normal, the font weight is 500, and the line height is 115%.

The same font styling applies to the byline, its text, and its links across all these containers and devices.The byline and its links in the meta section of the article wrapper should use the pillar colour (defaulting to #c70000) on Android devices for standard and comment articles.

In dark mode, iOS and Android devices should force the colour to the pillar colour (defaulting to #c74600) for feature, standard, and comment articles.

On both iOS and Android, the avatar image in the byline should be hidden for feature, standard, and comment articles.

The main headline (h1) in the article wrapper should have no bottom margin or padding on both iOS and Android for all article types.

The byline text should be italicised on both iOS and Android for all article types, but the author name within the byline should remain normal (not italic).

The main media element should not have any special styling applied on either iOS or Android for any article type.Here’s the rewritten version in fluent, natural English:

For the main media element inside the furniture wrapper, set the height to auto, use a 4:5 aspect ratio, and keep the background transparent. This applies to both Android and iOS comment article containers.

On iOS and Android devices, within the feature, standard, and comment article containers, the figure element inside the main media should have a height of 100% and no left margin. The inner figure container should be positioned relative, with top and left set to zero.

The inner element of the figure should have a transparent background, visible overflow, and no padding. Images inside this inner element should take up the full viewport width minus 40 pixels, with a left margin of 20 pixels and a top margin of 25 pixels. However, for images inside the inner element specifically, the top margin should be reduced to 13 pixels.

Finally, the figure caption should be styled appropriately.Here’s the rewritten version in fluent, natural English:

On Android devices, the caption area inside the main media figure for feature, standard, and comment articles automatically adjusts its height.

On both iOS and Android devices, the caption text and any text inside it (including paragraphs and spans) in the main media figure for all three article types is displayed as a block. It has no maximum height limit, is positioned normally, and uses a caption text color (defaulting to a light gray).

When the screen width is at least 46.25em (around 740px), the following applies to the main media figure in all article types on both iOS and Android:

– The figure itself has no maximum width limit.
– A pseudo-element before the figure is positioned 10px from the left and spans the full viewport width minus 20px.
– Images inside the figure are set to the full viewport width minus 60px, with a 30px left margin and a 40px top margin.

When the screen width is at least 61.25em (around 980px), similar rules apply to the main media figure in all article types on both iOS and Android.Here is the rewritten text in fluent, natural English:

For the main media image in article containers on iOS and Android, the width is set to half the viewport width minus 20 pixels and the scrollbar width. The image inside is set to half the viewport width minus 40 pixels and the scrollbar width, with a left margin of 18 pixels, automatic height, no padding, and a top margin of 10 pixels.

On screens wider than 71.25em, the top position of the main media element is adjusted to -4 pixels.

On screens wider than 81.25em, the left position is set to -20 pixels. The image inside is set to half the viewport width minus 90 pixels and the scrollbar width, with a left margin of 12 pixels, automatic height, a top margin of -10 pixels, and top padding of 21 pixels.

In dark mode, the background image for the main media element changes to a white frame version.Here’s the rewritten version in fluent, natural English:

For the first image in the main media section, the element’s width is set to the full viewport width minus 20 pixels and the scrollbar width. It’s aligned to the left. On iOS and Android devices, the image inside this element also takes up the full viewport width minus 20 pixels and the scrollbar width, with no left margin and 10 pixels of padding.

When the screen is at least 61.25em wide, the image width changes to half the viewport width minus 30 pixels and the scrollbar width. It gets a 5-pixel left margin, keeps its height automatic, and adds 21 pixels of top padding.

At 81.25em and wider, the image width becomes half the viewport width minus 70 pixels and the scrollbar width. It still has a 5-pixel left margin, automatic height, and 21 pixels of top padding, but also gets a negative top margin of 10 pixels.

For screens 61.25em and wider, the figure element itself takes full height and has a maximum width of 620 pixels. Its before pseudo-element is set to half the viewport width minus 20 pixels and the scrollbar width, aligned to the left.Here’s the rewritten version in fluent, natural English:

On iOS and Android devices, the main media image in article containers is positioned with specific layout rules. At screen widths of 81.25em and above, the first image in the main media section is shifted 20 pixels to the left.

For screens 46.25em wide or wider, the caption button sits 45 pixels from the bottom. At 61.25em and above, the main media area is set to a maximum width of 620 pixels and adjusts its height automatically.

Figures within the furniture wrapper have no top margin and are positioned relatively. Their inner content is placed 15 pixels from the top and 20 pixels from the left, spanning the full viewport width minus 40 pixels. Images inside these figures fill the entire space and use “cover” sizing to maintain proportions.

The caption button is positioned 24 pixels from the right and 20 pixels from the bottom of its parent figure.For iOS and Android devices, the `.figure__inner` inside `.furniture-wrapper figure.element` in the feature, standard, and comment article containers is set to a width of 680px, with auto height, and positioned 10px from the top and left.

The `#caption-button` inside the same elements is placed 25px from the bottom.

On screens wider than 61.25em (about 980px), the `figure.element` in these containers has a width calculated as `calc(50vw – 20px – var(–scrollbar-width, 0px))`.

The `.standfirst` in these containers has no top margin, with 8px of padding on top and 10px on the right. Its `:before` element is hidden.

Text inside `.standfirst__inner` (including `p`, `a`, and `li` elements) uses a font size of 20px, normal style, medium weight (500), 115% line height, and no bottom padding.

On screens wider than 61.25em, the `.standfirst` styling also applies as described.For iOS and Android, the `.standfirst` inside `.furniture-wrapper` is placed in the `standfirst` grid area for feature, standard, and comment article containers.

On iOS and Android, the `.meta` inside `.furniture-wrapper` has no top padding. The `.meta__published` element inside it is positioned relatively. After it, a full-width line (100vw wide, 1px tall, colored `#dcdcdc`) is added, positioned at the bottom and shifted 10px to the left.

On screens wider than 61.25em (980px), the `.meta` is placed in the `meta` grid area and displayed as a block. The line after `.meta__published` is reduced to 50vw wide.

On screens wider than 81.25em (1300px), the `.meta__misc` inside `.meta` has no left margin.

In dark mode (prefers-color-scheme: dark), the line color changes to `#606060`.

The `:before` pseudo-elements for `.meta` and `.keyline` inside `.furniture-wrapper` on iOS and Android are also affected, but the rule is incomplete.Here’s the rewritten version in fluent, natural English:

On iOS and Android, certain design elements are hidden in article layouts. For example, the meta and keyline sections inside the furniture wrapper are not shown. Also, rich link sidebars are hidden in the same wrapper across feature, standard, and comment articles. The cutout container in the comment header is also hidden on both platforms.

The background color of the article body and feature body is set to a light pinkish tone (–weekend-essay-bg, #fff4f2), with a small top margin of 6 pixels. Horizontal lines (hr) inside these sections are 1 pixel tall, have no border, and are 150 pixels wide. They are left-aligned with a 48-pixel top margin and a 3-pixel bottom margin, and their color is light gray (#dcdcdc).

The first letter of the first paragraph (unless it contains a span) or the first paragraph after an hr line uses a large, uppercase serif font. It is 111 pixels tall, floats to the left, and has a right margin of 8 pixels. Its color matches the drop cap or secondary pillar color.

Headings (h2) that contain bold text (strong or b tags) use a font weight of 500.

In dark mode, the hr lines change to a darker gray (#606060). The first letter after an hr line uses a specific red-orange color (–new-pillar-colour, #ff5943). Links inside paragraphs have no underline.

Finally, if an article body or feature body starts with an element atom, the first letter of the paragraph immediately after it also uses the large, uppercase serif style described above.Here is the rewritten text in fluent, natural English:

As Donald Trump swung this week between threatening new military action against Iran and predicting that a lasting ceasefire deal was close, many Iranians felt exhausted and uncertain. Although the internet shutdown—which began when the war started on February 28—was partially lifted, fears of worsening repression at home have also made some people pessimistic about the future, according to those the Guardian spoke with.

Speaking over the phone from Tehran last weekend, Saeed—who took part in the large protests against the regime earlier this year and, like others, asked to use a fake name for safety—said he feared the worst possible outcome had now arrived.

“I predicted much earlier that if the US attacked, promising to rescue us but leaving us without a clear plan—like this current ceasefire—it would be the worst outcome. The economy is worse than it was on December 28 [when the protests began], and with the number of raids, arrests, and executions happening every day, the regime has been emboldened. We are truly in a messed-up situation,” he said.

For Saeed, the aftermath has deepened not only political fears but also divisions within families, exposing generational disagreements over how the crisis is understood.

When asked if his views were widely shared, he described sharp disagreements among friends and relatives. “Some of the older members of my family seem to think we [young protesters] have been brainwashed and have brought shame on ourselves.”“They’re out in the countryside,” he said. “They believe everything they hear on state TV and don’t realize the regime has been executing young people just for protesting. They think those kids were spies.”

The anti-government protests that started in December and spread across the country were met with a deadly crackdown by security forces, according to rights groups. Thousands have been reported killed, more than 50,000 arrested, according to the US-based Human Rights Activists News Agency (HRANA), and at least 226 people have been executed this year, according to the Norway-based Iran Human Rights NGO (IHRNGO).

Meanwhile, the regime has reportedly set up military training booths in the capital to teach civilians how to use Kalashnikovs, preparing them to take up arms if the war resumes. Social media is flooded with videos of pro-government rallies featuring military Jeeps mounted with machine guns.

View image in fullscreen
A member of the Iranian military shows women how to use a gun at a booth in Hafte Tir Square in Tehran in May. Photograph: AFP/Getty Images

Elnaz, a rights activist based in the capital, said: “Not everyone supports the system or wants war. Using children and teenagers for checkpoint inspections, and broadcasting weapons training on TV, has caused widespread concern. Many child rights activists have protested, arguing that war should not be normalized.”

She added that images of children holding machine guns have left many Iranians worried. “The fact that children and teenagers have been seen holding machine guns, which state TV broadcasts, has raised serious concerns.”

Under the shadow of arrests and raids, others say their initial views on foreign intervention have shifted, while fears of what lies ahead increasingly dominate their thoughts.

Amir, a business owner from Mashhad, said he once desperately hoped for US intervention, believing external pressure might bring political change. But after witnessing the worsening economy and what he described as a deteriorating human rights situation, he now questions whether the cost has been too high.

“I feel humiliated,” he said. “This isn’t a ceasefire. It’s a never-ending auction between the US and the Islamic Republic over our lives and our blood.”

View image in fullscreen
The war has not brought the freedom some Iranians had hoped for. Photograph: Atta Kenare/AFP/Getty Images

Trump’s comments last month about bombing Iran “back to the stone ages” still haunt him. “‘Taking us back to the stone age’ and then treating this war like a business deal while changing his promises every second has been truly humiliating to watch,” he added.

“On the other hand, the regime seems to have an infinite length of a noose that’s only getting tighter. I don’t know how to truly express how we feel.”

‘Economic hell’

Soaring prices for groceries and essential medication, along with the loss of livelihoods caused by the authorities’ nearly 90-day internet blackout, have left many struggling to meet even basic needs.

Noor, 39, a cafe owner from Tehran, said that while her business isn’t collapsing, she fears the fragile state of affairs means the “worst is yet to come.”

“It will take years to recover from the emotional and economic devastation caused by January’s massacre and the war,” she said. “Even if this ceasefire holds, in a few months I think we will be in such economic hell that people will come back to the streets simply out of desperation.”

View image in fullscreen
Life has returned to a semblance of normality during the ceasefire, but great uncertainty remains. Photograph: NurPhoto/Getty Images

As partial internet access returned this week, many who hadn’t yet fully grasped the scale of devastation caused by the January protests and the war—both to the economy and civilian infrastructure—have been confronted with a difficult reality.

Among the videos widely shared among Iranians’ accounts is one on Instagram about a Tehran resident, Hamed Mir.Zaei reportedly lost 12 family members during the war. The newlywed told local media that his parents, wife, cousins, their children, and brother-in-law were killed when his home was hit. He posted videos of himself standing in front of his house, now buried under rubble.

Other videos showed similar scenes of destroyed shops, homes, and music schools. Ro, a 42-year-old musician based in Tehran, told the Guardian he was devastated after seeing footage of damaged music schools and civilian areas.

Iranians were still reeling from January’s bloody protest crackdown and the US-Israeli attacks.

“Which country has ever achieved freedom through military invasion? Afghanistan, Iraq, Syria?” he asked. “As an Iranian musician, I condemn the military aggression of the United States and Israel against my country. This attack was carried out under the false pretense of bringing democracy and saving the people of Iran, yet it killed many of my fellow citizens and destroyed vital infrastructure.

“They bombed schools, hospitals, research centers, universities, petrochemical facilities, and homes. They have made poverty, inflation, unemployment, and medicine shortages even worse, pushing these crises further than before.”

Another widely shared video from the past two days features Hamidreza Afarideh, a co-founder of a music academy in east Tehran. He sits amid the rubble of what was once a safe place for children and adults learning to play musical instruments, after it was destroyed in a strike on a reportedly nearby military base.

A woman who lost two of her children in a school strike on the first day of the war stands by the building’s ruins.

The attacks on such infrastructure have left many people jobless, including the staff at Afarideh’s music school, deepening the country’s economic crisis.

With growing fears about what a fragile ceasefire might ultimately mean for life inside Iran, many said their focus had shifted to survival.

Amir, the business owner, said: “We are just trying to survive right now. No one can fight on an empty stomach.”

Frequently Asked Questions
Here is a list of FAQs generated based on the complex and contradictory situation you described

BeginnerLevel Questions

Q I keep hearing that Irans economy is in ruins but the regime seems strong How can that be
A Its a paradox The regime prioritizes political and military power over the economy They have cut off the people from the global economy to maintain control They are confident because they have suppressed dissent not because the economy is healthy

Q Why is the Iranian economy so bad right now
A A combination of factors severe international sanctions government mismanagement and corruption high inflation and massive spending on military proxies and nuclear programs instead of domestic needs

Q What does the economy is in ruins mean for an ordinary person in Iran
A It means their savings are worthless due to hyperinflation They cant afford basic food medicine or housing The rial has lost over 90 of its value Many have lost jobs or have salaries that dont cover a week of expenses

Q How does war affect the Iranian people
A War drains the national budget It diverts money from hospitals schools and roads to weapons and military salaries It also leads to shortages destruction of infrastructure and a constant state of fear and grief for families

IntermediateLevel Questions

Q If the economy is so bad why doesnt the regime just negotiate better deals to lift sanctions
A The regime sees sanctions as a tool for their own survival They use the economic war as an excuse for repression Lifting sanctions would open Iran to the world which they fear would lead to political change and loss of their power They prefer a poor controlled population to a wealthy free one

Q Is there any industry in Iran that is still working
A Yes the regime keeps certain sectors alive The militaryindustrial complex the security forces and the foundations that are controlled by the clergy are wellfunded The black market for smuggled goods and currency is also booming often controlled by the regime itself

Q What is the resistance economy I hear about