/* Valkyrie identity pass. Preserve content and interactions; evolve composition.
   Black + cobalt, compact corners, offset headings and restrained rule accents. */
:root { --radius:8px; }
/* Smaller navigation visuals with room around the interactive controls. */
body.page-inner { padding-top:70px; }
.site-header .nav-inner { height:70px; gap:24px; }
.site-header .nav-inner .brand img { width:144px; height:31px; }
.site-header .desktop-nav { gap:16px; }
.site-header .desktop-nav .nav-link { font-size:12.5px; gap:6px; }
.site-header .nav-actions { gap:5px; }
.site-header .nav-actions .icon-button { width:36px; height:36px; }
.site-header .nav-actions .icon-button>.icon { width:17px; height:17px; }
.site-header .nav-actions .sign-in {
  min-height:36px; padding:8px 15px; font-size:12px; gap:6px;
}
.site-header .nav-actions .sign-in>.icon { width:15px; height:15px; }
.site-header .nav-actions .pk-account-link { min-height:33px; padding:6px 9px; }
.site-header .nav-actions .pk-nav-balance {
  min-height:33px; padding:6px 9px; gap:6px; font-size:12px;
}
.site-header .nav-actions .pk-nav-balance>.icon { width:15px; height:15px; }
.site-header .online-members {
  min-height:33px; padding:6px 12px; gap:7px; font-size:12px; line-height:19px;
}
.site-header .online-members strong { font-size:14px; }
.site-header .online-members>.icon { width:16px; height:16px; }
.site-header .online-dot { width:6px; height:6px; position:relative; }
.online-members[data-state="ready"] .online-dot::after {
  content:""; position:absolute; inset:-4px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgb(57 122 255 / 55%), rgb(57 122 255 / 0%) 72%);
  box-shadow:0 0 8px rgb(57 122 255 / 35%);
  animation:online-presence-glow 2.8s ease-in-out infinite;
}
@keyframes online-presence-glow {
  0%,100% { opacity:.3; transform:scale(.8); }
  50% { opacity:1; transform:scale(1.25); }
}
@media (min-width:1025px) and (max-width:1400px) {
  .site-header .nav-inner { gap:16px; }
  .site-header .nav-inner .brand img { width:124px; }
  .site-header .desktop-nav { gap:11px; }
  .site-header .nav-actions { gap:3px; }
}
@media (max-width:640px) {
  body.page-inner { padding-top:62px; }
  .site-header .nav-inner { height:62px; gap:8px; }
  .site-header .nav-inner .brand img { width:116px; height:27px; }
  .site-header:has(.pk-nav-balance) .nav-inner .brand img { width:100px; }
  .site-header .nav-actions { gap:3px; }
  .site-header .nav-actions .icon-button { width:34px; height:36px; }
  .site-header .nav-actions .sign-in { min-height:33px; padding:7px 10px; }
  .site-header .nav-actions .pk-account-link { width:33px; padding:7px; }
  .site-header .nav-actions .pk-account-link>.icon { width:15px; height:15px; }
  .site-header .nav-actions .pk-nav-balance { padding:6px 7px; gap:4px; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .online-members[data-state="ready"] .online-dot::after { animation:none; opacity:.55; }
}
/* Quiet cobalt light in the empty page margins; surfaces retain their own blacks. */
.page-inner {
  background-image:
    radial-gradient(ellipse 62rem 38rem at calc(100% - 6rem) 6rem,
      rgb(40 78 174 / 14%) 0%, rgb(30 64 146 / 5.5%) 42%, rgb(30 64 146 / 0%) 76%),
    radial-gradient(ellipse 44rem 40rem at -12rem 44rem,
      rgb(35 71 163 / 9%) 0%, rgb(35 71 163 / 0%) 72%);
  background-repeat:no-repeat;
}
.page-inner .site-header:not(.is-scrolled):not(.menu-open) {
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
}
@media (max-width:640px) {
  .page-inner {
    background-image:
      radial-gradient(ellipse 32rem 32rem at 100% 8rem,
        rgb(40 78 174 / 11%) 0%, rgb(30 64 146 / 0%) 76%),
      radial-gradient(ellipse 24rem 32rem at -12rem 42rem,
        rgb(35 71 163 / 6%) 0%, rgb(35 71 163 / 0%) 72%);
  }
}
.button,.home-hero .button { border-radius:7px; }
.button.primary { box-shadow:none; }
.product-card,.home-games-grid .game-tile,.promise-card,.buy-step,
.community-opinion,.status-game-group,.selection-panel,.login-card,
.partner-strip,.opinion-empty { border-radius:8px; }
.product-card:hover { transform:none; border-color:#446bbd; }
.product-card-art { border-bottom:1px solid #25252b; }
.product-card-art:after { content:""; position:absolute; bottom:0; left:20px; width:32px; height:3px; background:var(--action); transform:skewX(-25deg); }
.art-label { top:13px; left:auto; right:13px; border-radius:3px; }
.product-card-content { padding:22px; }
.feature-tags { gap:6px; }
.feature-tags span { border:0; background:transparent; padding:0; color:#aeb0bd; }
.feature-tags span+span:before { content:"/"; margin-right:6px; color:#555560; }
.product-card-bottom { padding-top:18px; }
.view-product { color:var(--cobalt); }
.product-card.compact .product-card-art:after { display:none; }
.nav-link.active:after { height:2px; border-radius:0; }
.games-menu,.alerts-panel { border-radius:8px; }

/* Hero alignment and artwork retain the centered composition from interface.css. */
.stats-strip { border-top:0; padding-block:26px 30px; }
.stats-strip>div { justify-content:flex-start; padding-left:32px; gap:18px; }
.stats-strip>div:first-child { padding-left:0; }
.stats-strip>div>span { display:flex; align-items:center; gap:18px; }
.stats-strip strong { font-size:34px; }
.stats-strip small { max-width:125px; margin:0; line-height:1.55; }
.home-section-heading { padding-bottom:20px; border-bottom:1px solid #26262c; margin-bottom:28px; }
.home-section-heading h2,.home-opinions-heading h2 { font-size:36px; }
.home-section-heading h2 span,.home-opinions-heading h2 span { color:inherit; }
.home-section-heading>div { position:relative; padding-left:19px; }
.home-section-heading>div:before { content:""; position:absolute; left:0; top:7px; width:3px; height:27px; background:var(--action); transform:skewY(-25deg); }
.promise-grid { gap:0; border-block:1px solid var(--border); }
.promise-card { border:0; border-right:1px solid var(--border); border-radius:0; background:transparent; padding:30px; }
.promise-card:first-child { padding-left:0; }
.promise-card:last-child { border-right:0; }
.promise-card>.icon { background:transparent; padding:0; border:0; border-radius:0; width:28px; height:28px; }
.home-games-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.home-games-grid .game-tile { display:grid; grid-template-columns:145px minmax(0,1fr); min-height:130px; }
.home-games-grid .game-tile-art { height:100%; min-height:130px; }
.home-games-grid .game-tile-content { padding:23px; min-height:0; }
.home-games-grid .game-tile h3 { font-size:23px; }
.home-games-grid .full-catalog-tile { display:flex; text-align:center; align-items:center; }
.full-catalog-content { width:100%; padding:26px 28px; }
.home-games-grid .full-catalog-content>.icon { display:block; width:38px; height:38px; margin:0 auto 15px; color:var(--cobalt); }
.home-games-grid .full-catalog-content h3 { font-size:26px; }
.full-catalog-content p { margin-top:7px; }
.full-catalog-content>span { margin-top:16px; justify-content:center; }
.buy-step { border-top:2px solid #3457a5; }
.step-heading>span { border-radius:3px; background:transparent; border:0; font-family:var(--display); font-size:23px; color:var(--cobalt); }
.benefit-grid article { border-top:1px solid var(--border); padding-top:25px; }
.benefit-grid .icon { margin-bottom:16px; }
.home-opinions { max-width:1280px; }
.home-opinions-heading { border-bottom:1px solid var(--border); padding-bottom:23px; }
.community-opinion { background:#0e0e10; }
.opinion-avatar,.community-opinion:nth-child(3n + 2) .opinion-avatar,
.community-opinion:nth-child(3n) .opinion-avatar { border-radius:6px; background:#151c2b; border:1px solid #2a3957; color:#b8ceff; }
.opinion-product { margin-top:auto; padding-top:17px; }
.opinion-content>p { padding-bottom:2px; }
.partner-strip { border-inline:0; border-radius:0; background:transparent; padding-inline:0; padding-block:35px; }
.site-footer { position:relative; }
.site-footer:before { content:""; position:absolute; top:-1px; left:max(20px,calc((100% - 1280px)/2)); width:52px; height:3px; background:var(--action); transform:skewX(-25deg); }

/* A quiet catalog: category tabs and three direct sort controls. */
.simple-catalog-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; padding-left:19px; border-left:3px solid var(--action); }
.simple-catalog-heading h1 { font-size:40px; }
.simple-catalog-heading p { flex:none; margin:0 0 4px; }
.catalog-categories { gap:22px; padding-bottom:0; margin-top:32px; }
.category-pill { border:0; border-bottom:2px solid transparent; padding:13px 0; border-radius:0; background:transparent; min-height:49px; }
.category-pill.selected { color:#fff; background:transparent; border-color:var(--cobalt); }
.category-pill:hover { background:transparent; color:#fff; }
.category-pill>span { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; background:#1b1b20; border-radius:4px; color:#aeb0bd; }
.catalog-sort-buttons { gap:3px; padding:3px; border:1px solid #303037; border-radius:7px; background:#101012; }
.catalog-sort-buttons button { min-height:38px; border-color:transparent; background:transparent; padding:8px 13px; border-radius:4px; }
.catalog-sort-buttons button[aria-pressed=true] { border-color:var(--action); }
.simple-catalog .search-field input { border-radius:6px; }

/* Product sheets keep their gallery and purchase path. */
.product-heading { border-left:3px solid var(--action); padding-left:21px; }
.product-title-mark { display:none; }
.product-gallery { border-radius:8px; }
.gallery-footer { background:#101012; padding:14px; border:1px solid var(--border); border-top:0; border-radius:0 0 8px 8px; }
.gallery-thumbnails button { border-radius:4px; }
.selection-panel { border-top:3px solid var(--action); background:#101012; }
.selection-heading { margin-bottom:22px; }
.selection-panel h2 { font-size:29px; line-height:1.2; }
.plan-selector label { border-radius:5px; border-color:#34343e; background:#0c0c0e; }
.plan-selector label:has(input:checked) { background:#111c35; border-color:var(--cobalt); }
.product-tabs { gap:8px; padding-bottom:9px; }
.product-tabs button { border-radius:5px; padding:12px 19px; border-bottom:0; }
.product-tabs button[aria-selected=true] { color:#fff; background:#191e2a; border-bottom:0; box-shadow:inset 3px 0 var(--action); }
.product-faq { max-width:none; display:grid; grid-template-columns:1fr 2fr; gap:50px; align-items:start; border-top:1px solid var(--border); margin-top:55px; padding-top:38px; }
.product-faq h2 { font-size:30px; }
.product-faq .faq-list { margin:0; }
.related-products { border-top:1px solid var(--border); padding-top:35px; }

/* Status is a product register with artwork thumbnails, not full-width banners. */
.status-masthead { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:48px 0 32px; }
.status-masthead .centered-page-heading { padding:0 0 0 19px; text-align:left; border-left:3px solid var(--action); }
.centered-page-heading h1,.reviews-hub-heading h1 { font-size:44px; }
.status-summary { margin:0; max-width:none; gap:23px; border:0; border-radius:0; border-left:1px solid var(--border); background:transparent; padding:9px 0 9px 25px; flex-wrap:wrap; justify-content:flex-start; }
.status-summary>span { flex-wrap:wrap; }
.status-game-filters { justify-content:flex-start; gap:8px; margin-bottom:27px; }
.status-game-filters button { border-radius:5px; }
.status-game-heading { min-height:112px; padding:20px 25px; align-items:center; gap:20px; flex-direction:row; background:#151518; }
.status-game-heading:after { display:none; }
.status-game-art { position:static; flex:none; width:91px; height:66px; border-radius:5px; overflow:hidden; z-index:auto; }
.status-game-art img { opacity:.85; }
.status-game-copy { flex:1; }
.status-game-copy strong { font-size:25px; }
.status-game-copy small { margin-top:7px; }
.status-game-heading>.icon { position:static; flex:none; }
.status-group-state { margin-left:auto; }
.status-product-row summary { padding:19px 25px 19px 36px; border-left:2px solid transparent; }
.status-product-row[open] summary { border-left-color:var(--action); background:#11151d; }
.status-row-name { display:flex; align-items:center; gap:17px; }
.status-row-name small { margin:0; }
.status-pill { border-radius:4px; }

/* Reviews: summary above, filters alongside, opinions in a clear reading column. */
.reviews-hub { max-width:1200px; }
.reviews-hub-heading { display:flex; justify-content:space-between; align-items:center; gap:35px; text-align:left; padding:48px 0 34px; border-bottom:1px solid var(--border); }
.reviews-hub-heading>div:first-child { border-left:3px solid var(--action); padding-left:19px; }
.reviews-hub-heading>div:first-child>p { margin-top:15px; font-size:16px; }
.reviews-hub-heading .opinion-summary { margin:0; justify-content:flex-start; }
.reviews-hub-heading .opinion-disclosure { margin-top:11px; max-width:270px; }
.reviews-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:42px; padding-top:28px; align-items:start; }
.opinion-filters { position:sticky; top:108px; padding:0; border:0; gap:29px; }
.opinion-filter-block>span { text-align:left; font-size:13px; letter-spacing:.06em; margin-bottom:12px; }
.opinion-filter-buttons { flex-direction:column; justify-content:flex-start; gap:5px; }
.opinion-filter-buttons button { justify-content:space-between; border-radius:5px; border-color:transparent; background:transparent; padding:11px 13px; }
.opinion-filter-buttons button:hover { background:#141418; border-color:#34343e; }
.opinion-filter-buttons button[aria-pressed=true] { background:#131d33; border-color:#2a4273; box-shadow:inset 3px 0 var(--action); }
.opinion-rating-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.opinion-rating-filters button { justify-content:center; border:1px solid #2b2b32; padding:10px 7px; }
.opinion-rating-filters button:first-child { grid-column:1 / -1; }
.opinion-rating-filters button:last-child { grid-column:1 / -1; }
.opinion-rating-filters button[aria-pressed=true] { box-shadow:none; }
.opinion-list-heading { padding:0 0 20px; min-height:42px; }
.reviews-feed { min-width:0; }
.opinion-list .community-opinion { padding:24px; }
.opinion-list { gap:13px; }
.opinion-list .opinion-content>p { font-size:16px; }

/* Account entry uses the existing Valkyrie wing as its own visual signature. */
.login-page { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:50px; max-width:1100px; }
.account-art { position:relative; min-height:450px; display:flex; align-items:flex-end; isolation:isolate; overflow:hidden; }
.account-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; mask-image:radial-gradient(ellipse at 57% 43%,#000 25%,#000000b0 50%,transparent 77%); }
.account-art>span { font:500 44px/1.13 var(--display); letter-spacing:-.045em; padding:0 20px 28px; }
.account-art b { font-weight:500; color:var(--cobalt); }
.login-card { text-align:left; border-top:3px solid var(--action); }
.login-card>img { margin-inline:0; }
.login-card>.text-link { justify-content:flex-start; }
.login-benefits { align-items:flex-start; }
.account-gate { text-align:left; align-items:flex-start; max-width:1000px; position:relative; isolation:isolate; }
.account-gate:after { content:""; position:absolute; inset:20px 0 30px 40%; background:url('/assets/wing-detail.webp') center/cover no-repeat; mask-image:linear-gradient(90deg,transparent,#0009); z-index:-1; pointer-events:none; }
.account-gate h1 { max-width:600px; }
.gate-icon { border-radius:7px; background:#121927; border-color:#263958; }

@media(max-width:1000px) {
  .stats-strip>div { padding-left:18px; gap:12px; }
  .stats-strip>div>span { gap:12px; }
  .status-masthead { align-items:flex-start; flex-direction:column; gap:24px; }
  .status-summary { border-left:0; border-block:1px solid var(--border); padding:17px 0; width:100%; }
  .home-games-grid .game-tile { grid-template-columns:110px minmax(0,1fr); }
  .home-games-grid .game-tile-content { padding:20px; }
  .home-games-grid .game-tile h3 { font-size:21px; }
  .product-faq { gap:30px; }
  .reviews-layout { grid-template-columns:190px minmax(0,1fr); gap:26px; }
  .login-page { gap:25px; }
}
@media(max-width:760px) {
  .reviews-hub-heading { align-items:flex-start; flex-direction:column; gap:25px; }
  .reviews-rating-summary { padding-left:22px; }
  .reviews-layout { display:block; padding-top:24px; }
  .opinion-filters { position:static; gap:20px; padding-bottom:24px; }
  .opinion-filter-buttons { flex-direction:row; flex-wrap:wrap; gap:7px; }
  .opinion-filter-buttons button { border-color:#303037; padding:10px 12px; gap:9px; }
  .opinion-rating-filters { display:flex; }
  .opinion-filter-buttons button[aria-pressed=true] { box-shadow:none; }
  .opinion-list-heading { border-top:1px solid var(--border); padding-top:18px; }
  .home-games-grid { grid-template-columns:1fr; }
  .home-games-grid .game-tile { grid-template-columns:140px minmax(0,1fr); }
  .login-page { grid-template-columns:1fr; max-width:520px; }
  .account-art { display:none; }
  .login-card { width:100%; }
  .product-faq { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:640px) {
  .stats-strip { padding-block:14px 25px; }
  .stats-strip>div { align-items:flex-start; padding-inline:15px; gap:12px; text-align:left; }
  .stats-strip>div:first-child { padding-left:0; }
  .stats-strip>div>span { flex-direction:column; align-items:flex-start; gap:7px; }
  .stats-strip strong { font-size:28px; }
  .stats-strip small { font-size:12px; max-width:98px; }
  .stats-strip .icon { width:22px; height:22px; }
  .home-section-heading h2,.home-opinions-heading h2 { font-size:30px; }
  .home-section-heading { padding-bottom:17px; }
  .home-section-heading>div { padding-left:16px; }
  .home-section-heading>div:before { top:5px; height:24px; }
  .promise-grid { grid-template-columns:1fr; }
  .promise-card,.promise-card:first-child { padding:25px 0; border-right:0; border-bottom:1px solid var(--border); }
  .promise-card:last-child { border-bottom:0; }
  .home-games-grid .game-tile { grid-template-columns:108px minmax(0,1fr); min-height:122px; }
  .home-games-grid .game-tile-art { min-height:122px; }
  .home-games-grid .game-tile-content { padding:18px; align-items:center; }
  .home-games-grid .game-tile h3 { font-size:20px; }
  .home-games-grid .full-catalog-tile { min-height:160px; }
  .full-catalog-content { padding:22px; }
  .partner-strip { padding:28px 0; }
  .simple-catalog-heading { display:block; padding-left:16px; }
  .simple-catalog-heading h1 { font-size:32px; }
  .simple-catalog-heading p { margin-top:13px; font-size:15px; }
  .catalog-categories { gap:22px; margin-top:23px; }
  .category-pill { font-size:14px; }
  .catalog-sort-buttons { gap:3px; }
  .catalog-sort-buttons button { min-height:40px; }
  .product-card-content { padding:21px; }
  .product-heading { padding-left:17px; }
  .product-tabs { gap:6px; }
  .product-tabs button { padding:11px 13px; font-size:14px; }
  .gallery-footer { padding:12px; }
  .product-faq { margin-top:35px; padding-top:29px; }
  .status-masthead { padding:36px 0 20px; gap:23px; }
  .centered-page-heading h1,.reviews-hub-heading h1 { font-size:36px; }
  .status-summary { gap:14px 23px; justify-content:flex-start; }
  .status-summary>span { font-size:13px; }
  .status-game-heading { padding:18px; gap:14px; min-height:100px; flex-wrap:wrap; align-items:center; }
  .status-game-art { width:63px; height:59px; }
  .status-game-copy { flex:1; }
  .status-game-copy strong { font-size:21px; }
  .status-game-copy small { font-size:13px; }
  .status-group-state { display:none; }
  .status-game-heading>.icon { width:15px; height:15px; }
  .status-product-row summary { padding:17px 16px; }
  .status-row-name { display:block; }
  .status-row-name small { margin-top:6px; }
  .reviews-hub-heading { padding-top:36px; }
  .reviews-hub-heading .opinion-summary>strong { font-size:30px; }
  .opinion-list .community-opinion { padding:21px 17px; }
  .opinion-list .opinion-content>p { font-size:15px; }
  .account-gate { padding-top:65px; padding-bottom:75px; }
  .account-gate:after { inset:5px -10px 0 22%; opacity:.36; }
  .account-gate>p:not(.eyebrow) { font-size:16px; max-width:340px; }
}
@media(max-width:370px) {
  .stats-strip>div { padding-inline:11px; }
  .home-games-grid .game-tile { grid-template-columns:90px minmax(0,1fr); }
  .home-games-grid .game-tile h3 { font-size:18px; }
  .product-tabs button { padding-inline:10px; }
  .status-game-heading { padding:16px 13px; gap:10px; }
  .status-game-art { width:48px; height:56px; }
  .status-game-copy strong { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .product-card { transition:none; }
}

/* The three buying steps are illustrations, with no links or controls. */
.illustration-button { display:flex; align-items:center; justify-content:center; width:100%; border:1px solid #34343c; border-radius:7px; color:var(--text); font-weight:600; line-height:1.4; cursor:default; }
.illustration-button.primary { background:var(--action); border-color:var(--action); color:#fff; }
.illustration-button.secondary { background:#111113; }
.illustration-duration { display:flex; align-items:center; justify-content:center; cursor:default; }
