/* ==========================================================================
   Game Overdrive — design system
   Editorial, calm, credible: real brand lime accent, light + dark modes,
   Space Grotesk headlines, hairline depth. Distinct from any single trend —
   built for authority, not for a club flyer.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens — dark mode is the default; light mode overrides at the bottom
      of this section via [data-theme="light-mode"].
   -------------------------------------------------------------------------- */
:root {
	/* Surfaces (dark, default) */
	--canvas: #131313;
	--slate: #1c1c1c;
	--surface-2: #242424;
	--frame: #303030;
	--black: #000000;

	/* Text (dark, default) */
	--white: #ffffff;
	--text: #f2f2f0;
	--text-secondary: #96968f;
	--text-muted: #d4d4d0;
	--inverted: #131313;

	/* Brand — the real Game Overdrive lime, used sparingly */
	--lime: #c4de07;
	--lime-dim: #9bb000;
	--ink-on-lime: #14170a;

	/* States */
	--link-hover: #d8ef2f;
	--focus: #4f8cff;

	/* Legacy aliases kept so every component below stays readable */
	--mint: var(--lime);
	--mint-border: var(--lime-dim);
	--uv: #3a3ea8;
	--purple-rule: var(--frame);
	--acc-mint: var(--lime);
	--acc-uv: #3a3ea8;
	--acc-yellow: #e4c53c;
	--acc-pink: #cf6b8f;
	--acc-orange: #c98a4b;

	/* Radii — fewer steps than a "hazard tape" system, calmer hierarchy */
	--r-xs: 3px;
	--r-sm: 6px;
	--r-md: 10px;
	--r-card: 14px;
	--r-feature: 16px;
	--r-promo: 16px;
	--r-pill: 999px;

	/* Type */
	--font-display: 'Anton', 'Archivo Black', Impact, 'Helvetica Neue', sans-serif;
	--font-sans: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
	--font-mono: 'Space Mono', 'Courier New', Courier, monospace;
	--font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;

	/* Layout */
	--container: 1300px;
	--reading: 720px;
	--gap: 24px;
	--pad: 48px;

	/* Hairline */
	--hair: 1px solid var(--border, rgba(255, 255, 255, 0.12));
	--hair-strong: 1px solid var(--border-strong, rgba(255, 255, 255, 0.22));
	--border: rgba(255, 255, 255, 0.12);
	--border-strong: rgba(255, 255, 255, 0.22);
}

/* Light mode — same tokens, different surface/text values. Brand + state
   colors (lime, link-hover, focus) stay identical in both modes. */
html[data-theme='light-mode'] {
	--canvas: #f7f7f4;
	--slate: #ffffff;
	--surface-2: #efefe9;
	--frame: #dcdcd4;

	--white: #14150f;
	--text: #17181a;
	--text-secondary: #63635c;
	--text-muted: #3a3a35;
	--inverted: #131313;

	--border: rgba(20, 20, 15, 0.10);
	--border-strong: rgba(20, 20, 15, 0.20);
	--link-hover: #6f8000;
}

/* --------------------------------------------------------------------------
   2. Reset / base
   -------------------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body.go-verge {
	margin: 0;
	background: var(--canvas);
	color: var(--text);
	font-family: var(--font-sans) !important;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
	transition: background-color 200ms ease, color 200ms ease;
}

body.go-lock { overflow: hidden; }

/*
 * Typography ownership for the new design system.
 * The legacy Gamxo Customizer emits font-family declarations with !important;
 * these narrowly scoped rules prevent database-specific typography settings
 * from changing the same theme files between localhost and production.
 */
body.go-verge .go-article__title,
body.go-verge .go-tile__title,
body.go-verge .go-section__title,
body.go-verge .go-archive-feature__title,
body.go-verge .go-archive-row__title,
body.go-verge .go-pagehead__title,
body.go-verge .go-institutional__title,
body.go-verge .go-gamecard__title,
body.go-verge .go-home-panel__title,
body.go-verge .go-pillar__title {
	font-family: var(--font-sans) !important;
}

body.go-verge .go-article__deck {
	font-family: var(--font-sans) !important;
}

body.go-verge .go-meta,
body.go-verge .go-label,
body.go-verge .go-chip,
body.go-verge .go-btn {
	font-family: var(--font-mono) !important;
}


img { max-width: 100%; height: auto; display: block; }

a { color: var(--text); text-decoration: none; transition: color 150ms ease, background-color 180ms ease, box-shadow 180ms ease, border-color 150ms ease; }
a:hover { color: var(--link-hover); }

button { font-family: inherit; cursor: pointer; }

:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

hr { border: 0; border-top: var(--hair); margin: 32px 0; }

::selection { background: var(--lime); color: var(--ink-on-lime); }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px; overflow: hidden;
	padding: 0; margin: -1px; border: 0;
}
.skip-link {
	position: absolute; left: -999px; top: 0; z-index: 1000;
	background: var(--lime); color: var(--ink-on-lime); padding: 10px 18px;
	font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px;
}
.skip-link:focus { left: 12px; top: 12px; color: var(--ink-on-lime); }

/* --------------------------------------------------------------------------
   3. Layout primitives
   -------------------------------------------------------------------------- */
.go-container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--pad);
}

.go-section { padding-block: 44px; border-top: 0; }
.go-section--rule, .go-home-section--rule { border-top: var(--hair); }

.go-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.go-section__title {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 1.95rem);
	line-height: 1.14;
	margin: 0;
	letter-spacing: -0.01em;
}

.go-eyebrow {
	display: inline-block;
	font-family: var(--font-mono);
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 1.6px;
	line-height: 1.2;
	color: var(--text-secondary);
	text-transform: uppercase;
}

.go-grid { display: grid; gap: var(--gap); grid-template-columns: repeat(3, 1fr); }
.go-grid--2 { grid-template-columns: repeat(2, 1fr); }
.go-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* --------------------------------------------------------------------------
   4. Type utilities / labels
   -------------------------------------------------------------------------- */
.go-mono {
	font-family: var(--font-mono);
	text-transform: uppercase;
	letter-spacing: 1.1px;
	font-size: 0.69rem;
	color: var(--text-secondary);
}
.go-byline { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; font-size: 0.63rem; color: var(--text-secondary); }
.go-byline:hover { color: var(--link-hover); }
.go-time { white-space: nowrap; text-transform: none; letter-spacing: 0.35px; }
.go-dot { color: var(--text-secondary); margin-inline: 6px; }

.go-tag {
	display: inline-block;
	font-family: var(--font-mono);
	text-transform: uppercase;
	letter-spacing: 1.4px;
	font-size: 0.66rem;
	padding: 5px 12px;
	border-radius: var(--r-pill);
	background: var(--surface-2);
	border: var(--hair);
	color: var(--text-muted);
}
.go-tag:hover { border-color: var(--lime); color: var(--lime-dim); }

/* --------------------------------------------------------------------------
   5. Buttons & pills
   -------------------------------------------------------------------------- */
.go-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-sans);
	font-weight: 600;
	font-size: 0.86rem;
	line-height: 1;
	padding: 12px 22px;
	border-radius: var(--r-pill);
	border: 1px solid transparent;
	background: var(--surface-2);
	color: var(--text);
	transition: background-color 160ms ease, color 150ms ease, border-color 150ms ease;
}
.go-btn:hover { border-color: var(--border-strong); }
.go-btn:active { opacity: 0.75; }

.go-btn--mint { background: var(--lime); color: var(--ink-on-lime); font-weight: 700; }
.go-btn--mint:hover { background: var(--lime-dim); border-color: transparent; }

.go-btn--outline-mint { background: transparent; border-color: var(--lime-dim); color: var(--lime-dim); }
.go-btn--outline-mint:hover { background: var(--lime); border-color: var(--lime); color: var(--ink-on-lime); }

.go-btn--outline-uv { background: transparent; border-color: var(--border-strong); color: var(--text); }
.go-btn--outline-uv:hover { border-color: var(--lime); color: var(--lime-dim); }

.go-btn--block { width: 100%; justify-content: center; }

