Why did a US fighter pilot avoid a British trial after strangling a woman in England? The case was called 'degrading.'

Why did a US fighter pilot avoid a British trial after strangling a woman in England? The case was called 'degrading.'

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Light.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Light.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-LightItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-LightItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Regular.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Regular.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-RegularItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-RegularItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Medium.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Medium.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-MediumItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-MediumItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Semibold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Semibold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-SemiboldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf’) format(‘truetype’);
font-weight: 600;
font-style: italic;
}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/full-not-hinted/GHGuardianHeadline-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-BoldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BoldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Black.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Black.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-BlackItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.ttf’) format(‘truetype’);
font-weight: 900;
font-style: italic;
}

@font-face {
font-family: ‘Guardian Titlepiece’;
src: url(‘https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff2’) format(‘woff2’),
url(‘https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff’) format(‘woff’),
url(‘https://interactive.guim.co.uk/fonts/garnett/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: -10px;
}
}
“`Here is the rewritten text in fluent, natural English:

The left margin is set to -11px. Inside the main interactive column, elements with the class “element-atom” have no top or bottom margin, but do have 12px of padding on both top and bottom. If a paragraph is followed by an element-atom, the element-atom loses its padding and instead gets 12px of margin on top and bottom. Inline elements are limited to a maximum width of 620px. On screens wider than 61.25em, figures with the role “inline” are also capped at 620px.

For media sections that contain a loop figure, the caption (if not hidden) is placed above other elements with a z-index of 6. The loop button, which controls video looping, is 32px wide, aligned to the bottom right, and has a 40px bottom margin with a 3px right margin. The caption button has a z-index of 100. On screens wider than 46.25em, if a cinemagraph figure is inside a media section, its container’s maximum height is removed.

In the body section, self-hosted video islands take up the full width up to 620px, are displayed as block elements, and have 12px margins on top and bottom. Inside these islands, loop figures and their videos are full width, auto-height, centered, and capped at 620px. If a loop figure is marked as “element-video-immersive,” the island’s max width is removed and margins are set to 12px vertically. On screens wider than 71.25em, these immersive videos expand to 1140px wide with a left margin of -180px, and their captions have a 20px left margin. On screens wider than 81.25em, they grow to 1300px wide with a left margin of -260px.

Custom properties define colors for dateline (gray), header border (light gray), caption text (gray), caption background (dark with transparency), and feature (red). The new pillar color defaults to the primary pillar or feature. Subheadings, pullquotes, and block quotes use the secondary pillar color, while block quotes also use a fill color based on the secondary pillar. In dark mode (unless overridden), these colors switch to dark mode pillar values.

Elements with the class “element-atom” inside the main interactive column or elsewhere have no padding. In various containers (like article body, interactive content, comment body, feature body, or the body data attribute), if an element-atom is the first child and is followed by a paragraph (or a sign-in gate followed by a paragraph), or if a horizontal rule (that isn’t the last one) is followed by a paragraph, that paragraph gets 14px of top padding.Here is the rewritten text in fluent, natural English:

The first letter of the first paragraph after certain elements—such as the first atom, a sign-in gate, or a horizontal rule—uses a large, bold, uppercase style. It is set in the Guardian Headline font family, with a font size of 111 pixels and a line height of 92 pixels. This letter floats to the left, has a small right margin, and is vertically aligned to the top of the text. Its color matches the drop cap or pillar color used in the design.

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

Pull quotes within the main content areas are limited to a maximum width of 620 pixels.

For images in a showcase layout, the caption is positioned normally and spans the full width, up to 620 pixels. On wider screens (at least 71.25em), the caption becomes absolutely positioned and narrower, with a maximum width of 140 pixels. On even wider screens (at least 81.25em), the caption can be up to 220 pixels wide.

Immersive elements take up the full viewport width, minus the scrollbar width. On smaller screens (up to 71.24em), their maximum width is 978 pixels, and the caption has horizontal padding of 10 pixels (or 20 pixels on screens at least 30em wide). On medium screens (between 46.25em and 61.24em), the maximum width is 738 pixels. On the smallest screens (up to 46.24em), the immersive element is shifted to the left by 10 pixels, with no right margin.For screens at least 30em wide:
– For `.element.element–immersive.element-immersive`, set the left margin to -20px.
– For its `figcaption`, add 20px of padding on the left and right.

For screens at least 71.25em wide:
– Inside `[data-gu-name=body]`, for `figure.element.element–showcase.element-showcase` and `.content__main-column–interactive figure.element.element–showcase.element-showcase`, set the left margin to -160px.

For screens at least 81.25em wide:
– Inside `[data-gu-name=body]`, for the same elements, set the left margin to -240px.

The `.furniture-wrapper` is positioned relatively.

For screens at least 61.25em wide:
– Use a CSS grid with 20px column gaps and no row gaps. The grid has 10 columns: the first 5 are for title, headline, meta, and standfirst; the last 5 are for portrait.
– The grid rows are: title and portrait start together at 0.25fr, headline at 1fr, standfirst at 0.75fr, and meta at auto, all ending with portrait.
– For `#headline > div:first-child`, `[data-gu-name=headline] > div:first-child`, and `.headline > div:first-child`, add a 1px top border using `var(–headerBorder)`.
– For `#meta` and `[data-gu-name=meta]`, set relative positioning, 2px top padding, and no right margin.
– For `.standfirst .content__standfirst`, `#standfirst .content__standfirst`, and `[data-gu-name=standfirst] .content__standfirst`, set bottom margin to 4px.
– For list items in standfirst, set font size to 20px.
– For links in standfirst (including list items), remove bottom border and background image, add underline with 6px offset, and use `var(–headerBorder, #dcdcdc)` for the underline color. On hover, change the underline color to `var(–new-pillar-colour)`.
– For the first paragraph in standfirst, add a 1px top border using `var(–headerBorder)` and no bottom padding.

