/* PROTOCOL BATTLEFORGED v1.5 — faithful CSS implementation of approved long-form reference.
   All layout, text, buttons, tabs, and leaderboards remain genuine WordPress HTML. */
body.pbf-home { background:#020a16; color:#f4f8ff; }
body.pbf-home .container-wide { width:min(calc(100% - 32px),2400px); max-width:2400px; }
body.pbf-home .site-header { background:#020a14; border-bottom:1px solid #285077; box-shadow:0 0 24px #000; }
body.pbf-home .header-inner { min-height:64px; padding:0 8px; gap:clamp(7px,1.2vw,23px); }
body.pbf-home .brand { gap:0; }
.pbf15-brand { display:inline-flex; align-items:center; gap:8px; text-align:left; vertical-align:middle; line-height:1; }
.pbf15-wing { width:45px; height:48px; flex-shrink:0; filter:drop-shadow(0 1px 6px #51a3ff8a); }
.pbf15-word { display:flex; flex-direction:column; gap:3px; }
.pbf15-word strong { font-family:'Arial Black','Arial Narrow',Arial,sans-serif; font-size:25px; font-style:italic; font-weight:1000; letter-spacing:-.065em; line-height:1; background:linear-gradient(#fff 5%,#edf6ff 38%,#8ea3ba 55%,#fff 72%,#64788d); color:#f3faff; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 2px 2px #000); white-space:nowrap; }
.pbf15-word small { font-family:'Arial Narrow',Arial,sans-serif; font-size:11px; font-weight:1000; letter-spacing:.24em; color:#ff982a; line-height:1.05; text-shadow:0 0 8px #ff731a70; white-space:nowrap; }
body.pbf-home .pbf-menu { gap:clamp(7px,.95vw,23px); }
body.pbf-home .pbf-menu a { padding:21px 1px 18px; font-family:'Arial Narrow',Arial,sans-serif; font-size:clamp(10px,.75vw,13px); font-weight:900; letter-spacing:0; }
body.pbf-home .pbf-menu .current-menu-item>a,body.pbf-home .pbf-menu a:hover { color:#ffba51; border-bottom:2px solid #ff9619; }
.pbf15-region-switch { display:flex; align-items:center; color:#b2dfff; border:1px solid #31526a; background:#071a2b; border-radius:4px; padding:2px 6px; gap:4px; white-space:nowrap; }
.pbf15-region-switch select { border:0; background:#071a2b; color:#e6f7ff; font-size:12px; font-weight:900; max-width:110px; padding:6px 0; cursor:pointer; }
.pbf15-region-switch label { margin:0; }
body.pbf-home .header-actions { margin-left:0; }
body.pbf-home .header-actions .btn { min-height:34px; padding:8px 12px; border-radius:4px; font:900 11px/1 Arial,sans-serif; letter-spacing:.02em; }
body.pbf-home .header-actions .download-top { background:#f98a18; border-color:#ffc36a; box-shadow:0 0 12px #f7802870; }
/* Cinematic battle hero: image is independent from headline and buttons; no baked text. */
.pbf-reference-home { background:linear-gradient(180deg,#05162a 0%,#020b19 27%,#020a17 100%); font-family:'Arial',sans-serif; font-size:14px; }
.pbf-reference-home h2,.pbf-reference-home h3 { font-family:'Arial Narrow','Arial Black',Arial,sans-serif; font-stretch:condensed; letter-spacing:-.025em; font-weight:1000; }
.pbf40-hero { height:clamp(400px,30vw,620px); min-height:0; background:#091526; }
.pbf40-hero-image { object-fit:cover; object-position:center 48%; }
.pbf40-hero:after { background:radial-gradient(ellipse 30% 75% at 50% 55%,#000f29dc 1%,#00102688 58%,transparent 98%),linear-gradient(0deg,#020a16 0%,#020a1633 14%,#0000 37%,#0002 75%); }
.pbf40-hero-content { gap:clamp(6px,.6vw,12px); padding:20px 30px 6px; max-width:900px; }
.pbf15-hero-lockup { text-align:center; display:flex; flex-direction:column; align-items:center; }
.pbf15-brand-hero { display:flex; flex-direction:column; align-items:center; gap:0; filter:drop-shadow(0 4px 5px #000); }
.pbf15-brand-hero .pbf15-wing { width:clamp(55px,5vw,95px); height:clamp(55px,5vw,95px); margin-bottom:-5px; }
.pbf15-brand-hero .pbf15-word { align-items:center; gap:3px; }
.pbf15-brand-hero .pbf15-word strong { font-size:clamp(54px,6.1vw,116px); letter-spacing:-.068em; line-height:.87; -webkit-text-stroke:.5px #bbd1ee; text-shadow:0 3px 12px #000; }
.pbf15-brand-hero .pbf15-word small { font-size:clamp(18px,2.15vw,40px); letter-spacing:.34em; font-weight:1000; text-shadow:0 2px 2px #251002,0 0 10px #c04b18; }
.pbf40-hero-kicker { font:900 clamp(11px,1.02vw,18px)/1.2 Arial,sans-serif; letter-spacing:.36em; margin-top:5px; }
.pbf40-hero-desc { font-size:clamp(11px,1.02vw,17px); line-height:1.3; color:#f0faff; text-shadow:0 2px 6px #000; font-weight:650; }
.pbf40-hero-actions { gap:clamp(10px,1.4vw,22px); margin:5px 0 0; }
.pbf40-hero-actions .pbf40-action { min-height:clamp(37px,3.35vw,58px); padding:9px clamp(18px,2.25vw,40px); font-family:Arial,sans-serif; font-weight:950; font-size:clamp(12px,1.03vw,19px); border-radius:5px; transform:skew(-8deg); }
.pbf40-hero-actions .pbf40-action:hover { transform:skew(-8deg) translateY(-2px); }
.pbf40-platforms { font-size:clamp(11px,.8vw,15px); font-weight:700; gap:14px; }
/* Five feature tiles across the full viewport, same hierarchy as reference. */
.pbf40-highlights { min-height:clamp(47px,4.3vw,76px); background:linear-gradient(180deg,#0c263e,#021326); border-top:1px solid #39749b; border-bottom:1px solid #274761; }
.pbf40-highlights>div { grid-template-columns:40px 1fr; column-gap:12px; padding:9px clamp(10px,1.5vw,28px); }
.pbf40-highlights>div>span { font-size:clamp(21px,2vw,32px); color:#8addff; }
.pbf40-highlights b { font:900 clamp(11px,.95vw,17px)/1.2 Arial,sans-serif; }
.pbf40-highlights small { font-size:clamp(10px,.7vw,14px); color:#cad7ec; }
/* Homepage must fill the content width, not the old 1180px theme container. */
.pbf40-section { width:calc(100% - clamp(26px,5vw,120px))!important; max-width:none!important; margin:0 auto!important; padding:clamp(14px,1.25vw,25px) 0 5px; }
.pbf40-centered-title { margin:2px 0 clamp(12px,1vw,23px)!important; color:#f9fbff; font:italic 1000 clamp(22px,2.3vw,43px)/1.1 Arial,'Arial Narrow',sans-serif!important; text-shadow:0 3px 8px #001933; }
.pbf40-centered-title:before,.pbf40-centered-title:after { height:3px; background:linear-gradient(90deg,transparent,#ff9e18); }
.pbf40-centered-title:after { background:linear-gradient(90deg,#ff9e18,transparent); }
.pbf40-section-title { font:1000 clamp(19px,1.85vw,34px)/1.08 'Arial Narrow',Arial,sans-serif!important; color:#fff; padding:0 0 8px 16px; border-bottom:1px solid #2c567a; margin:0 0 10px!important; }
.pbf40-section-title:before { background:#ff8e15; width:5px; height:.8em; top:2px; }
.pbf40-section-title a { font:900 clamp(10px,.72vw,13px)/1.3 Arial,sans-serif; color:#8edbff; }
/* Horizontal faction banners; no isolated full-body cutouts. */
.pbf40-factions { padding-top:clamp(18px,1.35vw,25px); }
.pbf40-faction-row { gap:clamp(9px,1vw,20px); }
.pbf40-faction { height:clamp(180px,15vw,280px); border-width:2px; border-radius:6px; background:#061226; box-shadow:0 0 13px var(--p40-glow),inset 0 0 17px var(--p40-glow); }
.pbf40-faction:before { display:none; }
.pbf40-faction .pbf40-faction-art { width:100%!important; height:100%!important; inset:0!important; object-fit:cover!important; object-position:center!important; filter:none!important; opacity:1; z-index:-1; }
.pbf40-faction:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#05122c00 10%,#06152e60 36%,#041326f0 75%),linear-gradient(0deg,#04111d56,transparent 70%); pointer-events:none; z-index:0; }
.pbf40-alien:after { background:linear-gradient(90deg,#18050a00 10%,#2a071257 36%,#190813ef 78%),linear-gradient(0deg,#1c091757,transparent); }
.pbf40-hunter:after { background:linear-gradient(90deg,#08160a00 12%,#061c115a 36%,#061b11f2 80%),linear-gradient(0deg,#0a161057,transparent); }
.pbf40-faction-copy { padding:12px clamp(12px,1.2vw,25px) 12px 47%; gap:clamp(8px,.9vw,17px); align-items:center; z-index:2; }
.pbf40-faction-glyph { display:block!important; align-self:flex-start; font-size:clamp(20px,2.5vw,45px); font-weight:900; filter:drop-shadow(0 0 7px var(--p40-glow)); }
.pbf40-faction h3 { font:1000 clamp(16px,1.65vw,32px)/1.03 Arial,'Arial Narrow',sans-serif; letter-spacing:-.025em; max-width:12ch; text-shadow:0 3px 8px #000; }
.pbf40-faction p { color:#eaf3ff; font-size:clamp(11px,.93vw,17px); line-height:1.24; margin:7px 0 12px; }
.pbf40-faction a { font:900 clamp(10px,.85vw,15px)/1 Arial,sans-serif; padding:7px 14px; background:#071522c7; box-shadow:0 0 8px var(--p40-glow); }
/* Gameplay: three rows/panels packed like the approved reference. */
.pbf40-gameplay { grid-template-columns:minmax(120px,13%) minmax(0,1.1fr) minmax(0,.87fr); gap:clamp(10px,1vw,20px); }
.pbf40-game-tabs { background:#061a2e; padding:5px; border:1px solid #15395f; }
.pbf40-game-tabs button { min-height:clamp(37px,4.3vw,62px); padding:12px; font:900 clamp(12px,1vw,18px)/1.1 Arial,sans-serif; }
.pbf40-game-tabs button.active { background:linear-gradient(110deg,#fbad27,#dc4d03); border-color:#ffbb56; box-shadow:0 0 15px #ff7900ab; }
.pbf40-game-image { min-height:clamp(205px,17.6vw,320px); max-height:360px; }
.pbf40-game-image img { object-position:center 51%; }
.pbf40-game-copy { padding:7px 0 0 8px; }
.pbf40-game-copy h3 { font:1000 clamp(18px,1.7vw,32px)/1.08 Arial,sans-serif; margin-bottom:10px; }
.pbf40-game-copy p { font:500 clamp(12px,1vw,18px)/1.36 Arial,sans-serif; }
.pbf40-game-thumbs { margin-top:clamp(12px,1.35vw,25px); gap:8px; }
.pbf40-game-thumbs a { aspect-ratio:1.7; border:1px solid #3b6787; }
.pbf40-game-thumbs span { font-size:clamp(9px,.69vw,12px); }
/* Units and buildings form one row, thumbnail frames not gigantic body panels. */
.pbf40-dual-showcase { gap:clamp(12px,1.4vw,28px); }
.pbf40-image-row { gap:4px; padding:4px; border:1px solid #2f5c7b; }
.pbf40-image-row a { aspect-ratio:1.75; border:1px solid #34658c; }
.pbf40-image-row img { object-position:center; }
/* Ranked boards: top labels and 3 distinct colored chrome panels. */
.pbf40-heading-row { align-items:center; }
.pbf40-rank-filters { gap:14px; }
.pbf40-rank-filters label { font:900 clamp(10px,.8vw,14px)/1 Arial,sans-serif; }
.pbf40-rank-filters select { font-size:clamp(10px,.76vw,14px); padding:6px 9px; }
.pbf40-rank-grid { gap:clamp(10px,1.15vw,23px); }
.pbf40-rank-card { min-height:clamp(225px,17.6vw,315px); padding:clamp(10px,.95vw,17px); border-width:1.5px; border-radius:7px; background:linear-gradient(145deg,#0a213a,#030c19); }
.pbf40-rank-blue { box-shadow:inset 0 0 27px #0e6cb333,0 0 13px #096ab73f; }
.pbf40-rank-red { box-shadow:inset 0 0 27px #c41a3433,0 0 13px #bd203744; }
.pbf40-rank-green { box-shadow:inset 0 0 27px #24964c33,0 0 13px #1f944537; }
.pbf40-rank-card h3 { font:900 clamp(14px,1.12vw,21px)/1.15 Arial,sans-serif; padding-bottom:9px; }
.pbf40-rank-card table { font-size:clamp(11px,.85vw,16px); }
.pbf40-rank-card th { font-size:clamp(9px,.7vw,13px); }
.pbf40-rank-card td { padding:clamp(5px,.49vw,9px) 3px; }
.pbf40-rank-card a { font-size:clamp(10px,.81vw,15px); width:90%; max-width:90%; }
.pbf40-api-note { font-size:clamp(10px,.65vw,12px); }
/* Events and news row proportions. */
.pbf40-event-row { grid-template-columns:1.35fr 1fr; gap:clamp(10px,1.2vw,25px); }
.pbf40-event-banner { min-height:clamp(185px,16vw,310px); }
.pbf40-event-banner h2 { font-size:clamp(24px,2.6vw,47px); }
.pbf40-event-banner p { font-size:clamp(11px,.85vw,15px); }
.pbf40-rewards { padding:clamp(7px,.9vw,15px); }
.pbf40-reward-items a { height:clamp(105px,10.5vw,180px); }
.pbf40-reward-items span { font-size:clamp(9px,.68vw,13px); }
.pbf40-bottom-grid { grid-template-columns:1.18fr 1fr; gap:clamp(12px,1.2vw,25px); }
.pbf40-news-featured img { height:clamp(150px,12.7vw,225px); }
.pbf40-news-entry h3 { font-size:clamp(12px,1vw,18px); }
.pbf40-news-featured h3 { font-size:clamp(17px,1.4vw,25px); }
.pbf40-news-entry p { font-size:clamp(10px,.82vw,15px); }
.pbf40-media-main { aspect-ratio:1.78; }
/* Final banner must be visually connected to the footer like the reference. */
.pbf40-final { min-height:clamp(140px,13vw,250px); margin-top:clamp(14px,1.4vw,25px); padding:15px 4%; background-position:center 54%; }
.pbf40-final-characters { width:29%; min-height:clamp(140px,13vw,245px); }
.pbf40-final-characters img { height:clamp(160px,16vw,280px); object-fit:cover; object-position:top; }
.pbf40-final-copy h2 { font:italic 1000 clamp(23px,2.7vw,47px)/1.08 Arial,sans-serif; }
.pbf40-final-copy p { font-size:clamp(12px,1.05vw,18px); }
.pbf40-final>.pbf40-action { margin:0 2% 0 0; font-size:clamp(13px,1.15vw,20px); }
body.pbf-home .site-footer { background:#020a13; padding-top:clamp(10px,1.1vw,22px); }
body.pbf-home .footer-grid { display:flex; justify-content:space-between; align-items:center; gap:clamp(12px,2vw,38px); flex-wrap:wrap; }
body.pbf-home .footer-company { display:flex; align-items:center; gap:16px; flex:0 0 auto; }
body.pbf-home .footer-company .brand { margin:0; }
body.pbf-home .footer-company .pbf15-word strong { font-size:18px; }
body.pbf-home .footer-company .pbf15-wing { width:28px; height:32px; }
body.pbf-home .footer-company .pbf15-word small { font-size:7px; }
body.pbf-home .footer-company p,body.pbf-home .footer-tagsg { display:none; }
body.pbf-home .footer-col { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
body.pbf-home .footer-col h3 { display:none; }
body.pbf-home .footer-col>a { font:600 12px/1.5 Arial,sans-serif; color:#c1cedb; }
body.pbf-home .footer-bottom { margin-top:9px; padding:8px 0; font-size:11px; gap:12px; }
/* Extra UX polish: no hard-coded fixed bars, focus rings, image hover restrained. */
.pbf40-faction a:hover,.pbf40-rank-card a:hover { background:#12334b; color:#fff; }
.pbf40-image-row a img,.pbf40-media-layout img { transition:transform .22s ease; }
.pbf40-image-row a:hover img,.pbf40-media-layout a:hover img { transform:scale(1.035); }
@media (max-width:1200px){
 body.pbf-home .pbf-menu { gap:7px; }
 body.pbf-home .header-actions .btn { font-size:10px; padding:8px; }
 .pbf15-word strong { font-size:20px; }
 .pbf15-word small { font-size:9px; }
 .pbf15-wing { width:36px; }
 .pbf40-faction-copy { padding-left:41%; }
 .pbf40-faction-glyph { display:none!important; }
 .pbf40-faction p { font-size:12px; }
}
@media (max-width:1050px){
 body.pbf-home .header-inner { min-height:59px; }
 body.pbf-home .pbf-menu a { padding:10px 4px; font-size:13px; }
 .pbf15-region-switch { margin-left:auto; }
 .pbf40-faction-copy { padding-left:43%; }
 .pbf40-faction { height:210px; }
 .pbf40-faction h3 { font-size:18px; }
 .pbf40-gameplay { grid-template-columns:125px 1.13fr .87fr; }
 .pbf40-game-copy h3 { font-size:20px; }
 .pbf40-game-copy p { font-size:12px; }
 .pbf40-highlights>div { padding:8px; }
}
@media (max-width:780px){
 body.pbf-home .container-wide { width:calc(100% - 24px); }
 .pbf15-brand-header .pbf15-word strong { font-size:21px; }
 .pbf15-region-switch { display:none; }
 .pbf40-hero { height:clamp(480px,72vw,600px); }
 .pbf40-hero-image { object-position:50% center; }
 .pbf40-hero:after { background:radial-gradient(ellipse 65% 60% at 50% 54%,#04142cc9,#00122192 65%,transparent),linear-gradient(0deg,#020915,transparent 65%); }
 .pbf15-brand-hero .pbf15-word strong { font-size:clamp(47px,9vw,67px); }
 .pbf15-brand-hero .pbf15-word small { font-size:clamp(15px,2.6vw,22px); }
 .pbf40-highlights { grid-template-columns:repeat(2,1fr); }
 .pbf40-highlights>div { min-height:55px; }
 .pbf40-highlights>div:last-child { grid-column:1/-1; }
 .pbf40-section { width:calc(100% - 24px)!important; padding-top:20px; }
 .pbf40-faction-row { grid-template-columns:1fr; }
 .pbf40-faction { height:185px; }
 .pbf40-faction-copy { padding-left:48%; }
 .pbf40-faction h3 { font-size:22px; }
 .pbf40-gameplay { grid-template-columns:1fr; }
 .pbf40-game-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .pbf40-game-image { min-height:240px; max-height:360px; }
 .pbf40-dual-showcase,.pbf40-rank-grid,.pbf40-event-row,.pbf40-bottom-grid { grid-template-columns:1fr; }
 .pbf40-rank-card { min-height:215px; }
 .pbf40-news-layout { grid-template-columns:1.1fr 1fr; }
 .pbf40-final { flex-direction:column; justify-content:center; text-align:center; }
 .pbf40-final-characters { display:none; }
 .pbf40-final-copy h2 { white-space:normal; }
 body.pbf-home .footer-grid { justify-content:center; }
 body.pbf-home .footer-company { width:100%; justify-content:center; }
 body.pbf-home .footer-bottom { justify-content:center; text-align:center; flex-wrap:wrap; }
}
@media (max-width:480px){
 .pbf40-hero { height:480px; }
 .pbf15-brand-hero .pbf15-word strong { font-size:42px; }
 .pbf15-brand-hero .pbf15-word small { font-size:15px; letter-spacing:.2em; }
 .pbf40-hero-kicker { letter-spacing:.14em; }
 .pbf40-hero-actions { gap:10px; }
 .pbf40-faction-copy { padding-left:42%; }
 .pbf40-faction h3 { font-size:18px; }
 .pbf40-faction p { font-size:11px; }
 .pbf40-news-layout { grid-template-columns:1fr; }
 .pbf40-section-title { font-size:22px!important; }
 .pbf40-rank-filters { display:flex; flex-wrap:wrap; justify-content:flex-start; }
 .pbf40-final>.pbf40-action { width:100%; }
}
@media(prefers-reduced-motion:reduce){.pbf-reference-home *{transition:none!important;scroll-behavior:auto!important}}

.pbf40-faction .pbf40-faction-art{z-index:0!important;}
.pbf15-showcase-frame{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:stretch;gap:0;background:#061629;border:1px solid #23567e;border-radius:5px;overflow:hidden;}
.pbf15-showcase-frame .pbf40-image-row{border:0;border-radius:0;min-width:0;padding:4px 0;}
.pbf15-gallery-arrow{border:0;background:#061426;color:#d9f4ff;font-size:22px;cursor:pointer;min-height:90px;transition:background .18s;color:#c8ecff}
.pbf15-gallery-arrow:hover{background:#12456a;color:#fff}
.pbf15-mode-pills{display:flex;align-items:center;border:1px solid #2a5273;border-radius:4px;overflow:hidden;background:#06182c}
.pbf15-mode-pills button{padding:7px clamp(10px,.95vw,17px);color:#dbefff;font:900 clamp(10px,.76vw,14px)/1.1 Arial,sans-serif;border:0;border-right:1px solid #22425d;background:transparent;min-height:30px;white-space:nowrap}
.pbf15-mode-pills button:last-child{border-right:0}
.pbf15-mode-pills button.active{background:linear-gradient(#ffb53a,#e56a06);color:#fff;box-shadow:0 0 15px #ed6e03a8}
.pbf15-hidden-mode{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:650px){.pbf15-mode-pills{width:100%;justify-content:space-between}.pbf15-mode-pills button{flex:1;padding:9px 4px}.pbf15-showcase-frame{grid-template-columns:24px minmax(0,1fr) 24px}.pbf15-gallery-arrow{font-size:17px}}
@media(max-width:1050px){.pbf15-region-switch{display:none}}

.pbf15-hero-custom-logo{width:min(44vw,690px);height:auto;max-height:270px;object-fit:contain;filter:drop-shadow(0 5px 9px #0009)}
@media(max-width:780px){.pbf15-hero-custom-logo{width:min(85vw,500px)}}
