/* Buffalo Fanatics: black bar from the old site, logo blue/red, Oswald + Source Serif 4.
   Signature: the logo's forward lean (slanted badges) and the F's twin speed stripes (section titles). */
:root{
	--bf-ink:#000;--bf-paper:#fff;--bf-red:#C60C30;--bf-blue:#00338D;
	--bf-steel:#EEF0F3;--bf-rule:#D7DBE1;--bf-slate:#4B5563;
	--bf-head:"Oswald","Arial Narrow","Helvetica Neue",Arial,sans-serif;
	--bf-body:"Source Serif 4",Georgia,"Times New Roman",serif;
	--bf-ui:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--bf-wrap:1240px;--bf-gap:28px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bf-paper);color:var(--bf-ink);font:400 17px/1.6 var(--bf-ui)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--bf-blue);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bf-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:8px 14px}
.bf-skip:focus{left:8px}
.bf-wrap{max-width:var(--bf-wrap);margin:0 auto;padding:0 20px}
.bf-main{min-height:60vh;padding:28px 0 64px}

/* Header */
.bf-header{background:var(--bf-ink);color:#fff;position:relative;z-index:20}
.bf-header__bar{display:flex;align-items:center;gap:24px;min-height:72px}
.bf-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.bf-logo__img{height:46px;width:auto}
.bf-logo__text{font:700 1.45rem/1 var(--bf-head);letter-spacing:.01em;color:#fff}
.bf-nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.bf-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 22px}
.bf-menu a{font:500 1.05rem/1 var(--bf-head);text-decoration:none;color:#fff;padding:8px 0;display:inline-block;border-bottom:3px solid transparent}
.bf-menu a:hover,.bf-menu .current-menu-item>a,.bf-menu .current-menu-ancestor>a{border-bottom-color:var(--bf-red)}
.bf-menu .sub-menu{display:none}
.bf-search input{width:170px;background:#1c1c1c;border:1px solid #3a3a3a;color:#fff;padding:9px 12px;font:15px var(--bf-ui);border-radius:2px}
.bf-search input::placeholder{color:#a3a3a3}
.bf-header :focus-visible{outline-color:#fff}
.bf-header__stripes{height:10px;background:linear-gradient(var(--bf-red) 0 3px,var(--bf-ink) 3px 7px,var(--bf-red) 7px 10px)}
.bf-burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.bf-burger__bars,.bf-burger__bars::before,.bf-burger__bars::after{display:block;height:3px;background:#fff;width:24px;position:relative;content:"";transform:skewX(-20deg)}
.bf-burger__bars::before{position:absolute;top:-8px}
.bf-burger__bars::after{position:absolute;top:8px}
@media (max-width:980px){
	.bf-burger{display:block}
	.bf-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bf-ink);flex-direction:column;align-items:stretch;padding:8px 20px 22px;border-top:1px solid #222}
	.bf-nav.is-open{display:flex}
	.bf-menu{flex-direction:column;gap:0}
	.bf-menu a{display:block;padding:13px 0;border-bottom:1px solid #222;font-size:1.15rem}
	.bf-search input{width:100%;margin-top:14px}
	.bf-logo__text{font-size:1.2rem}
}

/* Signature pieces */
.bf-badge{display:inline-block;background:var(--bf-red);color:#fff;text-decoration:none;transform:skewX(-12deg);padding:4px 11px;margin:0 0 10px 3px;line-height:1}
.bf-badge>span{display:inline-block;transform:skewX(12deg);font:500 .82rem/1.2 var(--bf-head);letter-spacing:.02em}
.bf-badge.is-games{background:var(--bf-blue)}
a.bf-badge:hover{background:var(--bf-ink)}
.bf-stripe-title{--c:var(--bf-red);display:flex;align-items:center;gap:16px;margin:0 0 20px;font:700 1.75rem/1.1 var(--bf-head)}
.bf-stripe-title.is-games{--c:var(--bf-blue)}
.bf-stripe-title a{text-decoration:none}
.bf-stripe-title a:hover{text-decoration:underline;text-decoration-thickness:2px}
.bf-stripe-title::after{content:"";flex:1;min-width:40px;height:11px;background:linear-gradient(var(--c) 0 4px,transparent 4px 7px,var(--c) 7px 11px);transform:skewX(-24deg)}

/* Stories */
.bf-story{display:flex;flex-direction:column;gap:12px}
.bf-story__media{display:block;background:var(--bf-steel);aspect-ratio:16/9;overflow:hidden}
.bf-story__media img{width:100%;height:100%;object-fit:cover}
.bf-noimg{display:block;width:100%;height:100%;background:linear-gradient(115deg,var(--bf-steel) 0 62%,#e2e6ec 62% 70%,var(--bf-steel) 70%)}
.bf-story__title{font:700 1.3rem/1.15 var(--bf-head);margin:0}
.bf-story__title a{text-decoration:none}
.bf-story__title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.bf-story__excerpt{margin:8px 0 0;font:400 1.02rem/1.55 var(--bf-body);color:#222}
.bf-story__meta{margin:8px 0 0;font-size:.85rem;color:var(--bf-slate)}
.bf-sep{display:inline-block;width:14px}
.bf-story--lead .bf-story__title{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.05;letter-spacing:-.005em}
.bf-story--row{flex-direction:row;gap:16px;align-items:flex-start}
.bf-story--row .bf-story__media{flex:0 0 150px}
.bf-story--row .bf-story__title{font-size:1.15rem}
.bf-story--row .bf-badge{margin-bottom:6px}
.bf-story--row .bf-story__excerpt{font-size:.95rem}
.bf-story--mini{flex-direction:row;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bf-rule)}
.bf-story--mini .bf-story__media{flex:0 0 96px}
.bf-story--mini .bf-story__title{font:500 1rem/1.25 var(--bf-head)}

/* Homepage */
.bf-top{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:var(--bf-gap);margin-bottom:52px}
.bf-top__side{display:flex;flex-direction:column;gap:18px}
.bf-top__side .bf-story--row .bf-story__excerpt{display:none}
.bf-top__side .bf-story--row .bf-story__media{flex-basis:132px}
.bf-section{margin:0 0 52px}
.bf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px var(--bf-gap)}
.bf-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bf-grid .bf-story--lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--bf-gap);align-items:center}
.bf-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px var(--bf-gap)}
.bf-hubs{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.bf-hubs a{display:inline-block;text-decoration:none;font:500 1rem/1 var(--bf-head);padding:10px 16px;border:2px solid var(--bf-blue);color:var(--bf-blue);transform:skewX(-12deg)}
.bf-hubs a>span{display:inline-block;transform:skewX(12deg)}
.bf-hubs a:hover{background:var(--bf-blue);color:#fff}
@media (max-width:1100px){.bf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
	.bf-top{grid-template-columns:1fr}
	.bf-grid,.bf-grid--3,.bf-list{grid-template-columns:1fr}
	.bf-grid .bf-story--lead{grid-template-columns:1fr}
	.bf-story--row .bf-story__media{flex-basis:112px}
}

/* Breadcrumbs (engine, Rank Math or theme) */
.bfge-crumbs{font-size:.88rem;color:var(--bf-slate);margin:0 0 18px}
.bfge-crumbs a{color:var(--bf-slate)}

/* Article */
.bf-article__head{max-width:900px}
.bf-article__title{font:700 clamp(2.1rem,4.6vw,3.5rem)/1.06 var(--bf-head);margin:0 0 18px;letter-spacing:-.01em}
.bf-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:var(--bf-slate);font-size:.92rem;margin-bottom:24px}
.bf-byline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.bf-byline__avatar{border-radius:50%}
.bf-byline__author a{color:var(--bf-ink);font-weight:600;text-decoration:none}
.bf-byline__author a:hover{text-decoration:underline}
.bf-article__hero{margin:0 0 30px}
.bf-article__hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.bf-article__hero figcaption{font-size:.85rem;color:var(--bf-slate);margin-top:8px}
.bf-article__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.bf-article__aside{position:sticky;top:24px}
@media (max-width:1100px){.bf-article__grid{grid-template-columns:1fr}.bf-article__aside{position:static}}
.entry-content{font:400 1.14rem/1.78 var(--bf-body);max-width:72ch}
.entry-content>*{margin-top:0;margin-bottom:1.15em}
.entry-content h2{font:700 1.85rem/1.15 var(--bf-head);margin:1.7em 0 .55em}
.entry-content h3{font:700 1.35rem/1.2 var(--bf-head);margin:1.5em 0 .45em}
.entry-content h4{font:600 1.1rem/1.3 var(--bf-ui);margin:1.3em 0 .4em}
.entry-content a{color:var(--bf-blue);text-decoration-thickness:1px;text-underline-offset:3px}
.entry-content a:hover{text-decoration-thickness:2px}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin-bottom:.35em}
.entry-content blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--bf-red);font-style:italic}
.entry-content figure{margin:1.6em 0}
.entry-content figcaption{font:400 .85rem/1.4 var(--bf-ui);color:var(--bf-slate);margin-top:6px}
.entry-content table{width:100%;border-collapse:collapse;font:400 .95rem/1.45 var(--bf-ui);display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--bf-rule);padding:9px 12px;text-align:left;vertical-align:top}
.entry-content th{background:var(--bf-steel);font-weight:600}
.entry-content iframe{max-width:100%}
.bf-ad{margin:1.6em 0;text-align:center;min-height:90px}
/* Engine blocks restyled to the brand */
.entry-content .bfge-summary{border:0;border-left:5px solid var(--bf-blue);background:var(--bf-steel);border-radius:0;padding:16px 20px;font:400 1rem/1.55 var(--bf-ui)}
.entry-content .bfge-summary__label,.entry-content .bfge-related__label{font:700 1.05rem/1.2 var(--bf-head);text-transform:none;letter-spacing:0;margin:0 0 8px}
.entry-content .bfge-related{font:400 1rem/1.5 var(--bf-ui)}
.entry-content .bfge-faq h3{font-size:1.15rem}
.entry-content .bfge-sources{font:400 .9rem/1.5 var(--bf-ui)}
.bf-tags{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0;font:500 .9rem/1 var(--bf-head)}
.bf-tags a{text-decoration:none;color:var(--bf-ink);background:var(--bf-steel);padding:7px 11px}
.bf-tags a:hover{background:var(--bf-ink);color:#fff}
.bf-author{display:flex;gap:18px;align-items:flex-start;margin:36px 0 0;padding:22px 0 0;border-top:3px solid var(--bf-ink);font:400 .98rem/1.55 var(--bf-ui)}
.bf-author img{border-radius:50%;flex:none}
.bf-author__name{font:700 1.2rem/1.2 var(--bf-head);margin:0 0 6px}
.bf-author__name a{text-decoration:none}
.bf-author__bio{margin:0;color:#333}
.bf-widget{margin-bottom:36px}
.bf-widget .bf-stripe-title{font-size:1.3rem}
.bf-related{margin-top:64px}

/* Pages and hubs */
.bf-page__head{max-width:900px;margin-bottom:24px}
.bf-page__title{font:700 clamp(2.1rem,4.4vw,3.3rem)/1.06 var(--bf-head);margin:0 0 12px}
.bf-page__head.is-hub{max-width:none;background:var(--bf-ink);color:#fff;padding:34px 36px 30px;position:relative;overflow:hidden}
.bf-page__head.is-hub::after{content:"";position:absolute;right:-30px;top:0;bottom:0;width:240px;background:linear-gradient(90deg,var(--bf-red) 0 26%,transparent 26% 44%,var(--bf-blue) 44% 70%,transparent 70%);transform:skewX(-24deg);opacity:.95}
.bf-page__head.is-hub .bf-page__title,.bf-page__head.is-hub .bf-page__dek{position:relative;z-index:1;max-width:760px}
.bf-page__dek{font:400 1.15rem/1.55 var(--bf-body);margin:0 0 14px;color:#e8e8e8}
.bf-page__head.is-hub .bf-byline{position:relative;z-index:1;color:#bdbdbd;font-size:.9rem}
.bf-page__head.is-hub .bf-byline a{color:#fff}
.bf-hub__hero img{aspect-ratio:21/9}
.bf-hub .entry-content{max-width:960px}
.bf-hub .bfge-children h2{font:700 1.6rem/1.15 var(--bf-head)}
.bf-hub .bfge-card{border:0;border-radius:0;background:var(--bf-steel)}
.bf-hub .bfge-card span{font:600 1.05rem/1.2 var(--bf-head)}
.bf-hub .bfge-list li a{font:600 1.15rem/1.25 var(--bf-head);text-decoration:none;color:var(--bf-ink)}
.bf-hub .bfge-list li a:hover{color:var(--bf-blue);text-decoration:underline}
.bf-hub .bfge-list li span{font:400 .95rem/1.45 var(--bf-ui);color:var(--bf-slate);margin-top:4px}
@media (max-width:820px){.bf-page__head.is-hub{padding:26px 22px}.bf-page__head.is-hub::after{width:120px;opacity:.6}}

/* Archives */
.bf-archive__head{border-bottom:3px solid var(--bf-ink);padding-bottom:18px;margin-bottom:32px}
.bf-archive__head.is-games{border-bottom-color:var(--bf-blue)}
.bf-archive__title{font:700 clamp(2rem,4vw,3rem)/1.05 var(--bf-head);margin:0 0 8px}
.bf-archive__desc{font:400 1.05rem/1.6 var(--bf-body);max-width:72ch;color:#222}
.bf-archive__author img{border-radius:50%;margin-bottom:14px}
.bf-empty{font-size:1.05rem}
.bf-pagination{margin-top:44px}
.bf-pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px}
.bf-pagination .page-numbers{font:500 1rem/1 var(--bf-head);text-decoration:none;padding:10px 14px;border:2px solid var(--bf-ink)}
.bf-pagination .page-numbers.current,.bf-pagination a.page-numbers:hover{background:var(--bf-ink);color:#fff}
.search-form{display:flex;gap:8px;max-width:520px;margin-top:14px}
.search-form label{flex:1}
.search-form .search-field{width:100%;padding:11px 12px;border:2px solid var(--bf-ink);font:16px var(--bf-ui)}
.search-form .search-submit{background:var(--bf-ink);color:#fff;border:0;padding:0 18px;font:500 1rem var(--bf-head);cursor:pointer}

/* Comments */
.bf-comments{max-width:760px;margin-top:56px}
.bf-comments__list{padding-left:1.2em}

/* Footer */
.bf-footer{background:var(--bf-ink);color:#cfcfcf;padding:44px 0 26px;font-size:.95rem}
.bf-footer::before{content:"";display:block;height:10px;margin:-44px 0 40px;background:linear-gradient(var(--bf-red) 0 3px,var(--bf-ink) 3px 7px,var(--bf-red) 7px 10px)}
.bf-footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px}
.bf-footer__brand img{width:96px;height:auto;margin-bottom:14px}
.bf-footer__brand p{max-width:52ch;margin:0 0 16px;line-height:1.6}
.bf-footer a{color:#fff}
.bf-social,.bf-footer__menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.bf-social a,.bf-footer__menu a{font:500 1rem/1 var(--bf-head);text-decoration:none}
.bf-social a:hover,.bf-footer__menu a:hover{text-decoration:underline}
.bf-footer__menu{flex-direction:column;align-items:flex-end}
.bf-footer__legal{margin-top:34px;padding-top:18px;border-top:1px solid #262626;font-size:.85rem;color:#9a9a9a}
.bf-footer :focus-visible{outline-color:#fff}
@media (max-width:820px){.bf-footer__grid{grid-template-columns:1fr}.bf-footer__menu{align-items:flex-start}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