.go-iconbtn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: transparent; border: 1px solid transparent; color: var(--text);
}
.go-iconbtn:hover { border-color: var(--lime-dim); color: var(--lime-dim); }
.go-iconbtn svg {
	width: 18px; height: 18px;
	fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

/* --------------------------------------------------------------------------
   6. Image frame + score badge
   -------------------------------------------------------------------------- */
.go-frame {
	position: relative;
	display: block;
	overflow: hidden;
	border: 1px solid var(--frame);
	border-radius: var(--r-sm);
	background: var(--surface-2);
	aspect-ratio: 16 / 9;
}
.go-frame img { width: 100%; height: 100%; object-fit: cover; }

.go-score {
	position: absolute; top: 10px; right: 10px;
	font-family: var(--font-mono); font-weight: 700; font-size: 0.85rem;
	padding: 4px 10px; border-radius: var(--r-pill);
	background: var(--lime); color: var(--ink-on-lime);
	letter-spacing: 0.5px;
}
.go-score.is-mid { background: var(--acc-yellow); color: var(--ink-on-lime); }
.go-score.is-low { background: var(--acc-orange); color: var(--ink-on-lime); }

/* --------------------------------------------------------------------------
   7. Story tile
   -------------------------------------------------------------------------- */
.go-tile { display: flex; flex-direction: column; gap: 12px; }
.go-tile__body { display: grid; gap: 6px; min-width: 0; }
.go-tile__media { aspect-ratio: 16 / 9; }
.go-tile__title { margin: 0; font-family: var(--font-sans); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
.go-tile__title a { color: var(--text); }
.go-tile__title a:hover { color: var(--link-hover); }
.go-tile__deck { margin: 0; color: var(--text-secondary); font-size: 0.94rem; line-height: 1.5; }
.go-tile__meta { display: flex; align-items: center; flex-wrap: wrap; margin-top: 1px; }

.go-tile--standard .go-tile__title { font-size: 1.32rem; }
.go-tile--compact { gap: 10px; }
.go-tile--compact .go-tile__title { font-size: 1.06rem; }
.go-tile--feature .go-tile__title { font-size: clamp(1.75rem, 3vw, 2.55rem); font-weight: 700; }
.go-tile--feature .go-tile__deck { font-size: 1rem; }

/* Featured tile — a restrained lime wash, not a full saturated block */
.go-tile--accent {
	gap: 0;
	border: 1px solid var(--lime-dim);
	border-radius: var(--r-card);
	padding: 22px;
	background: color-mix(in srgb, var(--lime) 10%, var(--canvas));
}
.go-tile--accent .go-tile__media { margin-bottom: 16px; }
.go-accent-mint, .go-accent-uv, .go-accent-yellow, .go-accent-pink, .go-accent-orange {
	border: 1px solid var(--lime-dim);
	background: color-mix(in srgb, var(--lime) 10%, var(--canvas));
}

.go-list { display: flex; flex-direction: column; }
.go-list .go-tile { padding-block: 16px; border-top: var(--hair); gap: 8px; }
.go-list .go-tile:first-child { border-top: 0; padding-top: 0; }
.go-list .go-tile__title { font-size: 1.02rem; }
.go-list .go-tile--compact { flex-direction: row; align-items: center; gap: 14px; }
.go-list .go-tile--compact .go-tile__media { flex: none; width: 64px; aspect-ratio: 1 / 1; border-radius: var(--r-sm); }
.go-list .go-tile--compact .go-tile__body { min-width: 0; }

/* Quick editorial links row below the hero */
.go-quicklinks { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 24px; border-top: var(--hair); }
.go-quicklinks a {
	font-family: var(--font-mono); font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; font-size: 0.72rem;
	border: var(--hair); border-radius: var(--r-pill); padding: 9px 18px; color: var(--text-muted);
}
.go-quicklinks a:hover { background: var(--lime); border-color: var(--lime); color: var(--ink-on-lime); }

/* --------------------------------------------------------------------------
   8. StoryStream timeline — a quiet wire-service rail, not a rave rail
   -------------------------------------------------------------------------- */
.go-stream { list-style: none; margin: 0; padding: 0; position: relative; }
.go-stream__item {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 20px;
	padding-bottom: 16px;
	margin-bottom: 16px;
}
.go-stream__rail { position: relative; padding-top: 2px; }
.go-stream__rail::before {
	content: ""; position: absolute; top: 6px; bottom: -32px; right: -10px;
	border-left: 1px solid var(--border);
}
.go-stream__rail::after {
	content: ""; position: absolute; top: 4px; right: -13px;
	width: 6px; height: 6px; border-radius: 50%;
	background: var(--lime);
}
.go-stream__item:last-child .go-stream__rail::before { display: none; }
.go-stream__card {
	display: grid; grid-template-columns: 240px 1fr; gap: 20px;
	border: var(--hair); border-radius: var(--r-card); padding: 18px;
	transition: border-color 150ms ease;
}
.go-stream__card:hover { border-color: var(--border-strong); }
.go-stream__media { aspect-ratio: 16 / 9; border-radius: var(--r-sm); }
.go-stream__item--accent .go-stream__card {
	border: 1px solid var(--lime-dim);
	background: color-mix(in srgb, var(--lime) 8%, var(--canvas));
}

/* --------------------------------------------------------------------------
   9. Header
   -------------------------------------------------------------------------- */
.go-header {
	position: sticky; top: 0; z-index: 60;
	background: var(--canvas);
	border-bottom: var(--hair);
}
.go-header__bar {
	display: flex; align-items: center; gap: 20px;
	height: 72px;
}
.go-header__left { display: flex; align-items: center; gap: 14px; }
.go-header__right { display: flex; align-items: center; gap: 8px; margin-left: auto; }


.go-header-social { position: relative; }
.go-header-social__toggle[aria-expanded="true"] {
	border-color: var(--lime-dim);
	color: var(--lime-dim);
}
.go-header-social__menu {
	position: absolute; top: calc(100% + 12px); right: 0;
	width: min(240px, calc(100vw - 40px));
	padding: 8px;
	background: var(--slate);
	border: var(--hair);
	border-radius: var(--r-card);
	z-index: 75;
	opacity: 0; visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 150ms ease, transform 150ms ease, visibility 150ms;
}
.go-header-social.is-open .go-header-social__menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.go-header-social__menu a {
	display: flex; align-items: center; min-height: 40px;
	padding: 9px 12px; border-radius: var(--r-sm);
	font-family: var(--font-sans); font-size: 0.86rem; font-weight: 600;
	color: var(--text-muted);
}
.go-header-social__menu a:hover,
.go-header-social__menu a:focus-visible {
	background: var(--surface-2); color: var(--lime-dim);
}

.go-wordmark { display: inline-flex; align-items: center; }

/* Logo lockup — dark/light-optimized artwork swapped via data-theme */
.go-logo { display: inline-flex; align-items: center; line-height: 0; }
.go-logo__img { height: 30px; width: auto; }
.go-logo__img--light { display: none; }
html[data-theme='light-mode'] .go-logo__img--dark { display: none; }
html[data-theme='light-mode'] .go-logo__img--light { display: block; }
.go-logo--icon .go-logo__img { height: 34px; }

/* Color-mode switch */
.go-theme-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%; border: 1px solid transparent;
	color: var(--text-secondary); background: transparent;
}
.go-theme-toggle:hover { border-color: var(--border-strong); color: var(--text); }
.go-theme-toggle svg { width: 18px; height: 18px; fill: currentColor; }
.go-theme-toggle .go-theme-toggle__moon { display: none; }
html[data-theme='light-mode'] .go-theme-toggle .go-theme-toggle__sun { display: none; }
html[data-theme='light-mode'] .go-theme-toggle .go-theme-toggle__moon { display: block; }


/* --------------------------------------------------------------------------
   10. Search overlay
   -------------------------------------------------------------------------- */
.go-search {
	position: fixed; inset: 0; z-index: 90;
	background: color-mix(in srgb, var(--canvas) 97%, transparent);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden; transition: opacity 200ms ease, visibility 200ms;
}
.go-search.is-open { opacity: 1; visibility: visible; }
.go-search__inner { width: min(760px, 90vw); }
.go-search__close { position: absolute; top: 24px; right: 24px; }
.go-search form { display: flex; align-items: center; gap: 12px; border-bottom: 2px solid var(--lime); }
.go-search input[type="search"] {
	flex: 1; background: transparent; border: 0; color: var(--text);
	font-family: var(--font-sans); font-weight: 700; font-size: clamp(1.6rem, 4.5vw, 2.6rem);
	padding: 14px 0;
}
.go-search input[type="search"]:focus { outline: none; }
.go-search input::placeholder { color: var(--text-secondary); }
.go-search__inner .go-mono { display: block; margin-bottom: 12px; }

/* --------------------------------------------------------------------------
   11. Offcanvas drawer
   -------------------------------------------------------------------------- */
.go-offcanvas__backdrop {
	position: fixed; inset: 0; z-index: 95; background: rgba(0,0,0,0.5);
	opacity: 0; visibility: hidden; transition: opacity 200ms ease, visibility 200ms;
}
.go-offcanvas__backdrop.is-open { opacity: 1; visibility: visible; }
.go-offcanvas {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 96;
	width: min(400px, 88vw);
	background: var(--canvas);
	border-left: var(--hair-strong);
	transform: translateX(100%);
	transition: transform 260ms cubic-bezier(0.4, 0, 0.2, 1);
	display: flex; flex-direction: column;
	overflow-y: auto;
}
.go-offcanvas.is-open { transform: translateX(0); }
.go-offcanvas__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 26px; border-bottom: var(--hair); }
.go-offcanvas__head .go-wordmark { min-width: 0; }
.go-offcanvas__head .go-logo--full .go-logo__img { height: 42px; max-width: 250px; object-fit: contain; object-position: left center; }
.go-offcanvas__body { padding: 22px 26px 40px; }
.go-offcanvas__label { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.68rem; color: var(--text-secondary); margin: 26px 0 12px; }
.go-offcanvas__label:first-child { margin-top: 0; }
.go-offcanvas__menu { list-style: none; margin: 0 0 8px; padding: 0; }
.go-offcanvas__menu li { border-top: var(--hair); }
.go-offcanvas__menu > li:first-child { border-top: 0; }
.go-offcanvas__menu a {
	display: block; padding: 13px 0;
	font-family: var(--font-sans); font-weight: 500;
	font-size: 0.92rem; color: var(--text);
}
.go-offcanvas__menu a:hover { color: var(--lime-dim); padding-left: 4px; }
.go-offcanvas__menu .sub-menu { list-style: none; margin: 0; padding: 0 0 8px 14px; }
.go-offcanvas__menu .sub-menu a { padding: 9px 0; font-size: 0.82rem; color: var(--text-secondary); }
.go-offcanvas__socials { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; }
.go-offcanvas__socials a { font-family: var(--font-sans); font-size: 0.78rem; font-weight: 500; border: var(--hair); border-radius: var(--r-pill); padding: 8px 16px; color: var(--text-muted); }
.go-offcanvas__socials a:hover { border-color: var(--lime-dim); color: var(--lime-dim); }
.go-offcanvas__body > .go-btn--block { margin-top: 28px; }

/* --------------------------------------------------------------------------
   12. Homepage
   -------------------------------------------------------------------------- */
.go-masthead { padding-block: 32px 8px; }
.go-masthead__logo { line-height: 0.85; display: inline-block; }
.go-wordmark-text {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(2.6rem, 8vw, 5.5rem);
	line-height: 0.95;
	letter-spacing: -0.02em;
	color: var(--text);
	text-transform: uppercase;
}
.go-wordmark-text__over { color: var(--lime); }
.go-masthead__tagline { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.6px; font-size: 0.7rem; color: var(--text-secondary); margin-top: 14px; }

.go-hero-visual { padding-top: 34px; padding-bottom: 12px; }
.go-hero-visual__top { display: grid; grid-template-columns: minmax(0, 2fr) minmax(290px, 0.9fr); gap: 22px; align-items: start; }
.go-hero-visual__side { display: grid; gap: 20px; }
.go-hero-visual__bottom { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
.go-hero-visual .go-tile__media { border-radius: var(--r-feature); }
.go-hero-visual__feature .go-tile {
	position: relative;
	gap: 0;
	overflow: hidden;
	border-radius: var(--r-feature);
	background: var(--surface-2);
}
.go-hero-visual__feature .go-tile__media {
	margin: 0;
	border: 0;
	border-radius: inherit;
}
.go-hero-visual__feature .go-tile__media::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.58) 36%, rgba(0, 0, 0, 0.12) 68%, rgba(0, 0, 0, 0) 84%);
}
.go-hero-visual__feature .go-tile__body {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	padding: clamp(20px, 3vw, 34px);
	gap: 9px;
	pointer-events: none;
}
.go-hero-visual__feature .go-tile__title {
	max-width: 880px;
	font-size: clamp(1.72rem, 2.95vw, 2.78rem);
	line-height: 1.06;
	letter-spacing: -0.022em;
	text-wrap: balance;
}
.go-hero-visual__feature .go-tile__title a {
	color: #fff;
	pointer-events: auto;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.28);
}
.go-hero-visual__feature .go-tile__title a:hover { color: var(--lime); }
.go-hero-visual__feature .go-tile__pretitle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	padding: 8px 14px 8px 12px;
	border: 1px solid rgba(196, 222, 7, 0.34);
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(196, 222, 7, 0.16) 0%, rgba(196, 222, 7, 0.04) 54%, rgba(0, 0, 0, 0.18) 100%);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	font-family: var(--font-mono);
	font-size: clamp(0.74rem, 0.92vw, 0.86rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #f6f8ed;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}
.go-hero-visual__feature .go-tile__pretitle::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--lime);
	box-shadow: 0 0 0 4px rgba(196, 222, 7, 0.12);
	flex: 0 0 auto;
}
.go-hero-visual__feature .go-tile__pretitle::after {
	content: '';
	width: clamp(24px, 3vw, 40px);
	height: 1px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(196, 222, 7, 0.95) 0%, rgba(196, 222, 7, 0.22) 100%);
	opacity: 1;
}
.go-hero-visual__feature .go-tile__meta,
.go-hero-visual__feature .go-time,
.go-hero-visual__feature .go-byline { color: rgba(255, 255, 255, 0.82); }
.go-hero-visual__feature .go-tile__meta a { color: inherit; pointer-events: auto; }
.go-hero-visual__feature .go-tile__deck { display: none; }
.go-hero-visual__feature .go-tile--noimage { min-height: 360px; }
.go-hero-visual__feature .go-tile--noimage .go-tile__body { position: relative; margin-top: auto; }
.go-hero-visual__side .go-tile__title { font-size: 1.08rem; line-height: 1.18; }
.go-hero-visual__side .go-tile__meta .go-byline,
.go-hero-visual__bottom .go-tile__meta .go-byline { display: none; }
.go-hero-visual__bottom .go-tile__title { font-size: 1.14rem; line-height: 1.2; }
.go-hero-visual__feature .go-tile__pretitle:hover {
	border-color: rgba(216, 239, 47, 0.42);
	background: linear-gradient(90deg, rgba(196, 222, 7, 0.22) 0%, rgba(196, 222, 7, 0.06) 54%, rgba(0, 0, 0, 0.22) 100%);
}

