/* Philip Mead — front page v4.3.
   Editorial information hierarchy informed by major news portals.
   All brand assets, type styling and content are Philip Mead's own. */
.portal-home{background:#f6f2eb}
.portal-home .section-news.frontpage{padding:0 0 70px;background:#f6f2eb}
.portal-home .frontpage>.wrap{width:min(1270px,100%);padding-left:24px;padding-right:24px}
/* A banner is never an empty reserved billboard: the entire ad container collapses if no approved campaign exists. */
.portal-home .top-ad[hidden]{display:none!important}
.portal-home .top-ad{padding:13px 0 10px;display:flex;align-items:center;justify-content:center}
.portal-home .top-ad-wrap{width:min(920px,100%);display:flex;flex-direction:column;gap:5px;text-align:center}
.portal-home .top-ad-label{font:700 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.16em;color:#79746b}
.portal-home .top-ad-inner{height:clamp(90px,9vw,122px);min-height:90px;display:flex;align-items:center;justify-content:center;background:#e8e2d7;overflow:hidden;border:1px solid #d8d0c3;color:#161615;text-decoration:none}
.portal-home .top-ad-inner img{display:block;width:100%;height:100%;object-fit:contain}
.portal-home .top-ad-text{width:100%;padding:18px 30px;display:flex;align-items:center;justify-content:center;gap:24px}
.portal-home .top-ad-text strong{font:900 clamp(17px,2.2vw,32px)/1.1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.02em;text-transform:uppercase}
.portal-home .top-ad-text span{font-size:13px;color:#57524b}
.portal-home .top-ad-text b{font:900 11px Arial,Helvetica,sans-serif;white-space:nowrap;border:1px solid #171716;padding:11px 14px}
.portal-home .frontpage-edition{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0 12px;border-top:3px solid #171716;border-bottom:1px solid #d8d0c3;font:900 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.095em}
.portal-home .frontpage-edition-left{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
.portal-home .frontpage-pip{display:inline-block;width:9px;height:9px;background:#e9b44c;flex-shrink:0}
.portal-home .frontpage-edition .edition-separator{color:#baaea0}
.portal-home .frontpage-edition .edition-topic{color:#956627}
.portal-home .frontpage-edition-link{white-space:nowrap;font-size:10px;border-bottom:1px solid #171716;padding-bottom:3px}
.portal-home .frontpage-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:17px 0 22px}
.portal-home .frontpage-heading .kicker{font:900 10px Arial,Helvetica,sans-serif;color:#9e6e29;letter-spacing:.12em}
.portal-home .frontpage-heading h1{font:900 clamp(31px,4vw,57px)/.96 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.008em;margin:7px 0 0;color:#161615;text-transform:uppercase}
.portal-home .frontpage-heading p{font:500 13px/1.5 Arial,Helvetica,sans-serif;color:#625e56;max-width:290px;margin:0 0 2px}
/* Lead-news mosaic: text-led primary headline paired with image-led secondaries. */
.portal-home .frontpage-grid{display:grid;grid-template-columns:minmax(0,1.11fr) minmax(0,.89fr);gap:12px;min-height:430px}
.portal-home .headline-main{background:#fffcf7;border:1px solid #e0d9ce;border-top:4px solid #171716;display:flex;flex-direction:column;justify-content:end;min-height:430px;padding:clamp(22px,3vw,37px);color:#171716;transition:background .18s}
.portal-home .headline-main:hover{background:#f1e9da}
.portal-home .headline-main-content{display:flex;flex-direction:column;gap:14px;max-width:650px}
.portal-home .headline-kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:900 10px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.10em}
.portal-home .headline-roundel{display:inline-block;background:#e9b44c;color:#171716;padding:7px 10px}
.portal-home .headline-category{color:#84612b;text-transform:uppercase}
.portal-home .headline-main h2{font:900 clamp(34px,3.45vw,54px)/1.02 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.006em;margin:0;overflow-wrap:break-word}
.portal-home .headline-main p{font:500 clamp(13px,1.2vw,16px)/1.52 Arial,Helvetica,sans-serif;color:#5c574f;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.portal-home .headline-footer{font:900 10px Arial,Helvetica,sans-serif;letter-spacing:.10em;color:#825b23;margin-top:7px}
.portal-home .headline-side{display:grid;grid-template-rows:1fr 1fr;min-height:430px;gap:12px}
.portal-home .headline-photo-card{min-width:0;min-height:0;position:relative;background:#252420;color:#fff;overflow:hidden;display:flex;align-items:end;isolation:isolate}
.portal-home .headline-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;transition:transform .35s}
.portal-home .headline-photo-card:hover img{transform:scale(1.045)}
.portal-home .headline-photo-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,9,.91) 0%,rgba(10,10,9,.56) 44%,rgba(10,10,9,.06) 100%)}
.portal-home .headline-no-photo{background:linear-gradient(130deg,#35312b,#93713d)}
.portal-home .headline-photo-overlay{padding:16px 22px 20px;max-width:100%}
.portal-home .headline-photo-tag{font:900 10px Arial,Helvetica,sans-serif;letter-spacing:.12em;color:#f3c464;text-transform:uppercase}
.portal-home .headline-photo-overlay h3{font:900 clamp(20px,2.1vw,32px)/1.04 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:9px 0 0;overflow-wrap:break-word}
.portal-home .frontpage-loading,.portal-home .frontpage-fallback{grid-column:1/-1;min-height:230px;display:flex;flex-direction:column;justify-content:center;gap:15px;background:#fffaf1;padding:30px;color:#171716;font-weight:700}
.portal-home .frontpage-fallback h3{font:900 39px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:0}
.portal-home .frontpage-feed-head{margin:32px 0 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:3px solid #171716;padding-bottom:12px}
.portal-home .frontpage-feed-head>div{display:flex;align-items:center;gap:12px}
.portal-home .frontpage-feed-head h2{font:900 27px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.025em;margin:0}
.portal-home .frontpage-feed-head>a{font:900 11px Arial,Helvetica,sans-serif;letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px}
.portal-home .frontpage-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:0}
.portal-home .frontpage-feed-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid #d8d0c3;min-height:136px;transition:background .18s}
.portal-home .frontpage-feed-item:hover{background:#efe9dc}
.portal-home .frontpage-feed-image{width:112px;height:100px;overflow:hidden;background:#e7dfd3}
.portal-home .frontpage-feed-image img{width:100%;height:100%;object-fit:cover}
.portal-home .frontpage-feed-copy{min-width:0}
.portal-home .frontpage-feed-tag{font:900 9px Arial,Helvetica,sans-serif;letter-spacing:.1em;color:#8b6027;text-transform:uppercase}
.portal-home .frontpage-feed-copy h3{font:900 clamp(19px,1.6vw,24px)/1.1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:5px 0 0;color:#171716;overflow-wrap:break-word}
.portal-home .frontpage-feed-copy p{font:500 12px/1.4 Arial,Helvetica,sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 0;color:#625c51}
.portal-home .frontpage-no-feed{padding:20px 0;color:#625c51}
/* Brand interlude carries the approved Liquid Death-inspired attitude below the news. */
.portal-home .brand-ribbon{margin-top:37px;background:#171716;color:#fff;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);min-height:270px;overflow:hidden}
.portal-home .brand-ribbon-copy{padding:32px clamp(20px,4vw,55px);display:flex;flex-direction:column;justify-content:center;align-items:start}
.portal-home .brand-ribbon-copy .kicker{color:#e9b44c;font:900 10px Arial,Helvetica,sans-serif;letter-spacing:.12em}
.portal-home .brand-ribbon h2{font:900 clamp(31px,3.4vw,51px)/.99 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:9px 0 10px;max-width:650px}
.portal-home .brand-ribbon-copy p{font:500 14px/1.45 Arial,Helvetica,sans-serif;color:#ddd5c8;max-width:610px;margin:0}
.portal-home .brand-ribbon-actions{display:flex;gap:17px;flex-wrap:wrap;margin-top:19px}
.portal-home .brand-ribbon-link{font:900 10px Arial,Helvetica,sans-serif;letter-spacing:.06em;color:#1c1c1b;background:#e9b44c;padding:11px 15px}
.portal-home .brand-ribbon-link.secondary{background:transparent;border:1px solid #f5f0e7;color:#f5f0e7}
.portal-home .brand-visual{position:relative;min-height:220px;background:#e7cc98;overflow:hidden}
.portal-home .brand-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
/* Compact the entertainment section to keep news as the primary job of the homepage. */
.portal-home .section-arcade{padding-top:63px;padding-bottom:68px}
.portal-home .section-arcade .section-top h2{font-size:clamp(62px,6.8vw,106px)}
.portal-home .game-cover{min-height:280px}
.portal-home .game-feature>div{padding:clamp(25px,3.6vw,48px)}
.portal-home .section-campaign{padding:48px 0}
/* Strong focus indicators for keyboard navigation and accessible contrast. */
.portal-home a:focus-visible{outline:3px solid #e9b44c;outline-offset:3px}
@media(max-width:960px){
 .portal-home .frontpage-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:400px}
 .portal-home .headline-main,.portal-home .headline-side{min-height:400px}
 .portal-home .headline-main h2{font-size:clamp(31px,4.3vw,41px)}
 .portal-home .headline-photo-overlay h3{font-size:clamp(21px,2.8vw,27px)}
 .portal-home .frontpage-feed{column-gap:20px}
 .portal-home .frontpage-feed-item{grid-template-columns:82px minmax(0,1fr);gap:12px}
 .portal-home .frontpage-feed-image{width:82px;height:83px}
 .portal-home .brand-ribbon{grid-template-columns:1.3fr 1fr}
}
@media(max-width:700px){
 .portal-home .frontpage>.wrap{padding-left:16px;padding-right:16px}
 .portal-home .top-ad{padding:13px 0 8px}
 .portal-home .top-ad-inner{min-height:85px;height:100px}
 .portal-home .top-ad-text{padding:10px;gap:6px;flex-direction:column}
 .portal-home .top-ad-text strong{font-size:20px}
 .portal-home .top-ad-text span{font-size:11px}
 .portal-home .top-ad-text b{padding:5px 8px;font-size:9px}
 .portal-home .frontpage-edition{margin-top:10px;padding:10px 0;gap:10px;font-size:9px}
 .portal-home .frontpage-edition-left{gap:7px}
 .portal-home .frontpage-edition-link{font-size:9px}
 .portal-home .frontpage-heading{display:block;margin:16px 0 16px}
 .portal-home .frontpage-heading h1{font-size:clamp(32px,9vw,48px)}
 .portal-home .frontpage-heading p{margin-top:10px;font-size:12px;max-width:none}
 .portal-home .frontpage-grid{grid-template-columns:1fr;min-height:0;gap:10px}
 .portal-home .headline-main{min-height:280px;padding:21px}
 .portal-home .headline-main h2{font-size:clamp(33px,8.5vw,49px)}
 .portal-home .headline-main p{font-size:13px;-webkit-line-clamp:2}
 .portal-home .headline-main-content{gap:12px}
 .portal-home .headline-side{min-height:0;grid-template-rows:none;grid-template-columns:1fr 1fr;gap:9px}
 .portal-home .headline-photo-card{min-height:190px}
 .portal-home .headline-photo-overlay{padding:14px 12px}
 .portal-home .headline-photo-overlay h3{font-size:clamp(18px,4.2vw,24px);line-height:1.1}
 .portal-home .headline-photo-tag{font-size:9px}
 .portal-home .frontpage-feed-head{margin-top:25px}
 .portal-home .frontpage-feed{grid-template-columns:1fr}
 .portal-home .frontpage-feed-item{grid-template-columns:100px minmax(0,1fr);min-height:117px;padding:11px 0}
 .portal-home .frontpage-feed-image{width:100px;height:91px}
 .portal-home .frontpage-feed-copy h3{font-size:22px}
 .portal-home .frontpage-feed-copy p{font-size:11px;margin-top:4px}
 .portal-home .brand-ribbon{margin-top:25px;grid-template-columns:1fr}
 .portal-home .brand-ribbon-copy{padding:27px 22px 22px}
 .portal-home .brand-ribbon h2{font-size:clamp(35px,9vw,56px)}
 .portal-home .brand-visual{min-height:190px}
 .portal-home .section-arcade{padding-top:47px;padding-bottom:48px}
}
@media(max-width:380px){
 .portal-home .frontpage-edition{font-size:8px}
 .portal-home .headline-photo-card{min-height:175px}
 .portal-home .headline-photo-overlay h3{font-size:17px}
 .portal-home .frontpage-feed-item{grid-template-columns:90px minmax(0,1fr)}
 .portal-home .frontpage-feed-image{width:90px;height:85px}
}
@media(prefers-reduced-motion:reduce){.portal-home .headline-photo-card img{transition:none}}

/* v5.6: ausência de foto não implica fotografia ilustrativa inventada */
.frontpage-feed-image.no-editorial-photo{background:linear-gradient(145deg,#1e1e1b,#3c362c);position:relative;overflow:hidden}
.frontpage-feed-image.no-editorial-photo::after{content:'PHILIP MEAD';color:rgba(241,184,75,.65);position:absolute;left:12px;bottom:10px;font:800 11px/1 'Barlow Condensed',Arial,sans-serif;letter-spacing:.15em}