For screens at least 71.25em wide (and also at least 61.25em):
– Remove the top border from the first paragraph in standfirst.

For screens at least 61.25em wide:
– For figures, set margins to 0 0 0 -10px.
– For figures with `[data-spacefinder-role=inline]` and class `.element`, set max-width to 630px.

For screens at least 71.25em wide:
– The grid now has 14 columns: the first 2 for title, headline, and meta start; then meta ends; then 5 columns for standfirst start; then title, headline, and standfirst end; then 7 columns for portrait start and end.
– The grid rows are: title and portrait start at 80px, then headline at auto, then standfirst and meta start at auto, ending with standfirst, meta, and portrait.
– For `#meta` and `[data-gu-name=meta]`, add a pseudo-element `:before` with content “”, width 540px, positioned absolutely at the top, with a 1px height and background color `var(–headerBorder)`.
– For standfirst paragraphs, remove the top border.
– For `.standfirst`, `#standfirst`, and `[data-gu-name=standfirst]`, add a pseudo-element `:before` with content “”, width 1px, background color `var(–headerBorder)`, height 100%, positioned absolutely at the top and 0.5px from the left.

For screens at least 81.25em wide:
– The grid template columns are adjusted accordingly.The layout uses a grid with columns defined as: repeat(3, 1fr) for the meta section, repeat(5, 1fr) for the standfirst, and repeat(8, 1fr) for the portrait. The rows are set as: the title and portrait start at 0.25fr, the headline takes 1fr, and the standfirst and meta take 0.75fr.

For the meta section, the `:before` element has a width of 620px. The standfirst’s `:before` element is positioned slightly to the left, at -0.5px.

In the article header, the labels inside the title or meta sections have a top padding of 2px.

The headline’s `h1` is bold (font-weight 600), has a max width of 620px, and a font size of 32px. On screens wider than 71.25em, the max width reduces to 540px and the font size increases to 50px.

On screens wider than 46.25em, the keyline-4 or lines element has no right margin. On screens wider than 61.25em, it is hidden. The SVG inside it uses a stroke color defined by `–headerBorder`.

For screens wider than 46.25em, the meta section also has no right margin. The social and comment elements within meta use `–headerBorder` for their border colors. The `gu-island` elements inside the meta container are hidden.

The standfirst is positioned with a left margin of -10px, left padding of 10px, and is relatively positioned. On screens wider than 46.25em, it has a top padding of 2px. The paragraph text inside is regular weight (400), 20px font size, with 14px bottom padding.

The main media section is positioned relatively, with no top margin and a 2px bottom margin, and is placed in the portrait grid area. Its inner divs take full width with no margin on either side. On screens wider than 61.25em, the bottom margin is removed. On screens narrower than 46.24em, the media section spans the full viewport width (minus scrollbar) and has a left margin of -10px. If the screen is between 30em and 46.24em, the left margin becomes -20px.

The figure caption is positioned at the bottom, with padding of 4px top and 12px bottom, and 10px on the sides. It uses `–captionBackground` and `–captionText` for colors, has no max width, full width, no bottom margin, and a minimum height of 46px. The caption’s span elements use `–headerBorder` for text color, and the SVG inside uses the same for fill. The first span is hidden, while the second is displayed with a max width of 90%. On screens wider than 30em, the caption padding changes to 4px top, 12px bottom, and 20px on the sides. If the caption has the “hidden” class, it becomes transparent.

The caption button is displayed as a block, positioned at the bottom right (10px from bottom, 8px from right), with a z-index of 30. It uses `–captionBackground`, has no border, is circular (border-radius 50%), and has padding of 6px top, 5px sides, and 5px bottom. The SVG inside is scaled to 85%. On screens wider than 30em, the right offset increases to 10px.The `.content__main-column–interactive` element has a top offset of -12px and a height of 100% plus 24px. The `h2` inside it has a max width of 620px.