.go-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.go-pillar__title a { color: var(--text); }
.go-pillar__title a:hover { color: var(--lime-dim); }

.go-promo {
	border-radius: var(--r-feature);
	background: var(--surface-2);
	border: 1px solid var(--lime-dim);
	padding: 36px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center;
}
.go-promo__title { font-family: var(--font-sans); font-weight: 700; font-size: clamp(1.5rem, 3vw, 2.3rem); line-height: 1.1; margin: 8px 0 14px; }
.go-promo--platform { margin-top: 28px; grid-template-columns: 1fr auto; }
.go-promo--platform .go-mono { color: var(--text-secondary); }
.go-promo__title--compact { font-size: clamp(1.3rem, 2.6vw, 2rem); }


/* Homepage editorial modules -------------------------------------------------
   These layouts intentionally reuse .go-tile, .go-list, .go-grid and .go-stream.
   No separate card system or theme-specific color overrides are introduced. */
.go-latest-bar {
	position: sticky;
	top: 72px;
	z-index: 55;
	background: var(--slate);
	border-bottom: var(--hair);
	transition: transform 180ms ease, opacity 180ms ease;
}
.go-latest-bar.is-hidden { transform: translateY(calc(-100% - 2px)); opacity: 0; pointer-events: none; }
.go-latest-bar__inner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: stretch; min-height: 38px; }
.go-latest-bar__label {
	display: flex; align-items: center; padding: 0 18px;
	font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700;
	letter-spacing: 1.3px; text-transform: uppercase;
	background: var(--lime); color: var(--ink-on-lime);
}
.go-latest-bar__items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; }
.go-latest-bar__item { display: flex; align-items: center; min-width: 0; padding: 6px 14px; border-left: var(--hair); }
.go-latest-bar__item > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.74rem; font-weight: 600; color: var(--text-muted); }
.go-latest-bar__item:hover > span:first-child { color: var(--link-hover); }
.go-latest-bar__item .go-time { font-size: 0.56rem; }

.go-home-explore { padding-block: 38px 20px; }
.go-home-explore__head { margin-bottom: 18px; }

/* Visual editorial anchors: image-led navigation, distinct from story cards. */
.go-topic-nav {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}
.go-topic-card {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	min-width: 0;
	min-height: 176px;
	overflow: hidden;
	border: var(--hair);
	border-radius: var(--r-card);
	background: var(--slate);
	color: var(--text);
	transition: border-color 160ms ease, background-color 160ms ease;
}
.go-topic-card__media {
	display: block;
	min-height: 124px;
	overflow: hidden;
	background: var(--surface-2);
}
.go-topic-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.go-topic-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 48px;
	padding: 10px 12px;
	border-top: var(--hair);
	background: var(--slate);
}
.go-topic-card__label {
	min-width: 0;
	font-family: var(--font-sans);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.15;
}
.go-topic-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 26px;
	height: 26px;
	border: 1px solid color-mix(in srgb, var(--lime) 55%, var(--frame));
	border-radius: 50%;
	background: color-mix(in srgb, var(--lime) 14%, var(--surface-2));
	color: var(--lime);
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.go-topic-card__arrow svg {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.go-topic-card--empty .go-topic-card__media {
	position: relative;
	background: var(--surface-2);
}
.go-topic-card--empty .go-topic-card__media::after {
	content: '';
	position: absolute;
	inset: 18px;
	border: 1px solid var(--frame);
	border-radius: var(--r-sm);
}
.go-topic-card:hover {
	border-color: var(--lime-dim);
	background: var(--surface-2);
}
.go-topic-card:hover .go-topic-card__label { color: var(--link-hover); }
.go-topic-card:hover .go-topic-card__arrow { background: var(--lime); border-color: var(--lime); color: var(--ink-on-lime); }
.go-topic-card:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 3px;
}

.go-home-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
}
.go-home-split--quiet { background: var(--slate); }
.go-home-panel { min-width: 0; }
.go-home-panel__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 20px;
	padding-bottom: 0;
	border-bottom: 0;
}
.go-home-panel__title {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
	font-weight: 700;
	line-height: 1.15;
}
.go-home-panel__link {
	font-family: var(--font-mono);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--text-secondary);
}
.go-home-panel__link:hover { color: var(--lime-dim); }
.go-home-panel__content > .go-tile:first-child { margin-bottom: 10px; }
.go-home-panel__content > .go-tile + .go-tile {
	padding-block: 12px;
	border-top: 1px solid color-mix(in srgb, var(--frame) 64%, transparent);
}
.go-home-panel__content > .go-tile--compact:not(:first-child) {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
}
.go-home-panel__content > .go-tile--compact:not(:first-child) .go-tile__media {
	width: 84px;
	aspect-ratio: 1 / 1;
}
.go-home-panel__content > .go-tile--compact:not(:first-child) .go-tile__meta { display: none; }

/* Reviews: one restrained lead, not a saturated accent card. */
.go-home-panel--reviews .go-home-panel__content > .go-tile:first-child {
	margin-bottom: 14px;
	padding: 14px;
	border: 1px solid color-mix(in srgb, var(--lime) 28%, var(--frame));
	border-radius: var(--r-md);
	background: color-mix(in srgb, var(--lime) 3%, var(--slate));
}
.go-home-panel--reviews .go-home-panel__content > .go-tile:first-child .go-score {
	top: auto;
	right: 10px;
	bottom: 10px;
	padding: 5px 9px;
}

.go-home-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--gap);
}
.go-home-feature-grid > .go-tile:first-child {
	grid-column: span 2;
	grid-row: span 2;
}
.go-home-feature-grid > .go-tile:first-child .go-frame { border-radius: var(--r-feature); }
.go-home-feature-grid > .go-tile:nth-child(n + 6) { display: none; }

.go-home-card-grid .go-tile__title { font-size: 1.12rem; }

.go-home-promo-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.85fr);
	gap: 24px 30px;
	align-items: start;
}
.go-home-promo-grid > .go-tile:first-child {
	grid-row: span 5;
	gap: 14px;
	padding: 16px;
	border: var(--hair);
	border-radius: var(--r-feature);
	background: var(--slate);
}
.go-home-promo-grid > .go-tile:first-child .go-tile__media {
	overflow: hidden;
	border-radius: var(--r-md);
}
.go-home-promo-grid > .go-tile:first-child .go-tile__title {
	font-size: clamp(1.6rem, 2.7vw, 2.25rem);
	line-height: 1.08;
}
.go-home-promo-grid > .go-tile:first-child .go-tile__deck {
	max-width: 62ch;
	color: var(--text-secondary);
}
.go-home-promo-grid > .go-tile--compact {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	min-height: 96px;
	padding: 12px 0;
	border-top: 1px solid color-mix(in srgb, var(--frame) 72%, transparent);
}
.go-home-promo-grid > .go-tile--compact:nth-child(2) {
	padding-top: 0;
	border-top: 0;
}
.go-home-promo-grid > .go-tile--compact .go-tile__media {
	width: 92px;
	aspect-ratio: 1 / 1;
	border-radius: var(--r-sm);
}
.go-home-promo-grid > .go-tile--compact .go-tile__title {
	font-size: 0.96rem;
	line-height: 1.24;
}
.go-home-promo-grid > .go-tile--compact .go-tile__meta { display: none; }

.go-home-platforms {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.go-home-platform {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 154px;
	padding: 22px 50px 22px 20px;
	border: var(--hair);
	border-radius: var(--r-card);
	background: var(--slate);
}
.go-home-platform__name {
	font-family: var(--font-mono);
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--lime-dim);
}
.go-home-platform__story {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	margin-top: 14px;
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.3;
	color: var(--text);
}
.go-home-platform__arrow {
	position: absolute;
	right: 20px;
	bottom: 20px;
	font-size: 1.2rem;
	color: var(--text-secondary);
}
.go-home-platform:hover { background: var(--surface-2); }
.go-home-platform:hover .go-home-platform__story,
.go-home-platform:hover .go-home-platform__arrow { color: var(--link-hover); }

.go-home-media-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--gap);
}
.go-home-media-grid > .go-tile:first-child { grid-column: span 2; grid-row: span 2; }
.go-home-media-grid > .go-tile:first-child .go-frame { border-radius: var(--r-feature); }

.go-home-bottom {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 0.72fr);
	gap: 48px;
	align-items: start;
}
.go-home-feed { min-width: 0; }
.go-home-ranking {
	position: sticky;
	top: 96px;
	padding: 24px;
	border: var(--hair);
	border-radius: var(--r-card);
	background: var(--slate);
}
.go-home-ranking__head { padding-bottom: 16px; border-bottom: var(--hair); }
.go-home-ranking__list { list-style: none; margin: 0; padding: 0; }
.go-home-ranking__list li {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	padding-block: 17px;
	border-top: var(--hair);
}
.go-home-ranking__list li:first-child { border-top: 0; }
.go-home-ranking__number {
	font-family: var(--font-mono);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--lime-dim);
}
.go-home-ranking__list a {
	font-size: 0.94rem;
	font-weight: 650;
	line-height: 1.32;
	color: var(--text);
}
.go-home-ranking__list a:hover { color: var(--link-hover); }

/* --------------------------------------------------------------------------
   13. Archive / page headers
   -------------------------------------------------------------------------- */
.go-pagehead { padding-block: 36px 10px; }
.go-pagehead__eyebrow { display: block; }
.go-pagehead__title {
	font-family: var(--font-sans); font-weight: 700;
	font-size: clamp(2rem, 4.2vw, 3.15rem); line-height: 1.06; letter-spacing: -0.02em; margin: 0;
}
.go-pagehead__desc { max-width: var(--reading); color: var(--text-secondary); margin-top: 14px; font-size: 1.02rem; line-height: 1.55; }
.go-pagehead--platform { border-bottom: 1px solid var(--lime-dim); padding-bottom: 28px; }

.go-breadcrumbs { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.2px; font-size: 0.66rem; color: var(--text-secondary); margin-bottom: 6px; }
.go-breadcrumbs a { color: var(--text-secondary); }
.go-breadcrumbs a:hover { color: var(--lime-dim); }
.go-breadcrumbs .sep { margin-inline: 8px; }

.go-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.go-chips a {
	font-family: var(--font-sans); font-weight: 500; font-size: 0.82rem;
	border: var(--hair); border-radius: var(--r-pill); padding: 8px 16px; color: var(--text-muted);
}
.go-chips a:hover, .go-chips a.is-active { background: var(--lime); color: var(--ink-on-lime); border-color: var(--lime); }
.go-text-link { color: var(--lime-dim); }
.go-text-link:hover { color: var(--link-hover); }
.go-pagehead__search { max-width: 480px; margin-top: 20px; }

