/* One content frame from masthead to footer. The existing wide fixture area
   sets the limit; covers and advertising height reservations keep their sizes. */
:root{--fg-content-max:1224px;--fg-page-gutter:28px}
.news-portal .portal-main,.news-portal .site-footer>.wrap{box-sizing:border-box;width:min(calc(var(--fg-content-max) + var(--fg-page-gutter) * 2),100%);max-width:none;margin-inline:auto;padding-inline:var(--fg-page-gutter)}
.fg-shell{width:min(var(--fg-content-max),calc(100% - var(--fg-page-gutter) * 2));max-width:var(--fg-content-max);margin-inline:auto}
.fg-shell .brandbar{grid-template-columns:96px minmax(0,1fr) auto}
.fg-shell .brand{gap:0}
.fg-shell .brandbar>.news-ticker{min-width:0;max-width:100%}
.news-portal .portal-main>*{box-sizing:border-box;min-width:0;max-width:100%}
.news-portal .lead-layout{width:100%;max-width:none;margin-inline:0}
.news-portal .lead-layout:before{inset:-6px 0 -12px}
.news-portal .lead-filters{width:100%;min-width:0;max-width:100%}
.news-portal .lead-filters .follow-team,.news-portal .lead-filters .sports-nav{min-width:0;max-width:100%}
.news-portal .footer-intro{grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:24px;align-items:start}
.footer-tagline{min-width:0}
.footer-tagline>span{display:block;color:#ffcf57;font:700 9px/1.5 Arial,sans-serif;letter-spacing:1.1px;margin-bottom:7px}
.footer-tagline>strong{display:block;color:#f8fafc;font:700 18px/1.35 Arial,Helvetica,sans-serif}
.news-portal .portal-main>.fg-ad-slot{width:100%;max-width:var(--fg-content-max);min-width:0}
.site-social-footer{width:min(var(--fg-content-max),calc(100% - var(--fg-page-gutter) * 2));display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px}
.site-social-footer .footer-socials{margin:0}
.site-social-footer .footer-tagline{max-width:280px}
@media(min-width:991px){
 .news-portal .lead-layout{grid-template-columns:minmax(0,620px) minmax(320px,420px);column-gap:24px;justify-content:stretch}
}
@media(min-width:1120px){
 /* 620px image stays fixed; the table fills the rest of the shared frame. */
 .news-portal .lead-layout{grid-template-columns:620px minmax(0,1fr)}
}
@media(max-width:990px){.news-portal .lead-layout{max-width:none}}
@media(max-width:740px){
 :root{--fg-page-gutter:16px}
 .fg-shell .brandbar{grid-template-columns:minmax(60px,1fr) repeat(4,40px)}
 .news-portal .lead-layout:before{inset:-6px 0 -10px}
 .news-portal .footer-intro{grid-template-columns:minmax(0,1fr);gap:16px}
 .footer-tagline>strong{font-size:16px}
 .site-social-footer{width:100%}
}