The root variables set the new pillar colour to the dark mode pillar (or the dark mode feature colour, which is #ff5943), a header border colour of #606060, and a dark mode feature colour of #ff5943.

Navigation and aside sections that follow certain elements are hidden.

The `.furniture-wrapper` has a dark background, with margins and padding that adjust at different screen widths. At 81.25em and above, it uses `:before` and `:after` pseudo-elements to extend the background to the edges of the viewport, with a right border on the left extension.

Inside `.furniture-wrapper`, the article header, title links, and title spans use the new pillar colour. At 61.25em and above, the first child of the headline div has a top border. The headline `h1` is bold and coloured #dcdcdc. Figures in the headline have no top margin and a small bottom margin.

At 71.25em and above, the meta section has a top border. Details, summary, and summary spans in the meta section are coloured #dcdcdc. Social media links and buttons have a border colour matching the header border and use the new pillar colour. Their SVG icons also use the new pillar colour. On hover, these elements change to the dark background colour with the new pillar colour as the background, and the SVG icons switch to the dark background colour.

Other meta divs are coloured #dcdcdc, and meta links use the new pillar colour. On hover, these links keep the same colour and underline it with the new pillar colour.

Standfirst links (including list item links) have no bottom border, use the new pillar colour, and are underlined with an offset of 6px. The underline colour is set to the header border (or #dcdcdc).Here is the rewritten text in fluent, natural English:

When you hover over a link inside the standfirst section—whether it’s in a paragraph, a list item, or the standfirst itself—the bottom border disappears and the underline color changes to match the pillar color (or the dark mode feature color if that’s not set).

The text in standfirst paragraphs is light gray (#dcdcdc).

On screens wider than 61.25em (about 980px), the first paragraph in the standfirst gets a top border using the header border color. But on screens wider than 71.25em (about 1140px), that top border is removed.

List items inside the standfirst also use the same light gray color (#dcdcdc).

On screens wider than 71.25em, a colored line appears above the standfirst, using the header border color.

For screens wider than 46.25em (about 740px), the furniture wrapper adds two background strips on the left and right sides. These strips use the dark background color and are separated from the main content by a border. The width of these strips changes depending on the screen size:

– At 46.25em and above, each strip is half the width of the space outside a 738px-wide content area.
– At 61.25em and above, the content area widens to 978px, and the strips adjust accordingly.
– At 71.25em and above, the content area widens to 1138px.
– At 81.25em and above, the content area widens to 1298px.

The decorative lines (like keyline-4 or lines) inside the furniture wrapper use the header border color for their stroke.

Social media and comment sections inside the meta area also use the header border color for their borders.

In the main article body, headings (h2) have a light font weight of 200. But if a heading contains bold text (using the `` tag), the entire heading becomes bold (weight 700).

Any list inside an element with `data-print-layout=”hide”` has no background image.

Finally, a custom font called “Guardian Headline Full” is loaded in three formats (woff2, woff, and ttf) with a light weight of 300.Here is the rewritten text in fluent, natural English:

@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-LightItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-LightItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Regular.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Regular.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-RegularItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-RegularItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Medium.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Medium.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-MediumItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-MediumItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Semibold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Semibold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-SemiboldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.ttf’) format(‘truetype’);
font-weight: 700;
font-style: normal;
}Here is the rewritten text in fluent, natural English:

The font files are loaded from the Guardian’s servers. For example, the bold italic version of the Guardian Headline font is available in WOFF2, WOFF, and TTF formats. The same applies to the black and black italic versions. The Guardian Titlepiece font is also loaded in bold style from a different source.

On iOS and Android devices, certain color variables are set, including a dark background, a feature color, and a dark mode feature color. These colors adjust based on the user’s system preference for dark mode.

In article containers on iOS and Android, the first letter of the first paragraph after certain elements (like atoms or sign-in gates) is styled with a specific color. This color comes from a secondary pillar variable, or falls back to black if not set. The same styling applies to feature, standard, and comment article containers on both iOS and Android.The article header sections for containers like `.article__header`, `#feature-article-container`, `#standard-article-container`, and `#comment-article-container` on both Android and iOS have a height of zero.

On iOS and Android, the furniture wrapper inside these containers has padding of 4px on top and 10px on the sides. The labels inside the furniture wrapper use bold text, the font family “Guardian Headline” (or similar fallbacks), and are capitalized with the color set by the pillar variable.

The headline (h1) inside the furniture wrapper is 32px, bold, has 12px of padding at the bottom, and is colored #121212.

Images inside the furniture wrapper (using the `element-image` class) are positioned relatively, have a top margin of 14px, a left margin of -10px, and take up the full viewport width minus the scrollbar width. The image itself, along with its inner container and link, has a transparent background and automatically adjusts its height while filling the full viewport width.

The standfirst section inside the furniture wrapper is also styled consistently across both platforms.For the `.standfirst` inside `.furniture-wrapper` in `#standard-article-container`, `#comment-article-container`, and on Android devices, add 4px of padding on top and 24px on the bottom, with a right margin of -10px.

On iOS and Android, inside `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`, the paragraph text within `.standfirst__inner` should use the font family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif.

For links (including those inside list items) in the same containers on iOS and Android, set the text color to the pillar color variable, remove any background image, and add an underline with a 6px offset. The underline color should match the header border (default `#dcdcdc`), and there should be no bottom border. On hover, change the underline color to the pillar color variable.

For the `.meta` section inside `.furniture-wrapper` on iOS and Android, set the margin to 0. For the byline, byline author, author links, and meta byline spans, use the same styling as the byline text.The following CSS rules apply to the `.wrapper .meta .byline` element and various selectors for iOS and Android article containers. The text color is set to `var(–new-pillar-colour)`.

For iOS and Android, the `.meta__misc` class inside the furniture wrapper has no padding. Any SVG inside that class uses `stroke: var(–new-pillar-colour)`.

The `#caption-button` inside `.element–showcase` is displayed as a flex container with 5px padding, centered content, a width and height of 28px, and positioned 14px from the right.

The `.article__body` class for all article containers has 0 padding on the left and right (12px on each side).

For images inside `.article__body` that are not thumbnails or immersive, they have no margin, and their width is calculated as `100vw – 24px – var(–scrollbar-width, 0px)`, with automatic height.Here’s the rewritten version in fluent, natural English:

For image captions that aren’t thumbnails or immersive images, the padding is removed on both iOS and Android devices across feature, standard, and comment article layouts.

For immersive images on iOS and Android, the width is set to fill the full viewport width, accounting for any scrollbar.

Blockquote quotation marks in article text on both iOS and Android use the new pillar color.

Links in article text on both iOS and Android are styled with the primary pillar color, no background image, an underline, and a 6px offset. The underline color matches the header border. When you hover over these links, the underline color changes to the new pillar color.

In dark mode, the furniture wrapper background becomes dark gray (#1a1a1a) on both iOS and Android across all article types. The content labels inside the furniture wrapper use the new pillar color. The headline text also uses the new pillar color..furniture-wrapper h1.headline {
background-color: unset;
color: var(–headerBorder) !important;
}

body.ios #feature-article-container .furniture-wrapper .standfirst p,
body.ios #standard-article-container .furniture-wrapper .standfirst p,
body.ios #comment-article-container .furniture-wrapper .standfirst p,
body.android #feature-article-container .furniture-wrapper .standfirst p,
body.android #standard-article-container .furniture-wrapper .standfirst p,
body.android #comment-article-container .furniture-wrapper .standfirst p {
color: var(–headerBorder);
}

body.ios #feature-article-container .furniture-wrapper .standfirst a,
body.ios #standard-article-container .furniture-wrapper .standfirst a,
body.ios #comment-article-container .furniture-wrapper .standfirst a,
body.android #feature-article-container .furniture-wrapper .standfirst a,
body.android #standard-article-container .furniture-wrapper .standfirst a,
body.android #comment-article-container .furniture-wrapper .standfirst a,
body.ios #feature-article-container .furniture-wrapper .meta .byline__author,
body.ios #feature-article-container .furniture-wrapper .meta span.byline__author a,
body.ios #standard-article-container .furniture-wrapper .meta .byline__author,
body.ios #standard-article-container .furniture-wrapper .meta span.byline__author a,
body.ios #comment-article-container .furniture-wrapper .meta .byline__author,
body.ios #comment-article-container .furniture-wrapper .meta span.byline__author a,
body.android #feature-article-container .furniture-wrapper .meta .byline__author,
body.android #feature-article-container .furniture-wrapper .meta span.byline__author a,
body.android #standard-article-container .furniture-wrapper .meta .byline__author,
body.android #standard-article-container .furniture-wrapper .meta span.byline__author a,
body.android #comment-article-container .furniture-wrapper .meta .byline__author,
body.android #comment-article-container .furniture-wrapper .meta span.byline__author a {
color: var(–new-pillar-colour);
}