/* Editorial archives: section name, quiet divider, feature, then latest rows. */
.go-archive-page { padding-top: 22px; }
.go-archive-page > .go-archive-section--feature:first-child,
.go-games-hub > .go-archive-section--feature:first-child {
	border-top: 1px solid color-mix(in srgb, var(--frame) 62%, transparent);
	padding-top: 28px;
}
.go-archive-section + .go-archive-section { margin-top: 52px; }
.go-archive-feature { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr); gap: 28px; align-items: center; }
.go-archive-feature--no-media { grid-template-columns: minmax(0, 760px); }
.go-archive-feature__media { aspect-ratio: 16 / 9; border-radius: var(--r-feature); }
.go-archive-feature__title { margin: 0; font-size: clamp(1.7rem, 3vw, 2.65rem); line-height: 1.08; letter-spacing: -0.02em; }
.go-archive-feature__deck { margin: 14px 0 0; color: var(--text-secondary); line-height: 1.55; }
.go-archive-feature__meta { margin-top: 16px; }
.go-archive-list { display: grid; }
.go-archive-row { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 22px; align-items: center; padding: 20px 0; border-top: var(--hair); }
.go-archive-row--no-media { grid-template-columns: minmax(0, 1fr); }
.go-archive-row:first-child { border-top: 0; padding-top: 0; }
.go-archive-row__media { aspect-ratio: 16 / 9; border-radius: var(--r-md); }
.go-archive-row__title { margin: 0; font-size: clamp(1.12rem, 1.8vw, 1.45rem); line-height: 1.2; letter-spacing: -0.01em; }
.go-archive-row__deck { margin: 8px 0 0; color: var(--text-secondary); line-height: 1.5; font-size: 0.94rem; }
.go-archive-row__meta { display: flex; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.go-archive-row__type { display: block; margin-bottom: 6px; font-family: var(--font-mono); font-size: 0.64rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; }

/* Games hub and releases. */
.go-games-hub .go-archive-section + .go-archive-section { margin-top: 54px; }
.go-game-release-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.go-game-release-row { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 0; border-top: var(--hair); }
.go-game-release-row:nth-child(-n + 2) { border-top: 0; }
.go-game-release-row__media { width: 76px; aspect-ratio: 1 / 1; border-radius: var(--r-sm); }
.go-game-release-row h3 { margin: 0; font-size: 1rem; line-height: 1.25; }
.go-game-release-row p { margin: 6px 0 0; color: var(--text-secondary); font-size: 0.8rem; }

/* Promotions: persisted Nuuvem radar + editorial list. */
.go-promotions-page { padding-top: 28px; }
.go-promotions-page .go-archive-section { margin-top: 56px; }
.go-promo-radar { padding: 24px; border: 1px solid var(--lime-dim); border-radius: var(--r-feature); background: var(--slate); }
.go-promo-radar__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.go-promo-radar__item { min-width: 0; padding: 18px; border: var(--hair); border-radius: var(--r-card); background: var(--canvas); }
.go-promo-radar__item h3 { margin: 0 0 12px; font-size: 1rem; line-height: 1.28; }
.go-promo-radar__item p { margin: 10px 0 14px; color: var(--text-secondary); font-size: 0.88rem; line-height: 1.45; }
.go-promo-radar__code { display: inline-block; font-family: var(--font-mono); font-size: 0.82rem; letter-spacing: 0.7px; color: var(--ink-on-lime); background: var(--lime); border-radius: var(--r-sm); padding: 7px 10px; }
.go-promo-radar__meta { color: var(--text-muted) !important; }

/* --------------------------------------------------------------------------
   14. Single article
   -------------------------------------------------------------------------- */
.go-article { padding-block: 34px 64px; }
.go-article__header { max-width: 1040px; margin-inline: auto; text-align: left; }
.go-article__title {
	font-family: var(--font-sans); font-weight: 700; color: var(--text);
	font-size: clamp(2.15rem, 4.5vw, 3.55rem); line-height: 1.06; letter-spacing: -0.025em; margin: 0;
}
.go-article__deck { font-family: var(--font-sans); font-size: clamp(1.12rem, 2vw, 1.28rem); line-height: 1.45; color: var(--text-muted); margin: 16px 0 0; }
.go-article__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 20px; padding-top: 0; border-top: 0; }
.go-article__meta--below-hero { width: min(1200px, 100%); margin: 14px auto 0; }
.go-article__avatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; border: 1px solid var(--frame); margin-right: 8px; }
.go-article-layout {
	display: grid;
	grid-template-columns: minmax(0, var(--reading)) minmax(280px, 320px);
	justify-content: center;
	align-items: start;
	gap: 48px;
	margin-top: 38px;
}
.go-article__main { min-width: 0; }
.go-article__hero { width: min(1200px, 100%); margin: 32px auto 0; }
.go-article__hero .go-frame { border-radius: var(--r-feature); aspect-ratio: auto; }
.go-article__hero .go-frame img { width: 100%; height: auto; object-fit: cover; display: block; }
.go-article__hero .go-frame { position: relative; overflow: hidden; }
.go-article__hero-tag {
	position: absolute;
	left: 18px;
	top: 18px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border-radius: 999px;
	border: 1px solid rgba(196, 222, 7, 0.32);
	background: linear-gradient(90deg, rgba(196, 222, 7, 0.18) 0%, rgba(196, 222, 7, 0.04) 54%, rgba(0, 0, 0, 0.28) 100%);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #f6f8ed;
	text-shadow: 0 1px 10px rgba(0,0,0,0.24);
}
.go-article__hero-tag::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--lime);
	box-shadow: 0 0 0 4px rgba(196, 222, 7, 0.12);
}
.go-article__hero figcaption { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; font-size: 0.63rem; color: var(--text-secondary); margin-top: 10px; }

.go-article__content { max-width: none; width: 100%; margin: 30px 0 0; font-weight: 400; font-size: 1.16rem; line-height: 1.76; }
.go-article__content > * { margin-block: 0 1.4em; }
.go-article__content p { color: var(--text-muted); }

/* Drop cap — the "capitular" on the article's opening paragraph */
.go-article__content--dropcap > p:first-of-type::first-letter {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 3.6em;
	line-height: 0.82;
	float: left;
	padding: 0.03em 0.08em 0 0;
	color: var(--lime-dim);
}

/* Mid-article CTA */
.go-inline-cta {
	max-width: none; margin: 10px 0 1.5em;
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	border: 1px solid var(--lime-dim); border-radius: var(--r-card);
	padding: 22px 24px; background: color-mix(in srgb, var(--lime) 8%, var(--canvas));
}
.go-inline-cta__title { font-family: var(--font-sans); font-weight: 700; font-size: 1rem; color: var(--text); }
.go-article__content a { color: var(--lime-dim); box-shadow: 0 1px 0 0 var(--lime-dim); }
.go-article__content a:hover { color: var(--link-hover); box-shadow: 0 1px 0 0 var(--link-hover); }
.go-article__content h2 { font-family: var(--font-sans); font-weight: 700; font-size: 1.6rem; line-height: 1.2; margin-top: 1.8em; letter-spacing: -0.01em; }
.go-article__content h3 { font-family: var(--font-sans); font-weight: 700; font-size: 1.3rem; margin-top: 1.6em; }
.go-article__content img, .go-article__content .wp-block-image { border-radius: var(--r-md); overflow: hidden; }
.go-article__content > figure, .go-article__content .wp-block-image { width: 100%; max-width: 100%; }
.go-article__content .wp-block-image img, .go-article__content > figure img { width: 100%; height: auto; display: block; }
.go-article__content figure img { border: 1px solid var(--frame); border-radius: var(--r-md); }
.go-article__content blockquote {
	border-left: 2px solid var(--lime); margin: 1.6em 0; padding: 4px 0 4px 24px;
	font-family: var(--font-serif); font-size: 1.35rem; line-height: 1.35; color: var(--text);
}
.go-article__content ul, .go-article__content ol { padding-left: 1.3em; color: var(--text-muted); }
.go-article__content li { margin-bottom: 0.5em; }
.go-article__content code { font-family: var(--font-mono); background: var(--surface-2); padding: 2px 6px; border-radius: var(--r-xs); font-size: 0.9em; }
.go-article__content pre { background: var(--surface-2); padding: 18px; border-radius: var(--r-md); overflow: auto; border: var(--hair); }
.go-article__content .wp-block-pullquote, .go-article__content .wp-block-quote { border-left: 2px solid var(--lime-dim); }

/* Table of contents — a <details> disclosure, starts closed */
.go-toc { max-width: none; margin: 26px 0 0; border: var(--hair); border-radius: var(--r-card); padding: 18px 24px; }
.go-toc[open] { padding-bottom: 20px; }
.go-toc__title {
	font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.4px; font-size: 0.7rem;
	color: var(--text-secondary); cursor: pointer; list-style: none;
	display: flex; align-items: center; justify-content: space-between;
}
.go-toc__title::-webkit-details-marker { display: none; }
.go-toc__title::after {
	content: "+"; font-family: var(--font-sans); font-size: 1rem; font-weight: 700; color: var(--lime-dim);
	transition: transform 150ms ease;
}
.go-toc[open] .go-toc__title::after { transform: rotate(45deg); }
.go-toc ul { margin: 14px 0 0; padding-left: 1.15em; list-style: disc; }
.go-toc li { margin-bottom: 7px; padding-left: 3px; font-size: 0.94rem; }
.go-toc li::marker { color: var(--lime-dim); }
.go-toc a { color: var(--text); }
.go-toc a:hover { color: var(--lime-dim); }

.go-share { display: flex; align-items: center; gap: 10px; margin: 28px 0 0; max-width: none; }
.go-share span { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.66rem; color: var(--text-secondary); }
.go-share a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; border: var(--hair); color: var(--text-muted); }
.go-share a:hover { border-color: var(--lime); color: var(--lime-dim); }
.go-article__posthero-actions { margin-top: 12px; }
.go-article__posthero-actions .go-share { margin-top: 0; }

.go-tags { max-width: none; margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }

.go-related { border-top: 0; }

/* Author bio card at the end of an article */
.go-author-card {
	max-width: none; margin: 38px 0 0; padding: 24px;
	border: var(--hair); border-radius: var(--r-card);
	display: flex; gap: 18px; align-items: flex-start;
}
.go-author-card__avatar { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; flex: none; }
.go-author-card__name { font-family: var(--font-sans); font-weight: 700; font-size: 1.05rem; }
.go-author-card__name a { color: var(--text); }
.go-author-card__bio { color: var(--text-secondary); font-size: 0.92rem; margin-top: 4px; }


