/* Philip Mead Portal v4.4 — comfortable editorial typography.
   The display face is for short brand expressions; readable headlines and
   long-form articles are visually distinct. No fonts are bundled. */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800&family=Manrope:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{
 --font-headline:'Manrope','Segoe UI',Arial,sans-serif;
 --font-reading:'Source Sans 3','Segoe UI',Arial,sans-serif;
 --font-display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
 --article-text-size:19px;
}
body.portal-v4 {font-family:var(--font-reading);font-size:16px;line-height:1.6}
body.portal-v4 .brand-words strong,
body.portal-v4 .footer-brand{font-family:var(--font-display);font-weight:800;letter-spacing:.008em}
body.portal-v4 .nav,body.portal-v4 .mobile-nav,
body.portal-v4 .kicker,body.portal-v4 .tag{font-family:var(--font-reading)}
/* News headlines: readable mixed case instead of condensed all-caps. */
body.portal-v4 .story h3,
body.portal-v4 .mini-story h3,
body.portal-v4 .listing .story h3,
body.portal-v4.portal-home .headline-main h2,
body.portal-v4.portal-home .headline-photo-overlay h3,
body.portal-v4.portal-home .frontpage-feed-copy h3,
body.portal-v4 .page-intro h1,
body.portal-v4 .article-layout h1,
body.portal-v4 .article-body h2{
 font-family:var(--font-headline);font-weight:800;
 line-height:1.18;letter-spacing:-.032em;text-transform:none;
 text-wrap:pretty;
}
body.portal-v4.portal-home .headline-main h2{font-size:clamp(29px,3.1vw,49px);line-height:1.16;letter-spacing:-.036em}
body.portal-v4.portal-home .headline-photo-overlay h3{font-size:clamp(19px,1.85vw,28px);line-height:1.17;letter-spacing:-.022em}
body.portal-v4.portal-home .frontpage-feed-copy h3{font-size:clamp(17px,1.5vw,22px);line-height:1.28;letter-spacing:-.018em}
body.portal-v4.portal-home .headline-main p{font-family:var(--font-reading);font-size:clamp(14px,1.2vw,16px);line-height:1.6}
body.portal-v4.portal-home .frontpage-feed-copy p{font-family:var(--font-reading);font-size:13px;line-height:1.5}
body.portal-v4.portal-home .frontpage-heading p{font-family:var(--font-reading);font-size:14px;line-height:1.55}
/* Brand punctuation stays expressive — but with legible letterforms. */
body.portal-v4.portal-home .frontpage-heading h1,
body.portal-v4.portal-home .frontpage-feed-head h2,
body.portal-v4.portal-home .brand-ribbon h2,
body.portal-v4.portal-home .section-arcade .section-top h2,
body.portal-v4.portal-home .manifesto h2,
body.portal-v4 .section-top h2,
body.portal-v4 .manifesto h2,
body.portal-v4 .age-box h2{
 font-family:var(--font-display);font-weight:800;line-height:1.05;letter-spacing:-.01em;
}
body.portal-v4.portal-home .frontpage-heading h1{line-height:1.02}
body.portal-v4.portal-home .frontpage-feed-head h2{line-height:1.05}
body.portal-v4.portal-home .brand-ribbon h2{line-height:1.06}
body.portal-v4.portal-home .top-ad-text strong{font-family:var(--font-display);font-weight:800;line-height:1.06}
body.portal-v4 .story p,body.portal-v4 .mini-story p,body.portal-v4 .manifesto p,
body.portal-v4.portal-home .brand-ribbon-copy p,
body.portal-v4 .game-feature p{font-family:var(--font-reading);line-height:1.65}
/* Article reading is the priority: relaxed leading, shorter lines and clear paragraphs. */
body.portal-v4 .article-layout{max-width:900px}
body.portal-v4 .article-layout h1{
 font-size:clamp(34px,4.25vw,60px);line-height:1.13;
 letter-spacing:-.038em;max-width:850px;margin-bottom:22px;
}
body.portal-v4 .article-deck{
 font-family:var(--font-reading);font-weight:500;
 font-size:clamp(19px,2.1vw,23px);line-height:1.55;
 letter-spacing:0;color:#3e3c37;max-width:67ch;
}
body.portal-v4 .article-body{
 font-family:var(--font-reading);font-size:var(--article-text-size);
 font-weight:400;line-height:1.77;
 letter-spacing:0;max-width:68ch;color:#242522;
 -webkit-font-smoothing:auto;text-rendering:optimizeLegibility;
}
body.portal-v4 .article-body p{margin:0 0 1.5em;overflow-wrap:break-word}
body.portal-v4 .article-body h2{
 margin:2.05em 0 .7em;font-size:clamp(24px,2.5vw,31px);
 line-height:1.27;letter-spacing:-.025em;
}
body.portal-v4 .article-meta,body.portal-v4 .article-media figcaption,
body.portal-v4 .article-sources li,body.portal-v4 .article-sources h2,
body.portal-v4 .article-kicker,body.portal-v4 .article-note{
 font-family:var(--font-reading);line-height:1.6;
}
body.portal-v4 .article-sources h2{font-weight:800;letter-spacing:-.02em}
body.portal-v4 .article-media figcaption{font-size:13px}
body.portal-v4 .article-note{font-size:14px;line-height:1.6}
body.portal-v4 .article-sources li{font-size:14px;line-height:1.65}
/* A font preference must not cause clipping when text is enlarged. */
body.portal-v4 .headline-main,body.portal-v4 .headline-photo-card{min-width:0}
body.portal-v4 .headline-main h2,body.portal-v4 .headline-photo-overlay h3{overflow-wrap:anywhere}
@media(max-width:960px){
 body.portal-v4.portal-home .headline-main h2{font-size:clamp(29px,3.65vw,40px)}
 body.portal-v4.portal-home .headline-photo-overlay h3{font-size:clamp(19px,2.5vw,25px)}
}
@media(max-width:700px){
 body.portal-v4.portal-home .headline-main h2{font-size:clamp(29px,7.3vw,42px);line-height:1.16}
 body.portal-v4.portal-home .headline-photo-overlay h3{font-size:clamp(17px,4.25vw,23px);line-height:1.18}
 body.portal-v4.portal-home .frontpage-feed-copy h3{font-size:20px}
 body.portal-v4 .article-layout h1{font-size:clamp(32px,8.5vw,47px);line-height:1.14}
 body.portal-v4 .article-body{font-size:var(--article-text-size);line-height:1.72}
 body.portal-v4 .article-deck{font-size:19px}
 body.portal-v4 .article-body h2{font-size:clamp(23px,6vw,29px)}
}
/* Avoid inherited mobile grid min-content overflow on narrow devices. */
@media(max-width:380px){
 body.portal-v4.portal-home .game-feature{grid-template-columns:minmax(0,1fr)}
 body.portal-v4.portal-home .game-feature>*{min-width:0}
 body.portal-v4.portal-home .game-feature>.game-cover{width:100%;max-width:100%;padding:0}
 body.portal-v4.portal-home .manifesto-grid{grid-template-columns:minmax(0,1fr)}
 body.portal-v4.portal-home .manifesto-grid>*{min-width:0}
 body.portal-v4.portal-home .manifesto h2{font-size:clamp(39px,12vw,53px);overflow-wrap:anywhere}
 body.portal-v4.portal-home .section-arcade .section-top h2{font-size:clamp(55px,14vw,67px)}
}
