/* V65: tenant branding, downloadable files and rich game information. */
.site-header .brand { width:190px; min-width:0; justify-content:center; }
.site-header .brand img { flex:0 1 auto; width:100%; height:72px; max-height:calc(var(--header-height) - 10px); object-fit:contain; }
.footer-brand { align-items:flex-start; justify-content:center; }
.footer-brand > a { display:block; width:min(100%,260px); }
.footer-brand img { width:100%; height:140px; object-fit:contain; }
.download-hero { min-height:0; padding-top:42px; padding-bottom:34px; }
.download-catalog { padding-top:26px; }
.download-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:20px; }
.download-card { min-width:0; display:flex; flex-direction:column; gap:22px; padding:28px; border:1px solid #9a6b51; border-radius:18px; background:linear-gradient(145deg,#151414,#120f10 72%); box-shadow:0 12px 38px #0003; transition:border-color .2s,transform .2s,box-shadow .2s; }
.download-card:hover { transform:translateY(-3px); border-color:#ffada2; box-shadow:0 14px 36px #0005,0 0 22px rgba(255,136,119,0.075); }
.download-card:focus-visible { outline:3px solid #ffc2b8; outline-offset:5px; }
.download-card-logo { height:94px; display:flex; align-items:center; justify-content:center; }
.download-card-logo img { max-width:100%; max-height:94px; width:auto; height:auto; object-fit:contain; }
.download-card-copy { flex:1; min-width:0; }
.download-card-copy h2 { margin:0 0 10px; color:#fff5ee; font:750 clamp(22px,2.3vw,29px)/1.25 var(--font-display); overflow-wrap:anywhere; }
.download-card-copy p { margin:0; color:#fbdbdf; font-size:16px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
.download-card .download-card-action { display:flex; justify-content:center; gap:14px; min-height:48px; font-size:15px; }
.download-card-action svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.download-empty { margin:0; padding:24px; border:1px solid var(--line-bright); border-radius:14px; color:#fce4d2; background:var(--panel); font-size:17px; line-height:1.6; }
.system-requirements { margin-top:32px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:24px; }
.requirements-card { --requirement-color:#ff6f47; min-width:0; padding:30px; border:1px solid var(--requirement-color); border-radius:20px; background:linear-gradient(135deg,#0c0b0a,#100b0d); box-shadow:0 10px 40px #0003; }
.requirements-recommended { --requirement-color:#6fdaaa; background:linear-gradient(135deg,#161410,#100b0d); }
.requirements-tier { display:inline-block; margin-bottom:12px; padding:5px 11px; border-radius:5px; color:#0a0808; background:var(--requirement-color); font-size:14px; font-weight:900; letter-spacing:.06em; }
.requirements-card h2 { margin:0 0 24px; color:var(--requirement-color); font-family:var(--font-display); font-size:clamp(23px,2.4vw,30px); font-weight:800; line-height:1.3; text-transform:uppercase; }
.requirements-list { margin:0; display:grid; gap:0; }
.requirements-list > div { display:grid; grid-template-columns:minmax(90px,.8fr) minmax(0,1.8fr); gap:16px; padding:13px 0; border-bottom:1px solid #ffffff12; }
.requirements-list > div:last-child { border-bottom:0; }
.requirements-list dt { color:var(--requirement-color); font-size:16px; font-weight:800; line-height:1.6; }
.requirements-list dd { margin:0; color:#fdfbe9; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.home-game-info { min-width:0; margin-top:24px; border:1px solid var(--line-bright); border-radius:12px; background:var(--panel); overflow:hidden; }
.game-info-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding:22px 26px; border-bottom:1px solid var(--line); background:linear-gradient(110deg,rgba(249,150,137,0.071),transparent); }
.game-info-heading h2 { min-width:0; margin:0; color:var(--text-strong); font:750 clamp(22px,2.6vw,30px)/1.35 var(--font-display); overflow-wrap:anywhere; }
.game-info-heading time { margin-inline-start:auto; color:var(--text-soft); font-size:13px; font-weight:650; }
.game-info-body { padding:24px 26px; }

/* Delayed indicator only. No page fade, artificial wait or minimum display time. */
.site-loader { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; width:160px; height:160px; max-width:calc(100vw - 32px); margin:auto; padding:0; border:0; border-radius:0; background:transparent; color:inherit; box-shadow:none; pointer-events:none; overflow:visible; }
.site-loader::backdrop { background:transparent; pointer-events:none; }
.site-loader-scene { display:grid; place-items:center; width:100%; height:100%; perspective:550px; }
.site-loader-scene img { width:140px; height:140px; object-fit:contain; animation:site-logo-turn 2.5s cubic-bezier(.35,0,.35,1) infinite; }
@keyframes site-logo-turn { from { transform:rotateY(0); } to { transform:rotateY(360deg); } }
@media(max-width:1250px) { .site-header .brand { width:155px; } }
@media(max-width:680px) {
  .site-header .brand { width:128px; }
  .site-header .brand img { height:60px; }
  .download-card,.requirements-card { padding:22px; }
  .game-info-heading,.game-info-body { padding:18px; }
  .requirements-list > div { grid-template-columns:96px minmax(0,1fr); gap:12px; }
  .site-loader { width:132px; height:132px; }
  .site-loader-scene img { width:120px; height:120px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-loader-scene img { animation:none; }
  .download-card { transition:none; }
  .download-card:hover { transform:none; }
}
@media(max-width:480px) { .site-header .brand { width:112px; } }

/* v107: move only the download heading and introduction. */
.download-hero .page-hero-copy h1,.download-hero .page-hero-copy h1+p{position:relative;top:15px}