/* Article sidebar + contextual in-content recommendations */
.go-article-sidebar {
	position: sticky;
	top: 96px;
	display: grid;
	gap: 20px;
	min-width: 0;
}
.go-article-sidebar__block,
.go-article-sidebar__cta {
	padding: 20px;
	border: var(--hair);
	border-radius: var(--r-card);
	background: var(--slate);
}
.go-article-sidebar__title,
.go-article-sidebar__cta h2 {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.2;
}
.go-article-sidebar__stories { display: grid; gap: 14px; margin-top: 16px; }
.go-article-sidebar__story {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	color: var(--text);
}
.go-article-sidebar__story + .go-article-sidebar__story { padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--frame) 64%, transparent); }
.go-article-sidebar__thumb { width: 64px; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--r-sm); background: var(--surface-2); }
.go-article-sidebar__thumb img { width: 100%; height: 100%; object-fit: cover; }
.go-article-sidebar__story-copy { display: grid; gap: 6px; min-width: 0; }
.go-article-sidebar__story-copy .go-score { position: static; justify-self: start; padding: 3px 8px; font-size: 0.7rem; }
.go-article-sidebar__story-copy strong { font-size: 0.88rem; line-height: 1.25; font-weight: 650; }
.go-article-sidebar__story:hover strong { color: var(--link-hover); }
.go-article-sidebar__story .go-time { font-size: 0.62rem; }
.go-article-sidebar__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.go-article-sidebar__chips a { padding: 7px 11px; border-radius: var(--r-pill); background: var(--surface-2); color: var(--text-muted); font-size: 0.78rem; font-weight: 550; }
.go-article-sidebar__chips a:hover { background: var(--lime); color: var(--ink-on-lime); }
.go-article-sidebar__cta { border-color: var(--lime-dim); background: color-mix(in srgb, var(--lime) 7%, var(--canvas)); }
.go-article-sidebar__cta .go-btn { margin-top: 14px; }
.go-article-sidebar__ranking { list-style: none; margin: 14px 0 0; padding: 0; }
.go-article-sidebar__ranking li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 11px 0; border-top: var(--hair); }
.go-article-sidebar__ranking li:first-child { border-top: 0; }
.go-article-sidebar__ranking span { font-family: var(--font-mono); font-size: 0.68rem; color: var(--lime-dim); }
.go-article-sidebar__ranking a { font-size: 0.86rem; font-weight: 650; line-height: 1.28; }
.go-article-sidebar__games { display: grid; margin-top: 12px; }
.go-article-sidebar__games a { padding: 10px 0; border-top: var(--hair); font-size: 0.88rem; font-weight: 650; line-height: 1.3; }
.go-article-sidebar__games a:first-child { border-top: 0; }

.go-after-article { padding-bottom: 56px; }
.go-after-article__section { padding-top: 42px; }
.go-after-article__section + .go-after-article__section { margin-top: 8px; }
.go-after-article .go-archive-row { grid-template-columns: 180px minmax(0, 1fr); }
.go-after-article .go-archive-row__title { font-size: 1.12rem; }

.go-inline-related,
.go-context-block--related {
	margin: 16px 0 1.7em;
	padding: 18px 18px 16px;
	border-radius: calc(var(--r-card) + 2px);
	background: linear-gradient(180deg, color-mix(in srgb, var(--lime) 7%, var(--slate)) 0%, var(--slate) 38%);
	border: 1px solid color-mix(in srgb, var(--lime) 24%, var(--frame));
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}
.go-article__content .go-inline-related__title,
.go-context-block__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-family: var(--font-sans);
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--text);
}
.go-article__content .go-inline-related__title::before,
.go-context-block__title::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--lime);
	box-shadow: 0 0 0 4px rgba(196, 222, 7, 0.12);
}
.go-inline-related__items,
.go-context-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.go-article__content .go-inline-related__item,
.go-context-links li {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-width: 0;
	padding: 10px;
	border-radius: var(--r-md);
	background: color-mix(in srgb, var(--canvas) 72%, transparent);
	border: 1px solid color-mix(in srgb, var(--frame) 54%, transparent);
	color: var(--text);
	box-shadow: none;
}
.go-context-links li::marker { content: ''; }
.go-inline-related__media { width: 58px; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--r-sm); }
.go-article__content .go-inline-related__media img { width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
.go-inline-related__item > span:last-child { display: grid; gap: 6px; }
.go-inline-related__item strong,
.go-context-links a,
.go-context-links__link { font-size: 0.92rem; line-height: 1.3; font-weight: 650; color: var(--text); text-decoration: none; }
.go-inline-related__item:hover strong,
.go-context-links a:hover,
.go-context-links__link:hover { color: var(--link-hover); }
.go-inline-related__item .go-time { font-size: 0.6rem; }
.go-context-links li > a,
.go-context-links li > span { min-width: 0; }
.go-context-links li::before {
	content: '→';
	grid-column: 1;
	grid-row: 1;
	display: none;
}

.go-article__content .go-faq-heading {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 2.2em;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid color-mix(in srgb, var(--frame) 65%, transparent);
}
.go-article__content .go-faq-heading::before {
	content: '?';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--lime) 16%, var(--slate));
	color: var(--lime-dim);
	font-family: var(--font-mono);
	font-size: 0.86rem;
	font-weight: 700;
}
.go-article__content .schema-faq-section,
.go-article__content .rank-math-question,
.go-article__content .wp-block-details,
.go-article__content details.go-faq-item,
.go-article__content .yoast-faq-block .schema-faq-section {
	margin: 0 0 12px;
	padding: 16px 18px;
	border-radius: var(--r-card);
	border: 1px solid color-mix(in srgb, var(--frame) 62%, transparent);
	background: var(--slate);
}
.go-article__content details.go-faq-item > summary,
.go-article__content .wp-block-details > summary,
.go-article__content .schema-faq-question,
.go-article__content .rank-math-question-title {
	list-style: none;
	cursor: pointer;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--text);
}
.go-article__content details.go-faq-item > summary::-webkit-details-marker,
.go-article__content .wp-block-details > summary::-webkit-details-marker { display: none; }
.go-article__content .schema-faq-answer,
.go-article__content .rank-math-answer,
.go-article__content .wp-block-details > :not(summary),
.go-article__content details.go-faq-item > :not(summary) {
	margin-top: 12px;
	color: var(--text-muted);
}

/* Homepage latest stream controls */
.go-home-feed__controls {
	display: flex;
	justify-content: center;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid color-mix(in srgb, var(--frame) 62%, transparent);
}
.go-home-feed__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 244px;
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid color-mix(in srgb, var(--lime) 56%, var(--frame));
	border-radius: var(--r-pill);
	background: var(--slate);
	color: var(--text);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.9px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.go-home-feed__more::after {
	content: "↓";
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1;
}
.go-home-feed__more:hover {
	border-color: var(--lime);
	background: var(--lime);
	color: var(--ink-on-lime);
}
.go-home-feed__more:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 3px;
}
.go-home-feed__more[disabled] { opacity: 0.6; cursor: wait; }

/* --------------------------------------------------------------------------
   15. Single game / entity cards
   -------------------------------------------------------------------------- */
.go-gamecard {
	display: grid; grid-template-columns: 300px 1fr; gap: 32px;
	border: var(--hair); border-radius: var(--r-feature); padding: 28px; margin-top: 24px;
}
.go-gamecard__media .go-frame { aspect-ratio: 3 / 4; border-radius: var(--r-md); }
.go-gamecard__title { font-family: var(--font-sans); font-weight: 700; font-size: clamp(1.7rem, 3.6vw, 2.5rem); line-height: 1.1; margin: 8px 0 0; }
.go-specs { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 0; }
.go-specs li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: var(--hair); }
.go-specs .k { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.2px; font-size: 0.68rem; color: var(--text-secondary); }
.go-specs .v { text-align: right; color: var(--text-muted); }
.go-statuspill { display: inline-block; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.3px; font-size: 0.66rem; padding: 5px 14px; border-radius: var(--r-pill); background: var(--lime); color: var(--ink-on-lime); }

.go-gamecard__stores { margin-top: 24px; padding-top: 20px; border-top: var(--hair); }
.go-gamecard__stores-title { font-family: var(--font-sans); font-weight: 700; font-size: 0.98rem; margin: 0; }
.go-gamecard__trailer, .go-gamecard__gallery { margin-top: 28px; }

/* Platform brand badge (real SVG/PNG marks) */
.go-brandbadge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: var(--hair); border-radius: var(--r-pill); }
.go-brandbadge img { height: 18px; width: auto; }
.go-brandbadge span { font-family: var(--font-mono); font-size: 0.66rem; text-transform: uppercase; letter-spacing: 1.2px; color: var(--text-muted); }

/* --------------------------------------------------------------------------
   15b. Review scorecard
   -------------------------------------------------------------------------- */
.go-review-box {
	position: relative;
	border: 1px solid color-mix(in srgb, var(--lime) 48%, var(--frame));
	border-radius: calc(var(--r-card) + 2px);
	background: linear-gradient(180deg, color-mix(in srgb, var(--slate) 96%, var(--canvas)) 0%, color-mix(in srgb, var(--slate) 98%, black) 100%);
	padding: 26px 28px 26px;
}
.go-review-box__head { display: flex; gap: 24px; align-items: flex-start; }
.go-review-box__score {
	width: 96px; height: 92px; flex: none;
	border-radius: 18px; background: var(--lime); color: var(--ink-on-lime);
	display: grid; place-items: center; text-align: center;
}
.go-review-box__score.is-mid { background: var(--acc-yellow); }
.go-review-box__score.is-low { background: var(--acc-orange); }
.go-review-box__score-num { font-family: var(--font-sans); font-weight: 700; font-size: 2.2rem; line-height: 1; }
.go-review-box__score-max { font-family: var(--font-mono); font-size: 0.8rem; opacity: 0.75; }
.go-review-box__head-text { flex: 1; min-width: 0; }
.go-review-box__summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: 0; }
body.go-verge .go-review-box__summary-title {
	display: block;
	margin: 0;
	font-family: var(--font-sans) !important;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.12;
	color: var(--text);
}
.go-review-box__summary-note {
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--text-secondary);
	padding-top: 3px;
}
body.go-verge .go-review-box__verdict {
	margin: 10px 0 0;
	font-family: var(--font-sans) !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.56;
	color: var(--text);
}
.go-review-box__details { margin-top: 22px; }
.go-review-box__details-toggle {
	list-style: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0;
	margin: 0 0 10px;
	cursor: pointer;
}
.go-review-box__details-toggle::-webkit-details-marker { display: none; }
.go-review-box__details-state {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-secondary);
}
.go-review-box__details-state::before { content: "Fechar detalhes"; }
.go-review-box__details:not([open]) .go-review-box__details-state::before { content: "Abrir detalhes"; }
.go-review-box__details-body { margin-top: 0; }
.go-review-box__compare { display: flex; gap: 8px; margin-top: 0; flex-wrap: wrap; }
.go-review-box__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; padding-top: 24px; border-top: var(--hair); }
.go-review-box__pros h3, .go-review-box__cons h3 {
	font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.2px;
	font-size: 0.74rem; margin-bottom: 14px;
}
.go-review-box__pros h3 { color: var(--lime-dim); }
.go-review-box__cons h3 { color: var(--acc-orange); }
.go-review-box__pros ul, .go-review-box__cons ul { list-style: none; margin: 0; padding: 0; }
.go-review-box__pros li, .go-review-box__cons li {
	position: relative; padding-left: 20px; margin-bottom: 8px;
	color: var(--text-muted); font-size: 0.92rem; line-height: 1.4;
}
.go-review-box__pros li::before { content: "+"; position: absolute; left: 0; color: var(--lime-dim); font-weight: 700; }
.go-review-box__cons li::before { content: "–"; position: absolute; left: 0; color: var(--acc-orange); font-weight: 700; }
.go-review-box__specs { margin-top: 24px; padding-top: 20px; border-top: var(--hair); }
.go-review-box__by { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; font-size: 0.68rem; color: var(--text-secondary); margin: 20px 0 0; }
.go-review-box__by strong { color: var(--text-muted); }
@media (max-width: 550px) {
	.go-review-box { padding: 20px; }
	.go-review-box__head { flex-direction: column; }
	.go-review-box__summary-head { flex-direction: column; gap: 6px; }
	.go-review-box__details-toggle { justify-content: flex-start; }
	.go-review-box__proscons { grid-template-columns: 1fr; gap: 20px; }
}

