Contact the desk

Talk football with us.

Spot a fixture update, have a practical matchday question or want to discuss an editorial correction? Send the team a concise note.

Show Trail List Lantern Media Ltd.

Email
[email protected]
Registered office
24 Kingsway
London WC2B 6LE
United Kingdom
Company number
14826391
Response target
Two business days

Send a message

Enter at least two characters.

Enter a valid email address.

Choose a subject.

Enter at least 20 characters.

===ENDFILE=== ===FILE: styles.css=== :root { --ink: #151515; --paper: #fdfcf8; --soft: #eeeae2; --accent: #d93600; --line: #b8b4ac; --white: #ffffff; --max: 1240px; --font: Arial, Helvetica, sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); font-size: 16px; line-height: 1.65; } img, svg { display: block; max-width: 100%; } a, button, input, select, textarea { font: inherit; } a { color: inherit; text-underline-offset: 4px; } a:hover { color: var(--accent); } button, .button, .header-cta { border: 1px solid var(--ink); background: var(--ink); color: var(--white); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; font-weight: 700; line-height: 1.2; text-decoration: none; } button:hover, .button:hover, .header-cta:hover { background: var(--accent); color: var(--white); } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #005fcc; outline-offset: 3px; } h1, h2, h3, .brand, nav, .footer-company { overflow-wrap: anywhere; } .site-header > *, .hero-grid > *, .match-card > *, .article-layout > *, .contact-grid > *, .site-footer > * { min-width: 0; } [hidden] { display: none !important; } .skip-link { position: fixed; z-index: 1000; left: 16px; top: 8px; padding: 8px 16px; background: var(--ink); color: var(--white); transform: translateY(-160%); } .skip-link:focus { transform: translateY(0); color: var(--white); } .site-header { position: relative; z-index: 30; height: 64px; border-bottom: 1px solid var(--ink); background: var(--paper); color: var(--ink); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; padding: 0 max(24px, calc((100% - var(--max)) / 2)); } .brand { display: inline-flex; align-items: center; gap: 8px; width: fit-content; max-width: 100%; font-size: 17px; font-weight: 800; text-decoration: none; } .brand:hover { color: var(--accent); } .brand-mark { width: 32px; height: 32px; flex: 0 0 auto; color: var(--accent); } .desktop-nav { display: flex; gap: 24px; align-items: center; } .desktop-nav a { font-size: 14px; font-weight: 700; text-decoration: none; } .header-cta { justify-self: end; padding: 8px 16px; font-size: 14px; } .menu-button { display: none; width: 40px; height: 40px; padding: 8px; flex-direction: column; gap: 5px; } .menu-button span { display: block; width: 20px; height: 2px; background: var(--white); color: var(--white); } .mobile-nav { position: absolute; top: 100%; right: 0; left: 0; border-bottom: 1px solid var(--ink); background: var(--paper); color: var(--ink); padding: 24px; } .mobile-nav.is-visible { display: grid !important; gap: 16px; } .mobile-nav a { font-weight: 800; text-decoration: none; } .hero, .section, .article-hero, .article-layout, .legal-page, .contact-hero, .contact-grid { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; } .hero { padding: 64px 0; } .eyebrow { margin: 0 0 16px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; } .hero-grid { display: grid; grid-template-columns: 2fr 1fr; align-items: end; gap: 64px; } h1, h2, h3 { margin-top: 0; line-height: .98; letter-spacing: -.045em; } .hero h1, .article-hero h1, .contact-hero h1, .legal-page > header h1 { margin-bottom: 0; font-size: clamp(52px, 9vw, 126px); } .hero-copy { max-width: 460px; padding-bottom: 8px; } .hero-copy p { margin: 0 0 24px; font-size: 19px; } .text-link { font-weight: 800; } .score-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 64px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); } .score-strip div { padding: 24px; border-right: 1px solid var(--ink); } .score-strip div:last-child { border-right: 0; } .score-strip strong { display: block; font-size: clamp(36px, 5vw, 68px); line-height: 1; } .score-strip span { display: block; margin-top: 12px; font-size: 13px; text-transform: uppercase; } .section { padding: 64px 0; } .section-heading { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 40px; align-items: end; margin-bottom: 40px; } .section-heading h2, .briefing h2 { margin: 0; font-size: clamp(42px, 7vw, 90px); } .section-heading p:last-child { margin: 0; } .match-list { display: grid; gap: 40px; } .match-card { display: grid; grid-template-columns: 1.15fr 1fr; border: 1px solid var(--ink); background: var(--white); color: var(--ink); } .card-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--ink); } .card-stats div { padding: 16px 24px; border-right: 1px solid var(--ink); } .card-stats div:last-child { border-right: 0; } .card-stats span { display: block; margin-bottom: 12px; font-size: 11px; text-transform: uppercase; } .card-stats strong { display: block; font-size: 21px; line-height: 1.1; } .match-image { width: 100%; height: 100%; min-height: 370px; object-fit: cover; filter: grayscale(100%); } .card-body { padding: 40px; align-self: center; } .card-body h3 { font-size: clamp(35px, 5vw, 64px); } .card-body p:not(.eyebrow) { margin-bottom: 24px; } .briefing { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; border-top: 1px solid var(--ink); } .article-hero { padding: 64px 0; } .article-deck { max-width: 700px; margin: 40px 0; font-size: 21px; } .article-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); } .article-stats div { padding: 24px; border-right: 1px solid var(--ink); } .article-stats div:last-child { border: 0; } .article-stats span { display: block; margin-bottom: 12px; color: #555; font-size: 12px; text-transform: uppercase; } .article-stats strong { display: block; line-height: 1.25; } .article-layout { display: grid; grid-template-columns: 240px minmax(0, 720px); justify-content: space-between; gap: 64px; padding-bottom: 64px; } .article-index { align-self: start; display: grid; gap: 12px; padding: 24px; border-top: 6px solid var(--accent); background: var(--soft); color: var(--ink); } .article-index a { font-size: 14px; } .article-content section { padding: 0 0 64px; } .article-content h2, .legal-page h2 { font-size: clamp(34px, 5vw, 55px); } .article-content h3 { margin-top: 40px; font-size: 26px; } .article-content p { margin: 0 0 24px; } .callout { margin: 40px 0 0; padding: 24px; border: 1px solid var(--ink); border-top: 8px solid var(--accent); } .callout p { margin: 12px 0 0; } .next-guide { display: grid; gap: 12px; border-top: 1px solid var(--ink); padding-top: 24px; } .next-guide span { text-transform: uppercase; font-size: 12px; } .next-guide a { font-size: 25px; font-weight: 800; } .legal-page { max-width: 860px; padding: 64px 0; } .legal-page > header { padding-bottom: 64px; } .legal-page > header p:last-child { max-width: 700px; font-size: 20px; } .legal-page section { padding: 40px 0; border-top: 1px solid var(--line); } .legal-page p { margin: 0 0 24px; } .table-wrap { overflow-x: auto; margin: 24px 0; } table { width: 100%; border-collapse: collapse; } th, td { min-width: 140px; padding: 16px; border: 1px solid var(--ink); text-align: left; vertical-align: top; } th { background: var(--ink); color: var(--white); } .contact-hero { padding: 64px 0; } .contact-hero p:last-child { max-width: 650px; font-size: 20px; } .contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; padding-bottom: 64px; } .contact-details h2, .contact-form h2 { font-size: 38px; } .contact-details dl { margin: 0 0 40px; } .contact-details dl div { padding: 16px 0; border-top: 1px solid var(--line); } dt { font-size: 12px; font-weight: 800; text-transform: uppercase; } dd { margin: 12px 0 0; overflow-wrap: anywhere; } .static-map { border: 1px solid var(--ink); } .contact-form { border: 1px solid var(--ink); padding: 40px; background: var(--white); color: var(--ink); } .field { margin-bottom: 24px; } .field label { display: block; margin-bottom: 8px; font-weight: 800; } input, select, textarea { width: 100%; border: 1px solid var(--ink); border-radius: 0; background: var(--white); color: var(--ink); padding: 12px 16px; } textarea { resize: vertical; } .checkbox-field { display: grid; grid-template-columns: 20px 1fr; gap: 12px; margin-bottom: 24px; } .checkbox-field input { width: 20px; height: 20px; margin: 3px 0 0; } .field-error { display: none; margin: 8px 0 0; color: #a12600; font-size: 14px; } .is-invalid { border: 3px solid #a12600; } .is-invalid + .field-error { display: block; } .form-status { min-height: 24px; font-weight: 700; } .form-status.is-visible { color: #176b36; } .site-footer { display: grid; grid-template-columns: 2fr 1fr 1fr 2fr; gap: 40px; padding: 64px max(24px, calc((100% - var(--max)) / 2)); border-top: 1px solid var(--ink); background: var(--ink); color: var(--white); } .site-footer h2 { margin-bottom: 16px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; } .site-footer a { display: block; margin-bottom: 8px; color: var(--white); } .site-footer a:hover { color: #ff8a65; } .site-footer p { margin: 0 0 8px; } .cookie-banner { position: fixed; z-index: 100; right: 16px; bottom: 16px; left: 16px; display: grid; grid-template-columns: 1fr auto; gap: 24px; max-width: 1100px; margin: auto; padding: 24px; border: 1px solid var(--ink); background: var(--white); color: var(--ink); box-shadow: 0 8px 30px rgba(0,0,0,.22); } .cookie-banner p { margin: 4px 0 0; } .cookie-banner.is-dismissed { display: none; } .cookie-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .button-secondary { background: var(--white); color: var(--ink); } @media (max-width: 900px) { .site-header { grid-template-columns: minmax(0, 1fr) auto; } .desktop-nav, .header-cta { display: none; } .menu-button { display: flex; justify-self: end; } .hero-grid, .section-heading, .briefing, .article-layout, .contact-grid { grid-template-columns: 1fr; gap: 40px; } .match-card { grid-template-columns: 1fr; } .match-image { min-height: 300px; } .article-index { position: static; } .site-footer { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 767px) { .site-header { height: 52px; padding-inline: 16px; } .brand { font-size: 14px; } .brand-mark { width: 28px; height: 28px; } .hero, .section, .article-hero, .article-layout, .legal-page, .contact-hero, .contact-grid { width: min(calc(100% - 32px), var(--max)); } .hero, .section, .article-hero, .legal-page, .contact-hero { padding-top: 64px; padding-bottom: 64px; } .score-strip, .article-stats { grid-template-columns: 1fr; } .score-strip div, .article-stats div { border-right: 0; border-bottom: 1px solid var(--ink); } .score-strip div:last-child, .article-stats div:last-child { border-bottom: 0; } .card-stats strong { font-size: 16px; } .card-body, .contact-form { padding: 24px; } .site-footer { grid-template-columns: 1fr; padding: 64px 16px; } .cookie-banner { grid-template-columns: 1fr; max-height: calc(100vh - 32px); overflow-y: auto; } } @media (max-width: 399px) { body { font-size: 15px; } .brand span { max-width: 190px; } .hero h1, .article-hero h1, .contact-hero h1, .legal-page > header h1 { font-size: 43px; } .section-heading h2, .briefing h2 { font-size: 40px; } .card-stats { grid-template-columns: 1fr; } .card-stats div { border-right: 0; border-bottom: 1px solid var(--ink); } .card-stats div:last-child { border-bottom: 0; } .match-image { min-height: 220px; } .cookie-actions { display: grid; } .cookie-actions button { width: 100%; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } } ===ENDFILE=== ===FILE: script.js=== (function () { "use strict"; var menuToggle = document.querySelector("[data-menu-toggle]"); var mobileMenu = document.querySelector("[data-mobile-menu]"); if (menuToggle && mobileMenu) { menuToggle.addEventListener("click", function () { var willOpen = mobileMenu.hasAttribute("hidden"); mobileMenu.toggleAttribute("hidden", !willOpen); mobileMenu.classList.toggle("is-visible", willOpen); menuToggle.setAttribute("aria-expanded", String(willOpen)); menuToggle.setAttribute("aria-label", willOpen ? "Close navigation" : "Open navigation"); }); mobileMenu.querySelectorAll("a").forEach(function (link) { link.addEventListener("click", function () { mobileMenu.setAttribute("hidden", ""); mobileMenu.classList.remove("is-visible"); menuToggle.setAttribute("aria-expanded", "false"); menuToggle.setAttribute("aria-label", "Open navigation"); }); }); } var cookieBanner = document.querySelector("[data-cookie-banner]"); var storedChoice = null; try { storedChoice = localStorage.getItem("stll_cookie_choice"); } catch (error) { storedChoice = null; } if (cookieBanner && storedChoice) { cookieBanner.classList.add("is-dismissed"); } document.querySelectorAll("[data-cookie-choice]").forEach(function (button) { button.addEventListener("click", function () { var choice = button.getAttribute("data-cookie-choice"); try { localStorage.setItem("stll_cookie_choice", choice); } catch (error) { /* The banner can still be dismissed for the current page. */ } if (cookieBanner) { cookieBanner.classList.add("is-dismissed"); } if (choice === "preferences" && !window.location.pathname.endsWith("cookie-policy.html")) { window.location.href = "cookie-policy.html"; } }); }); var contactForm = document.querySelector("[data-contact-form]"); if (contactForm) { var status = contactForm.querySelector("[data-form-status]"); var fields = contactForm.querySelectorAll("[data-validate]"); function validateField(field) { var valid = field.checkValidity(); field.classList.toggle("is-invalid", !valid); field.setAttribute("aria-invalid", String(!valid)); var fieldId = field.id; if (fieldId) { var error = contactForm.querySelector('[data-error-for="' + fieldId + '"]'); if (error) { error.id = fieldId + "-error"; field.setAttribute("aria-describedby", error.id); } } return valid; } fields.forEach(function (field) { field.addEventListener("blur", function () { validateField(field); }); field.addEventListener("input", function () { if (field.classList.contains("is-invalid")) { validateField(field); } }); field.addEventListener("change", function () { if (field.classList.contains("is-invalid")) { validateField(field); } }); }); contactForm.addEventListener("submit", function (event) { var firstInvalid = null; var formValid = true; fields.forEach(function (field) { if (!validateField(field)) { formValid = false; if (!firstInvalid) { firstInvalid = field; } } }); if (!formValid) { event.preventDefault(); status.textContent = "Please correct the highlighted fields before sending."; status.classList.remove("is-visible"); firstInvalid.focus(); return; } status.textContent = "Your email application will open with the completed message."; status.classList.add("is-visible"); }); } }()); ===ENDFILE===