/* ------------------------------------------------------------
   SoboQ Website v1.0 — shared layout and visual rules
   Pixel art is displayed without smoothing; replace placeholder
   image files without changing layout definitions below.
   ------------------------------------------------------------ */
:root {
  color-scheme: dark;
  --bg: #171421;
  --bg-deep: #110f1b;
  --bg-card: #241d30;
  --profile: #742a49;
  --profile-pattern: #85375e;
  --games-bg: #151423;
  --press-top: #12111f;
  --press-bottom: #27203c;
  --footer-bg: #12111f;
  --profile-card: #322033;
  --text: #fff8f3;
  --muted: #ded0d8;
  --pink: #f079a4;
  --pink-dark: #ba3969;
  --mustard: #e3c477;
  --teal: #579d97;
  --border: rgba(255, 210, 221, .50);
  --body-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display-font: "Arial Black", Impact, system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--text); background: var(--bg-deep); font-family: var(--body-font); line-height: 1.6; overflow-x: clip; }
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--mustard); outline-offset: 5px; }
button { font: inherit; cursor: pointer; }
img, video { display: block; max-width: 100%; }
img { height: auto; }
.pixelated { image-rendering: pixelated; }
.content-width { width: auto; max-width: 1480px; margin-left: clamp(30px, 5.4vw, 125px); margin-right: clamp(168px, 11vw, 230px); }
.skip-link { position: fixed; top: -100px; left: 15px; z-index: 300; padding: 8px 14px; background: #fff; color: #181520; }
.skip-link:focus { top: 12px; }

/* Shared language control + desktop section navigation */
.language-switch { position: fixed; z-index: 120; top: 27px; right: 47px; display: flex; gap: 10px; align-items: center; padding: 5px 7px; background: rgba(17, 15, 27, .64); font-weight: 800; font-size: .76rem; letter-spacing: .08em; }
.language-switch__button { color: #fff; padding: 2px 0 4px; background: none; border: 0; border-bottom: 2px solid transparent; }
.language-switch__button.is-active { border-color: var(--pink); }
.language-switch__button:hover { color: var(--mustard); }
.language-switch__separator { color: #a998a7; }
.side-nav { position: fixed; z-index: 110; right: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; gap: 20px; width: 165px; padding: 45px 38px 45px 12px; background: linear-gradient(90deg, transparent, rgba(13, 11, 22, .70) 48%, rgba(13, 11, 22, .73)); }
.side-nav__link { display: block; width: fit-content; font-size: .83rem; line-height: 1.4; font-weight: 850; text-decoration: none; letter-spacing: .06em; text-align: right; position: relative; white-space: nowrap; padding-bottom: 8px; }
.side-nav__link:hover { color: var(--mustard); }
.side-nav__link::after { content: ""; position: absolute; height: 3px; background: var(--pink); left: 0; right: 100%; bottom: 0; transition: right .2s ease; }
.side-nav__link.is-active::after { right: 0; }
.mobile-menu-toggle { display: none; }

/* HOME: full-screen gameplay video, dark film and pixel overlays */
.hero { position: relative; min-height: 760px; height: 100svh; overflow: hidden; isolation: isolate; background: #1a1725 url("../assets/images/home/hero_poster.jpg") center / cover no-repeat; }
.hero__video { position: absolute; z-index: 0; width: 100%; height: 100%; inset: 0; object-fit: cover; object-position: center; }
.hero__shade { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(15,11,24,.87) 0%, rgba(21,13,30,.57) 42%, rgba(22,12,29,.46) 75%, rgba(15,10,22,.74) 100%), radial-gradient(ellipse at 70% 35%, rgba(189,55,101,.3), transparent 56%); }
.hero__pixel-overlay { position: absolute; z-index: 2; inset: 0; pointer-events: none; opacity: .012; background: url("../assets/images/home/home_dot_pattern.png") repeat; background-size: 64px 64px; image-rendering: pixelated; }
.hero__brand { position: absolute; z-index: 4; left: clamp(30px, 5.4vw, 125px); top: 32px; display: block; width: clamp(238px, 26vw, 375px); transition: transform .2s; }
.hero__brand img { width: 100%; height: auto; image-rendering: pixelated; }
.hero__brand:hover { transform: translateY(-3px); }
.hero__content { position: relative; z-index: 3; height: 100%; padding-top: clamp(220px, 30vh, 330px); display: flex; flex-direction: column; align-items: flex-start; }
.hero__eyebrow, .eyebrow { color: var(--mustard); font-weight: 850; font-size: .77rem; letter-spacing: .22em; }
.hero__eyebrow { margin: 0 0 20px; }
.hero__headline { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 700; letter-spacing: -.065em; line-height: .95; font-size: clamp(3.2rem, 4vw, 4.6rem); max-width: 760px; margin: 0 0 32px; text-shadow: 3px 4px 0 rgba(72, 21, 52, .88), 0 0 24px rgba(255, 92, 140, .24); }
.hero__headline-line { display: block; white-space: nowrap; }
.hero__intro { max-width: 410px; margin: 0; font-size: clamp(.94rem, 1.05vw, 1.12rem); color: #f6ebed; font-weight: 550; line-height: 1.85; text-shadow: 0 2px 8px #000; }
.video-toggle { position: absolute; z-index: 5; left: clamp(30px, 5.4vw, 125px); bottom: 46px; min-width: 36px; height: 36px; background: rgba(17,15,27,.65); border: 1px solid rgba(255,255,255,.55); color: #fff; }
.video-toggle:hover { border-color: var(--mustard); }
.video-toggle__symbol { font-size: 1rem; font-weight: 900; line-height: 1; }

/* Shared heading */
.section { position: relative; isolation: isolate; min-height: 690px; }
.section__inner { position: relative; z-index: 1; padding-top: clamp(88px, 9vw, 128px); padding-bottom: clamp(98px, 10vw, 142px); }
.section-heading { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); margin-bottom: 50px; }
.section-heading__icon { width: 72px; height: 72px; object-fit: contain; flex: none; }
.section-heading h2 { font: 950 clamp(2.8rem, 4.5vw, 5.5rem)/1 var(--display-font); margin: 0; letter-spacing: -.035em; text-shadow: 4px 4px 0 rgba(219, 92, 138, .45); white-space: nowrap; }
.section-heading__rule { height: 1px; flex: 1; min-width: 14px; max-width: 160px; background: rgba(255, 255, 255, .6); }
.section-heading p { flex: none; margin: 0; max-width: 270px; font-size: .8rem; letter-spacing: .17em; line-height: 1.55; font-weight: 800; }
.pixel-frame { border: 2px solid var(--border); box-shadow: 6px 6px 0 rgba(222, 85, 140, .20); }

/* GAMES */
.section--games { background: radial-gradient(ellipse at 80% 80%, #291c38 0%, transparent 52%), #181523; }
.section--games::before { content: ""; position: absolute; inset: 0; opacity: .11; background: radial-gradient(#ac6f96 1px, transparent 1.5px) repeat; background-size: 21px 21px; pointer-events: none; }
.section-divider { position: relative; z-index: 8; height: 0; overflow: visible; pointer-events: none; }
.section-divider__image { position: absolute; left: 50%; top: -38px; transform: translateX(-50%); width: 2048px; height: 76px; max-width: none; image-rendering: pixelated; }
.game-feature { max-width: 1160px; }
.game-feature__art-link { display: block; overflow: hidden; background: #312137; position: relative; text-decoration: none; }
.game-feature__art-link::after { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,0); transition: background .2s; pointer-events: none; }
.game-feature__art-link:hover::after { background: rgba(255,255,255,.08); }
.game-feature__art { display: block; width: 100%; height: auto; aspect-ratio: 1232/706; object-fit: cover; transition: transform .35s ease; }
.game-feature__art-link:hover .game-feature__art { transform: scale(1.015); }
.game-feature__details { display: grid; grid-template-columns: minmax(230px, 1.1fr) minmax(220px, .9fr) auto; align-items: center; gap: clamp(25px, 3vw, 50px); padding: 24px 4px 0; }
.game-feature__description h3 { font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.2; letter-spacing: .09em; margin: 0 0 16px; }
.game-feature__description h3 span { display: block; letter-spacing: .035em; font-size: .74em; }
.game-feature__description p { max-width: 355px; margin: 0; font-size: .9rem; color: var(--muted); }
.game-feature__status { padding-left: 25px; border-left: 1px solid rgba(255,255,255,.33); display: flex; flex-direction: column; gap: 6px; }
.game-feature__status strong { font-size: 1.08rem; letter-spacing: .05em; }
.game-feature__tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 7px; }
.game-feature__tags span { font-size: .7rem; line-height: 1.1; border: 1px solid rgba(255,255,255,.45); padding: 5px 8px; }
.action-link { display: inline-flex; align-items: center; justify-content: center; min-width: 180px; min-height: 54px; padding: 12px 22px; background: linear-gradient(135deg, #e65e92, #b93168); font-weight: 850; font-size: .91rem; text-align: center; letter-spacing: .025em; text-decoration: none; border: 1px solid #ee8eae; box-shadow: 4px 4px 0 #4b233d; transition: transform .2s, filter .2s; }
.action-link:hover { transform: translateY(-3px); filter: brightness(1.12); }

/* PROFILE — white text with a sufficiently deep rose-plum background */
.section--profile { background: var(--profile); }
.section--profile__pattern { position: absolute; left: 0; right: 0; top: 100px; bottom: 0; pointer-events: none; opacity: 1; background-image: url("../assets/images/profile/bg_profile.png"); background-repeat: repeat; background-size: 512px 384px; image-rendering: pixelated; }
.section--profile .section-heading { margin-bottom: 44px; }
.section--press .section__inner { padding-bottom: 168px; }
.profile-layout { display: grid; grid-template-columns: minmax(210px, 300px) minmax(0, 1fr); gap: clamp(25px, 3vw, 60px); align-items: start; }
.profile-intro { padding-top: 12px; }
.profile-intro h3 { margin: 0 0 30px; font-size: clamp(1.24rem, 1.85vw, 2rem); line-height: 1.5; }
.profile-intro p { color: #fff5f7; margin: 0 0 18px; font-size: .93rem; line-height: 1.9; text-wrap: pretty; }
.pixel-spark { color: var(--mustard); letter-spacing: .7em; margin-top: 22px; }
.philosophy-grid { display: grid; grid-template-columns: repeat(3, 236px); justify-content: start; align-content: start; gap: 12px; }
.philosophy-card { background: rgba(30,18,31,.80); border: 1px solid #d9819e; box-shadow: 4px 4px 0 rgba(30,18,31,.35); padding: 17px 15px 22px; width: 236px; height: 445px; flex: none; display: flex; flex-direction: column; }
.philosophy-card__number { font-family: var(--display-font); font-weight: 950; color: var(--pink); letter-spacing: .13em; font-size: 1.18rem; }
.philosophy-card__art { display: grid; place-items: center; flex: 0 0 192px; height: 192px; margin: 2px auto 17px; width: 192px; overflow: hidden; }
.philosophy-card__art img { display: block; max-width: none; width: 192px; height: 192px; object-fit: contain; }
.philosophy-card h3 { text-align: center; margin: 0 0 12px; font-size: 1rem; line-height: 1.32; min-height: 2.6em; }
.philosophy-card p { color: #f6e8eb; margin: 0; text-align: center; font-size: .78rem; line-height: 1.65; }

/* PRESS KIT */
.press-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 3vw, 42px); }
.press-card { display: block; background: #191522; color: #fff; text-decoration: none; transition: transform .2s, border-color .2s; min-width: 0; }
.press-card:hover { transform: translateY(-5px); border-color: var(--mustard); }
.press-card__cover { aspect-ratio: 16 / 8.5; display: grid; place-items: center; overflow: hidden; background: #3a253a; }
.press-card__cover--brand { background: radial-gradient(ellipse at center, #4a2e48, #271e37 80%); }
.press-card__cover--brand::before { content: ""; position: absolute; }
.press-card__brand-image { width: 82%; height: auto; max-height: 78%; object-fit: contain; }
.press-card__cover--game img { width: 100%; height: 100%; object-fit: cover; }
.press-card__caption { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 19px 22px 24px; border-top: 1px solid rgba(255,255,255,.25); }
.press-card__caption h3 { font-size: clamp(1rem, 1.4vw, 1.32rem); margin: 0 0 4px; }
.press-card__caption p { font-size: .82rem; margin: 0; color: #d8cbd4; }
.press-card__arrow { font-size: 2.5rem; line-height: 1; font-weight: 350; }

.section--press { background: linear-gradient(180deg, var(--press-top) 0%, var(--press-bottom) 100%); }
.section--press__pattern { position: absolute; inset: 0; pointer-events: none; opacity: .012; background: url("../assets/images/home/home_dot_pattern.png") repeat; background-size: 64px 64px; image-rendering: pixelated; }
.section--press__skyline { position: absolute; left: 0; right: 0; bottom: 0; height: var(--press-skyline-height, 102px); overflow: hidden; pointer-events: none; z-index: 2; }
.section--press__skyline-image { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 4096px; height: 102px; max-width: none; image-rendering: pixelated; }

/* Pixel-stepped corners on existing v1.0 components only (no additional panels). */
.game-feature__art-link, .game-feature__tags > span, .action-link,
.philosophy-card, .press-card {
  clip-path: polygon(12px 0, calc(100% - 12px) 0, calc(100% - 12px) 4px,
    calc(100% - 4px) 4px, calc(100% - 4px) 12px, 100% 12px,
    100% calc(100% - 12px), calc(100% - 4px) calc(100% - 12px),
    calc(100% - 4px) calc(100% - 4px), calc(100% - 12px) calc(100% - 4px),
    calc(100% - 12px) 100%, 12px 100%, 12px calc(100% - 4px),
    4px calc(100% - 4px), 4px calc(100% - 12px), 0 calc(100% - 12px),
    0 12px, 4px 12px, 4px 4px, 12px 4px);
}
/* The full 6px border is an outer painted silhouette, not a border clipped at the corners. */
.game-feature__art-link {
  border: 0;
  padding: 6px;
  background: var(--pink);
}
.game-feature__art-window {
  display: block;
  width: 100%;
  overflow: hidden;
  clip-path: inherit;
}
/* Keep the original zoom inside the inset silhouette rather than over the pink edge. */
.game-feature__art { width: 100%; }
/* A matching 1px inner silhouette keeps both the narrow tag and the button outlines connected. */
.game-feature__tags > span {
  display: inline-flex;
  border: 0;
  background: var(--pink);
  padding: 1px;
  clip-path: polygon(5px 0, calc(100% - 5px) 0, calc(100% - 5px) 2px,
    calc(100% - 2px) 2px, calc(100% - 2px) 5px, 100% 5px,
    100% calc(100% - 5px), calc(100% - 2px) calc(100% - 5px),
    calc(100% - 2px) calc(100% - 2px), calc(100% - 5px) calc(100% - 2px),
    calc(100% - 5px) 100%, 5px 100%, 5px calc(100% - 2px),
    2px calc(100% - 2px), 2px calc(100% - 5px), 0 calc(100% - 5px),
    0 5px, 2px 5px, 2px 2px, 5px 2px);
}
.game-feature__tags > span > span {
  display: block;
  padding: 4px 7px;
  background: #181523;
  clip-path: inherit;
}
/* Only the Games button changes: Press Kit detail-page buttons keep their original appearance. */
.game-feature__details > .action-link {
  padding: 1px;
  border: 0;
  background: var(--pink);
}
.game-feature__details > .action-link .action-link__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  width: 100%;
  padding: 10px 21px;
  background: linear-gradient(135deg, #e65e92, #b93168);
  clip-path: inherit;
}
/* Profile: same card size and contents, three times the prior 2px inner inset. */
.philosophy-card { position: relative; isolation: isolate; border: 0; background: var(--pink); }
.philosophy-card::before {
  content: "";
  position: absolute;
  inset: 6px;
  background: #301a29;
  clip-path: inherit;
  pointer-events: none;
  z-index: 0;
}
.philosophy-card > * { position: relative; z-index: 1; }
/* Press Kit: one 6px stepped exterior. The single art area and caption remain as in v1.0. */
.press-card { display: flex; flex-direction: column; padding: 6px; border: 0; background: var(--pink); }
.press-card__cover {
  width: 100%; flex: none;
  clip-path: polygon(12px 0, calc(100% - 12px) 0, calc(100% - 12px) 4px,
    calc(100% - 4px) 4px, calc(100% - 4px) 12px, 100% 12px,
    100% 100%, 0 100%, 0 12px, 4px 12px, 4px 4px, 12px 4px);
}
.press-card__caption {
  background: #191522; flex: 1; min-height: 108px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px),
    calc(100% - 4px) calc(100% - 12px),
    calc(100% - 4px) calc(100% - 4px),
    calc(100% - 12px) calc(100% - 4px),
    calc(100% - 12px) 100%, 12px 100%, 12px calc(100% - 4px),
    4px calc(100% - 4px), 4px calc(100% - 12px), 0 calc(100% - 12px));
}

/* Footer stays independent from the skyline; the skyline belongs to PRESS KIT. */
.site-footer { position: relative; padding: 20px 0 26px; background: var(--footer-bg); isolation: isolate; }
.site-footer__inner { position: relative; z-index: 1; display: flex; align-items: center; gap: clamp(16px,3vw,50px); padding: 20px 0 26px; border-bottom: 1px solid rgba(255,255,255,.55); }
.site-footer__brand { display: block; flex: 0 0 auto; width: clamp(155px, 15vw, 240px); }
.site-footer__brand img { width: 100%; height: auto; }
.site-footer__contact, .site-footer__steam { white-space: nowrap; text-decoration: none; font-weight: 630; font-size: .8rem; }
.site-footer__contact:hover, .site-footer__steam:hover { color: var(--mustard); }
.site-footer__contact span { font-size: 1.3rem; margin-right: 7px; vertical-align: middle; }
.site-footer__languages { display: flex; align-items: center; gap: 8px; margin-left: auto; white-space: nowrap; font-size: .8rem; }
.site-footer__bottom { text-align: center; padding: 21px 0 0; font-size: .75rem; color: #c2b4c2; letter-spacing: .02em; }
.go-top { display: grid; place-items: center; z-index: 140; position: fixed; bottom: 18px; right: 27px; width: 96px; height: 96px; padding: 0; background: none; border: 0; opacity: 0; pointer-events: none; transform: translateY(13px); transition: transform .30s ease-in, opacity .30s ease-in; }
.go-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); transition-duration: .40s; transition-timing-function: ease-out; }
.go-top:hover { transform: translateY(-3px); }
.go-top img { width: 84px; height: 84px; filter: drop-shadow(0 4px 0 rgba(13, 11, 22, .78)); }

/* Press Kit detail pages */
body[data-page="presskit"] .content-width { width: calc(100% - 72px); max-width: 1120px; margin-inline: auto; }
.press-page-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 112px; padding: 16px 0; }
.press-page-header__logo { display: block; width: 225px; }
.press-page-header__logo img { width: 100%; height: auto; image-rendering: pixelated; }
.press-page-header__back { border-bottom: 2px solid var(--pink); padding-bottom: 5px; text-decoration: none; font-size: .85rem; font-weight: 800; margin-right: 125px; }
.press-page-header__back:hover { color: var(--mustard); }
.press-detail { background: radial-gradient(ellipse at 20% 0, #302037, transparent 60%), #171421; min-height: 100svh; }
.press-detail__hero { padding: 60px 0 42px; }
.press-detail__eyebrow { margin: 0 0 8px; color: var(--mustard); font-size: .75rem; font-weight: 900; letter-spacing: .2em; }
.press-detail h1 { font: 950 clamp(2.4rem, 5vw, 4.6rem)/1.1 var(--display-font); letter-spacing: -.04em; margin: 0 0 20px; }
.press-detail__lede { max-width: 680px; line-height: 1.85; color: #efe1e8; font-size: 1.02rem; }
.press-detail__banner { display: grid; place-items: center; min-height: 275px; overflow: hidden; margin: 5px 0 46px; background: #33223d; border: 1px solid var(--border); }
.press-detail__banner--brand img { width: min(520px, 75%); height: auto; object-fit: contain; image-rendering: pixelated; }
.press-detail__banner--game img { width: 100%; height: 100%; object-fit: cover; }
.press-detail__section { border-top: 1px solid rgba(255,255,255,.27); padding: 32px 0 38px; }
.press-detail__section h2 { font-size: 1.45rem; letter-spacing: .05em; margin: 0 0 15px; }
.press-detail__section p { max-width: 780px; margin: 0 0 16px; color: #e9dfe7; line-height: 1.8; }
.info-list { display: grid; grid-template-columns: 160px 1fr; gap: 9px 18px; max-width: 700px; margin: 0; }
.info-list dt { color: var(--mustard); font-size: .88rem; font-weight: 750; }
.info-list dd { margin: 0; font-size: .93rem; }
.asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asset-tile { border: 1px solid rgba(255,255,255,.32); background: #251e30; padding: 12px; }
.asset-tile__preview { display: grid; place-items: center; overflow: hidden; height: 150px; background: #3a2c40; }
.asset-tile__preview img { max-width: 90%; max-height: 90%; object-fit: contain; }
.asset-tile h3 { font-size: .95rem; margin: 12px 0 4px; }
.asset-tile a { display: inline-block; color: var(--mustard); font-size: .82rem; text-underline-offset: 4px; }
.asset-tile p { font-size: .78rem; margin: 5px 0 0; }
.asset-tile--placeholder .asset-tile__preview { background: #45364b; color: #e4cad5; border: 1px dashed #a48b9d; font-weight: 800; letter-spacing: .04em; }
.press-detail__actions { display: flex; flex-wrap: wrap; gap: 18px; margin: 20px 0 8px; }
.press-detail__actions .action-link { min-width: 210px; }
.press-detail__footnote { font-size: .82rem; color: #d0bfcb; }
body[data-page="presskit"] .site-footer { padding-top: 20px; }

@media (max-width: 1200px) {
  .content-width { margin-left: 5vw; margin-right: 175px; }
  .section-heading h2 { font-size: clamp(2.4rem, 4vw, 3.7rem); }
  .section-heading p { font-size: .7rem; }
  .game-feature__details { grid-template-columns: 1fr 1fr; }
  .game-feature__details .action-link { justify-self: start; }
  .profile-layout { grid-template-columns: 1fr; }
  .profile-intro { max-width: 720px; }
  .site-footer__inner { flex-wrap: wrap; }
}
/* Card size and aspect ratio remain constant; only the number of columns changes. */
@media (max-width: 950px) {
  .philosophy-grid { grid-template-columns: repeat(2, 236px); }
}
@media (max-width: 560px) {
  .philosophy-grid { grid-template-columns: 236px; justify-content: center; }
}
@media (max-width: 760px) {
  .content-width { width: calc(100% - 44px); max-width: none; margin-inline: 22px; }
  .language-switch { top: 18px; right: 79px; }
  .mobile-menu-toggle { display: flex; position: fixed; z-index: 130; top: 18px; right: 20px; width: 43px; height: 38px; padding: 9px 8px; flex-direction: column; justify-content: space-between; background: rgba(17,15,27,.84); border: 1px solid #ae849e; }
  .mobile-menu-toggle span { display: block; background: #fff; width: 100%; height: 3px; }
  .side-nav { display: none; position: fixed; right: 20px; top: 68px; transform: none; width: 228px; padding: 23px 21px; background: rgba(18,14,27,.97); border: 1px solid #a26d91; box-shadow: 0 12px 40px #0007; }
  .side-nav.is-open { display: flex; }
  .hero { min-height: 680px; height: 100svh; }
  .hero__brand { left: 20px; top: 16px; width: clamp(185px, 49vw, 255px); }
  .hero__content { padding-top: clamp(218px, 30vh, 340px); }
  .hero__headline { font-size: clamp(2.3rem, 8.5vw, 3.5rem); }
  .hero__headline-line { white-space: normal; }
  .hero__eyebrow { font-size: .63rem; }
  .hero__intro { font-size: .91rem; max-width: 310px; }
  .video-toggle { bottom: 39px; left: 22px; }
  .section { min-height: auto; }
  .section__inner { padding: 74px 0 92px; }
  .section-heading { gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
  .section-heading__icon { width: 56px; height: 56px; }
  .section-heading h2 { font-size: clamp(2.2rem, 9vw, 3.5rem); }
  .section-heading__rule { display: none; }
  .section-heading p { flex-basis: 100%; padding-left: 74px; margin-top: 1px; }
  .game-feature__details { grid-template-columns: 1fr; gap: 19px; padding-top: 23px; }
  .game-feature__status { border-left: 0; border-top: 1px solid #ffffff44; padding: 14px 0 0; }
  .game-feature__details .action-link { width: 100%; justify-self: stretch; }
  .profile-layout { display: block; }
  .profile-intro { margin-bottom: 26px; }
  .press-grid { grid-template-columns: 1fr; gap: 22px; }
  .site-footer { padding-top: 20px; }
  .site-footer__inner { align-items: flex-start; gap: 12px 18px; flex-direction: column; }
  .site-footer__brand { width: 183px; }
  .site-footer__languages { margin-left: 0; }
  .site-footer__bottom { padding-bottom: 65px; }
  .go-top { bottom: 12px; right: 14px; width: 84px; height: 84px; }
  body[data-page="presskit"] .content-width { width: calc(100% - 44px); }
  .press-page-header { padding-top: 66px; }
  .press-page-header__logo { width: 180px; }
  .press-page-header__back { margin-right: 0; font-size: .72rem; }
  .press-detail__hero { padding-top: 35px; }
  .press-detail__banner { min-height: 175px; }
  .asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .info-list { grid-template-columns: 110px 1fr; }
}
@media (max-width: 420px) {
  .hero__headline { font-size: clamp(2rem, 8.5vw, 2.8rem); }
  .asset-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  /* Keep the manual playback control available; JS initially pauses the video. */
}
.hero__video.is-paused { visibility: hidden; }

/* ------------------------------------------------------------
   Press Kit detail pages — v1.5
   Match the approved top-page Press Kit background and shared UI.
   ------------------------------------------------------------ */
body[data-page="presskit"] .content-width {
  width: min(1120px, calc(100% - 220px));
  max-width: 1120px;
  margin-left: clamp(28px, 5.4vw, 125px);
  margin-right: auto;
}
body[data-page="presskit"] .press-detail {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(180deg, var(--press-top) 0%, var(--press-bottom) 100%);
}
.press-detail__pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .012;
  background: url("../assets/images/home/home_dot_pattern.png") repeat;
  background-size: 64px 64px;
  image-rendering: pixelated;
}
.press-detail__inner {
  position: relative;
  z-index: 1;
  padding-bottom: 186px;
}
.press-page-header {
  min-height: 144px;
  padding: 28px 0 16px;
}
.press-page-header__logo {
  display: block;
  width: clamp(238px, 26vw, 375px);
  flex: none;
  transition: transform .2s ease;
}
.press-page-header__logo:hover { transform: translateY(-3px); }
.press-detail__hero { padding: 32px 0 34px; }
.press-detail h1 {
  font: 950 clamp(2.3rem, 4.2vw, 4.6rem)/1.12 var(--display-font);
  letter-spacing: -.035em;
  margin: 0 0 18px;
  overflow-wrap: anywhere;
  text-shadow: 4px 4px 0 rgba(219, 92, 138, .45);
}
.press-detail__lede { max-width: 780px; margin: 0 0 19px; }
.press-detail__notice {
  display: inline-block;
  border-left: 3px solid var(--pink);
  background: rgba(15, 11, 24, .52);
  padding: 10px 15px;
  max-width: 760px;
  font-size: .87rem;
  color: #f1dce4;
}
.press-detail__banner {
  min-height: 0;
  aspect-ratio: 16 / 7.5;
  width: 100%;
  margin: 4px 0 38px;
  border: 3px solid var(--pink);
  box-shadow: 5px 5px 0 rgba(0,0,0,.18);
  background: #241b32;
}
.press-detail__banner--brand img {
  width: min(72%, 660px);
  max-height: 80%;
  object-fit: contain;
}
.press-detail__banner--game img { width: 100%; height: 100%; object-fit: cover; }
.press-detail__section { border-top: 1px solid rgba(255,255,255,.24); padding: 47px 0 53px; }
.press-detail .kit-heading {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 20px;
  margin-bottom: 28px;
}
.press-detail .kit-heading .section-heading__icon { width: 72px; height: 72px; flex: none; object-fit: contain; }
.press-detail .kit-heading h2 {
  flex: 0 1 auto;
  max-width: calc(100% - 95px);
  min-width: 0;
  margin: 0;
  font: 950 clamp(1.6rem, 2.75vw, 2.8rem)/1.15 var(--display-font);
  letter-spacing: -.035em;
  white-space: normal;
  overflow-wrap: anywhere;
  text-shadow: 3px 3px 0 rgba(219, 92, 138, .45);
}
.press-detail .kit-heading .section-heading__rule { min-width: 20px; }
.press-detail__section > p { max-width: 800px; margin: 0 0 17px; color: var(--text); line-height: 1.92; font-size: .98rem; }
.kit-accent { color: #f1a75f; font-weight: 850; }
.kit-emphasis { color: #fff7e5; font-weight: 850; }
.kit-footnote { color: #d8c8d3 !important; font-size: .81rem !important; }
.kit-logo-showcase { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(235px, .9fr); gap: 20px; align-items: stretch; margin-top: 27px; }
.kit-logo-showcase figure { margin: 0; min-width: 0; }
.kit-logo-showcase__preview { aspect-ratio: 16 / 9; border: 2px solid var(--pink); background: #241b32; display: grid; place-items: center; padding: 20px; }
.kit-logo-showcase__preview img { width: min(100%, 460px); height: auto; }
.kit-logo-showcase figcaption, .kit-video-figure figcaption { color: #dcc8d7; font-size: .74rem; letter-spacing: .1em; font-weight: 850; margin-top: 8px; }
.kit-download-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 24px; background: #22192e; border: 1px solid var(--border); }
.kit-download-card h3 { margin: 0 0 10px; font-size: 1.2rem; }
.kit-download-card p { color: #e8d6e0; font-size: .9rem; margin: 0 0 20px; }
.kit-download { width: fit-content; max-width: 100%; padding: 12px 18px; border: 2px solid #75455f; background: #372837; color: #d7bcc9; font-size: .79rem; font-weight: 850; letter-spacing: .035em; text-align: center; cursor: not-allowed; opacity: 1; clip-path: polygon(6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,100% 3px,100% calc(100% - 3px),calc(100% - 6px) calc(100% - 3px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 3px),0 calc(100% - 3px),0 3px,6px 3px); }
.kit-asset-section { max-width: 930px; margin: 34px 0 0; padding: 25px 26px 28px; background: rgba(23,17,33,.60); border-left: 3px solid #d46293; }
.kit-asset-section > h3 { margin: 0 0 12px; font: 900 clamp(1.12rem, 2vw, 1.45rem)/1.3 var(--display-font); letter-spacing: .06em; }
.kit-asset-section > p { max-width: 850px; margin: 0 0 19px; color: #f2e5eb; font-size: .94rem; }
.kit-asset-art { width: min(430px, 100%); aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: 13px; border: 2px solid #9c4c72; }
.kit-asset-art img { width: 100%; height: 100%; object-fit: cover; }
.kit-factsheet { width: 100%; max-width: 780px; gap: 0; grid-template-columns: 160px minmax(0,1fr); border-top: 1px solid #ffffff2c; }
.kit-factsheet dt, .kit-factsheet dd { margin: 0; padding: 13px 14px; border-bottom: 1px solid #ffffff2c; overflow-wrap: anywhere; }
.kit-factsheet dt { background: #231a2f; color: var(--mustard); }
.kit-factsheet dd { background: rgba(15, 11, 24, .23); }
.kit-factsheet dd a { color: #ffcf8e; text-underline-offset: 4px; }
.kit-screenshot-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.kit-screenshot { display: block; min-width: 0; padding: 0; border: 2px solid var(--pink); background: #171321; color: var(--text); text-align: left; cursor: zoom-in; transition: transform .18s, border-color .18s; }
.kit-screenshot:hover { border-color: var(--mustard); transform: translateY(-3px); }
.kit-screenshot img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.kit-screenshot__label { display: block; padding: 7px 10px; font-weight: 800; font-size: .72rem; letter-spacing: .06em; }
.kit-video-figure { margin: 18px 0 22px; width: min(730px,100%); }
.kit-video { display: block; width: 100%; aspect-ratio: 16/9; background: #0f0c19; border: 2px solid var(--pink); object-fit: contain; }
.kit-info-panel { max-width: 850px; padding: 25px; background: rgba(23,17,33,.72); border: 1px solid var(--border); }
.kit-info-panel h3 { margin: 0 0 10px; font: 850 1.12rem/1.4 var(--display-font); letter-spacing: .06em; }
.kit-info-panel h3:not(:first-child) { margin-top: 30px; }
.kit-info-panel p { max-width: 760px; line-height: 1.85; margin: 0 0 13px; }
.kit-mail { display: inline-block; color: var(--mustard); text-underline-offset: 4px; font-weight: 800; overflow-wrap: anywhere; }
.kit-lightbox { position: fixed; width: min(95vw, 1600px); max-width: 95vw; max-height: 94vh; margin: auto; padding: 18px; border: 2px solid var(--pink); color: var(--text); background: #14111e; box-shadow: 0 20px 100px #000b; }
.kit-lightbox::backdrop { background: rgba(8,6,14,.91); }
.kit-lightbox__body { display: flex; flex-direction: column; gap: 8px; align-items: center; position: relative; }
.kit-lightbox__image { display: block; max-width: 100%; max-height: calc(94vh - 95px); width: auto; height: auto; object-fit: contain; image-rendering: pixelated; }
.kit-lightbox__close { position: absolute; top: 4px; right: 4px; z-index: 2; display: grid; place-items: center; width: 42px; height: 42px; border: 2px solid #fff8; background: #15111deb; color: #fff; font-size: 2rem; line-height: 1; }
.kit-lightbox__close:hover { border-color: var(--mustard); }
.kit-lightbox__caption { margin: 0; color: #e8d6e0; font-weight: 800; font-size: .78rem; }

@media (max-width: 1200px) {
  body[data-page="presskit"] .content-width { width: calc(100% - 220px); margin-left: 5vw; }
}
@media (max-width: 760px) {
  body[data-page="presskit"] .content-width { width: calc(100% - 44px); margin-inline: 22px; }
  .press-page-header { min-height: 135px; padding: 28px 0 8px; }
  .press-page-header__logo { width: clamp(185px, 49vw, 255px); }
  .press-detail__hero { padding: 20px 0 27px; }
  .press-detail__banner { margin-bottom: 24px; }
  .press-detail__inner { padding-bottom: 162px; }
  .press-detail__section { padding: 33px 0 40px; }
  .press-detail .kit-heading { gap: 12px; margin-bottom: 24px; }
  .press-detail .kit-heading .section-heading__icon { width: 56px; height: 56px; }
  .press-detail .kit-heading h2 { font-size: clamp(1.3rem, 5.1vw, 2.1rem); max-width: calc(100% - 68px); }
  .press-detail .kit-heading .section-heading__rule { display: none; }
  .kit-logo-showcase { grid-template-columns: 1fr; }
  .kit-asset-section { padding: 20px 16px; }
  .kit-download-card { padding: 20px; }
  .kit-screenshot-grid { gap: 9px; }
  .kit-screenshot__label { font-size: .62rem; }
  .kit-factsheet { grid-template-columns: 104px minmax(0,1fr); }
  .kit-factsheet dt, .kit-factsheet dd { padding: 12px 9px; font-size: .83rem; }
  .kit-lightbox { padding: 8px; }
}
@media (max-width: 420px) {
  .kit-screenshot-grid { grid-template-columns: 1fr; }
  .press-detail .kit-heading h2 { font-size: 1.25rem; }
}

/* Explicitly preserve the requested navigation and Go Top animation even when
   OS reduced-motion is active. The existing HOME video motion preference is unchanged. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: smooth; }
  .go-top { transition-duration: .30s, .30s !important; }
  .go-top.is-visible { transition-duration: .40s, .40s !important; }
}