/* Closing verdict recap, end of a review article */
.go-review-recap { max-width: none; margin: 10px 0 1.5em; padding-top: 24px; border-top: var(--hair); }
.go-review-recap__title { font-family: var(--font-sans); font-weight: 700; font-size: 1.1rem; margin: 0; }
.go-review-recap__row { display: flex; align-items: center; gap: 20px; margin-top: 14px; }
.go-review-recap__score { width: 68px; height: 68px; flex: none; }
.go-review-recap__score .go-review-box__score-num { font-size: 1.7rem; }
.go-review-recap .go-tile__deck, .go-review-recap .go-review-box__verdict { margin: 0; }

@media (max-width: 550px) {
	.go-review-recap__row { flex-direction: column; align-items: flex-start; }
}

/* --------------------------------------------------------------------------
   16. Search results / 404 / none
   -------------------------------------------------------------------------- */
.go-empty { padding-block: 72px; text-align: center; }
.go-empty__code { font-family: var(--font-display); font-size: clamp(4.5rem, 16vw, 9rem); line-height: 0.9; color: var(--lime); text-transform: uppercase; }
.go-empty__title { font-family: var(--font-sans); font-weight: 700; font-size: clamp(1.5rem, 4vw, 2.4rem); margin: 10px 0 12px; }
.go-empty p { color: var(--text-secondary); max-width: 520px; margin: 0 auto 26px; }

/* --------------------------------------------------------------------------
   17. Pagination & comments
   -------------------------------------------------------------------------- */
.go-pagination { margin-top: 42px; }
.go-pagination__links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; }
.go-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 13px;
	font-family: var(--font-sans); font-weight: 600; font-size: 0.84rem;
	border: var(--hair); border-radius: var(--r-pill); background: var(--slate); color: var(--text-muted);
}
.go-pagination .page-numbers.current { background: var(--lime); color: var(--ink-on-lime); border-color: var(--lime); }
.go-pagination a.page-numbers:hover { border-color: var(--lime-dim); color: var(--link-hover); }
.go-pagination .prev, .go-pagination .next { padding-inline: 18px; }

/* Comment box — a real, inviting form + a legible thread */
.go-comments { max-width: var(--reading); margin: 56px auto 0; padding-top: 40px; border-top: var(--hair); }
.go-comments__title { font-family: var(--font-sans); font-weight: 700; font-size: 1.4rem; margin: 0 0 28px; }

.go-comments .comment-list { list-style: none; margin: 0 0 40px; padding: 0; }
.go-comments .comment-list ol.children { list-style: none; padding-left: 28px; margin-top: 20px; border-left: var(--hair); }
.go-comments .comment-body {
	padding: 20px 22px; margin-bottom: 16px;
	border: var(--hair); border-radius: var(--r-card);
	background: var(--slate);
}
.go-comments .comment-author { display: flex; align-items: center; gap: 10px; }
.go-comments .comment-author .avatar { width: 38px; height: 38px; border-radius: 50%; }
.go-comments .comment-author b { font-family: var(--font-sans); font-weight: 700; font-size: 0.94rem; font-style: normal; color: var(--text); }
.go-comments .comment-meta { display: block; margin-top: 2px; }
.go-comments .comment-meta a { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; font-size: 0.66rem; color: var(--text-secondary); }
.go-comments .comment-content { color: var(--text-muted); margin-top: 12px; line-height: 1.65; }
.go-comments .comment-content p:last-child { margin-bottom: 0; }
.go-comments .reply { margin-top: 12px; }
.go-comments .reply a {
	font-family: var(--font-sans); font-weight: 600; font-size: 0.78rem;
	padding: 6px 14px; border: var(--hair); border-radius: var(--r-pill); color: var(--text-muted);
}
.go-comments .reply a:hover { border-color: var(--lime-dim); color: var(--lime-dim); }
.go-comments .bypostauthor > .comment-body { border-color: var(--lime-dim); }

.go-comments .comment-respond {
	border: var(--hair); border-radius: var(--r-card); padding: 28px;
	background: var(--slate);
}
.go-comments #reply-title { font-family: var(--font-sans); font-weight: 700; font-size: 1.15rem; margin: 0 0 6px; }
.go-comments .comment-notes, .go-comments .logged-in-as { color: var(--text-secondary); font-size: 0.88rem; margin-bottom: 18px; }
.go-comments .comment-form-comment,
.go-comments .comment-form-author,
.go-comments .comment-form-email,
.go-comments .comment-form-url { display: block; margin-bottom: 16px; }
.go-comments .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.go-comments .comment-form-cookies-consent label { color: var(--text-secondary); font-size: 0.86rem; }
.go-comments label { display: block; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; font-size: 0.68rem; color: var(--text-secondary); margin-bottom: 8px; }
.go-comments input[type="text"], .go-comments input[type="email"], .go-comments input[type="url"], .go-comments textarea {
	width: 100%; background: var(--canvas); border: 1px solid var(--border-strong); color: var(--text);
	padding: 12px 14px; border-radius: var(--r-sm); font-family: var(--font-sans); font-size: 0.95rem;
}
.go-comments textarea { min-height: 140px; resize: vertical; }
.go-comments input:focus, .go-comments textarea:focus { border-color: var(--lime); outline: none; }
.go-comments .form-submit { margin: 4px 0 0; }

/* --------------------------------------------------------------------------
   18. Footer
   -------------------------------------------------------------------------- */
.go-footer { border-top: var(--hair); background: var(--canvas); margin-top: 40px; }
.go-footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-block: 56px; }
.go-footer__brand .go-logo__img { height: 34px; }
.go-footer__brand p { color: var(--text-secondary); max-width: 320px; margin-top: 14px; }
.go-footer__col h4 { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.4px; font-size: 0.7rem; color: var(--text-secondary); margin: 0 0 16px; }
.go-footer__col ul { list-style: none; margin: 0; padding: 0; }
.go-footer__col li { margin-bottom: 10px; }
.go-footer__col a { color: var(--text-muted); font-size: 0.92rem; }
.go-footer__col a:hover { color: var(--lime-dim); }
.go-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 24px; border-top: var(--hair); }
.go-footer__bottom .go-mono { font-size: 0.66rem; }

.go-newsletter { border: 1px solid var(--lime-dim); border-radius: var(--r-feature); padding: 24px; }
.go-newsletter h4 { color: var(--text); font-family: var(--font-sans); font-weight: 700; font-size: 1rem; }
.go-newsletter form { display: flex; gap: 8px; margin-top: 12px; }
.go-newsletter input[type="email"] { flex: 1; background: var(--canvas); border: 1px solid var(--border-strong); color: var(--text); padding: 10px 14px; border-radius: var(--r-sm); }
.go-newsletter input[type="email"]:focus { border-color: var(--lime); outline: none; }

/* --------------------------------------------------------------------------
   19. WP core alignment / captions
   -------------------------------------------------------------------------- */
.alignwide { max-width: min(1100px, 92vw); margin-inline: auto; }
.alignfull { max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.aligncenter { margin-inline: auto; }
.wp-caption-text, .wp-element-caption { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; font-size: 0.63rem; color: var(--text-secondary); margin-top: 8px; }
.sticky .go-tile__title::before { content: "★ "; color: var(--lime-dim); }

/* --------------------------------------------------------------------------
   20. Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1180px) {
	:root { --pad: 32px; }
}

@media (max-width: 1024px) {
	.go-article-layout { grid-template-columns: minmax(0, var(--reading)); gap: 0; }
	.go-article-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 36px; }
	.go-article-sidebar__cta { grid-column: 1 / -1; }
	.go-after-article .go-archive-row { grid-template-columns: 160px minmax(0, 1fr); }
}

@media (max-width: 900px) {
	.go-latest-bar__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-latest-bar__item:nth-child(n + 3) { display: none; }

	.go-hero-visual__top { grid-template-columns: 1fr; }
	.go-hero-visual__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-hero-visual__bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-hero-visual__bottom > :last-child { grid-column: 1 / -1; }

	.go-pillars { grid-template-columns: 1fr; gap: 40px; }
	.go-grid, .go-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.go-home-split { gap: 32px; }
	.go-home-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-home-feature-grid > .go-tile:first-child { grid-column: span 2; grid-row: auto; }
	.go-home-promo-grid { grid-template-columns: 1fr; }
	.go-home-promo-grid > .go-tile:first-child { grid-row: auto; }
	.go-home-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-topic-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	.go-topic-card { min-height: 190px; }
	.go-topic-card__media { min-height: 140px; }
	.go-home-bottom { grid-template-columns: 1fr; gap: 36px; }
	.go-home-ranking { position: static; }

	.go-archive-feature { grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.85fr); gap: 22px; }
	.go-archive-row { grid-template-columns: 200px minmax(0, 1fr); gap: 18px; }
	.go-promo-radar__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.go-footer__top { grid-template-columns: 1fr 1fr; gap: 32px; }
	.go-gamecard { grid-template-columns: 1fr; }
	.go-promo { grid-template-columns: 1fr; }
	.go-promo--platform { grid-template-columns: 1fr; }
	.go-stream__card { grid-template-columns: 1fr; }
	.go-stream__media { max-width: 320px; }
	.go-author-card { flex-direction: column; }
}

@media (max-width: 768px) {
	.go-section { padding-block: 36px; }
	.go-home-split { grid-template-columns: 1fr; }
	.go-home-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-home-media-grid > .go-tile:first-child { grid-column: span 2; grid-row: auto; }
	.go-stream__item { grid-template-columns: 56px 1fr; gap: 12px; }
	.go-stream__rail .go-time { font-size: 0.6rem; }

	.go-archive-feature { grid-template-columns: 1fr; align-items: start; }
	.go-archive-feature__body { max-width: 680px; }
	.go-game-release-list { grid-template-columns: 1fr; }
	.go-game-release-row:nth-child(2) { border-top: var(--hair); }
	.go-after-article .go-archive-row { grid-template-columns: 150px minmax(0, 1fr); }
}

@media (max-width: 550px) {
	:root { --pad: 20px; --gap: 18px; }
	.go-header__bar { height: 60px; }
	.go-logo__img { height: 24px; }
	.go-latest-bar { top: 60px; }
	.go-latest-bar__inner { min-height: 36px; }
	.go-latest-bar__label { padding-inline: 12px; font-size: 0.62rem; }
	.go-latest-bar__items { grid-template-columns: minmax(0, 1fr); }
	.go-latest-bar__item { padding-inline: 12px; }
	.go-latest-bar__item:nth-child(n + 2) { display: none; }

	.go-grid, .go-grid--2, .go-grid--4 { grid-template-columns: 1fr; }
	.go-hero-visual { padding-top: 24px; }
	.go-hero-visual__side, .go-hero-visual__bottom { grid-template-columns: 1fr; gap: 20px; }
	.go-hero-visual__bottom > :last-child { grid-column: auto; }
	.go-hero-visual__feature .go-tile__title { font-size: 2.08rem; }
	.go-hero-visual__side .go-tile__title, .go-hero-visual__bottom .go-tile__title { font-size: 1.08rem; }

	.go-home-explore { padding-top: 28px; }
	.go-home-explore__head { margin-bottom: 14px; }
	.go-topic-nav {
		display: flex;
		overflow-x: auto;
		gap: 12px;
		padding-bottom: 6px;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
	}
	.go-topic-card {
		flex: 0 0 min(72vw, 260px);
		min-height: 190px;
		scroll-snap-align: start;
	}
	.go-topic-card__media { min-height: 142px; }
	.go-home-feature-grid { grid-template-columns: 1fr; }
	.go-home-feature-grid > .go-tile:first-child { grid-column: auto; }
	.go-home-feature-grid > .go-tile:nth-child(n + 5) { display: none; }
	.go-home-panel__content > .go-tile--compact:not(:first-child) { grid-template-columns: 72px minmax(0, 1fr); }
	.go-home-panel__content > .go-tile--compact:not(:first-child) .go-tile__media { width: 72px; }
	.go-home-platforms { grid-template-columns: 1fr; }
	.go-home-platform { min-height: 124px; border: var(--hair); }
	.go-home-media-grid { grid-template-columns: 1fr; }
	.go-home-media-grid > .go-tile:first-child { grid-column: auto; }
	.go-home-promo-grid > .go-tile--compact { grid-template-columns: 78px minmax(0, 1fr); }
	.go-home-promo-grid > .go-tile--compact .go-tile__media { width: 78px; }
	.go-home-ranking { padding: 20px; }

	.go-archive-section + .go-archive-section { margin-top: 42px; }
	.go-archive-row { grid-template-columns: 116px minmax(0, 1fr); gap: 14px; padding: 16px 0; align-items: start; }
	.go-archive-row__title { font-size: 1rem; }
	.go-archive-row__deck { display: none; }
	.go-archive-row__meta .go-byline, .go-archive-row__meta .go-dot { display: none; }
	.go-promo-radar { padding: 18px; }
	.go-promo-radar__list { grid-template-columns: 1fr; }
	.go-after-article .go-archive-row { grid-template-columns: 108px minmax(0, 1fr); }

	.go-article-sidebar { grid-template-columns: 1fr; }
	.go-article-sidebar__cta { grid-column: auto; }
	.go-inline-related__items,
	.go-context-links { grid-template-columns: 1fr; }
	.go-article__title { font-size: 2.2rem; }
	.go-article-layout { margin-top: 24px; }
	.go-article__content { font-size: 1.05rem; line-height: 1.7; }
	.go-share { flex-wrap: wrap; }

	.go-pagination__links { gap: 6px; }
	.go-pagination .page-numbers { min-width: 38px; height: 38px; padding-inline: 10px; }
	.go-pagination .prev, .go-pagination .next { padding-inline: 14px; }

	.go-footer__top { grid-template-columns: 1fr; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* --------------------------------------------------------------------------
   20. Editorial refinements — utility controls, game catalogue, search,
       institutional pages and visual rails below articles.
   -------------------------------------------------------------------------- */

/* Header sharing is always present; configured profile links can follow it. */
.go-header-social__menu button {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 40px;
	padding: 9px 12px;
	border: 0;
	border-radius: var(--r-sm);
	background: transparent;
	color: var(--text-muted);
	font-family: var(--font-sans);
	font-size: 0.86rem;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}
.go-header-social__menu button:hover,
.go-header-social__menu button:focus-visible { color: var(--link-hover); }
.go-header-social__divider { display: block; height: 1px; margin: 5px 10px; background: var(--border); }
.go-header-social__copy.is-copied { color: var(--lime-dim); }
.go-offcanvas__share { margin-top: 24px; }

/* Back to top. */
.go-backtop {
	position: fixed;
	right: clamp(18px, 3vw, 34px);
	bottom: clamp(18px, 3vw, 34px);
	z-index: 80;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--border-strong);
	border-radius: 50%;
	background: var(--slate);
	color: var(--text);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease, border-color 160ms ease, color 160ms ease;
}
.go-backtop svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.go-backtop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.go-backtop:hover { color: var(--link-hover); border-color: var(--link-hover); }