body.ios #feature-article-container .furniture-wrapper .meta__misc svg,
body.ios #standard-article-container .furniture-wrapper .meta__misc svg,
body.ios #comment-article-container .furniture-wrapper .meta__misc svg,
body.android #feature-article-container .furniture-wrapper .meta__misc svg,
body.android #standard-article-container .furniture-wrapper .meta__misc svg,
body.android #comment-article-container .furniture-wrapper .meta__misc svg {
stroke: var(–new-pillar-colour);
}

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);
}

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);
}

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-articlHere’s the rewritten version in fluent, natural English:

For iOS and Android devices, the background color of article and comment sections should use the dark background variable. This applies to various containers and body sections within feature, standard, and comment article layouts.

Additionally, on iOS devices, the first letter of any paragraph that follows an element atom (or a sign-in gate after an element atom) should not have any special styling applied. This rule covers all article and comment body sections across feature, standard, and comment article containers.This appears to be a long list of CSS selectors, not a text to be rewritten. Could you please provide the actual text you’d like me to rewrite in fluent, natural English?Here’s the rewritten version in fluent, natural English:

On Android devices, the first letter of certain paragraphs inside comment and article sections should use the pillar color (white by default). This applies when the paragraph follows an element atom, a sign-in gate, or a sign-in gate with an ID.

On iOS and Android, for comment articles, the standfirst section inside the furniture wrapper should have 24 pixels of padding at the top and no margin.

In prose, h2 headings should be 24 pixels in size.

On iOS, the caption button inside feature, standard, and comment article containers should have 6 pixels of top padding and 5 pixels on the sides. On Android, it should have 4 pixels of padding on all sides.

In dark mode (when the user’s system prefers a dark color scheme and the page doesn’t have a light color scheme set), the following styles apply:
– Follow text: #dcdcdc
– Follow icon fill: uses the dark mode pillar color
– Standfirst text: #dcdcdc
– Standfirst link text and border: use the dark mode pillar color
– Byline: uses the dark mode pillar color

The dark background color is set to #1a1a1a.

On both iOS and Android, the article header inside feature, standard, and comment article containers should be completely transparent (opacity: 0).

On both platforms, the furniture wrapper inside these article containers should have no margin.

On both platforms, the content labels inside the furniture wrapper should use the pillar color (or the dark mode feature color on iOS/Android).

On both platforms, the h1 headline inside the furniture wrapper should follow the same styling rules.Here’s the rewritten CSS in fluent, natural English:

On Android devices, the headline inside the furniture wrapper for standard and comment article containers should be colored #dcdcdc.

On both iOS and Android, links inside the article header or title sections of feature, standard, and comment article containers should use the color defined by the CSS variable `–new-pillar-colour`, with a fallback to `–darkModeFeature`.

On both iOS and Android, the `#meta` section (or `[data-gu-name=”meta”]`) inside the furniture wrapper for feature, standard, and comment article containers should have a repeating linear gradient background using the `–headerBorderColor` variable. The gradient should show a 1px solid line of that color, followed by 2px of transparency.

On both iOS and Android, the byline text inside the `#meta` section (or `[data-gu-name=”meta”]`) of feature, standard, and comment article containers should be colored #dcdcdc.

On both iOS and Android, links inside the `#meta` section (or `[data-gu-name=”meta”]`) of feature, standard, and comment article containers should use the color defined by the CSS variable `–new-pillar-colour`, with a fallback to `–darkModeFeature`.For iOS and Android, in the feature, standard, and comment article containers, the SVG icons inside the meta section’s misc area use a stroke color that comes from the new pillar color variable (or the dark mode feature color as a fallback).

