{
  "schema": "brand-kit@2",
  "palette": {
    "paper": "#FFFFFF",
    "surface": "#F6F6F6",
    "ink": "#202224",
    "ink_muted": "#545658",
    "accent": "#0071F1",
    "on_accent": "#FFFFFF",
    "accent_secondary": "#EB0000",
    "night": "#141618",
    "on_night": "#E6E8EA",
    "extras": [
      {
        "name": "Page white",
        "hex": "#FFFFFF",
        "role": "paper: the page ground under every light band",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Reith ink",
        "hex": "#202224",
        "role": "ink: headlines, summaries, section labels and the section rule text",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Black",
        "hex": "#000000",
        "role": "UI black: masthead blocks, nav labels, Sign In, See more outline button, Watch panel, footer links",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Meta grey",
        "hex": "#545658",
        "role": "muted text: timestamps, topic tags, audio durations, show names; the 1px meta separator bar",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Hairline",
        "hex": "#E6E8EA",
        "role": "hairline: 1px masthead and nav bottom borders, 1px rule under stacked promos, Follow row border; text colour on the dark ground; fill of the BBC in other languages button",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Section rule",
        "hex": "#3A3C3E",
        "role": "section rule: 2px rule over every section label on white; 1px footer divider",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Night",
        "hex": "#141618",
        "role": "night: full-bleed ground of the Documentaries and Editor's Picks bands",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Muted on night",
        "hex": "#AFB1B4",
        "role": "muted text on #141618 (show labels under Editor's Picks promos)",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Subscribe blue",
        "hex": "#0071F1",
        "role": "accent: the one filled button, Subscribe, in the masthead (2px border same colour)",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Live red",
        "hex": "#EB0000",
        "role": "live: the LIVE word and its pulsing-dot icon before a live headline",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Ad grey",
        "hex": "#F6F6F6",
        "role": "empty advertising slots, full-bleed bands",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Save ring",
        "hex": "#D2D4D6",
        "role": "1px ring of the round bookmark (Save) button on audio tiles",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      }
    ],
    "prov": "observed",
    "source": "https://www.bbc.com/ (2026-10-31)",
    "note": "BBC GEL publishes no colour palette or hex values on its public foundations pages (typography, grid, spacing, iconography, motion). Every hex here is observed on bbc.com on 2026-10-31. GEL publishes only the contrast rule (WCAG 2.0 AA)."
  },
  "typography": {
    "display": {
      "family": "Literata",
      "steal_family": "Literata",
      "weight": 550,
      "tracking": 0,
      "line_height": 1.14,
      "fallback_stack": "Georgia, \"Times New Roman\", serif",
      "real": "BBC Reith Serif (bespoke BBC face by Dalton Maag; licence-restricted)",
      "stand_in": true,
      "prov": "published",
      "source": "https://www.bbc.co.uk/gel/features/typography",
      "site": {
        "weight": "Reith Serif Medium (500) on every promo headline",
        "size_px": "28/32 lead, feature and live headlines; 18/22 standard promo headlines; 14/18 audio tile titles",
        "tracking": "normal on 28 and 18 promo headlines; -0.02em on 14px audio titles and 18px poster titles",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "stand_in_note": "Literata 550 renders Reith Serif Medium within 0.1% line width and 1% ink (measured 2026-10-31 on the hero headline at 100px). Use font-variation weight 550, not 500."
    },
    "body": {
      "family": "Literata",
      "steal_family": "Literata",
      "weight": 400,
      "tracking": 0,
      "line_height": 1.29,
      "scale": 1,
      "fallback_stack": "Georgia, \"Times New Roman\", serif",
      "real": "BBC Reith Serif Regular",
      "stand_in": true,
      "prov": "published",
      "source": "https://www.bbc.co.uk/gel/features/typography",
      "site": {
        "weights": "400 summaries",
        "sizes_px": "14/18 every promo summary (desktop and phone)",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "stand_in_note": "Literata 400 sets 3% narrower than Reith Serif Regular with equal ink: add letter-spacing 0.01em to 14px summaries to hold line breaks."
    },
    "mono": {
      "note": "This role is the UI SANS, not a monospace: the hand-off format names its third face --font-mono. Use it for nav, section labels, meta, buttons and footer.",
      "family": "Public Sans",
      "steal_family": "Public Sans",
      "weight": 600,
      "fallback_stack": "Helvetica, Arial, sans-serif",
      "real": "BBC Reith Sans (bespoke; licence-restricted)",
      "stand_in": true,
      "map": "Reith Sans 400 -> Public Sans 400; Reith Sans 500 -> Public Sans 600; Reith Sans 700 -> Public Sans 700; Reith Sans 800 -> Public Sans 800",
      "site": "Navigation 14/18 (Reith Sans 500, active item 700), Subscribe/Sign In 16/18 500, See more 16/18 500, section labels 15/20 800 uppercase +0.75px (phone 14px), meta 12/14 400, footer links 14/18 500, legal 12/14 400",
      "prov": "observed",
      "source": "https://www.bbc.com/ (2026-10-31)"
    },
    "calibration": "Rendered on 2026-10-31 in headless Chromium at 100px against the BBC Reith files served to bbc.com (static.files.bbci.co.uk, used only for the comparison and not redistributed). Reith Serif Medium \"Ukrainian evacuees reunite with family after years trapped\": Literata 550 width -0.1%, ink +0.8%, x-height -1.1% (Literata 500: -0.9% width, -3.9% ink; Domine 600 and Noto Serif 600 were the runners-up). Reith Serif Regular summary line: Literata 400 width -3.1%, ink +3.1% (Noto Serif 400 -1.2% width but a heavier, wider x-height). Reith Sans 500 nav line: Public Sans 600 width +1.3%, ink -1.2%. Reith Sans 800 section labels: Public Sans 800 width -0.5%, ink -8%. Reith Sans 400 meta: Public Sans 400 width -0.2%, ink -0.3%, x-height +0.8%. Reith has no tracking adjustment (GEL: do not adjust tracking), so the stand-ins keep normal tracking except where noted."
  },
  "style": {
    "button_shape": "square",
    "button_note": "radius 0; 2px border; 6px 12px padding; 34px tall (observed)",
    "corners": "0 on images, buttons and panels (observed)",
    "linework": "2px section rules, 1px hairlines (observed)",
    "motion": "minimal on the front page; GEL motion principles Connect, Guide, Delight (published)",
    "prov": "observed",
    "source": "https://www.bbc.com/ (2026-10-31)"
  },
  "voice": {
    "tone": [
      "impartial",
      "clear",
      "precise",
      "curious",
      "plain"
    ],
    "notes": [
      "Headlines are statements of what happened, in sentence case, usually 8 to 14 words; summaries add one or two sentences of context (observed on bbc.com, 2026-10-31).",
      "Quotes in headlines use single quotation marks (BBC News style guide).",
      "The front page carries two registers: hard news (plain, attributive, no adjectives of praise) and features (a question or a surprising fact as the hook). Both stay factual; neither sells.",
      "A landing page in this system follows the front-page news voice: every block is a promo whose headline is the link."
    ],
    "rules": [
      {
        "kind": "spelling",
        "value": "en-GB",
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/grammar-spelling-punctuation"
      },
      {
        "kind": "prefer",
        "term": "recognise",
        "over": [
          "recognize"
        ],
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/grammar-spelling-punctuation"
      },
      {
        "kind": "headline_case",
        "value": "sentence",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "kind": "exclamations",
        "value": "never",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "kind": "person",
        "value": "third",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "kind": "other",
        "text": "Single quotation marks in headlines, promo text and quotes within quotes",
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/grammar-spelling-punctuation"
      },
      {
        "kind": "other",
        "text": "Words for one to nine, digits from 10, except in headlines, with units (3kg) and percentages (4%)",
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/numbers"
      },
      {
        "kind": "other",
        "text": "Never start a sentence or headline with digits",
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/numbers"
      },
      {
        "kind": "other",
        "text": "Spell out million and billion except with currencies or in headlines (£5m)",
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/numbers"
      },
      {
        "kind": "other",
        "text": "Minimise capital letters; only a few titles are always capped",
        "prov": "published",
        "source": "https://www.bbc.co.uk/newsstyleguide/grammar-spelling-punctuation"
      },
      {
        "kind": "other",
        "text": "Body copy no more than 60 characters per line",
        "prov": "published",
        "source": "https://www.bbc.co.uk/gel/features/typography"
      }
    ],
    "approved": {
      "words": [
        "inform",
        "educate",
        "entertain",
        "impartial",
        "audiences"
      ]
    },
    "banned": [
      "meet with",
      "focussed",
      "protestor"
    ],
    "is_not": [
      "partisan",
      "promotional",
      "sensational"
    ],
    "prov": "published",
    "source": "https://www.bbc.co.uk/newsstyleguide/grammar-spelling-punctuation"
  },
  "spec": {
    "source": "https://www.bbc.com/ (2026-10-31)",
    "how": "headless Chromium at 1440x900 and 390x844, computed styles, bounding boxes and pixel samples, 2026-10-31",
    "provenance": "observed",
    "motion": [
      {
        "name": "masthead-collapse",
        "easing": "ease",
        "duration_ms": 500,
        "use": "masthead height transition on scroll (transition: height 0.5s); static at rest",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "nav-slide",
        "easing": "ease",
        "duration_ms": 500,
        "use": "section nav transform transition when it hides on scroll; static at rest",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      }
    ],
    "icons": {
      "grid": "not published publicly (BBC staff-only design specification)",
      "stroke": "not published",
      "sizes": [
        {
          "name": "inline",
          "px": 18,
          "use": "play glyph before a headline-only video link"
        },
        {
          "name": "badge",
          "px": 20,
          "use": "play / audio glyph inside the 24px badge"
        },
        {
          "name": "chevron",
          "px": 20,
          "use": "carousel arrows"
        }
      ],
      "prov": "observed",
      "source": "https://www.bbc.com/ (2026-10-31)"
    },
    "signature": [
      {
        "name": "The BBC blocks",
        "where": "centred in the masthead on every page; footer top-left",
        "spec": "three black squares, each holding one white letter (B, B, C), equal size and spacing; 140x40 desktop masthead, 105x30 phone and footer",
        "dont": "recolour the blocks, add a wordmark beside them, round their corners or set them off-centre in the masthead",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Rule-and-label section heads",
        "where": "every section on the front page",
        "spec": "2px dark rule across the column, then a 15px ExtraBold uppercase label 10px below it, chevron when it links; content 24px under",
        "dont": "use big display headings, coloured section bars or centred titles for sections",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Serif headlines over sans furniture",
        "where": "every promo",
        "spec": "Reith Serif Medium headlines and Regular summaries; Reith Sans for nav, labels, meta and buttons. Linked headlines are the heavier weight (GEL promos)",
        "dont": "set headlines in the sans, or summaries in a weight heavier than Regular",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Square corners everywhere",
        "where": "images, buttons, badges, panels",
        "spec": "radius 0 on every image, button and badge; the only round shapes are the Save ring and the live dot",
        "dont": "round image corners or pill buttons",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "name": "Plain white news grid",
        "where": "whole front page",
        "spec": "white ground, near-black ink, one blue button, red only for LIVE; two full-bleed #141618 bands for video and documentaries; photos carry all the colour",
        "dont": "tint section grounds, add gradients or decorative colour",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      }
    ],
    "page": {
      "source": "https://www.bbc.com/ (international edition; bbc.co.uk redirects there outside the UK)",
      "date": "2026-10-31",
      "prov": "observed",
      "how_to_read": "Every y below is a page coordinate measured on the captured page at 1440 and 390 wide, including the empty ad slots. Build the bands in exactly this order. Card lines give each card's box, then (x,y) offsets of its parts from the card's own top-left, then the exact copy and the image file to use. Copy is the real front page as captured; use it verbatim.",
      "announcement": {
        "summary": "No announcement bar. The very top of the page is an empty #F6F6F6 ad slot: 1440x278 desktop, 390x78 phone, nothing in it.",
        "ground": "#F6F6F6"
      },
      "nav": {
        "summary": "Two stacked white strips, both sticky. Masthead strip 80px + 1px #E6E8EA bottom border (desktop y 278-359): left a 50x30 menu-and-search icon button at x16 then \"Watch Live\" (16x16 live-dot icon + 14px/18px Public Sans 600 black, x86); centre the BBC blocks logo 140x40 (x650 y298); right Subscribe (blue filled) at x1224 and Sign In (text button) at x1345. Section nav strip 42px (y 359-401) with 1px #E6E8EA bottom border: 14 centred links.",
        "ground": "#FFFFFF",
        "height": "81px masthead (80 + 1px border) + 42px section nav = 123px desktop; phone masthead 48px + 1px border, no section nav",
        "border": "1px solid #E6E8EA under the masthead and under the section nav",
        "logo": {
          "variant": "BBC blocks: three black squares with white B, B, C letters (black on white), no wordmark",
          "px": "140x40 desktop (each block 40x40, 10px apart), 105x30 phone",
          "position": "centred horizontally; desktop y 298; phone x143 y87",
          "file": "BBC blocks (inline SVG on bbc.com; see the study logos)"
        },
        "links": {
          "count": 14,
          "labels": "Home, News, Sport, Business, Technology, Health, Culture, Arts, Travel, Earth, Audio, Video, Live, Documentaries",
          "size": "14px/18px, padding 12px 8px (each link box 42px tall)",
          "weight": "Public Sans 600 (Reith Sans 500); active Home 700",
          "color": "#000000",
          "alignment": "centred group, Home x285 to Documentaries ending x1147; a 1px #E6E8EA vertical divider (about 20px tall) sits between Earth and Audio",
          "active": "Home: 3px #000000 underline across the full link box width (x285-341) at the bottom of the strip, y 397-399, directly over the 1px #E6E8EA border"
        },
        "actions": [
          "Menu: one 50x30 button at x16 y303 holding a three-line hamburger and a magnifier side by side (file icon-menu-search.svg)",
          "Watch Live: live-dot icon (red #EB0000 dot in a ring, 16x16, file icon-watch-live.svg) + \"Watch Live\" 14px 600 #000000 at x86",
          "Subscribe: button_subscribe 101x34 at x1224 y301",
          "Sign In: button_text 79x34 at x1345 y301, text \"Sign In\""
        ],
        "sticky": "both strips position sticky at the top; nothing changes colour at rest",
        "phone": {
          "shows": "masthead only, 390x48 + 1px #E6E8EA border at y78: menu-and-search button x12 y87 (50x30), BBC blocks 105x30 centred (x143 y87), account icon (32x20 person outline) at x346 y92. No Watch Live, no Subscribe, no Sign In label, no section nav.",
          "menu": "drawer (closed at rest): Home, News, Sport, Business, Technology, Health, Culture, Arts, Travel, Earth, Audio, Video, Live, Documentaries, Weather, Newsletters",
          "cta": "none visible"
        },
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "hero": {
        "summary": "No marketing hero. The page opens on a three-column top-stories grid 40px under the nav: two image promos stacked on the left (300 wide), the lead story centre (616 wide, 16:9 image over a 28px headline), four text-only promos stacked on the right (300 wide). Columns at x96, x412, x1044 with 16px gutters.",
        "desktop": "grid y 441-1176 inside the 1248 column (x96-1344): left column x96 w300, centre x412 w616, right x1044 w300; 16px gutters; first row top y441 (40px under the nav border). See section \"Top stories (lead grid)\" for every card.",
        "phone": "lead story first: image full-bleed 390x219 (x0) at y159, headline 24px/28px 3 lines at y390, summary, meta; then the two left-column promos as horizontal rows (image 132x74 left, 18px headline right at x156, no summary), then the four text promos full-width 358 with summaries. Each separated by 1px #E6E8EA rules.",
        "at_rest": "static; nothing animates in the captured state",
        "media": "real photos only, 16:9, square corners; files listed per card",
        "type": "Literata 550 headlines (28/32 lead, 18/22 others), Literata 400 14/18 summaries, Public Sans 400 12/14 meta in #545658",
        "cta": "none: every headline is the link",
        "proof": "none",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "sections": [
        {
          "name": "Top stories (lead grid)",
          "summary": "7 cards: 2 image promo (image over 18px headline), 4 text promo (18px headline, summary, meta; no image), 1 lead story (image over 28px headline)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 441; cards y 441-1176",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 159; cards y 159-1509",
          "anatomy": [
            "No section label or rule: this band follows the masthead directly.",
            "1. [westminster] · desk x412 y441 616x519; image 616x347 at (0,0); headline at (0,359) w616 2 lines; description at (0,435) w616 2 lines; meta at y+496; no rule under it · phone x16 y159 358x424; image 390x219 at (-16,0); headline at (0,231) w358 3 lines; description at (0,327) w358 2 lines; 1px #E6E8EA rule at y+423 · desktop headline lines: Ukrainian evacuees reunite with family after / years trapped in Russia-occupied city · phone headline lines: Ukrainian evacuees reunite / with family after years trapped / in Russia-occupied city · headline \"Ukrainian evacuees reunite with family after years trapped in Russia-occupied city\" · summary \"Many residents left Oleshky on Friday following a ceasefire brokered by US First Lady Melania Trump.\" · meta \"48 mins ago | Europe\" · image file s001-vermont-ukrainian-evacuees-reunite-with-family-a.webp",
            "2. [dundee] · desk x96 y441 300x380; image 300x169 at (0,0); headline at (0,181) w300 3 lines; description at (0,259) w300 4 lines; meta at y+352; 1px #E6E8EA rule at y+379 · phone x16 y608 358x133; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; 1px #E6E8EA rule at y+132 · desktop headline lines: Why North Korea's 'elite' hackers / are the prime suspect in major / Binance hack · phone headline lines: Why North Korea's 'elite' / hackers are the prime / suspect in major / Binance hack · headline \"Why North Korea's 'elite' hackers are the prime suspect in major Binance hack\" · summary \"If the accusations are true, the record-making heist shows how powerful suspected North Korean hackers have become.\" · meta \"14 hrs ago | Technology\" · image file s002-vermont-why-north-korea-s-elite-hackers-are-the.webp",
            "3. [dundee] · desk x96 y837 300x339; image 300x169 at (0,0); headline at (0,181) w300 2 lines; description at (0,237) w300 3 lines; meta at y+312; no rule under it · phone x16 y757 358x110; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+110 · desktop headline lines: Police deployed during / stand-off over control of / top Poland court · phone headline lines: Police deployed during / stand-off over control of / top Poland court · headline \"Police deployed during stand-off over control of top Poland court\" · summary \"The escalation came after the government suspended two senior justices and moved to bring criminal charges against them.\" · meta \"15 hrs ago | Europe\" · image file s003-vermont-police-deployed-during-stand-off-over-co.webp",
            "4. [manchester] · desk x1044 y441 300x146; headline at (0,0) w300 2 lines; description at (0,52) w300 3 lines; meta at y+123; 1px #E6E8EA rule at y+146 · phone x16 y892 358x146; headline at (0,0) w350 2 lines; description at (0,52) w358 3 lines; 1px #E6E8EA rule at y+146 · desktop headline lines: Ethiopian PM puts ministers / through military training · phone headline lines: Ethiopian PM puts ministers through / military training · headline \"Ethiopian PM puts ministers through military training\" · summary \"The prime minister has previously emphasised military preparedness as central to his government's ambitions.\" · meta \"2 hrs ago | Africa\"",
            "5. [manchester] · desk x1044 y604 300x164; headline at (0,0) w300 2 lines; description at (0,52) w300 4 lines; meta at y+141; 1px #E6E8EA rule at y+164 · phone x16 y1055 358x146; headline at (0,0) w350 2 lines; description at (0,52) w358 3 lines; 1px #E6E8EA rule at y+146 · desktop headline lines: The fight to save Canadian town / threatened by Trump's tariffs · phone headline lines: The fight to save Canadian town / threatened by Trump's tariffs · headline \"The fight to save Canadian town threatened by Trump's tariffs\" · summary \"A century-old paper mill in Témiscaming, Quebec is indefinitely closed after the US imposed 50% tariffs on its products, putting hundreds out of work.\" · meta \"14 hrs ago | US & Canada\"",
            "6. [manchester] · desk x1044 y785 300x168; headline at (0,0) w300 3 lines; description at (0,74) w300 3 lines; meta at y+145; 1px #E6E8EA rule at y+168 · phone x16 y1218 358x128; headline at (0,0) w350 2 lines; description at (0,52) w358 2 lines; 1px #E6E8EA rule at y+128 · desktop headline lines: 'The necktie is dead': How US / midterm candidates are dressing / for votes · phone headline lines: 'The necktie is dead': How US midterm / candidates are dressing for votes · headline \"'The necktie is dead': How US midterm candidates are dressing for votes\" · summary \"From Alaska to Texas, candidates with an eye on Congress are using their personal style to stand out.\" · meta \"16 hrs ago | US & Canada\"",
            "7. [manchester] · desk x1044 y970 300x146; headline at (0,0) w300 2 lines; description at (0,52) w300 3 lines; meta at y+123; no rule under it · phone x16 y1363 358x146; headline at (0,0) w350 2 lines; description at (0,52) w358 3 lines; no rule under it · desktop headline lines: Burnham 'open' to calls for slavery / apology but not reparations · phone headline lines: Burnham 'open' to calls for slavery / apology but not reparations · headline \"Burnham 'open' to calls for slavery apology but not reparations\" · summary \"The British government has never formally apologised for slavery despite repeated calls from a number of Commonwealth leaders.\" · meta \"3 hrs ago | Politics\""
          ]
        },
        {
          "name": "Ad slot 1",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 1224",
          "phone": "full bleed 390x293 at y 1541",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        },
        {
          "name": "Weekend Reads",
          "summary": "2 cards: 2 wide image promo",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 1565; cards y 1619-2064",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 1866; cards y 1910-2594",
          "anatomy": [
            "Section label(s): \"WEEKEND READS\" at x96 y1575 (phone x16 y1876). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [edinburgh] · desk x96 y1619 616x445; image 616x347 at (0,0); headline at (0,358) w616 1 line; description at (0,392) w616 2 lines; no rule under it · phone x16 y1910 358x328; image 358x201 at (0,0); headline at (0,219) w350 1 line; description at (0,258) w358 3 lines; 1px #E6E8EA rule at y+328 · headline \"Why Germans won't buy a round of beer\" · summary \"From Berlin bars to Bavarian beer gardens, who pays for what is taken seriously in Germany. Here's why splitting the bill can actually be a sign of friendship.\" · image file s004-indiana-why-germans-won-t-buy-a-round-of-beer.webp",
            "2. [edinburgh] · desk x728 y1619 616x445; image 616x347 at (0,0); headline at (0,358) w616 1 line; description at (0,392) w616 2 lines; no rule under it · phone x16 y2255 358x339; image 358x201 at (0,0); headline at (0,213) w350 2 lines; description at (0,269) w358 3 lines; no rule under it · phone headline lines: Scientists think our recent ancestors may / have run hotter – but why? · headline \"Scientists think our recent ancestors may have run hotter – but why?\" · summary \"150 years ago, average human body temperatures appear to have been higher than now. Scientists are still exploring exactly why.\" · image file s005-indiana-scientists-think-our-recent-ancestors-ma.webp"
          ]
        },
        {
          "name": "Premier League (live feature)",
          "summary": "1 cards: 1 feature split (big image + text panel)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 2111; cards y 2165-2633",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 2626; cards y 2670-3157",
          "anatomy": [
            "Section label(s): \"PREMIER LEAGUE\" at x96 y2121 (phone x16 y2636). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [windsor] · desk x96 y2165 1248x468; image 832x468 at (0,0); headline at (848,108) w384 4 lines; description at (848,248) w384 3 lines; See more button at y+326; no rule under it · phone x16 y2670 358x487; image 358x201 at (0,0); headline at (16,218) w300 4 lines; description at (16,342) w326 4 lines; no rule under it · red LIVE label (Public Sans 700 #EB0000, same size as the headline, live-dot icon before it, 4px gap) + headline \"Premier League: Brighton lead Man City, Coventry, Brentford and Bournemouth in front\" · summary \"Follow live text commentary, listen on 5 Live and watch Final Score as seven Premier League games coming up after Chelsea beat Manchester United.\" · image file s006-montana-premier-league-brighton-lead-man-city-co.webp"
          ]
        },
        {
          "name": "Best Audio of the Week (audio carousel)",
          "summary": "12 cards: 12 audio tile (square art, show name, title, Save + duration)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 2681; cards y 2767-3061",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 3190; cards y 3234-3511",
          "anatomy": [
            "Section label(s): \"BEST AUDIO OF THE WEEK\" + chevron at x96 y2691 (phone x16 y3200). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots.",
            "1. [ipswich] · desk x96 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x16 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"The Global Story\", title \"Can London’s black cabs survive driverless cars?\", Save pill + \"27 mins\" · image file s007-iowa-the-global-storycan-london-s-black-cabs.webp",
            "2. [ipswich] · desk x292 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x177 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"Global News Podcast\", title \"Residents leave devastated Russian-occupied Oleshky\", Save pill + \"27 mins\" · image file s008-iowa-global-news-podcastresidents-leave-devas.webp",
            "3. [ipswich] · desk x488 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x338 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"Good Bad Billionaire\", title \"Jack Dorsey: Twitter squared\", Save pill + \"42 mins\" · image file s009-iowa-good-bad-billionairejack-dorsey-twitter.webp",
            "4. [ipswich] · desk x684 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x499 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"In Our Time\", title \"Casablanca\", Save pill + \"54 mins\" · image file s010-iowa-in-our-timecasablancasave54-mins.webp",
            "5. [ipswich] · desk x880 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x660 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"The Interface\", title \"The ghosts haunting AI storytelling\", Save pill + \"36 mins\" · image file s011-iowa-the-interfacethe-ghosts-haunting-ai-stor.webp",
            "6. [ipswich] · desk x1076 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x821 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"Business Daily\", title \"If China's exports are booming, why are consumers struggling?\", Save pill + \"17 mins\" · image file s012-iowa-business-dailyif-china-s-exports-are-boo.webp",
            "7. [ipswich] · desk x1272 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x982 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"The Interview\", title \"Yuval Abraham and Rachel Szor: There’s a vacuum in Israeli media\", Save pill + \"23 mins\" · image file s013-iowa-the-interviewyuval-abraham-and-rachel-sz.webp",
            "8. [ipswich] · desk x1468 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x1143 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"Evil Genius with Russell Kane\", title \"Series 13, Founder of Scientology, L. Ron Hubbard\", Save pill + \"37 mins\" · image file s014-iowa-evil-genius-with-russell-kanefounder-of.webp",
            "9. [ipswich] · desk x1664 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x1304 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"Crime Next Door\", title \"The Playground Murder, 1. Bad Blood\", Save pill + \"26 mins\" · image file s015-iowa-crime-next-door1-bad-bloodsave26-mins.webp",
            "10. [ipswich] · desk x1860 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x1465 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"What's Up Docs?\", title \"Why do we love scary movies?\", Save pill + \"29 mins\" · image file s016-iowa-what-s-up-docs-why-do-we-love-scary-movi.webp",
            "11. [ipswich] · desk x2056 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x1626 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"Here for the History\", title \"Where Did Cash Come From?\", Save pill + \"31 mins\" · image file s017-iowa-here-for-the-historywhere-did-cash-come.webp",
            "12. [ipswich] · desk x2252 y2767 180x294; image 180x180 at (0,0); no rule under it · phone x1787 y3234 145x277; image 145x145 at (0,0); no rule under it · show \"More or Less\", title \"Europe's witch trials: The numbers behind the myth\", Save pill + \"9 mins\" · image file s018-iowa-more-or-lesseurope-s-witch-trials-the-n.webp"
          ]
        },
        {
          "name": "Documentaries (dark poster carousel)",
          "summary": "8 cards: 8 documentary poster (2:3 poster, title below)",
          "ground": "#141618",
          "desktop": "full-bleed #141618 band y 3085-3701 (616px); content column x96-1344; 24px top padding above the #E6E8EA rule; cards y 3175-3677",
          "phone": "full-bleed #141618 band y 3527-4023; content x16-374; cards y 3601-4007",
          "anatomy": [
            "Section label(s): \"DOCUMENTARIES\" + chevron at x96 y3119 (phone x16 y3553). Each label sits 10px under a full-width 2px rule (#E6E8EA on the dark ground) across its column; label row 20px; first card 24px under the label row.",
            "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots.",
            "1. [worcester] · desk x96 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x16 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Einstein and Hawking: Masters of Our Universe\" · image file s019-newmexico-einstein-and-hawking-masters-of-our-uni.webp",
            "2. [worcester] · desk x412 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x268 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Stolen Babies: Britain's Adoption Scandal\" · image file s020-newmexico-stolen-babies-britain-s-adoption-scanda.webp",
            "3. [worcester] · desk x728 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x520 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Wonderland: Secrets of the Spymasters and Spies\" · image file s021-newmexico-wonderland-secrets-of-the-spymasters-an.webp",
            "4. [worcester] · desk x1044 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x772 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"The Castle: Rebuilding History\" · image file s022-newmexico-the-castle-rebuilding-history.webp",
            "5. [worcester] · desk x1360 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x1024 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Murder in Concrete\" · image file s023-newmexico-murder-in-concrete.webp",
            "6. [worcester] · desk x1676 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x1276 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Fantastic Friends\" · image file s024-newmexico-fantastic-friends.webp",
            "7. [worcester] · desk x1992 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x1528 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Human\" · image file s025-newmexico-human.webp",
            "8. [worcester] · desk x2308 y3175 300x502; image 300x450 at (0,0); no rule under it · phone x1780 y3601 236x406; image 236x354 at (0,0); no rule under it · title \"Suez: 24 Hours that Broke the British Empire\" · image file s026-newmexico-suez-24-hours-that-broke-the-british-em.webp"
          ]
        },
        {
          "name": "Ad slot 2",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 3725",
          "phone": "full bleed 390x293 at y 4039",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        },
        {
          "name": "More news",
          "summary": "8 cards: 5 image promo (image over 18px headline), 1 feature split (headline + image side by side), 2 text promo (18px headline, summary, meta; no image)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 4066; cards y 4120-4898",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 4364; cards y 4408-5943",
          "anatomy": [
            "Section label(s): \"MORE NEWS\" + chevron at x96 y4076 (phone x16 y4374). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [london] · desk x96 y4120 932x371; image 616x347 at (316,0); headline at (0,70) w300 3 lines; summary 12px under the headline (3 lines); meta at y+253; play badge 64x64 at (316,283); no rule under it · phone x16 y4408 358x426; image 390x219 at (-16,0); headline at (0,243) w350 2 lines; summary 12px under the headline (same text); play badge 40x40 at (-16,179); no rule under it · desktop headline lines: Watch: Blood donors / get a Halloween fright / in Thailand · phone headline lines: Watch: Blood donors get a / Halloween fright in Thailand · headline \"Watch: Blood donors get a Halloween fright in Thailand\" · summary \"Thai Red Cross workers dressed up as part of a Halloween-themed blood drive in the country's capital Bangkok.\" · meta \"4 hrs ago | Asia\" · image file s027-virginia-watch-blood-donors-get-a-halloween-frigh.webp",
            "2. [dundee] · desk x1044 y4120 300x380; image 300x169 at (0,0); headline at (0,181) w300 3 lines; description at (0,259) w300 4 lines; meta at y+352; 1px #E6E8EA rule at y+379 · phone x16 y4858 358x155; image 132x74 at (0,0); headline at (140,0) w210 5 lines; no summary on phone; 1px #E6E8EA rule at y+154 · desktop headline lines: Manhunt under way after Toronto / CEO and family violently attacked / in home invasion · phone headline lines: Manhunt under way / after Toronto CEO and / family violently / attacked in home / invasion · headline \"Manhunt under way after Toronto CEO and family violently attacked in home invasion\" · summary \"The real estate mogul and his two daughters were shot, while his wife was assaulted with a hammer, in an attack that has shocked the city.\" · meta \"18 hrs ago | US & Canada\" · image file s028-virginia-manhunt-under-way-after-toronto-ceo-and.webp",
            "3. [manchester] · desk x1044 y4516 300x151; headline at (0,0) w300 3 lines; description at (0,74) w300 2 lines; meta at y+127; 1px #E6E8EA rule at y+150 · phone x16 y5643 358x129; headline at (0,0) w350 2 lines; description at (0,52) w358 2 lines; 1px #E6E8EA rule at y+128 · headline \"Suited and booted: How Joseph Kabila went from president to rebel leader\" · summary \"What does Joseph Kabila launching a new rebel movement mean for DR Congo?\" · meta \"12 hrs ago | Africa\"",
            "4. [manchester] · desk x1044 y4683 300x187; headline at (0,0) w300 3 lines; description at (0,74) w300 4 lines; meta at y+163; 1px #E6E8EA rule at y+186 · phone x16 y5796 358x147; headline at (0,0) w350 2 lines; description at (0,52) w358 3 lines; 1px #E6E8EA rule at y+146 · desktop headline lines: Mahmood expected to announce / changes to rules around indefinite / leave to remain · phone headline lines: Mahmood expected to announce changes / to rules around indefinite leave to remain · headline \"Mahmood expected to announce changes to rules around indefinite leave to remain\" · summary \"The home secretary has faced opposition from within the government over plans to impose new rules on migrant workers already in the UK.\" · meta \"11 hrs ago | Politics\"",
            "5. [dundee] · desk x96 y4523 221x317; image 221x124 at (0,0); headline at (0,136) w221 3 lines; description at (0,214) w221 3 lines; meta at y+289; 1px #E6E8EA rule at y+316 · phone x16 y5037 358x133; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; 1px #E6E8EA rule at y+132 · desktop headline lines: More than 5,000 die from / Ebola in DR Congo's / deadliest outbreak · phone headline lines: More than 5,000 die / from Ebola in DR / Congo's deadliest / outbreak · headline \"More than 5,000 die from Ebola in DR Congo's deadliest outbreak\" · summary \"Government data shows that more than 10,000 people have contracted the rare virus.\" · meta \"1 hr ago | World\" · image file s029-virginia-more-than-5-000-die-from-ebola-in-dr-con.webp",
            "6. [dundee] · desk x333 y4523 221x335; image 221x124 at (0,0); headline at (0,136) w221 3 lines; description at (0,214) w221 4 lines; meta at y+307; 1px #E6E8EA rule at y+334 · phone x16 y5194 358x111; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+110 · headline \"'Un-Australian' - Warner tears into former side after SA charge to win\" · summary \"Australia crumble under the pressure of a final-day chase as South Africa charge to a famous Test and series victory.\" · meta \"3 hrs ago | Cricket\" · image file s030-virginia-un-australian-warner-tears-into-former.webp",
            "7. [dundee] · desk x570 y4523 221x375; image 221x124 at (0,0); headline at (0,136) w221 4 lines; description at (0,236) w221 5 lines; meta at y+347; 1px #E6E8EA rule at y+374 · phone x16 y5329 358x155; image 132x74 at (0,0); headline at (140,0) w210 5 lines; no summary on phone; 1px #E6E8EA rule at y+154 · desktop headline lines: Responsible or panicked? / Meet the people around / the world already / preparing for crisis · phone headline lines: Responsible or / panicked? Meet the / people around the world / already preparing for / crisis · headline \"Responsible or panicked? Meet the people around the world already preparing for crisis\" · summary \"Filter straws to a disposable toilet - people in the US, Japan, Sweden and Netherlands on what's in their emergency stashes.\" · meta \"15 hrs ago | World\" · image file s031-virginia-responsible-or-panicked-meet-the-people.png",
            "8. [dundee] · desk x807 y4523 221x335; image 221x124 at (0,0); headline at (0,136) w221 3 lines; description at (0,214) w221 4 lines; meta at y+307; 1px #E6E8EA rule at y+334 · phone x16 y5508 358x111; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+110 · desktop headline lines: He left 28 years ago, now / after 36,000 miles Karl / Bushby is almost home · phone headline lines: He left 28 years ago, now / after 36,000 miles Karl / Bushby is almost home · headline \"He left 28 years ago, now after 36,000 miles Karl Bushby is almost home\" · summary \"Global walker Karl Bushby is almost within sight of his journey's end after 28 years away.\" · meta \"17 hrs ago | Hull & East Yorkshire\" · image file s032-virginia-he-left-28-years-ago-now-after-36-000-mi.webp"
          ]
        },
        {
          "name": "Halloween thrills",
          "summary": "3 cards: 3 image promo (image over 18px headline)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 4946; cards y 5000-5384",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 5975; cards y 6019-6299",
          "anatomy": [
            "Section label(s): \"HALLOWEEN THRILLS\" at x96 y4956 (phone x16 y5985). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [dundee] · desk x96 y5000 405x384; image 405x228 at (0,0); headline at (0,240) w405 2 lines; description at (0,296) w405 4 lines; no rule under it · phone x16 y6019 358x78; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; no rule under it · desktop headline lines: Decades before Salem, Connecticut was hunting / for witches · phone headline lines: Decades before Salem, / Connecticut was / hunting for witches · headline \"Decades before Salem, Connecticut was hunting for witches\" · summary \"Decades before Salem, Connecticut was the centre of US witch trials. A new statewide haunted history trail connects the towns and sites tied to this overlooked chapter of history.\" · image file s033-nevada-decades-before-salem-connecticut-was-hun.webp",
            "2. [dundee] · desk x517 y5000 405x384; image 405x228 at (0,0); headline at (0,240) w405 2 lines; description at (0,296) w405 3 lines; no rule under it · phone x16 y6113 358x92; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; no rule under it · headline \"The grisly American Werewolf scene that took horror to new extremes\" · summary \"An American Werewolf in London won the first Oscar for best make-up - and its groundbreaking transformation went on to inspire Michael Jackson's Thriller.\" · image file s034-nevada-the-grisly-american-werewolf-scene-that.webp",
            "3. [dundee] · desk x939 y5000 405x384; image 405x228 at (0,0); headline at (0,240) w405 2 lines; description at (0,296) w405 4 lines; no rule under it · phone x16 y6221 358x78; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; no rule under it · desktop headline lines: How Sleepy Hollow brought its own legend to / life · phone headline lines: How Sleepy Hollow / brought its own legend / to life · headline \"How Sleepy Hollow brought its own legend to life\" · summary \"Two centuries after Washington Irving wrote The Legend of Sleepy Hollow, North Tarrytown has rebranded itself around its most famous ghost – and discovered that the myth still sells.\" · image file s035-nevada-how-sleepy-hollow-brought-its-own-legend.webp"
          ]
        },
        {
          "name": "Editor's Picks (dark video carousel)",
          "summary": "8 cards: 8 wide image promo",
          "ground": "#141618",
          "desktop": "full-bleed #141618 band y 5432-5924 (492px); content column x96-1344; 24px top padding above the #E6E8EA rule; cards y 5542-5900",
          "phone": "full-bleed #141618 band y 6331-6779; content x16-374; cards y 6405-6763",
          "anatomy": [
            "Section label(s): \"EDITOR'S PICKS\" + chevron at x96 y5466 (phone x16 y6357). Each label sits 10px under a full-width 2px rule (#E6E8EA on the dark ground) across its column; label row 20px; first card 24px under the label row.",
            "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots.",
            "1. [edinburgh] · desk x96 y5542 270x340; image 270x152 at (0,0); headline at (0,164) w270 3 lines; description at (0,242) w270 3 lines; meta at y+317; play badge 40x40 at (0,112); no rule under it · phone x16 y6405 270x340; image 270x152 at (0,0); headline at (0,164) w262 3 lines; description at (0,242) w270 3 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: The extraordinary journey to / Everest Base Camp by / handcycle · phone headline lines: The extraordinary journey to / Everest Base Camp by / handcycle · headline \"The extraordinary journey to Everest Base Camp by handcycle\" · summary \"Watch adaptive athlete Ollie Thorn take on the tough challenge of reaching Everest Base Camp by handcycle.\" · meta \"The Travel Show\" · image file s036-texas-the-extraordinary-journey-to-everest-bas.png",
            "2. [edinburgh] · desk x378 y5542 270x318; image 270x152 at (0,0); headline at (0,164) w270 2 lines; description at (0,220) w270 3 lines; meta at y+295; play badge 40x40 at (0,112); no rule under it · phone x298 y6405 270x318; image 270x152 at (0,0); headline at (0,164) w262 2 lines; description at (0,220) w270 3 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: The refinery at the centre of / Africa's industrial ambitions · phone headline lines: The refinery at the centre of / Africa's industrial ambitions · headline \"The refinery at the centre of Africa's industrial ambitions\" · summary \"Aliko Dangote, the businessman behind Africa's biggest refinery, shares his vision for economic sovereignty.\" · meta \"Africa Enterprise\" · image file s037-texas-the-refinery-at-the-centre-of-africa-s-i.webp",
            "3. [edinburgh] · desk x660 y5542 270x318; image 270x152 at (0,0); headline at (0,164) w270 2 lines; description at (0,220) w270 3 lines; meta at y+295; play badge 40x40 at (0,112); no rule under it · phone x580 y6405 270x318; image 270x152 at (0,0); headline at (0,164) w262 2 lines; description at (0,220) w270 3 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: Inside the only all-female / Indian kitchen in the world · phone headline lines: Inside the only all-female / Indian kitchen in the world · headline \"Inside the only all-female Indian kitchen in the world\" · summary \"London's Darjeeling Express is ground zero for chef Asma Khan, a champion of women's empowerment.\" · meta \"Discover the World\" · image file s038-texas-inside-the-only-all-female-indian-kitche.webp",
            "4. [edinburgh] · desk x942 y5542 270x340; image 270x152 at (0,0); headline at (0,164) w270 3 lines; description at (0,242) w270 3 lines; meta at y+317; play badge 40x40 at (0,112); no rule under it · phone x862 y6405 270x340; image 270x152 at (0,0); headline at (0,164) w262 3 lines; description at (0,242) w270 3 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: The high-tech mission to / preserve a 17th-century / shipwreck · phone headline lines: The high-tech mission to / preserve a 17th-century / shipwreck · headline \"The high-tech mission to preserve a 17th-century shipwreck\" · summary \"Scientists are using cutting-edge technology to protect one of the world's most famous shipwrecks.\" · meta \"Tech Now\" · image file s039-texas-the-high-tech-mission-to-preserve-a-17th.webp",
            "5. [edinburgh] · desk x1224 y5542 270x318; image 270x152 at (0,0); headline at (0,164) w270 2 lines; description at (0,220) w270 3 lines; meta at y+295; play badge 40x40 at (0,112); no rule under it · phone x1144 y6405 270x318; image 270x152 at (0,0); headline at (0,164) w262 2 lines; description at (0,220) w270 3 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: The hunt for New York's most / authentic pretzel · phone headline lines: The hunt for New York's most / authentic pretzel · headline \"The hunt for New York's most authentic pretzel\" · summary \"BBC journalist Manuel Scheuernstuhl goes on the hunt for an authentic German pretzel in New York City.\" · meta \"Culture & Experiences\" · image file s040-texas-the-hunt-for-new-york-s-most-authentic-p.webp",
            "6. [edinburgh] · desk x1506 y5542 270x358; image 270x152 at (0,0); headline at (0,164) w270 3 lines; description at (0,242) w270 4 lines; meta at y+335; play badge 40x40 at (0,112); no rule under it · phone x1426 y6405 270x358; image 270x152 at (0,0); headline at (0,164) w262 3 lines; description at (0,242) w270 4 lines; play badge 40x40 at (0,112); no rule under it · headline \"'I made the wrong decision,' Hyrox athlete who soiled herself in race tells BBC\" · summary \"Speaking exclusively to the BBC, Joanna Wietrzyk says her determination to win the Hyrox race in September had clouded her judgement.\" · meta \"World\" · image file s041-texas-i-made-the-wrong-decision-hyrox-athlete.webp",
            "7. [edinburgh] · desk x1788 y5542 270x318; image 270x152 at (0,0); headline at (0,164) w270 2 lines; description at (0,220) w270 3 lines; meta at y+295; play badge 40x40 at (0,112); no rule under it · phone x1708 y6405 270x318; image 270x152 at (0,0); headline at (0,164) w262 2 lines; description at (0,220) w270 3 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: Bangkok blood donors get a / Halloween fright · phone headline lines: Bangkok blood donors get a / Halloween fright · headline \"Bangkok blood donors get a Halloween fright\" · summary \"Thai Red Cross workers dressed up as part of a Halloween-themed blood drive in the country's capital Bangkok.\" · meta \"Asia\" · image file s042-texas-bangkok-blood-donors-get-a-halloween-fri.webp",
            "8. [edinburgh] · desk x2070 y5542 270x358; image 270x152 at (0,0); headline at (0,164) w270 3 lines; description at (0,242) w270 4 lines; meta at y+335; play badge 40x40 at (0,112); no rule under it · phone x1990 y6405 270x358; image 270x152 at (0,0); headline at (0,164) w262 3 lines; description at (0,242) w270 4 lines; play badge 40x40 at (0,112); no rule under it · desktop headline lines: CCTV, zip ties and election / watchers: How US mail-in / votes are secured and counted · phone headline lines: CCTV, zip ties and election / watchers: How US mail-in / votes are secured and counted · headline \"CCTV, zip ties and election watchers: How US mail-in votes are secured and counted\" · summary \"BBC Verify goes to an election centre to get a behind-the-scenes look at how mail-in ballots for the US midterm elections are processed.\" · meta \"BBC Verify\" · image file s043-texas-cctv-zip-ties-and-election-watchers-how.webp"
          ]
        },
        {
          "name": "Ad slot 3",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 5972",
          "phone": "full bleed 390x293 at y 6811",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        },
        {
          "name": "Watch list",
          "summary": "2 cards: 2 wide image promo",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 6313; cards y 6367-6812",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 7136; cards y 7180-7894",
          "anatomy": [
            "Section label(s): \"WATCH LIST\" + chevron at x96 y6323 (phone x16 y7146). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [edinburgh] · desk x96 y6367 616x445; image 616x347 at (0,0); headline at (0,358) w616 1 line; description at (0,392) w616 2 lines; no rule under it · phone x16 y7180 358x358; image 358x201 at (0,0); headline at (0,214) w350 2 lines; description at (0,270) w358 4 lines; 1px #E6E8EA rule at y+358 · phone headline lines: 12 of the best TV shows to watch this / November · headline \"12 of the best TV shows to watch this November\" · summary \"From a drama about Muhammad Ali's early years to Amy Poehler's latest sitcom and a Blade Runner small-screen spin-off – these are the best series to watch and stream.\" · image file s044-indiana-12-of-the-best-tv-shows-to-watch-this-no.webp",
            "2. [edinburgh] · desk x728 y6367 616x445; image 616x347 at (0,0); headline at (0,358) w616 1 line; description at (0,392) w616 2 lines; no rule under it · phone x16 y7555 358x339; image 358x201 at (0,0); headline at (0,213) w350 2 lines; description at (0,269) w358 3 lines; no rule under it · phone headline lines: 12 of the best films to watch in / November · headline \"12 of the best films to watch in November\" · summary \"From an awards-tipped role for Andrew Scott to another Hunger Games prequel, here are the films to watch at the cinema and stream at home this month.\" · image file s045-indiana-12-of-the-best-films-to-watch-in-novembe.webp"
          ]
        },
        {
          "name": "Earth (feature split)",
          "summary": "1 cards: 1 feature split (headline + image side by side)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 6859; cards y 6913-7402",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 7926; cards y 7970-8408",
          "anatomy": [
            "Section label(s): \"EARTH\" + chevron at x96 y6869 (phone x16 y7936). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [london] · desk x96 y6913 1248x489; image 827x465 at (0,0); headline at (843,136) w405 4 lines; summary 12px under the headline; no rule under it · phone x16 y7970 358x438; image 390x219 at (-16,0); headline at (0,243) w350 4 lines; summary 12px under the headline (same text); no rule under it · headline \"Giant eagles once ruled the skies. They snatched human children, and shaped our evolution\" · summary \"After the dinosaur-killing asteroid hit, giant birds became apex predators for tens of millions of years – and humans were among their prey.\" · image file s046-maine-giant-eagles-once-ruled-the-skies-they-s.webp"
          ]
        },
        {
          "name": "Culture (feature split)",
          "summary": "1 cards: 1 feature split (headline + image side by side)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 7450; cards y 7504-7993",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 8440; cards y 8484-8912",
          "anatomy": [
            "Section label(s): \"CULTURE\" + chevron at x96 y7460 (phone x16 y8450). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [london] · desk x96 y7504 1248x489; image 827x465 at (421,0); headline at (0,143) w405 3 lines; summary 12px under the headline; no rule under it · phone x16 y8484 358x428; image 390x219 at (-16,0); headline at (0,244) w350 3 lines; summary 12px under the headline (same text); no rule under it · headline \"What Botero's rotund remakes of classical masterpieces tell us about art history\" · summary \"Colombian artist Fernando Botero's joyful paintings reimagine historic European art. What does his singular vision reveal about art history and Latin America's place in it?\" · image file s047-washington-what-botero-s-rotund-remakes-of-classica.webp"
          ]
        },
        {
          "name": "Ad slot 4",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 8041",
          "phone": "full bleed 390x293 at y 8945",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        },
        {
          "name": "Four-column news: US & Canada News, More World News, Business, Technology",
          "summary": "16 cards: 12 headline-only link row, 4 image promo (image over 18px headline)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 8398; cards y 8452-9072",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 9286; cards y 9330-10866",
          "anatomy": [
            "Section label(s): \"US & CANADA NEWS\" + chevron at x96 y8408 (phone x16 y9296). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [dundee] · desk x96 y8452 296x324; image 296x167 at (0,0); headline at (0,179) w296 2 lines; description at (0,235) w296 4 lines; 1px #E6E8EA rule at y+323 · phone x16 y9330 358x93; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; 1px #E6E8EA rule at y+92 · desktop headline lines: Three dead after two helicopters / collide midair near Oregon airport · phone headline lines: Three dead after two / helicopters collide / midair near Oregon / airport · headline \"Three dead after two helicopters collide midair near Oregon airport\" · summary \"The collision involving a Robinson R22 and an Airbus helicopter occurred on Thursday afternoon, with both aircraft crashing in a field adjacent to a highway.\" · image file s048-wyoming-three-dead-after-two-helicopters-collide.webp",
            "2. [chester] · desk x96 y8792 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y9439 358x83; headline at (0,0) w350 3 lines; 1px #E6E8EA rule at y+82 · desktop headline lines: Alaska Senate candidate denies / knowing about alleged plot to put / two Dan Sullivans on ballot · phone headline lines: Alaska Senate candidate denies knowing / about alleged plot to put two Dan / Sullivans on ballot · headline \"Alaska Senate candidate denies knowing about alleged plot to put two Dan Sullivans on ballot\"",
            "3. [chester] · desk x96 y8891 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y9538 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: ICE agent charged for hitting Texas / immigrant with vehicle during / pursuit · phone headline lines: ICE agent charged for hitting Texas / immigrant with vehicle during pursuit · headline \"ICE agent charged for hitting Texas immigrant with vehicle during pursuit\"",
            "4. [chester] · desk x96 y8990 296x82; headline at (0,0) w296 3 lines; no rule under it · phone x16 y9615 358x82; headline at (0,0) w350 3 lines; no rule under it · desktop headline lines: Judge investigating whether / Trump administration lied about / golf course renovations · phone headline lines: Judge investigating whether Trump / administration lied about golf course / renovations · headline \"Judge investigating whether Trump administration lied about golf course renovations\"",
            "5. [dundee] · desk x416 y8452 296x346; image 296x167 at (0,0); headline at (0,179) w296 3 lines; description at (0,257) w296 4 lines; 1px #E6E8EA rule at y+345 · phone x16 y9765 358x79; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+78 · desktop headline lines: Irish police assaulted in Dublin / and threatened with 'imitation' / gun · phone headline lines: Irish police assaulted in / Dublin and threatened / with 'imitation' gun · headline \"Irish police assaulted in Dublin and threatened with 'imitation' gun\" · summary \"Commissioner Justin Kelly said the incident \"demonstrates once again the potential dangers that our members face every day\".\" · image file s049-wyoming-irish-police-assaulted-in-dublin-and-thr.webp",
            "6. [chester] · desk x416 y8814 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y9860 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: Starmer tells Dublin event Europe / can no longer rely on US to / 'bankroll' its defence · phone headline lines: Starmer tells Dublin event Europe can no / longer rely on US to 'bankroll' its defence · headline \"Starmer tells Dublin event Europe can no longer rely on US to 'bankroll' its defence\"",
            "7. [chester] · desk x416 y8913 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y9937 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: US approves sale of 500 Patriot / missiles to Ukraine · phone headline lines: US approves sale of 500 Patriot missiles / to Ukraine · headline \"US approves sale of 500 Patriot missiles to Ukraine\"",
            "8. [chester] · desk x416 y8990 296x82; headline at (0,0) w296 3 lines; no rule under it · phone x16 y10014 358x82; headline at (0,0) w350 3 lines; no rule under it · desktop headline lines: Hundreds evacuated from / Russian-occupied Oleshky during / rare Ukraine ceasefire · phone headline lines: Hundreds evacuated from Russian-occupied / Oleshky during rare Ukraine / ceasefire · headline \"Hundreds evacuated from Russian-occupied Oleshky during rare Ukraine ceasefire\"",
            "9. [dundee] · desk x728 y8452 296x328; image 296x167 at (0,0); headline at (0,179) w296 3 lines; description at (0,257) w296 3 lines; 1px #E6E8EA rule at y+327 · phone x16 y10156 358x93; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; 1px #E6E8EA rule at y+92 · desktop headline lines: Crypto giant Binance hit by $6.3bn / hack suspected to be largest in / history · phone headline lines: Crypto giant Binance hit / by $6.3bn hack / suspected to be largest / in history · headline \"Crypto giant Binance hit by $6.3bn hack suspected to be largest in history\" · summary \"Two analytics firms have attributed the incident to a North Korean hacking unit called TraderTraitor.\" · image file s050-wyoming-crypto-giant-binance-hit-by-6-3bn-hack-s.webp",
            "10. [chester] · desk x728 y8796 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y10265 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: How video game remakes tap the / power of nostalgia · phone headline lines: How video game remakes tap the power / of nostalgia · headline \"How video game remakes tap the power of nostalgia\"",
            "11. [chester] · desk x728 y8873 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y10342 358x49; headline at (0,5) w350 1 line; 1px #E6E8EA rule at y+48 · desktop headline lines: Who should pay on the first / date? · headline \"Who should pay on the first date?\" · play glyph 18px inline before the headline (no image)",
            "12. [chester] · desk x728 y8950 296x82; headline at (0,0) w296 3 lines; no rule under it · phone x16 y10407 358x60; headline at (0,0) w350 2 lines; no rule under it · desktop headline lines: 'I live with a ghost' - inside the / haunted homes attracting bargain / hunters · phone headline lines: 'I live with a ghost' - inside the haunted / homes attracting bargain hunters · headline \"'I live with a ghost' - inside the haunted homes attracting bargain hunters\"",
            "13. [dundee] · desk x1048 y8452 296x306; image 296x167 at (0,0); headline at (0,179) w296 2 lines; description at (0,235) w296 3 lines; 1px #E6E8EA rule at y+305 · phone x16 y10535 358x79; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+78 · desktop headline lines: Crypto firm Binance covers 90% of / losses after $6.3bn hack · phone headline lines: Crypto firm Binance / covers 90% of losses / after $6.3bn hack · headline \"Crypto firm Binance covers 90% of losses after $6.3bn hack\" · summary \"Two analytics firms say they have robust intelligence pointing to a North Korean state-backed group as the likely culprit.\" · image file s051-wyoming-crypto-firm-binance-covers-90-of-losses.webp",
            "14. [chester] · desk x1048 y8774 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y10630 358x83; headline at (0,0) w350 3 lines; 1px #E6E8EA rule at y+82 · desktop headline lines: Crypto giant Binance attempting / to recover $6.3bn stolen in hack / linked to North Korea · phone headline lines: Crypto giant Binance attempting to / recover $6.3bn stolen in hack linked to / North Korea · headline \"Crypto giant Binance attempting to recover $6.3bn stolen in hack linked to North Korea\"",
            "15. [chester] · desk x1048 y8873 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y10729 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: Google value plunges by $500bn as / its own AI search hits ad sales · phone headline lines: Google value plunges by $500bn as its / own AI search hits ad sales · headline \"Google value plunges by $500bn as its own AI search hits ad sales\"",
            "16. [chester] · desk x1048 y8950 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y10806 358x60; headline at (0,0) w350 2 lines; no rule under it · desktop headline lines: Who could be behind the Binance / hack and what we know so far · phone headline lines: Who could be behind the Binance hack / and what we know so far · headline \"Who could be behind the Binance hack and what we know so far\""
          ]
        },
        {
          "name": "Ad slot 5",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 9136",
          "phone": "full bleed 390x293 at y 10914",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        },
        {
          "name": "Latest Sport Audio (audio carousel)",
          "summary": "12 cards: 12 audio tile (square art, show name, title, Save + duration)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 9477; cards y 9563-9875",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 11239; cards y 11283-11576",
          "anatomy": [
            "Section label(s): \"LATEST SPORT AUDIO\" + chevron at x96 y9487 (phone x16 y11249). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots.",
            "1. [ipswich] · desk x96 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x16 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Football Daily\", title \"Alan Shearer: Will the Premier League goalscoring record ever be broken?\", Save pill + \"15 mins\" · image file s052-iowa-football-dailyalan-shearer-will-the-pre.webp",
            "2. [ipswich] · desk x292 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x177 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"F1: Chequered Flag\", title \"Mexico GP Preview: Antonelli on the Brink of History\", Save pill + \"54 mins\" · image file s053-iowa-f1-chequered-flagmexico-gp-preview-ant.webp",
            "3. [ipswich] · desk x488 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x338 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Not by the Playbook\", title \"Fuelled by fear\", Save pill + \"49 mins\" · image file s054-iowa-not-by-the-playbookfuelled-by-fearsave49.webp",
            "4. [ipswich] · desk x684 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x499 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Football Daily\", title \"Tongue twisters and what is the best goal music?\", Save pill + \"54 mins\" · image file s055-iowa-football-dailytongue-twisters-and-what-i.webp",
            "5. [ipswich] · desk x880 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x660 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Test Match Special\", title \"How good is England’s ODI side a year out from the World Cup?\", Save pill + \"45 mins\" · image file s056-iowa-test-match-specialhow-good-is-england-s.webp",
            "6. [ipswich] · desk x1076 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x821 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Football Daily\", title \"Lloyd's off to the Superclásico & are Spurs finally good again?\", Save pill + \"48 mins\" · image file s057-iowa-football-dailylloyd-s-off-to-the-supercl.webp",
            "7. [ipswich] · desk x1272 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x982 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"More than the Score\", title \"Jorinde van Klinken: Strength on your own terms\", Save pill + \"23 mins\" · image file s058-iowa-more-than-the-scorejorinde-van-klinken.webp",
            "8. [ipswich] · desk x1468 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x1143 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Rugby Union Weekly\", title \"Back In England Camp\", Save pill + \"47 mins\" · image file s059-iowa-rugby-union-weeklyback-in-england-campsa.webp",
            "9. [ipswich] · desk x1664 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x1304 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Football Daily\", title \"Carrick Stays at United & Kane Wins Ballon d’Or\", Save pill + \"31 mins\" · image file s060-iowa-football-dailycarrick-stays-at-united.webp",
            "10. [ipswich] · desk x1860 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x1465 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Football Daily\", title \"MNC: Should fingers be pointed higher up at Man Utd?\", Save pill + \"\" · image file s061-iowa-football-dailymnc-should-fingers-be-poi.webp",
            "11. [ipswich] · desk x2056 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x1626 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"BBC Women's Football Weekly\", title \"Derby day battles, Man United make progress & European nights return!\", Save pill + \"46 mins\" · image file s062-iowa-bbc-women-s-football-weeklyderby-day-bat.webp",
            "12. [ipswich] · desk x2252 y9563 180x312; image 180x180 at (0,0); no rule under it · phone x1787 y11283 145x293; image 145x145 at (0,0); no rule under it · show \"Rugby Union Weekly\", title \"England’s World Cup thinking and the rotation gamble\", Save pill + \"\" · image file s063-iowa-rugby-union-weeklyengland-s-world-cup-th.webp"
          ]
        },
        {
          "name": "Four-column: Sport, Health, Culture, Travel",
          "summary": "16 cards: 12 headline-only link row, 4 image promo (image over 18px headline)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 9939; cards y 9993-10590",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 11624; cards y 11668-13089",
          "anatomy": [
            "Section label(s): \"SPORT\" + chevron at x96 y9949 (phone x16 y11634). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [dundee] · desk x96 y9993 296x324; image 296x167 at (0,0); headline at (0,178) w296 2 lines; description at (0,234) w296 4 lines; 1px #E6E8EA rule at y+322 · phone x16 y11668 358x79; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+79 · red LIVE label (Public Sans 700 #EB0000, same size as the headline, live-dot icon before it, 4px gap) + headline \"Chelsea beat 10-man Man Utd to heap further pressure on Carrick\" · summary \"Chelsea take full advantage of Manchester United's second-half collapse to heap yet more pressure on under-fire boss Michael Carrick.\" · image file s064-wyoming-chelsea-beat-10-man-man-utd-to-heap-furt.webp",
            "2. [chester] · desk x96 y10332 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y11764 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · headline \"Carragher apologises to Villa for 'wrong' language\"",
            "3. [chester] · desk x96 y10409 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y11841 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · headline \"Verstappen and Lawson given grid penalties for Mexico practice collision\"",
            "4. [chester] · desk x96 y10508 296x82; headline at (0,0) w296 3 lines; no rule under it · phone x16 y11918 358x60; headline at (0,0) w350 2 lines; no rule under it · headline \"'We fell behind' - what does new San Siro deal mean for AC Milan and Inter?\"",
            "5. [dundee] · desk x416 y9993 296x342; image 296x167 at (0,0); headline at (0,178) w296 2 lines; description at (0,234) w296 5 lines; 1px #E6E8EA rule at y+340 · phone x16 y12046 358x79; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; 1px #E6E8EA rule at y+78 · desktop headline lines: How to exercise more without / trying · phone headline lines: How to exercise more / without trying · headline \"How to exercise more without trying\" · summary \"Incidental activity can reduce our risk of cardiovascular disease and even death. You can try some simple forms of it in a meeting, on a flight or while reading this article.\" · image file s065-wyoming-how-to-exercise-more-without-trying.webp",
            "6. [chester] · desk x416 y10350 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y12141 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: Birdwatching rewires the brain / and slows cognitive decline · phone headline lines: Birdwatching rewires the brain and / slows cognitive decline · headline \"Birdwatching rewires the brain and slows cognitive decline\"",
            "7. [chester] · desk x416 y10427 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y12218 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: The simple fitness test that / predicts your risk of death · phone headline lines: The simple fitness test that predicts your / risk of death · headline \"The simple fitness test that predicts your risk of death\"",
            "8. [chester] · desk x416 y10504 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y12295 358x48; headline at (0,5) w350 1 line; no rule under it · desktop headline lines: What to eat for younger-looking / skin · headline \"What to eat for younger-looking skin\"",
            "9. [dundee] · desk x728 y9993 296x306; image 296x167 at (0,0); headline at (0,178) w296 2 lines; description at (0,234) w296 3 lines; 1px #E6E8EA rule at y+304 · phone x16 y12403 358x79; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+78 · headline \"Filmmaker performs live soundtrack to new movie\" · summary \"Mark Jenkin says playing the score live \"heightens the emotion\" felt by the audience.\" · image file s066-wyoming-filmmaker-performs-live-soundtrack-to-ne.webp",
            "10. [chester] · desk x728 y10314 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y12498 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: Celebrity Traitors comes to a / climax in nail-biting final · phone headline lines: Celebrity Traitors comes to a climax in / nail-biting final · headline \"Celebrity Traitors comes to a climax in nail-biting final\"",
            "11. [chester] · desk x728 y10391 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y12575 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: How city became home of drum / and bass and jungle · phone headline lines: How city became home of drum and bass / and jungle · headline \"How city became home of drum and bass and jungle\"",
            "12. [chester] · desk x728 y10468 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y12652 358x60; headline at (0,0) w350 2 lines; no rule under it · headline \"Tourism tax backlash: 'Rothbury is not Edinburgh'\"",
            "13. [dundee] · desk x1048 y9993 296x342; image 296x167 at (0,0); headline at (0,178) w296 2 lines; description at (0,234) w296 5 lines; 1px #E6E8EA rule at y+340 · phone x16 y12780 358x79; image 132x74 at (0,0); headline at (140,0) w210 3 lines; no summary on phone; 1px #E6E8EA rule at y+78 · desktop headline lines: The new trail leading to Ireland's / mythical 'Gate to Hell' · phone headline lines: The new trail leading to / Ireland's mythical 'Gate / to Hell' · headline \"The new trail leading to Ireland's mythical 'Gate to Hell'\" · summary \"Rathcroghan is one of Europe's oldest unexcavated royal sites. Now, a new walking path is giving travellers access to ancient landmarks – including the cave that inspired Halloween.\" · image file s067-wyoming-the-new-trail-leading-to-ireland-s-mythi.webp",
            "14. [chester] · desk x1048 y10350 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y12875 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · headline \"Why are so many Thai restaurants hidden in London pubs?\"",
            "15. [chester] · desk x1048 y10427 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y12952 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: When is premium economy worth / the extra cost? · phone headline lines: When is premium economy worth the / extra cost? · headline \"When is premium economy worth the extra cost?\"",
            "16. [chester] · desk x1048 y10504 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y13029 358x60; headline at (0,0) w350 2 lines; no rule under it · desktop headline lines: The eerie landscapes of England's / witch country · phone headline lines: The eerie landscapes of England's witch / country · headline \"The eerie landscapes of England's witch country\""
          ]
        },
        {
          "name": "Ad slot 6",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 10654",
          "phone": "full bleed 390x293 at y 13137",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        },
        {
          "name": "Watch (black-panel video feature)",
          "summary": "1 cards: 1 feature split (big image + text panel) The text panel right of the image is #000000.",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 10995; cards y 11049-11517",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 13462; cards y 13506-13947",
          "anatomy": [
            "Section label(s): \"WATCH\" + chevron at x96 y11005 (phone x16 y13472). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [windsor] · desk x96 y11049 1248x468; image 832x468 at (0,0); headline at (848,133) w384 3 lines; description at (848,241) w384 2 lines; See more button at y+301; play badge 64x64 at (0,404); no rule under it · phone x16 y13506 358x441; image 358x201 at (0,0); headline at (16,218) w318 3 lines; description at (16,314) w326 3 lines; play badge 40x40 at (0,162); no rule under it · desktop headline lines: The AI system designed to / spot driving hazards before / you do · phone headline lines: The AI system designed to / spot driving hazards before / you do · headline \"The AI system designed to spot driving hazards before you do\" · summary \"From monitoring hazards to assisting drivers, Tech Now finds out how AI can make driving safer.\" · image file s068-montana-the-ai-system-designed-to-spot-driving-h.webp"
          ]
        },
        {
          "name": "Four-column: Arts, Earth, Video, World's Table",
          "summary": "16 cards: 12 headline-only link row, 4 image promo (image over 18px headline)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 11597; cards y 11651-12289",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 14012; cards y 14056-15538",
          "anatomy": [
            "Section label(s): \"ARTS\" + chevron at x96 y11607 (phone x16 y14022). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [dundee] · desk x96 y11651 296x364; image 296x167 at (0,0); headline at (0,179) w296 3 lines; description at (0,257) w296 5 lines; 1px #E6E8EA rule at y+363 · phone x16 y14056 358x93; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; 1px #E6E8EA rule at y+92 · desktop headline lines: Why Mary Shelley's chilling horror story / Frankenstein is so misunderstood · phone headline lines: Why Mary Shelley's / chilling horror story / Frankenstein is so / misunderstood · headline \"Why Mary Shelley's chilling horror story Frankenstein is so misunderstood\" · summary \"A classic of the horror genre that has inspired generations, why is the message of Shelley's 19th-Century novel still overshadowed by its success, more than two centuries on?\" · image file s069-wyoming-why-mary-shelley-s-chilling-horror-story.webp",
            "2. [chester] · desk x96 y12031 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y14165 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · headline \"Why the real Christopher Robin resented Winnie-the-Pooh\"",
            "3. [chester] · desk x96 y12108 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y14242 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: The Renaissance woman who was / the first female painter of erotic / nudes · phone headline lines: The Renaissance woman who was the / first female painter of erotic nudes · headline \"The Renaissance woman who was the first female painter of erotic nudes\"",
            "4. [chester] · desk x96 y12207 296x82; headline at (0,0) w296 3 lines; no rule under it · phone x16 y14319 358x60; headline at (0,0) w350 2 lines; no rule under it · desktop headline lines: 'Bold and inventive' Canadian poet / Anne Carson wins Nobel / Literature Prize · phone headline lines: 'Bold and inventive' Canadian poet Anne / Carson wins Nobel Literature Prize · headline \"'Bold and inventive' Canadian poet Anne Carson wins Nobel Literature Prize\"",
            "5. [dundee] · desk x416 y11651 296x364; image 296x167 at (0,0); headline at (0,179) w296 3 lines; description at (0,257) w296 5 lines; 1px #E6E8EA rule at y+363 · phone x16 y14447 358x93; image 132x74 at (0,0); headline at (140,0) w210 4 lines; no summary on phone; 1px #E6E8EA rule at y+92 · headline \"'It's offensively cheap': How solar power is quietly becoming bigger than nuclear\" · summary \"After defying projections, solar's dramatic growth means it is overtaking nuclear as a global power source. Here are seven reasons for solar's success, and where it might go from here.\" · image file s070-wyoming-it-s-offensively-cheap-how-solar-power.webp",
            "6. [chester] · desk x416 y12031 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y14556 358x83; headline at (0,0) w350 3 lines; 1px #E6E8EA rule at y+82 · desktop headline lines: The immortal jellyfish can beat / ageing. It could inspire treatments / for diseases of old age · phone headline lines: The immortal jellyfish can beat ageing. It / could inspire treatments for diseases of / old age · headline \"The immortal jellyfish can beat ageing. It could inspire treatments for diseases of old age\"",
            "7. [chester] · desk x416 y12130 296x83; headline at (0,0) w296 3 lines; 1px #E6E8EA rule at y+82 · phone x16 y14655 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: 'What the hell did this?': The orca / brothers preying on great white / sharks · phone headline lines: 'What the hell did this?': The orca / brothers preying on great white sharks · headline \"'What the hell did this?': The orca brothers preying on great white sharks\"",
            "8. [chester] · desk x416 y12229 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y14732 358x60; headline at (0,0) w350 2 lines; no rule under it · headline \"The rare behaviour showing elephant grief\"",
            "9. [dundee] · desk x728 y11651 296x306; image 296x167 at (0,0); headline at (0,179) w296 2 lines; description at (0,235) w296 3 lines; play badge 40x40 at (0,127); 1px #E6E8EA rule at y+305 · phone x16 y14852 358x79; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; play badge 24x24 at (0,50); 1px #E6E8EA rule at y+78 · desktop headline lines: Life in a remote station at the edge / of the world · phone headline lines: Life in a remote station / at the edge of the world · headline \"Life in a remote station at the edge of the world\" · summary \"For a carpenter in Antarctica no two days are the same as the extreme weather provides non-stop challenges.\" · image file s071-wyoming-life-in-a-remote-station-at-the-edge-of.webp",
            "10. [chester] · desk x728 y11973 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y14947 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: The centuries-old mystery / beneath Sri Lanka's coast · phone headline lines: The centuries-old mystery beneath / Sri Lanka's coast · headline \"The centuries-old mystery beneath Sri Lanka's coast\" · play glyph 18px inline before the headline (no image)",
            "11. [chester] · desk x728 y12050 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y15024 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: The enduring mystery of the / Loch Ness Monster · phone headline lines: The enduring mystery of the Loch / Ness Monster · headline \"The enduring mystery of the Loch Ness Monster\" · play glyph 18px inline before the headline (no image)",
            "12. [chester] · desk x728 y12127 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y15101 358x60; headline at (0,0) w350 2 lines; no rule under it · desktop headline lines: The Italian gelato maker using / AI to invent new flavours · phone headline lines: The Italian gelato maker using AI to / invent new flavours · headline \"The Italian gelato maker using AI to invent new flavours\" · play glyph 18px inline before the headline (no image)",
            "13. [dundee] · desk x1048 y11651 296x342; image 296x167 at (0,0); headline at (0,179) w296 2 lines; description at (0,235) w296 5 lines; 1px #E6E8EA rule at y+341 · phone x16 y15229 358x79; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; 1px #E6E8EA rule at y+78 · desktop headline lines: The world's top 'cities to watch' in / 2026 · phone headline lines: The world's top 'cities to / watch' in 2026 · headline \"The world's top 'cities to watch' in 2026\" · summary \"A new global report spotlights the world's emerging urban hotspots. From thriving cultural scenes to changing neighbourhoods, locals reveal what makes them worth exploring now.\" · image file s072-wyoming-the-world-s-top-cities-to-watch-in-2026.webp",
            "14. [chester] · desk x1048 y12009 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y15324 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: How Italy's guiltiest food ritual / went public · phone headline lines: How Italy's guiltiest food ritual went / public · headline \"How Italy's guiltiest food ritual went public\"",
            "15. [chester] · desk x1048 y12086 296x61; headline at (0,0) w296 2 lines; 1px #E6E8EA rule at y+60 · phone x16 y15401 358x61; headline at (0,0) w350 2 lines; 1px #E6E8EA rule at y+60 · desktop headline lines: The return of New Orleans' / 'deadly’ cocktail · phone headline lines: The return of New Orleans' 'deadly’ / cocktail · headline \"The return of New Orleans' 'deadly’ cocktail\"",
            "16. [chester] · desk x1048 y12163 296x60; headline at (0,0) w296 2 lines; no rule under it · phone x16 y15478 358x60; headline at (0,0) w350 2 lines; no rule under it · desktop headline lines: Why travellers are obsessed with / foreign supermarkets · phone headline lines: Why travellers are obsessed with foreign / supermarkets · headline \"Why travellers are obsessed with foreign supermarkets\""
          ]
        },
        {
          "name": "Discover more from the BBC (newsletter feature)",
          "summary": "1 cards: 1 feature split (big image + text panel)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 12353; cards y 12407-12875",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 15586; cards y 15630-16053",
          "anatomy": [
            "Section label(s): \"DISCOVER MORE FROM THE BBC\" at x96 y12363 (phone x16 y15596). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
            "1. [windsor] · desk x96 y12407 1248x468; image 832x468 at (416,0); headline at (16,149) w384 2 lines; description at (16,225) w384 2 lines; See more button at y+285; no rule under it · phone x16 y15630 358x423; image 358x201 at (0,0); headline at (16,218) w212 3 lines; description at (16,314) w326 2 lines; no rule under it · desktop headline lines: The best of the BBC, / delivered to you · phone headline lines: The best of the / BBC, delivered to / you · headline \"The best of the BBC, delivered to you\" · summary \"Get news and insights with BBC newsletters, sent direct to your inbox. Sign up for free.\" · image file s073-oregon-the-best-of-the-bbc-delivered-to-you.webp"
          ]
        },
        {
          "name": "Discover more grid (8 promos)",
          "summary": "8 cards: 8 image promo (image over 18px headline)",
          "ground": "#FFFFFF",
          "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 12923; cards y 12923-13544",
          "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 16086; cards y 16086-16823",
          "anatomy": [
            "Label and rule: see the band above (this grid continues it).",
            "1. [dundee] · desk x96 y12923 300x303; image 300x169 at (0,0); headline at (0,180) w300 1 line; description at (0,214) w300 4 lines; no rule under it · phone x16 y16086 358x78; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; no rule under it · phone headline lines: Football Extra / newsletter · headline \"Football Extra newsletter\" · summary \"Dive into the biggest Premier League stories with smart analysis, expert insight and exclusive interviews, delivered to your inbox three times a week.\" · image file s074-nevada-football-extra-newsletter.webp",
            "2. [dundee] · desk x412 y12923 300x303; image 300x169 at (0,0); headline at (0,180) w300 1 line; description at (0,214) w300 2 lines; no rule under it · phone x16 y16180 358x78; image 132x74 at (0,0); headline at (140,5) w210 1 line; no summary on phone; no rule under it · headline \"US Politics Unspun\" · summary \"Ask Anthony Zurcher your questions in special editions ahead of the US midterms.\" · image file s075-nevada-us-politics-unspun.webp",
            "3. [dundee] · desk x728 y12923 300x303; image 300x169 at (0,0); headline at (0,180) w300 1 line; description at (0,214) w300 3 lines; no rule under it · phone x16 y16274 358x78; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; no rule under it · phone headline lines: Sign up to World of / Business · headline \"Sign up to World of Business\" · summary \"Gain the leading edge with global insights for the boardroom and beyond, in your inbox every Wednesday.\" · image file s076-nevada-sign-up-to-world-of-business.webp",
            "4. [dundee] · desk x1044 y12923 300x303; image 300x169 at (0,0); headline at (0,180) w300 1 line; description at (0,214) w300 3 lines; no rule under it · phone x16 y16368 358x78; image 132x74 at (0,0); headline at (140,5) w210 1 line; no summary on phone; no rule under it · headline \"Get The Essential List\" · summary \"The week's best stories, handpicked by BBC editors, in your inbox every Tuesday and Friday.\" · image file s077-nevada-get-the-essential-list.webp",
            "5. [dundee] · desk x96 y13241 300x303; image 300x169 at (0,0); headline at (0,181) w300 1 line; description at (0,215) w300 3 lines; no rule under it · phone x16 y16463 358x78; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; no rule under it · phone headline lines: Stream the best of / British TV · headline \"Stream the best of British TV\" · summary \"Endlessly entertaining. Delightfully different. Enjoy worlds of wit, mystery and drama with BritBox.\" · image file s078-nevada-stream-the-best-of-british-tv.webp",
            "6. [dundee] · desk x412 y13241 300x303; image 300x169 at (0,0); headline at (0,181) w300 1 line; description at (0,215) w300 4 lines; no rule under it · phone x16 y16557 358x78; image 132x74 at (0,0); headline at (140,5) w210 1 line; no summary on phone; no rule under it · headline \"Watch Documentaries\" · summary \"Watch critically acclaimed and award-winning documentaries from the BBC, including History, Nature, True Crime and more.\" · image file s079-nevada-watch-documentaries.webp",
            "7. [dundee] · desk x728 y13241 300x303; image 300x169 at (0,0); headline at (0,181) w300 1 line; description at (0,215) w300 2 lines; no rule under it · phone x16 y16651 358x78; image 132x74 at (0,0); headline at (140,5) w210 1 line; no summary on phone; no rule under it · headline \"Download the BBC app\" · summary \"Click here to download the BBC app for Apple and Android devices.\" · image file s080-nevada-download-the-bbc-app.png",
            "8. [dundee] · desk x1044 y13241 300x303; image 300x169 at (0,0); headline at (0,181) w300 1 line; description at (0,215) w300 3 lines; no rule under it · phone x16 y16745 358x78; image 132x74 at (0,0); headline at (140,0) w210 2 lines; no summary on phone; no rule under it · phone headline lines: Register for a BBC / account · headline \"Register for a BBC account\" · summary \"Don't have time to read everything right now? Your BBC account lets you save articles and videos for later.\" · image file s081-nevada-register-for-a-bbc-account.webp"
          ]
        },
        {
          "name": "Ad slot 7",
          "summary": "Empty advertising slot, painted as a flat light-grey band with nothing in it (no label, no border). Reproduce it exactly as an empty band.",
          "ground": "#F6F6F6",
          "desktop": "full bleed 1440x293 at y 13664",
          "phone": "full bleed 390x293 at y 16944",
          "anatomy": [
            "No content, no text, no rule: the measured ad container is empty in the captured state."
          ]
        }
      ],
      "footer": {
        "summary": "White footer after 120px of white space below the last ad slot: a full-width 1px #3A3C3E divider, then inside the 1248 column: BBC blocks logo, one row of 17 links, the BBC in other languages button, a Follow BBC on: row with six social glyphs, two rows of legal links, the copyright line.",
        "ground": "#FFFFFF",
        "anatomy": [
          "Desktop y: divider 1px #3A3C3E full bleed at y 14077; footer block starts y 14094 (16px gap + 1px).",
          "Logo: BBC blocks 105x30 (file logo-bbc-blocks-footer.svg) at x96, footer top.",
          "Links row at footer top +60: Home, News, Sport, Business, Technology, Health, Culture, Arts, Travel, Earth, Audio, Video, Live, Documentaries, Weather, BBC Shop, BritBox. 14px/18px Public Sans 600 #000000, 16px between labels (Home x96, News x151, Sport x203 ... BritBox x1120).",
          "Button \"BBC in other languages\" + 14px down-caret: button_languages 206x44 at x96, footer top +98. The language list is collapsed at rest (not shown).",
          "Follow row at footer top +158: 1px #E6E8EA top border across 1248, 16px padding, \"Follow BBC on:\" 16px Public Sans 700 #000000 left, then six 24x24 icon buttons 16px apart starting x250: X, Facebook, Instagram, TikTok, LinkedIn, YouTube (files icon-social-*.svg, black).",
          "Legal row 1 at footer top +217, 12px/14px Public Sans 400 #000000, 16px gaps: Terms of Use, Subscription Terms, About the BBC, Privacy Policy, Cookies, Do not share or sell my info, Accessibility Help, Contact the BBC, Advertise with us, BBC.com Help & FAQs, Content Index.",
          "Legal row 2 at footer top +246: Set Preferred Source.",
          "Copyright at footer top +277, 12px #000000: \"Copyright 2026 BBC. All rights reserved. The BBC is not responsible for the content of external sites.\" followed inline by bold (700) link \"Read about our approach to external linking.\"",
          "48px bottom margin; page ends at y 14403 desktop."
        ],
        "phone": "divider 1px #3A3C3E full bleed at y 17357; logo 105x30 x16 at y17374; the 17 links stacked one per line, 14px 600, 42px pitch starting y17429 (Home) to BritBox y18101; BBC in other languages button 206x44 at y18158; Follow row (border-top 1px #E6E8EA, label then icons on the next line: six 28x28 buttons 16px apart from x16 at y18271); legal links wrap 3 per line at 29px pitch from y18317 (Terms of Use, Subscription Terms, About the BBC / Privacy Policy, Cookies, Do not share or sell my info / Accessibility Help, Contact the BBC, Advertise with us / BBC.com Help & FAQs, Content Index, Set Preferred Source); copyright 3 lines at y18443; page ends y 18507.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "dark_ground": {
        "ground": "#141618 full bleed",
        "rule": "2px #E6E8EA",
        "label": "#FFFFFF Public Sans 800 uppercase",
        "headline": "#E6E8EA, Literata 600 (light text on dark reads thinner; our recipe to match Reith Medium visually)",
        "summary": "#E6E8EA",
        "muted text hex": "#AFB1B4 (show labels)",
        "play badge": "#000000 square, white triangle",
        "arrows": "white chevrons, left at 50% opacity",
        "logo variant": "not used on dark",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      }
    },
    "bands": [
      {
        "label": "Ad slot (top)",
        "ground": "#F6F6F6",
        "content": "empty",
        "desktop": "1440x278 at y 0",
        "phone": "390x78 at y 0",
        "anatomy": [
          "empty grey band, nothing inside"
        ]
      },
      {
        "label": "Masthead and section nav",
        "ground": "#FFFFFF",
        "content": "menu, Watch Live, BBC blocks, Subscribe, Sign In; 14 nav links",
        "desktop": "y 278-401 (81 + 42)",
        "phone": "y 78-127 masthead only",
        "anatomy": [
          "see Page anatomy: Navigation"
        ]
      },
      {
        "label": "Top stories (lead grid)",
        "ground": "#FFFFFF",
        "content": "7 cards: 2 image promo (image over 18px headline), 4 text promo (18px headline, summary, meta; no image), 1 lead story (image over 28px headline)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 441; cards y 441-1176",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 159; cards y 159-1509",
        "anatomy": [
          "No section label or rule: this band follows the masthead directly."
        ]
      },
      {
        "label": "Ad slot 1",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 1224",
        "phone": "full bleed 390x293 at y 1541",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "Weekend Reads",
        "ground": "#FFFFFF",
        "content": "2 cards: 2 wide image promo",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 1565; cards y 1619-2064",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 1866; cards y 1910-2594",
        "anatomy": [
          "Section label(s): \"WEEKEND READS\" at x96 y1575 (phone x16 y1876). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Premier League (live feature)",
        "ground": "#FFFFFF",
        "content": "1 cards: 1 feature split (big image + text panel)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 2111; cards y 2165-2633",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 2626; cards y 2670-3157",
        "anatomy": [
          "Section label(s): \"PREMIER LEAGUE\" at x96 y2121 (phone x16 y2636). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Best Audio of the Week (audio carousel)",
        "ground": "#FFFFFF",
        "content": "12 cards: 12 audio tile (square art, show name, title, Save + duration)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 2681; cards y 2767-3061",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 3190; cards y 3234-3511",
        "anatomy": [
          "Section label(s): \"BEST AUDIO OF THE WEEK\" + chevron at x96 y2691 (phone x16 y3200). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
          "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots."
        ]
      },
      {
        "label": "Documentaries (dark poster carousel)",
        "ground": "#141618",
        "content": "8 cards: 8 documentary poster (2:3 poster, title below)",
        "desktop": "full-bleed #141618 band y 3085-3701 (616px); content column x96-1344; 24px top padding above the #E6E8EA rule; cards y 3175-3677",
        "phone": "full-bleed #141618 band y 3527-4023; content x16-374; cards y 3601-4007",
        "anatomy": [
          "Section label(s): \"DOCUMENTARIES\" + chevron at x96 y3119 (phone x16 y3553). Each label sits 10px under a full-width 2px rule (#E6E8EA on the dark ground) across its column; label row 20px; first card 24px under the label row.",
          "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots."
        ]
      },
      {
        "label": "Ad slot 2",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 3725",
        "phone": "full bleed 390x293 at y 4039",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "More news",
        "ground": "#FFFFFF",
        "content": "8 cards: 5 image promo (image over 18px headline), 1 feature split (headline + image side by side), 2 text promo (18px headline, summary, meta; no image)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 4066; cards y 4120-4898",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 4364; cards y 4408-5943",
        "anatomy": [
          "Section label(s): \"MORE NEWS\" + chevron at x96 y4076 (phone x16 y4374). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Halloween thrills",
        "ground": "#FFFFFF",
        "content": "3 cards: 3 image promo (image over 18px headline)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 4946; cards y 5000-5384",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 5975; cards y 6019-6299",
        "anatomy": [
          "Section label(s): \"HALLOWEEN THRILLS\" at x96 y4956 (phone x16 y5985). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Editor's Picks (dark video carousel)",
        "ground": "#141618",
        "content": "8 cards: 8 wide image promo",
        "desktop": "full-bleed #141618 band y 5432-5924 (492px); content column x96-1344; 24px top padding above the #E6E8EA rule; cards y 5542-5900",
        "phone": "full-bleed #141618 band y 6331-6779; content x16-374; cards y 6405-6763",
        "anatomy": [
          "Section label(s): \"EDITOR'S PICKS\" + chevron at x96 y5466 (phone x16 y6357). Each label sits 10px under a full-width 2px rule (#E6E8EA on the dark ground) across its column; label row 20px; first card 24px under the label row.",
          "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots."
        ]
      },
      {
        "label": "Ad slot 3",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 5972",
        "phone": "full bleed 390x293 at y 6811",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "Watch list",
        "ground": "#FFFFFF",
        "content": "2 cards: 2 wide image promo",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 6313; cards y 6367-6812",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 7136; cards y 7180-7894",
        "anatomy": [
          "Section label(s): \"WATCH LIST\" + chevron at x96 y6323 (phone x16 y7146). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Earth (feature split)",
        "ground": "#FFFFFF",
        "content": "1 cards: 1 feature split (headline + image side by side)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 6859; cards y 6913-7402",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 7926; cards y 7970-8408",
        "anatomy": [
          "Section label(s): \"EARTH\" + chevron at x96 y6869 (phone x16 y7936). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Culture (feature split)",
        "ground": "#FFFFFF",
        "content": "1 cards: 1 feature split (headline + image side by side)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 7450; cards y 7504-7993",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 8440; cards y 8484-8912",
        "anatomy": [
          "Section label(s): \"CULTURE\" + chevron at x96 y7460 (phone x16 y8450). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Ad slot 4",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 8041",
        "phone": "full bleed 390x293 at y 8945",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "Four-column news: US & Canada News, More World News, Business, Technology",
        "ground": "#FFFFFF",
        "content": "16 cards: 12 headline-only link row, 4 image promo (image over 18px headline)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 8398; cards y 8452-9072",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 9286; cards y 9330-10866",
        "anatomy": [
          "Section label(s): \"US & CANADA NEWS\" + chevron at x96 y8408 (phone x16 y9296). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Ad slot 5",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 9136",
        "phone": "full bleed 390x293 at y 10914",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "Latest Sport Audio (audio carousel)",
        "ground": "#FFFFFF",
        "content": "12 cards: 12 audio tile (square art, show name, title, Save + duration)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 9477; cards y 9563-9875",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 11239; cards y 11283-11576",
        "anatomy": [
          "Section label(s): \"LATEST SPORT AUDIO\" + chevron at x96 y9487 (phone x16 y11249). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row.",
          "Carousel arrows top right on the label row: two 24x24 chevron buttons, 12px apart (left one at 50% opacity at rest, right one solid). Desktop: cards overflow past the right edge of the 1248 column and the last visible card is cut at x1344. Phone: the track starts at x16 and runs to the screen edge (x390), cutting the last visible card there; it scrolls sideways with no visible scrollbar. No dots."
        ]
      },
      {
        "label": "Four-column: Sport, Health, Culture, Travel",
        "ground": "#FFFFFF",
        "content": "16 cards: 12 headline-only link row, 4 image promo (image over 18px headline)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 9939; cards y 9993-10590",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 11624; cards y 11668-13089",
        "anatomy": [
          "Section label(s): \"SPORT\" + chevron at x96 y9949 (phone x16 y11634). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Ad slot 6",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 10654",
        "phone": "full bleed 390x293 at y 13137",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "Watch (black-panel video feature)",
        "ground": "#FFFFFF",
        "content": "1 cards: 1 feature split (big image + text panel)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 10995; cards y 11049-11517",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 13462; cards y 13506-13947",
        "anatomy": [
          "Section label(s): \"WATCH\" + chevron at x96 y11005 (phone x16 y13472). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Four-column: Arts, Earth, Video, World's Table",
        "ground": "#FFFFFF",
        "content": "16 cards: 12 headline-only link row, 4 image promo (image over 18px headline)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 11597; cards y 11651-12289",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 14012; cards y 14056-15538",
        "anatomy": [
          "Section label(s): \"ARTS\" + chevron at x96 y11607 (phone x16 y14022). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Discover more from the BBC (newsletter feature)",
        "ground": "#FFFFFF",
        "content": "1 cards: 1 feature split (big image + text panel)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 12353; cards y 12407-12875",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 15586; cards y 15630-16053",
        "anatomy": [
          "Section label(s): \"DISCOVER MORE FROM THE BBC\" at x96 y12363 (phone x16 y15596). Each label sits 10px under a full-width 2px rule (#3A3C3E) across its column; label row 20px; first card 24px under the label row."
        ]
      },
      {
        "label": "Discover more grid (8 promos)",
        "ground": "#FFFFFF",
        "content": "8 cards: 8 image promo (image over 18px headline)",
        "desktop": "content column x96-1344 (1248px) on #FFFFFF; rule/label top y 12923; cards y 12923-13544",
        "phone": "x16-374 (358px), full-bleed images where noted; rule/label top y 16086; cards y 16086-16823",
        "anatomy": [
          "Label and rule: see the band above (this grid continues it)."
        ]
      },
      {
        "label": "Ad slot 7",
        "ground": "#F6F6F6",
        "content": "empty ad container",
        "desktop": "full bleed 1440x293 at y 13664",
        "phone": "full bleed 390x293 at y 16944",
        "anatomy": [
          "No content, no text, no rule: the measured ad container is empty in the captured state."
        ]
      },
      {
        "label": "Footer",
        "ground": "#FFFFFF",
        "content": "logo, 17 links, languages button, social row, legal, copyright",
        "desktop": "divider y 14077, footer y 14094-14403",
        "phone": "divider y 17357, footer y 17374-18507",
        "anatomy": [
          "see Page anatomy: Footer"
        ]
      }
    ],
    "layout": {
      "page_margin": {
        "desktop": 96,
        "phone": 16
      },
      "section_padding": {
        "desktop": 48,
        "phone": 32
      },
      "container_max": 1248,
      "columns": 4,
      "columns_phone": 1,
      "gutter": 16,
      "gutter_phone": 16,
      "card_gap": 16,
      "nav_height": "123 desktop (81 masthead + 42 section nav) / 49 phone (masthead only)",
      "note": "Published (GEL grid): max width 1280 with fixed 16px margins, giving a 1248px content area; 8px margins and gutters under 400px wide, 16px above. Observed on bbc.com at 1440: the 1248 content column runs x96-1344, gutters 16px, columns 300/616/300 in the top grid, 616+616 halves, 405x3 thirds, 296x4 quarters (wyoming), 270x5 visible on Editor's Picks, 180-wide audio tiles 16px apart. Vertical rhythm between bands on white: section rule top sits 48px below the previous band's last card; 48px above and below every 293px ad slot (ad bands 1440x293 at 1440). Phone: 16px side margin, single column, lead images full bleed.",
      "prov": "observed",
      "source": "https://www.bbc.com/ (2026-10-31)"
    },
    "type": [
      {
        "role": "Lead / feature / live headline",
        "id": "headline-l",
        "face": "display",
        "size": {
          "desktop": 28,
          "phone": 24
        },
        "line_height": 1.143,
        "tracking_px": 0,
        "weight": 550,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "note": "GEL Canon is 44/48 desktop; bbc.com uses 28/32 (GEL Paragon) for its biggest promo headlines. Phone lead headline measured 24/28."
      },
      {
        "role": "Promo headline",
        "id": "headline",
        "face": "display",
        "size": {
          "desktop": 18,
          "phone": 18
        },
        "line_height": 1.222,
        "tracking_px": 0,
        "weight": 550,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "role": "Summary",
        "id": "summary",
        "face": "body",
        "size": {
          "desktop": 14,
          "phone": 14
        },
        "line_height": 1.286,
        "tracking_px": 0.14,
        "weight": 400,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "role": "Audio tile title",
        "id": "tile-title",
        "face": "display",
        "size": {
          "desktop": 14,
          "phone": 14
        },
        "line_height": 1.286,
        "tracking_px": -0.28,
        "weight": 550,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "role": "Section label",
        "id": "label",
        "face": "mono",
        "size": {
          "desktop": 15,
          "phone": 14
        },
        "line_height": 1.333,
        "tracking_px": 0.75,
        "weight": 800,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "case": "uppercase"
      },
      {
        "role": "Nav item",
        "id": "nav",
        "face": "mono",
        "size": {
          "desktop": 14,
          "phone": 14
        },
        "line_height": 1.286,
        "tracking_px": 0,
        "weight": 600,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "note": "active item Reith Sans Bold 700"
      },
      {
        "role": "Button",
        "id": "button",
        "face": "mono",
        "size": {
          "desktop": 16,
          "phone": 16
        },
        "line_height": 1.125,
        "tracking_px": 0,
        "weight": 600,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "role": "Meta (time, tag, duration, show)",
        "id": "meta",
        "face": "mono",
        "size": {
          "desktop": 12,
          "phone": 12
        },
        "line_height": 1.167,
        "tracking_px": 0,
        "weight": 400,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      {
        "role": "LIVE label",
        "id": "live",
        "face": "mono",
        "size": {
          "desktop": 28,
          "phone": 24
        },
        "line_height": 1.143,
        "tracking_px": 0,
        "weight": 700,
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "case": "uppercase"
      }
    ],
    "components": {
      "button_subscribe": {
        "fill": "#0071F1",
        "text": "#FFFFFF",
        "border": "2px solid #0071F1",
        "ring_px": 2,
        "ring": "#0071F1",
        "padding_x": 14,
        "font_size": 16,
        "weight": 600,
        "face": "mono",
        "radius": 0,
        "padding": "6px 12px",
        "height": 34,
        "text_style": "16px/18px Public Sans 600 (Reith Sans 500)",
        "example": "Subscribe (101x34, masthead)",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "note": "The only filled colour button on the page; square corners"
      },
      "button_outline": {
        "fill": "none",
        "text": "#000000",
        "border": "2px solid #000000",
        "ring_px": 2,
        "ring": "#000000",
        "padding_x": 14,
        "font_size": 16,
        "weight": 600,
        "face": "mono",
        "radius": 0,
        "padding": "6px 12px",
        "height": 34,
        "text_style": "16px/18px Public Sans 600",
        "example": "See more (98x34) under feature-split text",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "note": "On the black Watch panel the outline and text are #FFFFFF"
      },
      "button_text": {
        "fill": "none",
        "text": "#000000",
        "padding_x": 14,
        "font_size": 16,
        "weight": 600,
        "face": "mono",
        "radius": 0,
        "padding": "6px 12px",
        "height": 34,
        "text_style": "16px/18px Public Sans 600",
        "example": "Sign In (79x34)",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "button_languages": {
        "fill": "#E6E8EA",
        "text": "#202224",
        "padding_x": 12,
        "font_size": 14,
        "weight": 600,
        "face": "mono",
        "radius": 0,
        "padding": "6px 12px",
        "height": 44,
        "text_style": "14px Public Sans 600",
        "example": "BBC in other languages + 14px down-caret (206x44), footer",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "save_pill": {
        "radius": "pill",
        "ring": "#D2D4D6",
        "note": "audio tile Save control: 24x24 circle with 1px #D2D4D6 ring holding a 10x12 bookmark outline (#202224), then \"Save\" 12px/14px Public Sans 600 #202224 6px to its right; then the duration (12px 400 #545658) 6px further",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "play_badge": {
        "fill": "#FFFFFF",
        "radius": 0,
        "note": "video promo marker: square at the image bottom-left corner holding a play triangle (file icon-play.svg, white variant icon-play-white.svg). Sizes per card in the Page anatomy (\"play badge WxH at (x,y)\"): 64x64 with a 30px triangle on the desktop More news lead (white square, black triangle) and the Watch feature (black square, white triangle); 40x40 on Editor's Picks (black square, white triangle) and on a four-column video promo; 40x40 on phone leads; 24x24 on small phone rows. Audio tiles use the same 24x24 white square with a sound-wave glyph.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "meta_row": {
        "note": "time and topic tag in one row: \"14 hrs ago\", a 1x16 #545658 bar with 8px margin either side, then the tag. Some promos show only one of the two. Its y offset is given per card (\"meta at y+N\"); use that.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "section_label": {
        "note": "full-width 2px #3A3C3E rule (#E6E8EA on the night ground), the label 10px below it: 15px/20px Public Sans 800 uppercase +0.75px #202224 (#FFFFFF on night). Linked labels end with a 20x15 chevron-right glyph 4px after the text. First promo row starts 24px under the label row.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "promo_rule": {
        "note": "stacked promos in one column are separated by a 1px #E6E8EA rule. Its exact position is given per card in the Page anatomy (\"1px #E6E8EA rule at y+N\" from the card top, or \"no rule under it\"); the next card starts where its own y says. Follow the per-card values, not a padding formula.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "carousel_arrows": {
        "note": "two 24x24 buttons holding 20x20 chevrons, right-aligned on the section label row (x 1272 and 1308 at 1440): left chevron at 50% opacity at rest, right solid black (white on night). On phone the arrows show only on the dark bands.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "image": {
        "radius": 0,
        "note": "every image is square-cornered, object-fit cover, 16:9 on promos (300x169, 616x347, 832x468, 827x465, 405x228, 296x167), 1:1 on audio tiles (180x180), 2:3 posters (300x450) on Documentaries. No borders, no shadows, no overlays except the play badge.",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)"
      },
      "button_primary": {
        "fill": "#0071F1",
        "text": "#FFFFFF",
        "border": "2px solid #0071F1",
        "ring_px": 2,
        "ring": "#0071F1",
        "padding_x": 14,
        "font_size": 16,
        "weight": 600,
        "face": "mono",
        "radius": 0,
        "padding": "6px 12px",
        "height": 34,
        "text_style": "16px/18px Public Sans 600 (Reith Sans 500)",
        "example": "Subscribe (101x34, masthead)",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "note": "= button_subscribe: the one filled button (Subscribe)"
      },
      "button_secondary": {
        "fill": "none",
        "text": "#000000",
        "border": "2px solid #000000",
        "ring_px": 2,
        "ring": "#000000",
        "padding_x": 14,
        "font_size": 16,
        "weight": 600,
        "face": "mono",
        "radius": 0,
        "padding": "6px 12px",
        "height": 34,
        "text_style": "16px/18px Public Sans 600",
        "example": "See more (98x34) under feature-split text",
        "prov": "observed",
        "source": "https://www.bbc.com/ (2026-10-31)",
        "note": "= button_outline: See more"
      }
    }
  },
  "system": {
    "fixed": [
      "BBC blocks centred in the masthead",
      "BBC Reith (serif headlines, sans furniture)",
      "white ground and near-black ink",
      "square corners",
      "2px rule + uppercase label section heads",
      "the 1248 grid with 16px gutters"
    ],
    "flex": "The content: photos, headlines and which promo shapes a section uses. Colour enters only through photography, LIVE red and the Subscribe blue.",
    "traits": [
      {
        "is": "impartial",
        "not": "opinionated",
        "prov": "published"
      },
      {
        "is": "clear",
        "not": "clever",
        "prov": "inferred"
      },
      {
        "is": "consistent",
        "not": "uniform for its own sake",
        "prov": "inferred"
      },
      {
        "is": "for everyone",
        "not": "niche",
        "prov": "published"
      }
    ]
  },
  "formats": [
    {
      "format": "Landing page",
      "level": 1,
      "must": "masthead with centred blocks and section nav; sections as rule + uppercase label; promos with serif headlines, summaries and meta; square photos; one blue Subscribe button; footer with links and legal",
      "flex": "section order and promo shapes (lead grid, halves, thirds, quarters, carousels, feature splits, dark bands)"
    },
    {
      "format": "Article page",
      "level": 1,
      "must": "60/20/20 three-column reading layout on large screens; body copy 60 characters a line max",
      "flex": "supporting content in the outer columns"
    },
    {
      "format": "Immersive story",
      "level": 3,
      "must": "display sizes Atlas to Foolscap only here",
      "flex": "imagery and motion"
    }
  ],
  "checks": [
    {
      "name": "Contrast",
      "text": "Every text pair meets WCAG 2.0 AA (4.5:1 normal, 3:1 large)."
    },
    {
      "name": "Grid",
      "text": "Content column 1248 max, 16px gutters, spacing from the unit scale."
    },
    {
      "name": "Type",
      "text": "Headline sizes from the named scale; no tracking changes on Reith."
    },
    {
      "name": "Quotes",
      "text": "Single quotes in headlines."
    }
  ],
  "make_it_yours": {
    "note": "Everything above transfers. These are BBC's own and must be replaced with yours: name and logo, purpose, positioning, messaging pillars, proof, taglines and boilerplate.",
    "replace": [
      "identity",
      "purpose",
      "positioning",
      "messaging.pillars",
      "messaging.proof_points",
      "messaging.taglines",
      "messaging.boilerplate"
    ],
    "reference": {
      "purpose": {
        "mission": {
          "label": "Mission (Royal Charter)",
          "text": "Serve all audiences in the public interest with impartial, distinctive, high-quality services that inform, educate and entertain (paraphrase of the Royal Charter mission).",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
        },
        "story": {
          "text": "Established by Royal Charter and funded by the licence fee, the BBC introduced GEL in 2010 to make its many online services feel like one, and commissioned its own typeface, BBC Reith, named after founder John Reith, in 2017-18.",
          "prov": "published",
          "source": "https://www.bbc.co.uk/gel/features/what-is-gel"
        },
        "values": [
          {
            "name": "Audiences",
            "means": "are at the heart of everything we do",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Creativity",
            "means": "is the lifeblood of our organisation",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Trust",
            "means": "is the foundation of the BBC: independent, impartial and truthful",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Respect",
            "means": "kind to each other and championing inclusivity",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Accountable",
            "means": "delivering work of the highest quality",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "One BBC",
            "means": "collaborate, learn and grow together",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          }
        ]
      },
      "positioning": {
        "statement": {
          "text": "The UK's public service broadcaster: impartial, publicly funded, serving everyone at home and around the world.",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc"
        },
        "category": {
          "text": "Public service broadcaster and global news publisher",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc"
        },
        "audience": {
          "text": "All audiences: every UK household that pays the licence fee, and international audiences of BBC.com and World Service",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
        },
        "problem": {
          "text": "People need news and information they can trust to understand and engage with the world",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
        },
        "promise": {
          "text": "Inform, educate and entertain",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
        },
        "differentiators": [
          {
            "text": "Impartiality is a Charter obligation",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "text": "Funded by the licence fee, free from commercial and political interests (in the UK)",
            "prov": "published",
            "source": "https://www.bbc.co.uk/branding/logo-use"
          },
          {
            "text": "World Service in more than 40 languages",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc"
          },
          {
            "text": "Its own typeface and a shared design language (GEL) across every service",
            "prov": "published",
            "source": "https://www.bbc.co.uk/gel/features/what-is-gel"
          }
        ],
        "alternatives": [
          {
            "text": "Commercial broadcasters and news publishers (not named by the BBC)",
            "prov": "inferred"
          }
        ]
      },
      "messaging": {
        "taglines": [
          {
            "text": "Inform, educate and entertain",
            "where": "the BBC mission in the Royal Charter",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          }
        ],
        "attributes": [
          "impartial",
          "distinctive",
          "high-quality"
        ],
        "key_messages": [],
        "boilerplate": {
          "text": "The BBC is the UK's public service broadcaster, established by Royal Charter and funded principally by the licence fee paid by UK households. It makes television, radio and digital services, including BBC News, Sport, iPlayer and Sounds, and BBC World Service in more than 40 languages.",
          "prov": "published",
          "source": "https://www.bbc.co.uk/aboutthebbc",
          "note": "paraphrased from About the BBC"
        },
        "pillars": [
          {
            "name": "Impartial news",
            "claim": "Accurate, impartial news and information that helps people understand the world",
            "proof": [
              "p1"
            ],
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Learning for all ages",
            "claim": "Support learning for people of all ages",
            "proof": [
              "p2"
            ],
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Distinctive output",
            "claim": "The most creative, highest quality and distinctive output and services",
            "proof": [
              "p3"
            ],
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "Every nation and region",
            "claim": "Reflect, represent and serve the diverse communities of all of the UK",
            "proof": [
              "p4"
            ],
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "name": "The UK to the world",
            "claim": "Reflect the United Kingdom, its culture and values to the world",
            "proof": [
              "p5"
            ],
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          }
        ],
        "proof_points": [
          {
            "id": "p1",
            "text": "Public purpose 1 in the Royal Charter; the front page leads with news promos on every visit",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "id": "p2",
            "text": "Public purpose 2; Bitesize and CBeebies sit in the global navigation",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "id": "p3",
            "text": "Public purpose 3; Documentaries and Editor's Picks bands on the front page",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "id": "p4",
            "text": "Public purpose 4; national and local services across England, Scotland, Wales and Northern Ireland",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc"
          },
          {
            "id": "p5",
            "text": "BBC World Service in more than 40 languages; the footer lists the BBC News language services",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc"
          }
        ],
        "claim_boundaries": [
          {
            "text": "Never takes a side: impartiality is a Charter duty (Mission and public purposes)",
            "prov": "published",
            "source": "https://www.bbc.co.uk/aboutthebbc/governance/mission"
          },
          {
            "text": "Never implies BBC endorsement of a third party or uses the BBC brand without written consent",
            "prov": "published",
            "source": "https://www.bbc.co.uk/branding/logo-use"
          }
        ]
      }
    }
  }
}