/* Image zoom: click the image itself; no visual control is injected. */
.go-zoomable-image { cursor: zoom-in; }
.go-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: grid;
	place-items: center;
	padding: 34px;
	background: rgba(0,0,0,0.9);
	opacity: 0;
	visibility: hidden;
	transition: opacity 160ms ease, visibility 160ms ease;
}
.go-lightbox.is-open { opacity: 1; visibility: visible; }
.go-lightbox__image { max-width: min(94vw, 1500px); max-height: 90vh; width: auto; height: auto; object-fit: contain; border-radius: var(--r-sm); }
.go-lightbox__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 50%;
	background: rgba(19,19,19,0.78);
	color: #fff;
	font-size: 1.35rem;
	cursor: pointer;
}

/* End-of-article sections become compact visual rails, not duplicate archives. */
.go-after-article { display: grid; gap: 54px; padding-block: 54px 72px; }
.go-after-article__section { min-width: 0; position: relative; }
.go-after-article__section .go-section__head {
	padding-bottom: 14px;
	margin-bottom: 18px;
	border-bottom: 1px solid color-mix(in srgb, var(--frame) 62%, transparent);
}
.go-after-article__section .go-section__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 1.08rem;
}
.go-after-article__section .go-section__title::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--lime);
	box-shadow: 0 0 0 4px rgba(196, 222, 7, 0.12);
	flex: 0 0 auto;
}
.go-after-article__section--latest .go-section__title::before {
	background: color-mix(in srgb, var(--text-secondary) 78%, var(--canvas));
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--text-secondary) 12%, transparent);
}
.go-after-article__section--reviews .go-section__title::before {
	background: color-mix(in srgb, #7c8bff 82%, white);
	box-shadow: 0 0 0 4px rgba(124, 139, 255, 0.14);
}
.go-after-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.go-after-card {
	min-width: 0;
	border: var(--hair);
	border-radius: var(--r-card);
	overflow: hidden;
	background: var(--slate);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.go-after-card:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--lime) 38%, var(--frame));
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.10);
}
.go-after-card--related {
	background: linear-gradient(180deg, color-mix(in srgb, var(--lime) 5%, var(--slate)) 0%, var(--slate) 34%);
}
.go-after-card--latest {
	background: linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 65%, var(--slate)) 0%, var(--slate) 30%);
}
.go-after-card--reviews {
	background: linear-gradient(180deg, rgba(124, 139, 255, 0.06) 0%, var(--slate) 32%);
}
.go-after-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-2); }
.go-after-card__media img { width: 100%; height: 100%; object-fit: cover; transition: none; }
.go-after-card__placeholder { display: block; width: 100%; height: 100%; background: var(--surface-2); }
.go-after-card__body { display: grid; gap: 16px; padding: 16px; }
.go-after-card h3 { margin: 0; font-size: 1rem; line-height: 1.3; }
.go-after-card h3 a { color: var(--text); }
.go-after-card h3 a:hover { color: var(--link-hover); }
.go-after-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 24px; }
.go-after-card__meta .go-score { position: static; padding: 3px 8px; font-size: 0.68rem; }
.go-after-card__arrow { color: var(--lime-dim); font-size: 1.05rem; }
.go-after-card--latest .go-after-card__arrow { color: var(--text-secondary); }
.go-after-card--reviews .go-after-card__arrow { color: color-mix(in srgb, #7c8bff 86%, white); }

/* Games hub / game library: visual cards with a directional affordance. */
.go-section__link {
	margin-left: auto;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--text-secondary);
}
.go-section__link:hover { color: var(--link-hover); }
.go-arrow-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.go-arrow-card {
	min-width: 0;
	border: var(--hair);
	border-radius: var(--r-card);
	overflow: hidden;
	background: var(--slate);
}
.go-arrow-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-2); }
.go-arrow-card__media img { width: 100%; height: 100%; object-fit: cover; }
.go-arrow-card__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 16px; }
.go-arrow-card__body h2,
.go-arrow-card__body h3 { margin: 0; font-size: 1.02rem; line-height: 1.28; }
.go-arrow-card__body a { color: var(--text); }
.go-arrow-card:hover .go-arrow-card__body a,
.go-arrow-card:hover .go-arrow-card__body > span { color: var(--link-hover); }
.go-arrow-card__body > span { color: var(--lime-dim); font-size: 1.05rem; }
.go-arrow-card--review .go-score { top: 10px; right: 10px; }
.go-arrow-card-grid--library { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.go-game-library-page { padding-top: 16px; }

/* Release agenda: date first, then the game. */
.go-release-agenda { border-top: var(--hair-strong); }
.go-release-agenda__item {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr) 38px;
	align-items: center;
	gap: 18px;
	padding: 16px 0;
	border-bottom: var(--hair);
}
.go-release-agenda__date {
	display: grid;
	place-items: center;
	min-height: 64px;
	padding: 8px;
	border-radius: var(--r-md);
	background: var(--surface-2);
	text-align: center;
}
.go-release-agenda__date strong { font-size: 1.35rem; line-height: 1; color: var(--text); }
.go-release-agenda__date span { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-secondary); }
.go-release-agenda__body h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.go-release-agenda__body h3 a { color: var(--text); }
.go-release-agenda__body h3 a:hover { color: var(--link-hover); }
.go-release-agenda__body p { margin: 5px 0 0; color: var(--text-secondary); font-size: 0.84rem; }
.go-release-agenda__arrow { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: var(--hair); border-radius: 50%; color: var(--lime-dim); }
.go-release-agenda__arrow:hover { border-color: var(--link-hover); color: var(--link-hover); }

/* Search landing/results. */
.go-search-page__hero { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(420px, 1.3fr); align-items: end; gap: 54px; padding-top: 58px; padding-bottom: 34px; }
.go-search-page__heading { min-width: 0; }
.go-search-page__summary { margin: 12px 0 0; color: var(--text-secondary); font-size: 0.94rem; }
.go-search-page__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.go-search-page__form input {
	min-width: 0;
	height: 50px;
	padding: 0 16px;
	border: 1px solid var(--border-strong);
	border-radius: var(--r-md);
	background: var(--slate);
	color: var(--text);
	font: 500 1rem/1 var(--font-sans);
}
.go-search-page__form input:focus { outline: 2px solid color-mix(in srgb, var(--focus) 52%, transparent); outline-offset: 2px; border-color: var(--focus); }
.go-search-page__results { padding-top: 22px; }
.go-search-page__empty { max-width: 720px; padding: 28px; border: var(--hair); border-radius: var(--r-card); background: var(--slate); }
.go-search-page__empty h2 { margin: 0; font-size: 1.35rem; }
.go-search-page__empty p { margin: 10px 0 0; color: var(--text-secondary); }