Also on iOS and Android, the alert labels in the same meta sections are forced to be a light gray color (#dcdcdc).

And for those platforms, any span with a data-icon attribute inside the meta section uses the same pillar color variable for its text color, including the content that appears before the span (via the `:before` pseudo-element).Here’s the rewritten version in fluent, natural English:

For elements with `[data-icon]` inside `#meta` or `[data-gu-name=”meta”]`, the icon color uses the pillar color variable, falling back to the dark mode feature color. This applies on Android devices within comment article containers.

When the screen is at least 71.25em wide, on both iOS and Android, the `#meta` and `.meta.keyline-4` sections inside furniture wrappers for feature, standard, and comment articles are displayed as block elements with a top border. The border color uses the pillar color variable, with a fallback to the header border color. In these cases, the `.meta__misc` element has no default margin, but gets a left margin of 20px.

For the article body on both iOS and Android, paragraphs and unordered lists are limited to a maximum width of 620px. Inside the prose section, quoted blockquotes use the secondary pillar color for their `:before` pseudo-element. Links within the prose are styled with the primary pillar color, have no background image, are underlined with a 6px offset, and use a light gray (`#dcdcdc`) underline color. On hover, these links change appearance (though the hover style is cut off in the original text).When Sarah Steele woke up on the morning of December 2, 2023, she was lying in a bathtub filled with cold water. She was naked, in the apartment of an American fighter pilot she had met in person for the first time the night before. She felt confused. Her head and neck hurt.

This is the account Steele, a British academic, gave to prosecutors. They later accused the pilot, Captain Jacob Wulfson, of drugging and strangling Steele in his apartment in the east of England, and of penetrating her vagina with his penis without her consent.

In the criminal justice system of England and Wales, Wulfson’s trial would likely have taken place at the local crown court, and the alleged crime would have been classified as rape. A jury made up of ordinary citizens—both men and women—would have heard the case. If found guilty, a judge would have decided the sentence.

However, Wulfson’s case was tried in a court martial on a US airbase, even though the alleged crime happened while he was off duty and in an English city. The proceedings followed US military law, and the charge was not rape, but sexual assault and “aggravated sexual contact.”

View image in fullscreen
Sarah Steele. Photograph: Antonio Olmos/The Guardian

The judge, an air force colonel, sat in front of an American flag. He presided over a room full of people in navy-blue uniforms. The jury—who heard the case in April this year at RAF Lakenheath, the largest US base in Britain—was made up of eight air force officers.

All of them were stationed at the same base as Wulfson. All of them were men.The panel’s president—similar to a jury foreman—was the head of the squadron that maintains the jets Wulfson flew. Another panel member had been acquitted of sexual offenses in a court-martial a few years earlier.

Apart from two Guardian reporters and the British witnesses who testified, everyone in the courtroom was American. At one point, the NHS was referred to by the wrong name. At another, there was confusion about how long it would take to get to Wales.

Unlike in British courts, there was no dock for the accused. Wulfson sat at a table with his defense team, directly across from the airmen chosen to weigh the evidence during the week-long court-martial.

Wulfson, a decorated pilot, flew F-35s, the US military’s most advanced fighter jet. He served in Afghanistan and more recently trained to fly while carrying nuclear weapons. His elite squadron was nicknamed the “Valkyries.”

He did not give evidence during the court-martial. For most of the proceedings, he stayed silent, exercising his right under the US Constitution not to testify. As a result, he never gave his own account of what happened in his apartment.

View image in fullscreen: Wulfson (center) with colleagues at the Dubai airshow in the UAE in 2019. Photograph: Tech Sgt Joseph Pick/US Air Forces Central

Instead, Wulfson’s defense team tried to undermine Steele’s credibility. His lawyer, a former army litigator who flew in from Florida, portrayed her as a financially motivated, sex-obsessed “liar,” subjecting her to the kind of theatrical and combative questioning more common in US courtrooms.

Bunker busters and a Burger King: a visual guide to US military bases on British soil
Read more

Steele’s experience highlights what can happen when the alleged perpetrator of a crime in the UK is a member of the US military.

Technically, UK authorities should have primary jurisdiction to prosecute crimes allegedly committed by US service members when they are off duty and off base. But the Wulfson case is one of several uncovered by the Guardian where UK police and prosecutors appear to be handing over responsibility to their American military counterparts.

“The British authorities should be fighting to keep jurisdiction,” said Rachel VanLandingham, a law professor and former US Air Force judge advocate involved in efforts to reform military law. “Why should they trust the American military justice system with anything related to sexual assault?”

In Wulfson’s case, the jury found him guilty of strangling Steele, but not guilty of penetrating her vagina without her consent.

If his case had been heard in English courts, the judge would have taken responsibility for sentencing Wulfson at that point. Under national guidelines, the equivalent offense of non-fatal strangulation carries a maximum sentence of five years.

At the court-martial, Wulfson could choose between the judge or jury to decide his punishment. He opted to have his fellow airmen, with little or no legal experience, decide his sentence.

View image in fullscreen: An F-35A Lightning II aircraft on the tarmac at RAF Lakenheath. Photograph: Alireza Boeini/Alamy

The maximum prison sentence they could impose was 13 years. The prosecution requested five years. After three hours of deliberation, the men returned with a decision: Wulfson would be confined to a corrections facility for six months.

At the back of the courtroom, Steele looked exhausted. She had spent more than six hours on the stand that week. In a statement to the Guardian, she described the court-martial as a “degrading” process that put her, rather than Wulfson, on trial.

‘His hand was on my neck’

RAF Lakenheath is essentially a small American town in west Suffolk. More than 6,000 active-duty personnel and their family members are stationed at the base, where convenience stores are stocked with American candy.

The base has its own shopping mall, a drive-thru Taco Bell, and a miniature Statue of Liberty. The currency used in its shops and cafes isin US dollars. To reach emergency services (the base has its own hospital, police force, and fire department), you dial 911.

View image in fullscreen
RAF Lakenheath. Photograph: David Goddard/Getty Images

View image in fullscreen
Photograph: Joshua Bright/The Guardian

Lakenheath is home to the US Air Force’s 48th Fighter Wing. A typical morning on the base involves formations of fighter jets taking off for training missions. Some of its jets were recently involved in the US bombing of Iran.

Wulfson worked at the base’s F-35 complex. After joining the Valkyries—one of Lakenheath’s two F-35 squadrons (the other is called the Grim Reapers)—his name and callsign, ā€œLone,ā€ could be seen printed on a flap of one of the jets, which is capable of dropping thermonuclear bombs.

Wulfson met Steele on Tinder in September 2023. They both lived in Cambridge, a 40-minute drive from the airbase. ā€œI live on Midsummer Common,ā€ he wrote in one of his early messages. ā€œI’m a pilot up at Lakenheath.ā€

After exchanging messages on the dating app, they switched to WhatsApp and shared details about their lives. Steele, then 39, had separated from her long-term partner earlier that year. In court, she said she was just starting to dip her toe back into dating. ā€œI was trying to see what was next in my life.ā€

Weeks after they met online, Steele went into the hospital for surgery to deal with complications from a mastectomy she had several years earlier. From the hospital, she texted with Wulfson, who was 29, while she was recovering, joking about the strong painkillers she was taking.

View image in fullscreen
The F-35 bearing Captain Jacob Wulfson’s name taking off from Lakenheath base in 2024. Photograph: Benjamin Smith

They also exchanged messages sharing sexual fantasies. In conversations with friends, she referred to him as ā€œthe pilot.ā€

By December 1, 2023, Steele was back on her feet and slowly returning to her fitness routine. That evening at the gym, she discussed with a friend whether she should meet Wulfson in person for the first time. He had texted her earlier that day to see what she was up to.

At 10:42 PM, Wulfson wrote again: ā€œYou should come here.ā€ She asked where ā€œhereā€ was. ā€œAt my flat,ā€ he replied. Back at home, Steele quickly showered and ate some slices of apple before driving over to him.

Before arriving, she texted him with what she described as ā€œa few ground rules.ā€ It read: ā€œNo means no when said. No hands on my neck. Ever. Condoms please.ā€ She admitted her message was ā€œblunt.ā€ Wulfson replied: ā€œYes, that’s fair.ā€

Security camera footage shown during the court-martial showed Steele arriving at his apartment building shortly after 11:30 PM. Steele’s account of what happened next was presented by the military prosecutors.

Upstairs in the kitchen, Wulfson poured her a whisky, and they chatted for about half an hour. The prosecution claimed that while Steele was in his apartment, a potent drug called etizolam entered her system. They offered several theories about how it was given to her but couldn’t say for sure, and Wulfson was ultimately found not guilty of the drug-related charge.

View image in fullscreen
An American Boeing F-15E Strike Eagle fighter plane after landing at RAF Lakenheath on April 7. Photograph: Leon Neal/Getty Images

View image in fullscreen
The perimeter fence of RAF Lakenheath keeps the public—and these protesters in April—at bay. Photograph: Joshua Bright/The Guardian

From the kitchen, they moved to Wulfson’s bedroom and undressed. Steele said on the witness stand that at this point, ā€œthings sped up really quite fast.ā€ When the prosecutor asked her to describe what happened, she said that once Wulfson was on top of her, he moved ā€œvery rapidlyā€ and penetrated her without a condom—against her stated wishes.

She said she tried to protest but couldn’t. The prosecutor asked why not. ā€œHis hand was on my neck,ā€ she replied. She said she hShe wanted him to slow down, but she “couldn’t speak.” She described looking up at him and noticing a light fixture on the ceiling above his head.

“One of his hands was on my arm, one of his hands was on my neck,” Steele said. When asked how that felt, she said she was scared, and then things started going dark. “[I felt] like I was going out, disappearing down a tunnel, and then nothing.”

Prosecutors claimed that Steele passed out in Wulfson’s bed because of the etizolam in her system and the pressure he put on her neck. “As he was squeezing her neck, he was still penetrating her,” said Christopher Mitchell, the air force major on the prosecution team.

Steele testified that her next memory was waking up in the cold water of Wulfson’s bath. She said her body was sore. When the prosecutor asked where, she replied, “Throat, neck, head, feet, genitals.” She said she felt confused about why she was in so much pain. At that point, she said, “I was not sure of anything.”

‘Like someone had beat the shit out of her’

According to the prosecution’s case, Wulfson eventually helped Steele out of the bath and brought her back to his bed. She stayed there until the afternoon, drifting in and out of sleep. She said the nausea was intense. “I had splitting pain in my foot and fire in my throat.”

Later, after Wulfson drove Steele home (she said she couldn’t drive because of an injured foot), he sent her a series of texts. “I am so sorry. I’m horrified with myself,” he wrote. “I need to spend some time thinking about who I am,” he added. “I feel so badly about what happened.”

That evening, Steele went to A&E (a term that had to be explained to the American jury). She had scans and X-rays. A doctor who treated her testified that she had “injuries visible to the eye,” including bruising on her face and body. The doctor didn’t see bruising on her neck, but said Steele showed symptoms linked to strangulation.

Steele left the hospital the next morning, and a friend took her to a sexual assault referral center. There, Steele said, she gave a urine sample and had photos taken of her vagina as part of an intimate exam by a forensic nurse.

She also had an off-the-record conversation with a UK police officer at the center. Afterwards, her friend—a woman who worked for the US air force—took Steele to a nearby US base to have a similar talk with military police.

Within 24 hours, US air force police arrested Wulfson. A spokesperson for the federal law enforcement agency told the Guardian that it “negotiated jurisdiction” with Cambridgeshire police and agreed the US “would take the lead.” Cambridgeshire police confirmed they agreed the Americans “would take investigative primacy.”

Another friend who saw Steele around that time testified that “it looked like someone had beat the shit out of her.”

During the court martial, Wulfson’s lawyer, Tim Bilecki—a well-known defense attorney in the US court martial system who posts YouTube videos about his courtroom wins—offered an alternative explanation for the injuries. He said Steele’s injuries were caused by her own actions.

Bilecki, an imposing figure with a blond crew cut and pinstripe suit, claimed Steele started “freaking out” in Wulfson’s bed because of a traumatic assault earlier in her life. He said she hit the pilot and head-butted him, which caused her own head injury and concussion.

The lawyer denied that Wulfson assaulted, strangled, or drugged Steele. “Capt Wulfson has been falsely accused, plain and simple,” he said, adding that the pilot was “unequivocally not guilty.”The core of Bilecki’s case was an attack on Steele’s credibility. He used several strategies, starting with the claim that Steele had made up the allegations as part of a plan to get money from a UK government compensation scheme for crime victims.

In his opening statement, Bilecki confidently said, ā€œThis is a play for money,ā€ and argued that his client had been ā€œset up for money.ā€ Steele repeatedly denied this. She said she had applied to the scheme—and still hadn’t received a decision—to cover lost wages because she had trouble returning to work after the assault.

The prosecution called Bilecki’s theory absurd. By the time he gave his closing arguments, he seemed less sure about this part of his case. ā€œDo I know if she’s doing this for money? I don’t know,ā€ he said.

Another line of attack was that Steele abused prescription drugs. At one point, Bilecki focused on texts she had sent Wulfson from the hospital while recovering from breast surgery. She had joked about being on strong American painkillers.

By trying to paint Steele as a drug abuser—which she strongly denied—he suggested she had actually taken etizolam, a benzodiazepine-like drug banned in the UK and sometimes called ā€œstreet Valium.ā€ Bilecki suggested she might have wanted to ā€œpop a few pills before going to meet a fighter pilot significantly younger than her.ā€

Get in touch
Contact Harry Davies about this story
If you have something to share about this story, you can contact Harry using one of the following methods:

Secure Messaging in the Guardian app
The Guardian app has a tool for sending tips about stories. Messages are end-to-end encrypted and hidden within the routine activity that every Guardian mobile app performs. This prevents an observer from knowing you are communicating with us at all, let alone what is being said.
If you don’t already have the Guardian app, download it (iOS/Android) and go to the menu. Select ā€˜Secure Messaging.’
To send a message to Harry Davies, please choose the ā€˜UK Investigations’ team.

Email
If you don’t need a high level of security or confidentiality, you can email harry.davies@theguardian.com.

Messaging apps
You can message Harry using the Signal Messenger app. Use the ā€˜find by username’ option and type ā€˜hfd.90’.

SecureDrop
If you can safely use the tor network without being observed or monitored, you can send messages and documents to the Guardian via our SecureDrop platform.

Finally, our guide at theguardian.com/tips lists several ways to contact us securely and discusses the pros and cons of each.

Show more

Bilecki said there was ā€œzero evidenceā€ that Wulfson gave her the drug. ā€œWhy would you need to drug someone who is willingly coming over to hook up with you? You wouldn’t need to, it’s absurd.ā€

In his efforts to portray her as a ā€œdangerousā€ liar, Bilecki even raised doubts about whether Steele had actually had reconstructive breast surgery. He asked the jury: ā€œHave you heard any record she had that surgery?ā€

Such speculative claims might not have been allowed in English courts. Alleged victims of sexual offences are entitled to anonymity and eligible for protections, such as testifying from behind a screen to shield them from the defendant’s view.

View image in fullscreen
Steele gave up her anonymity to speak about her ā€˜degrading’ experience. Photograph: Antonio Olmos/The Guardian

With no such measures in the court martial, Steele testified just a few metres away from Wulfson.

As Steele sat facing the accused, Bilecki questioned her about texts she had sent Wulfson months before she went to his apartment, describing the ways she wanted to have sex. The lawyer read them out. He referred to others in which she had discussed teaching law students about BDSM. ā€œShe’s certainly not some victim in the bedroom,ā€ he said.

On the stand, Steele mostly appeared composed, though at times she seemed nervous and occasionallyAt times, she grew frustrated with Bilecki—”That’s a stupid question,” she said at one point. Other times, she was clearly upset, struggling not to cry.

That didn’t stop Bilecki from making a surprising claim in his closing argument: that Steele had enjoyed the court martial. “She loves the attention of all this,” he said. As he spoke, a young woman in camouflage at the back of the courtroom quietly shook her head.

A Sentence Decided by Peers

It took the panel nearly five hours to reach a verdict. By the time they left to deliberate, they had heard testimony from 13 witnesses called by the prosecution, including doctors, military police, and Steele’s friends. The defense called no witnesses.

One witness was a U.S. military forensic biologist. He said limited male DNA was found on Steele’s body, but traces of Wulfson’s DNA were on her neck and breasts. (The prosecution noted she had spent hours in a bath and showered before samples were taken.) Swabs taken days after the assault did not find Steele’s DNA on Wulfson’s penis.

Because of specific U.S. laws, intimate images and a report on the forensic exam of Steele’s vagina shortly after the alleged assault were not allowed as evidence.

When the panel returned to the courtroom with a decision, Wulfson stood at attention, staring straight ahead at the officers who would decide his fate. A slip of paper with their verdict was handed to the judge. Wulfson was told to stand again for the reading.

Along with the strangulation charge, he was found guilty of another offense: willfully disobeying a commander’s order not to contact Steele after the assault. He was acquitted of penetrating her without consent and doing so knowing she had been drugged.

Wulfson chose to be sentenced by the panel. Judge Brian Thompson—a colonel with glasses who wore a black robe over his air force uniform and sipped orange soda during breaks—told the panel that deciding the sentence would require “wise discretion.”

Jury Sentencing

Jury sentencing is allowed in only a few U.S. states. Its use in military courts was ended in 2023 due to concerns about inconsistent decisions and the role of military personnel in delivering justice. Wulfson’s crimes happened weeks before this change, so the old system applied.

The judge said the panel should consider factors like the impact on the victim and how to promote “good order in the armed forces.” But in this phase of the court martial—where new witnesses could testify—they could also consider Wulfson’s military character and combat record.

The defense called three witnesses: two senior pilots he had flown with and a colonel who spoke via video link from a U.S. base in South Korea. Referring to Wulfson by his call sign, “Lone,” they described him as a hardworking, humble wingman and one of the air force’s top young pilots.

They shared stories of Wulfson’s missions in Afghanistan from 2019 to 2020, flying attack jets. For example, he provided air support for special forces during night raids in villages and flew missions carrying 500-pound and 2,000-pound bombs.

Each witness was asked if their view of Wulfson’s character had changed now that they knew he was convicted of strangling a woman. No, they said—they had seen his “true character” in combat.

As Bilecki argued against a prison sentence, he gave the panel a folder with Wulfson’s military service record. He pointed out several times how many people his client had killed. One mission in Afghanistan, he said, resulted in hundreds of “KIA,” referring to enemies killed.Here’s the rewritten version in fluent, natural English:

A four-ship formation featuring an A-10 Thunderbolt II, an F-35 Joint Strike Fighter, and an F-15 Strike Eagle flies near Luke Air Force Base in Arizona in 2017.
Photograph: Air Force Photo/Sipa/Shutterstock

On the final day of the court-martial, Wulfson broke his silence and stepped forward to address the panel. He spoke quietly. He said that on the night in question, he was “highly intoxicated” and had taken things “too far.” Referring to the texts he had sent apologizing to Steele after the assault, he said, “What I expressed to her still stands.”

“I hope we can both move on with our lives,” he added, describing what happened as “one night, one bad decision.”

The impact on Steele was made clear in a victim impact statement she read to the court. She stood and spoke directly to Wulfson. “I asked you not to do something, and you did it anyway,” she said. “That wasn’t a misunderstanding. It was a conscious disregard for my autonomy, my safety, and my voice.”

Speaking through tears, she said that when she went to meet Wulfson, she had recently undergone surgery and was trying to “reconnect with a sense of self and feel safe in a very different body.”

She said she was grateful for the conviction, but “the road to get to this point was long” and required her to return to “the worst experience in my life again and again.” Steele ended with a request to the panel: “I’d like to see justice served that will not only restore some of my own faith in humanity but also offer a layer of protection to other women.”

A US Air Force spokesperson said the military justice process “includes strict procedural safeguards by design to ensure proceedings are fair, transparent, and thorough.” They added, “Maintaining the trust that underpins our partnership, while ensuring accountability and the fair administration of discipline, remains our priority.”

In her statement to the Guardian, Steele said, “The ordeal I went through was incredibly distressing and degrading. It felt intrusive and archaic.”

What happens next?

The facility where Wulfson is serving his six-month sentence is a corrections center at RAF Lakenheath, just a short distance from the runway he used to race down at hundreds of miles an hour in an F-35. At the time of his trial, only two other people were being held there.

A sign on the fence outside the runway at RAF Lakenheath.
Photograph: Joshua Bright/The Guardian

Detainees wake up each day at 5 a.m. and wear camouflage uniforms instead of prison suits. They take on work around the airbase, and visitors are allowed on Sundays and US public holidays. Good behavior can lead to a reduced sentence.

In addition to the six-month sentence, the panel punished Wulfson with a formal reprimand and a dismissal from the Air Force. This penalty can strip an officer of veteran benefits and leave a permanent record as a convicted felon.

In a statement to the Guardian, Bilecki said prosecutors could have charged Wulfson with rape but chose not to. He emphasized that the court found the pilot not guilty of the sexual assault allegations.

He also downplayed the significance of Wulfson’s apology. “He apologized because it made sense to,” Bilecki said. “This woman had come to his home for the first time and left looking like she had been in a fight. Obviously, the night hadn’t gone as planned.”

Wulfson’s case will now be automatically reviewed by an Air Force appeals court at a military base in Maryland, which can re-examine the facts and evidence of the case. He is scheduled to leave RAF Lakenheath in mid-September, after which he will be free to fly home to the US.

If not for this article, the only public record of Wulfson’s conviction would be an entry on a docket on an obscure US Air Force webpage. It lists the offense he was convicted of and the sentence he received. There is no reference to any of the facts of the case.There is no evidence that the crime happened in Cambridge or that the victim is a British citizen.

Frequently Asked Questions
Here is a list of FAQs based on the incident you described focusing on the legal and diplomatic aspects

1 What is this case about
A US fighter pilot who was stationed in England was accused of strangling a woman The case was dropped by British authorities and he was sent back to the US to face military discipline instead

2 Why didnt he face a trial in a British court
The US and the UK have a special legal agreement This agreement generally allows US military personnel accused of crimes committed while on duty to be tried by the US military not by British courts

3 What does on duty mean in this case
This is the key legal argument The US claimed the pilot was acting in the course of his military duties when the incident happened The British authorities initially agreed to handle the case but later decided they couldnt proceed partly due to this jurisdictional issue

4 Why was the case called degrading
The term was used by British judges or officials to describe the legal process They felt that the way the case was handledspecifically the US militarys decision to send the pilot home and avoid a full public trial in the UKwas disrespectful to the victim and undermined British justice

5 What happened to the pilot after he was sent back to the US
He faced a US military courtmartial He was convicted of assault and battery and was sentenced to a reduction in rank and a fine He did not serve prison time

6 Is this a common occurrence
Yes Under the SOFA US personnel in the UK and other countries often face US military justice for offduty crimes However this case was highly controversial because of the serious nature of the assault and the perceived lack of accountability in the US system

7 Could the British government have forced him to stay
Technically the US can waive its jurisdiction and allow the UK to try the person In this case the US did not waive jurisdiction and the British authorities accepted that decision leading to the pilots return to the US