/* Philip Mead Portal v4 — Original, entertainment-first design, inspired by the attitude rather than the assets of disruptive beverage brands. */
:root{--pm-black:#171716;--pm-paper:#f5f0e7;--pm-orange:#e9b44c;--pm-border:#292823;--pm-tiny:11px}
:root{--bg:#f5f0e7;--panel:#fffaf1;--panel2:#eee8dc;--line:#cec6b9;--text:#171716;--muted:#68645c;--gold:#e9b44c;--hero-bg:#171716;--font-heading:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif}.portal-v4{background:var(--bg);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.portal-v4 .wrap{width:min(1320px,100%);padding-left:38px;padding-right:38px}
.portal-v4 .header{background:var(--panel);border-bottom:3px solid var(--pm-black);backdrop-filter:none}
.portal-v4 .header .wrap{min-height:80px;gap:26px}
.portal-v4 .brand-mark{display:none}
.portal-v4 .brand-words strong{font:900 clamp(24px,2.4vw,34px)/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.012em}
.portal-v4 .brand-dot{color:#ce8032}
.portal-v4 .brand-words small{color:#373630;font:800 9px Arial,Helvetica,sans-serif;letter-spacing:.16em;margin-top:7px}
.portal-v4 .brand-logo{width:auto;max-width:min(270px,100%);max-height:59px}
.portal-v4 .nav{gap:clamp(16px,2.8vw,40px);font-size:12px;font-weight:900;letter-spacing:.05em}
.portal-v4 .nav a:hover{color:#b35a1e}
.portal-v4 .nav .store{background:#1a1a19;color:#fff;border:2px solid #1a1a19;border-radius:0;padding:14px 17px}
.portal-v4 .nav .store:hover{color:#1a1a19;background:var(--gold)}
.portal-v4 .age-note{font:bold 10px/1.2 Arial,Helvetica,sans-serif;background:var(--gold);color:#171716;padding:9px 12px;letter-spacing:.16em;border-bottom:2px solid #171716}
.portal-v4 .age-note span{margin:0 14px}
.portal-v4 .footer{background:#171716;color:#f5f0e7;border-top:7px solid #e9b44c;padding:62px 0}
.portal-v4 .footer a{color:#fff}
.portal-v4 .footer a:hover{color:var(--gold)}
.portal-v4 .footer .wrap{color:#d9d2c5}
.portal-v4 .tag,.portal-v4 .kicker{font:900 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.18em;color:#996a28}
.portal-v4 .btn{border:2px solid #171716;border-radius:0;background:#171716;color:#fff;min-height:49px;padding:13px 19px;font:900 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.06em;box-shadow:none}
.portal-v4 .btn.outline{border:2px solid #171716;color:#171716;background:transparent}
.portal-v4 .btn:hover{background:var(--gold);border-color:#171716;color:#171716;opacity:1;transform:translate(-2px,-2px);box-shadow:4px 4px 0 #171716}
.portal-v4 .page-intro h1,.portal-v4 .section-top h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.005em}
.portal-v4 .story,.portal-v4 .mini-story{border-radius:0;border:0;border-top:3px solid #171716;background:transparent}
.portal-v4 .story:hover,.portal-v4 .mini-story:hover{box-shadow:none}
.portal-v4 .story h3,.portal-v4 .mini-story h3{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.01em}
.portal-v4 .story .more{color:#a55f1d;font-weight:900}
.portal-v4 .age-box{background:#f6f0e6;border:6px solid #171716;border-radius:0;box-shadow:13px 13px 0 #e9b44c}
.portal-v4 .age-box h2{font:900 51px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;color:#171716}
.portal-v4 .age-box p{color:#37342f}
.portal-home .hero{background:var(--hero-bg);color:#f6f1e8;background-image:none;overflow:hidden}
.portal-home .hero::before{display:none}
.portal-home .hero .hero-layout{max-width:none;padding:0;display:grid;grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr);gap:0;min-height:650px;align-items:stretch}
.portal-home .hero-copy{padding:clamp(55px,7vw,104px) clamp(25px,5vw,80px) 54px max(38px,calc((100vw - 1260px)/2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.portal-home .hero .kicker{color:#f4b950}
.portal-home .hero h1{font:900 clamp(72px,7.6vw,140px)/.89 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:-.012em;max-width:680px;margin:23px 0;overflow-wrap:break-word;text-transform:uppercase}
.portal-home .hero .lead{font:500 clamp(16px,1.5vw,20px)/1.48 Arial,Helvetica,sans-serif;color:#ded6c7;max-width:470px;margin:10px 0 0}
.portal-home .hero .actions{gap:11px;margin-top:32px}
.portal-home .hero .btn{background:var(--gold);border-color:var(--gold);color:#171716}
.portal-home .hero .btn.outline{background:transparent;color:#fff;border-color:#fff}
.portal-home .hero .btn:hover{background:#fff;color:#171716;border-color:#fff;box-shadow:4px 4px 0 #e9b44c}
.portal-home .hero-footnote{font:800 10px Arial,Helvetica,sans-serif;letter-spacing:.15em;color:#aa9a82;margin-top:55px}
.portal-home .hero-art{height:auto;min-height:650px;display:block;overflow:hidden;background:#e7cc98}
.portal-home .hero-frame{height:100%;width:100%;border:0;border-radius:0;box-shadow:none;transform:none;background:#e7cc98}
.portal-home .hero-frame img{height:100%;width:100%;object-fit:cover;object-position:center;filter:contrast(1.04) saturate(1.08)}
.portal-home .hero-seal{width:115px;height:115px;top:39px;right:39px;background:#171716;border:4px solid #f4eee1;color:#f4eee1;border-radius:50%;font:900 20px/1.1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;transform:rotate(12deg);box-shadow:0 4px 0 #171716}
.portal-home .hero-image-caption{position:absolute;left:24px;bottom:23px;right:24px;text-align:center;background:#171716;color:#fff;padding:10px 12px;font:900 11px Arial,Helvetica,sans-serif;letter-spacing:.1em}
.portal-home .rebel-ticker{background:var(--gold);border-top:4px solid #171716;border-bottom:4px solid #171716;overflow:hidden;white-space:nowrap;color:#171716;font:900 18px/1.4 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.06em;padding:11px 0}
.portal-home .rebel-ticker div{width:max-content;animation:scrollwords 40s linear infinite}
@keyframes scrollwords{from{transform:translateX(0)}to{transform:translateX(-40%)}}
@media(prefers-reduced-motion:reduce){.portal-home .rebel-ticker div{animation:none}}
.portal-home .section{padding:90px 0}
.portal-home .section-top{border:0;display:flex;gap:40px;align-items:end;justify-content:space-between;padding-bottom:0;margin:0 0 36px}
.portal-home .section-top h2{font:900 clamp(53px,5.8vw,97px)/.9 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:13px 0 0;letter-spacing:0;text-transform:uppercase}
.portal-home .section-top p{margin:0;max-width:380px;font-size:16px;color:#59554f}
.portal-home .section-intro{display:flex;flex-direction:column;gap:15px}
.portal-home .text-link{font:900 12px Arial,Helvetica,sans-serif;letter-spacing:.07em;text-decoration:underline;text-underline-offset:6px}
.portal-home .section-news .news-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:24px}
.portal-home .section-news .story.feature{background:#fffaf1;display:flex;flex-direction:column;border-top:7px solid #171716;min-height:380px}
.portal-home .section-news .story.feature img{height:250px;min-height:0;object-fit:cover}
.portal-home .section-news .story.feature .copy{padding:30px;display:flex;align-items:stretch}
.portal-home .section-news .story.feature .copy h3{font:900 clamp(35px,3.6vw,61px)/.98 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:16px 0}
.portal-home .section-news .story.feature .copy p{font-size:16px;line-height:1.65;max-width:640px}
.portal-home .section-news .stack{gap:13px}
.portal-home .section-news .mini-story{padding:25px;background:#eee7da;border-top:5px solid #171716}
.portal-home .section-news .mini-story h3{font:900 clamp(25px,2.4vw,36px)/1.05 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:13px 0}
.portal-home .section-news .mini-story p{font-size:14px;color:#59554f}
.portal-home .news-teaser{background:#171716;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:265px}
.portal-home .news-teaser strong{display:block;font:900 38px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif}
.portal-home .news-teaser small{font:900 11px Arial,Helvetica,sans-serif;letter-spacing:.12em;color:var(--gold)}
.portal-home .news-teaser a{font:900 12px Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:5px}
.portal-home .section-arcade{background:var(--gold);color:#171716;border-top:7px solid #171716;border-bottom:7px solid #171716}
.portal-home .arcade-head{display:flex;justify-content:space-between;align-items:center}
.portal-home .arcade-head .kicker{color:#171716}
.portal-home .arcade-pixels{font-size:25px;letter-spacing:5px}
.portal-home .section-arcade .section-top{align-items:end;margin:0 0 25px}
.portal-home .section-arcade .section-top h2{font-size:clamp(69px,9vw,145px);letter-spacing:.005em}
.portal-home .section-arcade .section-top p{font:800 16px Arial,Helvetica,sans-serif;color:#302817;margin:15px 0 0}
.portal-home .arcade-star{font:180px/.8 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;transform:rotate(-13deg)}
.portal-home .game-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;background:#171716;color:#fff;border:5px solid #171716}
.portal-home .game-cover{height:auto;min-height:380px;background:#171716;border-radius:0;box-shadow:none;overflow:hidden}
.portal-home .game-cover img{width:100%;height:100%;object-fit:cover;object-position:top center;image-rendering:auto}
.portal-home .game-feature>div{padding:clamp(30px,4.6vw,70px);display:flex;flex-direction:column;align-items:start;justify-content:center}
.portal-home .game-feature h3{font:900 clamp(45px,5vw,88px)/.98 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:15px 0}
.portal-home .game-feature p{font:500 17px/1.6 Arial,Helvetica,sans-serif;color:#ded7cb;max-width:440px}
.portal-home .game-feature .kicker{color:var(--gold)}
.portal-home .game-feature .stats{color:#f3c85e;font:900 11px Arial,Helvetica,sans-serif;letter-spacing:.08em;gap:10px 24px}
.portal-home .game-feature .btn{background:var(--gold);color:#171716;border-color:var(--gold)}
.portal-home .arcade-all{display:inline-flex;margin-top:20px;font:900 12px Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:5px;letter-spacing:.08em}
.portal-home .section-campaign{background:#f5f0e7}
.portal-home .section-campaign .ad-slot{min-height:200px;border:3px solid #171716;border-radius:0}
.portal-home .manifesto{background:#f4efe6;padding:95px 0 105px}
.portal-home .manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}
.portal-home .manifesto h2{font:900 clamp(42px,5.2vw,81px)/.96 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;margin:20px 0 0}
.portal-home .manifesto h2 span{color:#a86d32}
.portal-home .manifesto p{font:500 19px/1.63 Arial,Helvetica,sans-serif;color:#4c4740}
.portal-home .manifesto-link{display:inline-block;font:900 12px Arial,Helvetica,sans-serif;letter-spacing:.08em;border-bottom:3px solid #171716;padding-bottom:10px;margin-top:12px}
.portal-home .footer-grid{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:start;gap:50px}
.portal-home .footer-brand{font:900 58px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;color:#fff}
.portal-home .footer-brand span{color:var(--gold)}
.portal-home .footer p{max-width:400px;font-size:13px;margin:14px 0;color:#d4ccbd}
.portal-home .footer .links{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;font:900 12px Arial,Helvetica,sans-serif;letter-spacing:.08em}
.portal-home .footer-legal{font:800 10px Arial,Helvetica,sans-serif;letter-spacing:.1em;white-space:nowrap;color:#a79f92}
.portal-v4:not(.portal-home) .page-intro h1{font-size:clamp(70px,9vw,140px);font-weight:900;line-height:.94;margin:15px 0}
.portal-v4:not(.portal-home) .page-intro{border-bottom:5px solid #171716;margin-bottom:40px}
.portal-v4:not(.portal-home) .listing{gap:22px}
.portal-v4:not(.portal-home) .listing .story{background:#fffaf1;border-top:5px solid #171716}
.portal-v4:not(.portal-home) .listing .story .copy{padding:20px}
.portal-v4:not(.portal-home) .listing .story h3{font-size:32px;line-height:1.1}
.portal-v4:not(.portal-home) .listing .story p{line-height:1.5}
@media(max-width:950px){.portal-home .hero .hero-layout{min-height:530px}.portal-home .hero-copy{padding-left:33px;padding-right:30px}.portal-home .hero h1{font-size:clamp(62px,8.7vw,105px)}.portal-home .hero-art{min-height:530px}.portal-home .arcade-star{font-size:110px}}
@media(max-width:700px){
 .portal-v4 .wrap{padding-left:19px;padding-right:19px}.portal-v4 .header .wrap{min-height:66px}.portal-v4 .brand-words strong{font-size:28px}.portal-v4 .mobile-nav{background:#171716;border-top:0;gap:5px;padding:12px}.portal-v4 .mobile-nav a{color:#fff;font-size:10px;font-weight:900;letter-spacing:.06em}.portal-v4 .mobile-nav a:last-child{color:#f3c45f}.portal-v4 .age-note{font-size:8px;padding:9px 8px}.portal-v4 .age-note span{margin:0 5px}
 .portal-home .hero .hero-layout{display:flex;flex-direction:column;min-height:0;padding:0}.portal-home .hero-copy{padding:60px 22px 36px}.portal-home .hero h1{font-size:clamp(64px,14.8vw,101px);margin:22px 0}.portal-home .hero .lead{font-size:17px}.portal-home .hero-footnote{margin-top:35px}.portal-home .hero-art{min-height:0;height:335px;display:block}.portal-home .hero-frame{width:100%;height:100%;border:0;transform:none}.portal-home .hero-seal{height:88px;width:88px;top:15px;right:15px;font-size:16px}.portal-home .hero-image-caption{font-size:8px;bottom:13px;left:12px;right:12px;padding:8px}
 .portal-home .rebel-ticker{font-size:14px;padding:9px 0}.portal-home .section{padding:56px 0}.portal-home .section-top{display:block;margin-bottom:26px}.portal-home .section-top h2{font-size:clamp(58px,14vw,95px)}.portal-home .section-intro{gap:14px;margin-top:17px}.portal-home .section-top p{font-size:15px}
 .portal-home .section-news .news-grid{display:grid;grid-template-columns:1fr;gap:16px}.portal-home .section-news .story.feature{min-height:0}.portal-home .section-news .story.feature .copy{padding:22px}.portal-home .section-news .story.feature .copy h3{font-size:46px}.portal-home .section-news .stack{gap:15px}
 .portal-home .section-arcade .section-top h2{font-size:clamp(67px,16vw,100px)}.portal-home .arcade-star{display:none}.portal-home .game-feature{grid-template-columns:1fr}.portal-home .game-cover{min-height:0;height:275px}.portal-home .game-feature>div{padding:25px}.portal-home .game-feature h3{font-size:60px}
 .portal-home .manifesto{padding:60px 0}.portal-home .manifesto-grid{grid-template-columns:1fr;gap:17px}.portal-home .manifesto h2{font-size:56px}.portal-home .manifesto p{font-size:17px}.portal-home .footer-grid{grid-template-columns:1fr;gap:28px}.portal-home .footer-brand{font-size:50px}
 .portal-v4:not(.portal-home) .listing{grid-template-columns:1fr}
}
/* Personalized hero photo: the same image field from Studio now changes the photographic panel. */
.portal-home .hero-frame img{transition:opacity .15s linear}


/* v4.1: desktop hero proportion fix. The original viewport-based padding
   squeezed the headline at large screen sizes, stretching the image panel.
   Keep the asset completely visible without distortion or label cropping. */
@media (min-width:701px) {
  .portal-home .hero .hero-layout {
    width:100%;
    max-width:1440px;
    grid-template-columns:minmax(0,54%) minmax(0,46%);
    min-height:clamp(560px,44vw,700px);
  }
  .portal-home .hero-copy {
    min-width:0;
    padding:clamp(45px,4.7vw,76px) clamp(30px,4.3vw,70px);
  }
  .portal-home .hero h1 {
    font-size:clamp(55px,5.3vw,96px);
    line-height:.91;
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
  .portal-home .hero-footnote { margin-top:clamp(23px,2.5vw,40px); }
  .portal-home .hero-art {
    height:100%;
    min-height:0;
    position:relative;
    isolation:isolate;
  }
  .portal-home .hero-frame {
    position:absolute;
    inset:0;
    width:100%;height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e7cc98;
  }
  .portal-home .hero-frame img {
    display:block;
    width:100%; height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .portal-home .hero-seal { top:21px; right:21px; width:103px; height:103px; font-size:18px; }
  .portal-home .hero-image-caption { bottom:15px; left:15px; right:15px; font-size:10px; }
}
@media (min-width:701px) and (max-width:1050px) {
 .portal-home .hero h1 { font-size:clamp(50px,6.1vw,65px); }
 .portal-home .hero-copy {padding:45px 28px;}
 .portal-home .hero-art { min-height:560px; }
 .portal-home .hero-footnote {margin-top:24px;}
 .portal-home .hero-seal {width:82px;height:82px;font-size:14px;}
 .portal-home .hero-image-caption {font-size:8px;}
}