/* Institutional pages: focused reading width, subtle surface, no fake cards. */
.go-institutional { padding-block: 20px 72px; }
.go-institutional__header { max-width: 980px; padding-top: 34px; }
.go-institutional__title { margin: 18px 0 0; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.04; letter-spacing: -0.03em; }
.go-institutional__hero { max-width: 1120px; margin-top: 34px; }
.go-institutional__hero img { display: block; width: 100%; height: auto; border: 1px solid var(--frame); border-radius: var(--r-feature); }
.go-institutional__shell { max-width: 980px; margin-top: 38px; }
.go-institutional__content {
	padding: clamp(24px, 4vw, 44px);
	border: var(--hair);
	border-radius: var(--r-feature);
	background: var(--slate);
	font-size: 1.08rem;
	line-height: 1.75;
	color: var(--text-muted);
}
.go-institutional__content > :first-child { margin-top: 0; }
.go-institutional__content > :last-child { margin-bottom: 0; }
.go-institutional__content h2 { margin: 1.8em 0 0.7em; font-size: 1.55rem; line-height: 1.2; color: var(--text); }
.go-institutional__content h3 { margin: 1.5em 0 0.6em; font-size: 1.22rem; color: var(--text); }
.go-institutional__content a { color: var(--lime-dim); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.go-institutional__content a:hover { color: var(--link-hover); }
.go-institutional__content img { max-width: 100%; height: auto; border-radius: var(--r-md); }
.go-institutional__content table { width: 100%; border-collapse: collapse; font-size: 0.94rem; }
.go-institutional__content th,
.go-institutional__content td { padding: 12px; border-bottom: var(--hair); text-align: left; vertical-align: top; }
.go-institutional__content input,
.go-institutional__content textarea,
.go-institutional__content select { max-width: 100%; border: 1px solid var(--border-strong); border-radius: var(--r-sm); background: var(--canvas); color: var(--text); padding: 10px 12px; }
.go-institutional__comments { max-width: 980px; margin-top: 38px; }

@media (max-width: 1023px) {
	.go-after-cards,
	.go-arrow-card-grid,
	.go-arrow-card-grid--library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.go-search-page__hero { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 550px) {
	.go-after-cards,
	.go-arrow-card-grid,
	.go-arrow-card-grid--library { grid-template-columns: 1fr; }
	.go-release-agenda__item { grid-template-columns: 62px minmax(0, 1fr) 34px; gap: 12px; }
	.go-release-agenda__date { min-height: 56px; }
	.go-search-page__hero { padding-top: 34px; }
	.go-search-page__form { grid-template-columns: 1fr; }
	.go-search-page__form .go-btn { width: 100%; }
	.go-institutional__content { padding: 22px; font-size: 1.03rem; }
	.go-lightbox { padding: 18px; }
}


@media (max-width: 550px) {
	.go-header__right { gap: 4px; }
	.go-header__cta { display: none; }
}

.go-offcanvas-share { margin-top: 24px; }
.go-offcanvas-share > summary { list-style: none; cursor: pointer; }
.go-offcanvas-share > summary::-webkit-details-marker { display: none; }
.go-offcanvas-share__menu { display: grid; gap: 8px; padding: 10px 0 0; }
.go-offcanvas-share__menu a {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 9px 14px;
	border: var(--hair);
	border-radius: var(--r-pill);
	color: var(--text-muted);
	font-size: 0.82rem;
	font-weight: 600;
}
.go-offcanvas-share__menu a:hover { border-color: var(--link-hover); color: var(--link-hover); }

/* Subtle image motion on editorial cards only. Article and lightbox imagery stay static. */
.go-tile__media img,
.go-topic-card__media img,
.go-archive-feature__media img,
.go-archive-row__media img,
.go-stream__media img,
.go-after-card__media img,
.go-arrow-card__media img,
.go-game-release-row__media img,
.go-inline-related__media img {
	transition: transform 280ms cubic-bezier(.2, .65, .3, 1);
	transform-origin: center center;
}
.go-tile:hover .go-tile__media img,
.go-topic-card:hover .go-topic-card__media img,
.go-archive-feature:hover .go-archive-feature__media img,
.go-archive-row:hover .go-archive-row__media img,
.go-stream__card:hover .go-stream__media img,
.go-after-card:hover .go-after-card__media img,
.go-arrow-card:hover .go-arrow-card__media img,
.go-game-release-row:hover .go-game-release-row__media img,
.go-inline-related:hover .go-inline-related__media img {
	transform: scale(1.035);
}
@media (prefers-reduced-motion: reduce) {
	.go-tile__media img,
	.go-topic-card__media img,
	.go-archive-feature__media img,
	.go-archive-row__media img,
	.go-stream__media img,
	.go-after-card__media img,
	.go-arrow-card__media img,
	.go-game-release-row__media img,
	.go-inline-related__media img {
		transition: none;
	}
	.go-tile:hover .go-tile__media img,
	.go-topic-card:hover .go-topic-card__media img,
	.go-archive-feature:hover .go-archive-feature__media img,
	.go-archive-row:hover .go-archive-row__media img,
	.go-stream__card:hover .go-stream__media img,
	.go-after-card:hover .go-after-card__media img,
	.go-arrow-card:hover .go-arrow-card__media img,
	.go-game-release-row:hover .go-game-release-row__media img,
	.go-inline-related:hover .go-inline-related__media img {
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   22. Editorial cohesion refinements (v1.3.8)
   -------------------------------------------------------------------------- */
/* The main hero now stretches to the height of the two-column top row, so the
   primary image does not leave a dead blank area below it. */
.go-hero-visual { padding-top: 24px; }
.go-hero-visual__top { align-items: stretch; }
.go-hero-visual__feature,
.go-hero-visual__feature .go-tile,
.go-hero-visual__feature .go-tile__media { height: 100%; min-height: 0; }
.go-hero-visual__feature .go-tile__media { aspect-ratio: auto; }
.go-hero-visual__feature .go-tile__media img { height: 100%; min-height: 100%; object-fit: cover; }
.go-hero-visual__bottom { margin-top: 20px; }

/* Single typography: one clear scale for title, deck, metadata and reading. */
.go-article { padding-top: 30px; }
.go-article__header { max-width: 1100px; }
.go-article__title {
	font-size: clamp(2.05rem, 4vw, 3.35rem);
	font-weight: 680;
	line-height: 1.055;
	letter-spacing: -0.03em;
	text-wrap: balance;
}
.go-article__deck {
	max-width: 960px;
	font-size: clamp(1.12rem, 1.65vw, 1.24rem);
	font-weight: 420;
	line-height: 1.48;
	margin-top: 14px;
}
.go-article__hero { width: min(1100px, 100%); margin-top: 28px; }
.go-article__hero figcaption { margin-top: 8px; line-height: 1.45; }
.go-article__posthero-bar {
	width: min(1100px, 100%);
	margin: 12px auto 0;
	padding: 10px 0 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid color-mix(in srgb, var(--frame) 68%, transparent);
}
.go-article__posthero-bar--no-image { margin-top: 22px; border-top: var(--hair); }
.go-article__meta--below-hero { width: auto; margin: 0; min-width: 0; }
.go-article__avatar { width: 32px; height: 32px; margin-right: 5px; }
.go-article__meta .go-byline,
.go-article__meta .go-time,
.go-article__meta .go-mono,
.go-article__meta .go-dot { font-size: 0.61rem; line-height: 1.25; }
.go-article__meta .go-byline,
.go-article__meta .go-mono { letter-spacing: 0.9px; }
.go-article__posthero-bar .go-share { margin: 0; flex: none; gap: 7px; }
.go-article__posthero-bar .go-share span { margin-right: 2px; font-size: 0.61rem; letter-spacing: 1.15px; }
.go-article__posthero-bar .go-share a { width: 32px; height: 32px; }
.go-article-layout { margin-top: 30px; }
.go-article__content { font-size: 1.16rem; line-height: 1.74; }
.go-article__content h2 { font-size: clamp(1.45rem, 2vw, 1.62rem); letter-spacing: -0.018em; }
.go-article__content h3 { font-size: clamp(1.2rem, 1.6vw, 1.34rem); letter-spacing: -0.012em; }

/* Variable-font weights are slightly softer than the previous blanket 700,
   improving hierarchy without weakening headline contrast. */
.go-tile__title,
.go-archive-row__title { font-weight: 650; }
.go-section__title,
.go-pagehead__title { font-weight: 680; }

/* Latest-publications filters. */
.go-latest-filters {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	padding: 0 0 22px;
	margin: -4px 0 24px;
	scrollbar-width: thin;
}
.go-latest-filter {
	flex: none;
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 7px 13px;
	border: var(--hair);
	border-radius: var(--r-pill);
	background: transparent;
	color: var(--text-muted);
	font-family: var(--font-sans);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1;
}
.go-latest-filter:hover { color: var(--link-hover); border-color: var(--link-hover); }
.go-latest-filter.is-active { background: var(--lime); border-color: var(--lime); color: var(--ink-on-lime); }

@media (max-width: 767px) {
	.go-hero-visual { padding-top: 18px; }
	.go-hero-visual__feature,
	.go-hero-visual__feature .go-tile,
	.go-hero-visual__feature .go-tile__media { height: auto; }
	.go-hero-visual__feature .go-tile__media { aspect-ratio: 16 / 10; }
	.go-article { padding-top: 24px; }
	.go-article__title { font-size: clamp(1.95rem, 9vw, 2.7rem); }
	.go-article__deck { font-size: 1.08rem; line-height: 1.5; }
	.go-article__hero { margin-top: 24px; }
	.go-article__hero-tag { left: 14px; top: 14px; padding: 8px 12px; font-size: 0.66rem; }
	.go-article__posthero-bar { align-items: flex-start; flex-direction: column; gap: 12px; padding-bottom: 14px; }
	.go-article__meta--below-hero { row-gap: 5px; }
	.go-article__posthero-bar .go-share { width: 100%; }
	.go-article-layout { margin-top: 24px; }
	.go-latest-filters { margin-inline: -20px; padding-inline: 20px; }
}


/* --------------------------------------------------------------------------
   26. Mobile viewport stability + homepage hero cohesion (v1.3.13)
   -------------------------------------------------------------------------- */
/* Prevent touch browsers from keeping desktop hover-scale states, which can
   make the homepage appear zoomed or visually shrunken after tapping cards. */
@media (hover: none), (pointer: coarse) {
	.go-tile:hover .go-tile__media img,
	.go-topic-card:hover .go-topic-card__media img,
	.go-archive-feature:hover .go-archive-feature__media img,
	.go-archive-row:hover .go-archive-row__media img,
	.go-stream__card:hover .go-stream__media img,
	.go-after-card:hover .go-after-card__media img,
	.go-arrow-card:hover .go-arrow-card__media img,
	.go-game-release-row:hover .go-game-release-row__media img,
	.go-inline-related:hover .go-inline-related__media img {
		transform: none;
	}
}

/* Homepage mobile containment.
 *
 * Keep this scoped to the front page. A single wide homepage module must not
 * enlarge the document layout viewport and make the whole page appear zoomed
 * out on mobile. We deliberately do not change browser zoom, touch-action or
 * the global html/body viewport here.
 */
@media (max-width: 767px) {
	body.home .go-home {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	body.home .go-home > *,
	body.home .go-home .go-container,
	body.home .go-home .go-hero-visual,
	body.home .go-home .go-hero-visual__top,
	body.home .go-home .go-hero-visual__feature,
	body.home .go-home .go-hero-visual__side,
	body.home .go-home .go-hero-visual__bottom,
	body.home .go-home .go-home-split,
	body.home .go-home .go-home-feature-grid,
	body.home .go-home .go-home-promo-grid,
	body.home .go-home .go-home-platforms,
	body.home .go-home .go-home-media-grid,
	body.home .go-home .go-home-bottom,
	body.home .go-home .go-home-feed,
	body.home .go-home .go-home-ranking,
	body.home .go-home .go-tile,
	body.home .go-home .go-tile__body,
	body.home .go-home .go-tile__media {
		max-width: 100%;
		min-width: 0;
	}

	body.home .go-home .go-container {
		width: 100%;
	}

	body.home .go-home .go-hero-visual__top,
	body.home .go-home .go-hero-visual__side,
	body.home .go-home .go-hero-visual__bottom {
		grid-template-columns: minmax(0, 1fr);
	}

	body.home .go-home .go-hero-visual__feature .go-tile__media {
		aspect-ratio: 16 / 10;
		overflow: hidden;
	}

	body.home .go-home .go-hero-visual .go-tile__media img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: 100%;
		object-fit: cover;
	}

	body.home .go-home .go-hero-visual__feature .go-tile__title {
		font-size: clamp(1.72rem, 8.2vw, 2.22rem);
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	/* The Explore rail may scroll internally, but it must never contribute to
	 * the document width. */
	body.home .go-home .go-home-explore {
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
	}

	body.home .go-home .go-topic-nav {
		max-width: 100%;
		min-width: 0;
	}
}
