/* Premier League fixture pages. Scoped to .pl-* so nothing here can reach the rest of the site. */
.pl-hero{position:relative;overflow:hidden;background:#0B0E14;min-height:300px;display:flex;align-items:flex-end}
.pl-hub-hero{background:#0B0E14;padding:56px 24px 40px}
.pl-hero-art{position:absolute;inset:0;width:100%;height:100%}
.pl-hero-inner{position:relative;max-width:900px;margin:0 auto;padding:40px 24px 36px;width:100%}
.pl-eyebrow{color:#8A94A6;font-size:.72rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:10px}
.pl-hero-inner h1,.pl-hub-hero h1{font-family:"Syne",sans-serif;font-weight:800;font-size:clamp(1.9rem,5vw,3.1rem);color:#fff;letter-spacing:-.03em;line-height:1.05;margin:0 0 10px;text-wrap:balance}
.pl-v{color:#8A94A6;font-weight:700}
.pl-when{color:#A9B4C6;font-size:1rem;margin:0;max-width:60ch;line-height:1.6}
.pl-flag{display:inline-block;background:#1d2740;color:#C7D2E4;border:1px solid #2c3a5a;border-radius:7px;padding:7px 12px;font-size:.8rem;font-weight:700;margin-bottom:14px}
.pl-body{max-width:900px;margin:0 auto;padding:36px 24px 72px}
.pl-body h2{font-family:"Syne",sans-serif;font-weight:800;font-size:1.25rem;color:var(--navy);margin:36px 0 14px;letter-spacing:-.02em}
.pl-stamp{background:var(--off-white);border-left:4px solid var(--navy);border-radius:0 10px 10px 0;padding:14px 18px;font-size:.9rem;line-height:1.7;color:var(--text-mid);margin:0}
.pl-table{width:100%;border-collapse:collapse;margin-bottom:14px}
.pl-table td{padding:11px 12px;border-bottom:1px solid var(--border);font-size:.92rem;color:var(--text-mid)}
.pl-table td.pl-p{text-align:right;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-cta{display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:.85rem;padding:11px 18px;border-radius:9px;text-decoration:none}
.pl-fams{list-style:none;padding:0;margin:0}
.pl-fams li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:.92rem}
.pl-fam{font-weight:700;color:var(--navy);flex:1}
.pl-n{color:var(--text-light);font-variant-numeric:tabular-nums}
.pl-disc{margin-top:32px;padding-top:16px;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-light);line-height:1.7}
.pl-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px}
.pl-card a{display:flex;flex-direction:column;gap:5px;background:var(--off-white);border:1.5px solid var(--border);border-radius:12px;padding:16px 18px;text-decoration:none}
.pl-card-date{font-size:.72rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-light)}
.pl-card-tie{font-family:"Syne",sans-serif;font-weight:800;font-size:1.02rem;color:var(--navy);letter-spacing:-.01em}
.pl-card-n{font-size:.8rem;color:var(--text-mid);font-variant-numeric:tabular-nums}
.pl-card.is-archived a{opacity:.78}
.pl-empty{padding:20px;border:1px dashed var(--border);border-radius:10px;color:var(--text-light);font-size:.9rem;line-height:1.7}
@media(max-width:640px){.pl-hero{min-height:230px}}
.pl-h2-sub{font-family:-apple-system,sans-serif;font-weight:600;font-size:.78rem;color:var(--text-light);letter-spacing:0;margin-left:10px}
.pl-coverage{background:var(--off-white);border-left:4px solid var(--navy);border-radius:0 10px 10px 0;padding:13px 17px;font-size:.87rem;line-height:1.65;color:var(--text-mid);margin:0 0 14px}
