:root {
	--home-blue-950: #030811;
	--home-blue-900: #061323;
	--home-blue-800: #0b1d35;
	--home-blue-700: #123b73;
	--home-blue-500: #1977ff;
	--home-gold-500: #e8a83c;
	--home-gold-300: #ffe4a1;
	--home-gold-100: #fff7df;
	--home-muted: #9fa8b8;
	--home-panel: rgba(4, 12, 24, .91);
	--home-panel-soft: rgba(8, 21, 39, .78);
	--home-border: rgba(224, 168, 72, .62);
}

html { scroll-behavior: smooth; }

body.nexusot-home {
	margin: 0;
	min-width: 320px;
	background: var(--home-blue-950) url("../img/nexusot/world-wide.webp") center top / 100% auto no-repeat;
	color: var(--home-gold-100);
	font-family: "NexusSans", "Trebuchet MS", Arial, sans-serif;
}

body.nexusot-home::before {
	display: block;
	position: absolute;
	inset: 505px 0 0;
	z-index: 0;
	content: "";
	background: linear-gradient(180deg, rgba(1, 6, 13, .9), rgba(1, 6, 13, .97)), url("../img/nexusot/sunset-world.webp") center 42% / cover no-repeat;
	opacity: .86;
	pointer-events: none;
}

.nexusot-home *,
.nexusot-home *::before,
.nexusot-home *::after { box-sizing: border-box; }

.nexusot-home a { color: inherit; text-decoration: none; }
.nexusot-home button { font: inherit; }

.home-page {
	position: relative;
	z-index: 1;
	max-width: 1540px;
	margin: 0 auto;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(2, 7, 16, .04), rgba(2, 7, 16, .32) 72%, rgba(2, 7, 16, .7));
	box-shadow: 0 0 90px rgba(0, 0, 0, .72);
}

.home-header {
	position: relative;
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 76px;
	padding: 7px 28px 7px 36px;
	background: linear-gradient(180deg, rgba(1, 7, 15, .97), rgba(3, 13, 26, .88));
	border-bottom: 1px solid rgba(213, 162, 75, .56);
	box-shadow: 0 10px 34px rgba(0, 0, 0, .4);
}

.home-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	width: 178px;
}

.home-brand img { display: block; width: 100%; height: auto; }

.home-nav {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
	margin-right: auto;
}

.home-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 58px;
	padding: 0 14px;
	color: #bfc7d4;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: color .2s ease, background .2s ease;
}

.home-nav a i { color: #7f8da2; font-size: 10px; }
.home-nav a:hover,
.home-nav a.is-active { color: var(--home-gold-100); background: rgba(28, 84, 151, .28); }
.home-nav a.is-active::after { position: absolute; right: 12px; bottom: 0; left: 12px; height: 2px; content: ""; background: #2f90ff; box-shadow: 0 0 14px #2b8dff; }

.home-auth {
	display: flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
}

.home-online {
	color: #44dc83;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
}

.home-online i { margin-right: 4px; font-size: 8px; text-shadow: 0 0 10px #44dc83; }
.home-icon-link { color: #9aa6b7; font-size: 15px; }
.home-icon-link:hover { color: var(--home-gold-100); }

.home-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 16px;
	border: 1px solid rgba(172, 184, 205, .5);
	border-radius: 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	transition: transform .2s ease, border-color .2s ease, color .2s ease;
}

.home-button:hover { color: var(--home-gold-100); border-color: var(--home-gold-300); transform: translateY(-1px); }
.home-button--outline { border-color: #c88a27; background: linear-gradient(180deg, rgba(35, 79, 135, .95), rgba(7, 24, 50, .98)); box-shadow: inset 0 0 0 1px rgba(255, 208, 111, .25), 0 0 12px rgba(42, 126, 255, .22); }

.home-nav-toggle { display: none; }

.home-hero {
	position: relative;
	display: grid;
	grid-template-columns: 1fr minmax(360px, 1.1fr) 1fr;
	align-items: center;
	height: 505px;
	min-height: 505px;
	padding: 42px 46px 34px;
	background: linear-gradient(90deg, rgba(2, 8, 16, .18), rgba(1, 9, 20, .05) 50%, rgba(1, 7, 16, .28));
	isolation: isolate;
}

.home-hero::before { position: absolute; inset: 0; z-index: -1; content: ""; background: radial-gradient(ellipse at 50% 44%, rgba(18, 82, 164, .14), transparent 48%), linear-gradient(180deg, rgba(0, 0, 0, .01), rgba(0, 0, 0, .12)); }
.home-hero::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 42px; content: ""; background: linear-gradient(180deg, transparent, rgba(3, 8, 17, .52)); pointer-events: none; }

.home-hero__content { position: relative; z-index: 1; text-align: center; }
.home-hero__logo { position: relative; top: 16px; width: min(100%, 350px); height: 240px; margin: -24px auto 32px; object-fit: fill; filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)); animation: nexus-logo-pulse 8s ease-in-out infinite; }
.home-kicker { position: relative; top: -16px; margin: 0 0 8px; color: #f7e1a5; font-family: "NexusDisplay", Georgia, serif; font-size: 11px; letter-spacing: .28em; text-shadow: 0 2px 6px #000; }
.home-hero h1 { margin: 0 0 17px; color: #f8eee0; font-family: "NexusDisplay", Georgia, serif; font-size: 14px; font-weight: 400; letter-spacing: .14em; line-height: 1.4; text-shadow: 0 3px 10px #000; }

.home-cta {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-width: 218px;
	justify-content: center;
	min-height: 49px;
	padding: 12px 18px;
	border: 2px solid #e2a83d;
	border-radius: 0;
	background: radial-gradient(ellipse at 50% 0, rgba(255, 213, 122, .28), transparent 24%), radial-gradient(ellipse at 50% 100%, rgba(15, 123, 255, .35), transparent 33%), linear-gradient(180deg, #1a67c9, #083378);
	box-shadow: inset 0 0 0 1px rgba(135, 207, 255, .44), 0 0 0 1px rgba(116, 67, 17, .74), 0 8px 26px rgba(0, 0, 0, .5), 0 0 24px rgba(25, 113, 255, .2);
	color: #fff2d4;
	font-family: "NexusDisplay", Georgia, serif;
	font-size: 14px;
	letter-spacing: .08em;
	transition: transform .2s ease, filter .2s ease;
	clip-path: polygon(5% 0, 95% 0, 100% 18%, 100% 82%, 95% 100%, 5% 100%, 0 82%, 0 18%);
}

.home-cta::before { position: absolute; inset: 3px; content: ""; border: 1px solid rgba(255, 216, 133, .7); clip-path: polygon(5% 0, 95% 0, 100% 18%, 100% 82%, 95% 100%, 5% 100%, 0 82%, 0 18%); pointer-events: none; }

.home-cta:hover { color: #fff; filter: brightness(1.18); transform: translateY(-2px); }
.home-cta i { display: none; }
.home-cta span { margin-left: 10px; font-size: 25px; line-height: 0; }
.home-hero__register { display: block; margin-top: 12px; color: #eecf87; font-size: 11px; letter-spacing: .16em; }
.home-hero__register:hover { color: #fff5ce; }

.home-hero__aside { position: relative; top: -96px; align-self: center; color: rgba(247, 226, 176, .86); font-family: "NexusDisplay", Georgia, serif; font-size: 10px; letter-spacing: .2em; line-height: 1.65; text-shadow: 0 2px 5px #000; }
.home-hero__aside--left { justify-self: start; text-align: center; }
.home-hero__aside--right { justify-self: end; text-align: center; }

.home-stats {
	display: grid;
	grid-template-columns: 1.05fr repeat(4, 1fr);
	position: relative;
	margin: -1px 9.375% 26px;
	height: 66px;
	border: 1px solid rgba(210, 158, 67, .65);
	background: rgba(2, 11, 23, .94);
	box-shadow: 0 11px 24px rgba(0, 0, 0, .44);
}


.home-stat {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	grid-template-rows: 1fr 1fr;
	align-items: center;
	min-height: 64px;
	padding: 5px 10px;
	border-right: 1px solid rgba(153, 140, 114, .22);
}

.home-stat:last-child { border-right: 0; }
.home-stat__icon { display: inline-flex; grid-row: 1 / span 2; align-items: center; justify-content: center; width: 42px; height: 42px; color: #f8e6b8; background: center / contain no-repeat; filter: drop-shadow(0 0 7px rgba(255, 213, 111, .28)); }
.home-stat__icon i { display: none; }
.home-stat__icon--users,
.home-stat__icon--community { background-image: url("../img/nexusot/icons/stat-users.svg"); }
.home-stat__icon--server { background-image: url("../img/nexusot/icons/stat-shield.svg"); }
.home-stat__icon--calendar { background-image: url("../img/nexusot/icons/stat-calendar.svg"); }
.home-stat__icon--star { background-image: url("../img/nexusot/icons/stat-star.svg"); }
.home-stat strong { overflow: hidden; color: #f6e8c2; font-family: "NexusDisplay", Georgia, serif; font-size: 10px; font-weight: 400; letter-spacing: .02em; text-overflow: ellipsis; white-space: nowrap; }
.home-stat--players strong { font-size: 16px; }
.home-stat--players { grid-template-columns: 68px minmax(0, 1fr); }
.home-stat small { color: #d3d7de; font-size: 9px; letter-spacing: .12em; }
.home-stat__icon--server,
.home-stat__icon--calendar { transform: translateX(10px); }
.home-stat--star { grid-template-columns: 34px minmax(0, 1fr); padding-left: 5px; }
.home-stat--star .home-stat__icon { width: 34px; }

.home-content { padding: 0 20px 67px 18px; }
.home-primary-grid { display: grid; grid-template-columns: 1fr 1.235fr .99fr; gap: 10px; }
.home-secondary-grid { display: grid; align-items: start; grid-template-columns: 1.275fr 1.024fr .997fr; gap: 12px; margin-top: 76px; }

.home-card {
	position: relative;
	min-width: 0;
	border: 1px solid rgba(123, 151, 180, .52);
	background: linear-gradient(145deg, rgba(4, 13, 24, .97), rgba(1, 7, 14, .98));
	box-shadow: inset 0 0 0 1px rgba(18, 93, 159, .28), 0 10px 22px rgba(0, 0, 0, .28);
	clip-path: polygon(0 7px, 7px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 7px));
}

.home-card::before { position: absolute; top: -1px; right: 18px; left: 18px; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgba(66, 139, 229, .75), transparent); }
.home-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; padding: 0 15px; border-bottom: 1px solid rgba(122, 143, 166, .25); }
.home-section-heading__label { display: inline-flex; align-items: center; min-width: 0; color: #f0d493; font-family: "NexusDisplay", Georgia, serif; font-size: 12px; letter-spacing: .1em; white-space: nowrap; }
.home-heading-icon { display: inline-block; flex: 0 0 auto; width: 23px; height: 23px; margin-right: 9px; background: center / contain no-repeat; filter: drop-shadow(0 0 4px rgba(255, 210, 109, .28)); }
.home-heading-icon--news { background-image: url("../img/nexusot/icons/heading-news.svg"); }
.home-heading-icon--ranking { background-image: url("../img/nexusot/icons/heading-crown.svg"); }
.home-heading-icon--download { background-image: url("../img/nexusot/icons/heading-shield.svg"); }
.home-heading-icon--video { background-image: url("../img/nexusot/icons/heading-video.svg"); }
.home-section-heading a { color: #5fa9ff; font-size: 10px; white-space: nowrap; }
.home-section-heading a:hover { color: #b8dcff; }
.home-section-heading a i { margin-left: 4px; }
.home-primary-grid .home-section-heading { min-height: 40px; }

.home-primary-grid > .home-card { border-color: rgba(123, 151, 180, .58); }
.home-secondary-grid > .home-card { border-color: rgba(199, 165, 101, .68); }

.home-news-panel { min-height: 259px; height: 259px; }
.home-news-list { padding: 5px 14px 11px; }
.home-news-item { display: flex; gap: 12px; align-items: center; min-height: 64px; padding: 5px 0; border-bottom: 1px solid rgba(155, 168, 186, .12); }
.home-news-item:last-child { border-bottom: 0; }
.home-news-item:hover .home-news-item__copy strong { color: #fff4cc; }
.home-news-thumb { flex: 0 0 88px; width: 88px; height: 58px; border: 1px solid rgba(198, 159, 85, .54); background-repeat: no-repeat; background-size: cover; background-position: center; box-shadow: 0 3px 8px rgba(0, 0, 0, .45); }
.home-news-thumb--castle { background-image: url("../img/nexusot/news-castle.webp"); }
.home-news-thumb--battle { background-image: url("../img/nexusot/news-battle.webp"); }
.home-news-thumb--council { background-image: url("../img/nexusot/news-council.webp"); }
.home-news-item__copy { display: grid; gap: 4px; min-width: 0; }
.home-news-item__copy strong { overflow: hidden; color: #ece6da; font-family: "NexusDisplay", Georgia, serif; font-size: 11px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.home-news-item__copy small { overflow: hidden; color: #a7b0bd; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.home-news-item__copy em { color: #6e7d92; font-size: 9px; font-style: normal; }

.home-carousel { min-height: 259px; height: 259px; overflow: hidden; }
.home-carousel__viewport { position: absolute; inset: 0; }
.home-carousel__slide { position: absolute; inset: 0; display: block; opacity: 0; background-position: center; background-size: cover; transition: opacity .55s ease, transform .8s ease; transform: scale(1.03); }
.home-carousel__slide.is-active { opacity: 1; transform: scale(1); }
.home-carousel__slide::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .3)); }
.home-carousel__slide--dragon { background-image: url("../img/nexusot/dragon-slide.webp"); background-size: 100% 100%; }
.home-carousel__slide--world { background-image: url("../img/nexusot/world-wide.webp"); }
.home-carousel__slide--community { background-image: url("../img/nexusot/community.webp"); }
.home-carousel__slide--dragon-alt { background-image: url("../img/nexusot/dragon-lair.webp"); background-position: 72% 23%; background-size: 139% 125%; }
.home-carousel__slide--world-alt { background-image: url("../img/nexusot/world-wide.webp"); background-position: 50% 42%; }
.home-carousel__slide--community-alt { background-image: url("../img/nexusot/community.webp"); background-position: 50% 45%; }
.home-carousel__slide--dragon::after { background: transparent; }
.home-carousel__arrow { position: absolute; top: 50%; z-index: 2; display: grid; width: 32px; height: 50px; place-items: center; border: 1px solid rgba(224, 172, 85, .68); background: rgba(2, 9, 19, .7); color: #f3dfac; font-size: 20px; transform: translateY(-50%); cursor: pointer; }
.home-carousel__arrow:hover { background: rgba(16, 74, 144, .82); }
.home-carousel__arrow--prev { left: 0; }
.home-carousel__arrow--next { right: 0; }
.home-carousel__dots { position: absolute; right: 0; bottom: 12px; left: 0; z-index: 2; display: flex; justify-content: center; gap: 7px; }
.home-carousel__dots button { width: 7px; height: 7px; padding: 0; border: 1px solid rgba(255, 233, 177, .8); border-radius: 50%; background: transparent; cursor: pointer; }
.home-carousel__dots button.is-active { background: #fff0b6; box-shadow: 0 0 9px #fff0b6; }

.home-ranking-panel { min-height: 259px; height: 259px; }
.home-ranking__head,
.home-ranking__row { display: grid; grid-template-columns: 30px minmax(0, 1fr) 45px 44px; align-items: center; gap: 5px; }
.home-ranking__head { padding: 6px 13px 5px; color: #69798e; font-size: 9px; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.home-ranking__row { min-height: 33px; padding: 0 13px; border-top: 1px solid rgba(158, 169, 188, .11); color: #b6c0d0; font-size: 10px; }
.home-ranking__row:hover { background: rgba(23, 74, 137, .22); }
.home-ranking__row strong { color: #efdb9d; font-weight: 400; }
.home-ranking__row small { color: #69778b; }
.home-rank { display: flex; align-items: center; justify-content: flex-start; min-width: 22px; color: #aab6c8; font-family: Georgia, serif; font-size: 12px; }
.home-rank--1 { color: #f8d35f; }
.home-rank--2 { color: #dbe4f1; }
.home-rank--3 { color: #d79655; }
.home-rank__medal { display: none; width: 18px; height: 18px; margin-right: 2px; background: center / contain no-repeat; }
.home-rank--1 .home-rank__medal { display: block; background-image: url("../img/nexusot/icons/medal-1.webp"); }
.home-rank--2 .home-rank__medal { display: block; background-image: url("../img/nexusot/icons/medal-2.webp"); }
.home-rank--3 .home-rank__medal { display: block; background-image: url("../img/nexusot/icons/medal-3.webp"); }
.home-rank--1 > span:last-child, .home-rank--2 > span:last-child, .home-rank--3 > span:last-child { display: none; }
.home-player { display: flex; align-items: center; gap: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-player__avatar { display: inline-block; flex: 0 0 20px; width: 20px; height: 20px; border: 1px solid rgba(172, 198, 234, .7); border-radius: 50%; background: radial-gradient(circle at 38% 30%, #d6efff 0 13%, transparent 14%), linear-gradient(145deg, #7d4cff, #172c65 68%); box-shadow: inset 0 0 0 2px rgba(8, 18, 38, .68), 0 0 8px rgba(73, 151, 255, .25); }
.home-player__avatar--2 { background: radial-gradient(circle at 38% 30%, #e9f8ff 0 13%, transparent 14%), linear-gradient(145deg, #2b9bdd, #172c65 68%); }
.home-player__avatar--3 { background: radial-gradient(circle at 38% 30%, #ffe8c0 0 13%, transparent 14%), linear-gradient(145deg, #c77b3d, #472b2d 68%); }
.home-player__avatar--4 { background: radial-gradient(circle at 38% 30%, #e9f8ff 0 13%, transparent 14%), linear-gradient(145deg, #526a8f, #18233f 68%); }
.home-player__avatar--5 { background: radial-gradient(circle at 38% 30%, #ffe5ad 0 13%, transparent 14%), linear-gradient(145deg, #d48b2b, #4d2631 68%); }
.home-empty-state { padding: 24px 15px; color: #8490a1; font-size: 12px; text-align: center; }

.home-downloads { height: 174px; min-height: 174px; padding-bottom: 10px; }
.home-downloads .home-section-heading > a { display: none; }
.home-downloads .home-heading-icon { margin-right: 14px; }
.home-downloads > p { margin: -7px 15px 15px; color: #8290a3; font-size: 10px; }
.home-downloads__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 13px; }
.home-download-tile { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1px; aspect-ratio: 1.2 / 1; border: 1px solid rgba(211, 166, 83, .55); background: linear-gradient(180deg, rgba(19, 93, 170, .92), rgba(4, 39, 79, .96)); box-shadow: inset 0 0 0 1px rgba(149, 211, 255, .12), 0 4px 9px rgba(0, 0, 0, .3); color: #f3f5ff; text-align: center; transition: filter .2s ease, transform .2s ease; }
.home-download-tile--android { border-color: rgba(54, 170, 107, .7); background: linear-gradient(180deg, rgba(14, 129, 71, .92), rgba(3, 63, 39, .96)); }
.home-download-tile--linux { border-color: rgba(184, 135, 69, .74); background: linear-gradient(180deg, rgba(109, 77, 39, .94), rgba(47, 29, 18, .98)); }
.home-download-tile__icon { display: block; height: 32px; color: #d9f0ff; font-size: 31px; line-height: 32px; text-shadow: 0 2px 7px rgba(0, 0, 0, .4); }
.home-download-tile--android .home-download-tile__icon { color: #80ee9d; }
.home-download-tile--linux .home-download-tile__icon { color: #ffe0a1; }
.home-download-tile strong { color: #f8f7ff; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.home-download-tile small { color: rgba(236, 239, 248, .9); font-size: 9px; }
.home-download-tile:hover { filter: brightness(1.17); transform: translateY(-3px); }
.home-download-tile--windows { background-position: left center; }
.home-download-tile--android { background-position: center center; }
.home-download-tile--linux { background-position: right center; }

.home-media-card { display: flex; align-self: start; width: 100%; aspect-ratio: 1.72 / 1; min-height: 0; overflow: hidden; border-color: transparent; isolation: isolate; }
.home-media-card::before { display: none; }
.home-media-card::after { position: absolute; inset: 0; z-index: 0; content: ""; background-position: center; background-size: 100% 100%; transition: filter .45s ease; }
.home-media-card:hover::after { filter: brightness(1.16) saturate(1.08); }
.home-media-card--community::after { background-image: url("../img/nexusot/community.webp"); }
.home-media-card--video::after { background-image: url("../img/nexusot/video.webp"); }
.home-discord-card { border-color: rgba(224, 174, 82, .86); }
.home-discord-card::before { position: absolute; inset: 0; z-index: 1; display: block; content: ""; background: linear-gradient(108deg, transparent 35%, rgba(255, 255, 255, .16) 49%, transparent 62%); opacity: 0; pointer-events: none; animation: nexus-card-sheen 7s ease-in-out infinite; }
.home-discord-card::after { background-image: linear-gradient(90deg, rgba(3, 10, 20, .99) 0%, rgba(3, 10, 20, .9) 43%, rgba(3, 10, 20, .14) 78%, rgba(3, 10, 20, .02) 100%), url("../img/nexusot/community.webp"); background-position: center, 50% center; background-size: 100% 100%, auto 100%; }
.home-media-card__content { position: relative; z-index: 2; display: flex; align-items: flex-start; flex-direction: column; justify-content: flex-start; width: 100%; height: 100%; padding: 20px 15px 14px; color: #fff4d2; text-shadow: 0 2px 8px rgba(0, 0, 0, .9); }
.home-media-card__content strong { margin-top: 5px; color: #fff0d0; font-family: "NexusDisplay", Georgia, serif; font-size: 13px; font-weight: 400; letter-spacing: .06em; line-height: 1.2; white-space: nowrap; }
.home-media-card__content small { margin-top: 5px; color: #d4e5ff; font-size: 8px; letter-spacing: .09em; }
.home-discord-mark { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 27px; margin-top: 8px; margin-left: 34px; color: #f7fbff; font-size: 27px; filter: drop-shadow(0 0 6px rgba(91, 167, 255, .7)); }
.home-discord-mark img { display: block; width: 35px; height: 27px; object-fit: contain; filter: drop-shadow(0 0 6px rgba(91, 167, 255, .7)); }
.home-discord-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: 157px; min-width: 157px; min-height: 31px; margin-top: 26px; padding: 0; overflow: hidden; border: 1px solid #ffe2a0; border-radius: 7px; background: linear-gradient(180deg, #2d99ff 0%, #0b52be 48%, #062763 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.38), 0 0 0 1px rgba(46, 130, 255, .45), 0 0 22px rgba(32, 149, 255, .68); color: #fff9e8; font-size: 9px; font-weight: 700; letter-spacing: .07em; animation: nexus-discord-glow 3.2s ease-in-out infinite; }
.home-discord-button img { display: block; width: 16px; height: 13px; object-fit: contain; }
.home-discord-button::before { position: absolute; top: -30%; bottom: -30%; left: -80%; width: 36%; content: ""; background: linear-gradient(90deg, transparent, rgba(255,255,255,.74), transparent); transform: skewX(-18deg); animation: nexus-button-sheen 3.6s ease-in-out infinite; }
.home-discord-button i:last-child { color: #dff2ff; font-size: 9px; }
.home-discord-card:hover .home-discord-button { filter: brightness(1.2) saturate(1.18); transform: translateY(-2px); }
.home-sr-only { position: absolute; z-index: 1; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.home-video-card { height: 174px; min-height: 174px; overflow: hidden; }
.home-video-preview { position: absolute; top: 49px; right: 13px; bottom: 12px; left: 13px; display: block; overflow: hidden; border: 1px solid rgba(163, 178, 198, .34); background: url("../img/nexusot/video.webp") center / 100% 100% no-repeat; box-shadow: inset 0 0 0 1px rgba(17, 92, 157, .2), 0 3px 10px rgba(0, 0, 0, .42); transition: filter .35s ease, transform .35s ease; }
.home-video-preview:hover { filter: brightness(1.16) saturate(1.08); transform: translateY(-1px); }

.home-news-detail { padding-bottom: 28px; }
.home-news-detail h1 { margin: 28px 30px 8px; color: #f1d79a; font-family: "NexusDisplay", Georgia, serif; font-size: 28px; font-weight: 400; }
.home-news-detail__meta { margin: 0 30px 24px; color: #718097; font-size: 11px; }
.home-news-detail__body { margin: 0 30px; color: #c2cbd8; font-size: 14px; line-height: 1.8; }
.home-news-detail__body img { height: auto; }

.home-footer { position: relative; display: grid; grid-template-columns: 256px 440px minmax(0, 1fr); gap: 0; height: 256px; min-height: 256px; padding: 30px 48px 20px; border-top: 1px solid rgba(134, 155, 180, .58); background: linear-gradient(90deg, rgba(3, 11, 24, .32), rgba(3, 11, 24, .94) 38%, rgba(3, 11, 24, .98) 52%, rgba(4, 13, 26, .55)), url("../img/nexusot/sunset-world.webp") center bottom / cover no-repeat; }
.home-footer__brand { display: flex; align-items: center; flex-direction: column; gap: 9px; }
.home-footer__brand img { width: min(100%, 200px); filter: drop-shadow(0 7px 10px #000); transform: translate(-33px, 21px) scale(1.08); transform-origin: center top; }
.home-footer__brand span { position: relative; left: -15px; color: #aeb7c5; font-family: "NexusDisplay", Georgia, serif; font-size: 9px; letter-spacing: .18em; }
.home-footer__links { display: grid; grid-template-columns: 118px 132px minmax(0, 1fr); gap: 0; }
.home-footer__links div { display: flex; flex-direction: column; gap: 8px; }
.home-footer__links strong { margin-bottom: 5px; color: #e6e4dc; font-family: "NexusDisplay", Georgia, serif; font-size: 12px; font-weight: 400; letter-spacing: .1em; }
.home-footer__links a { color: #8d9aad; font-size: 11px; }
.home-footer__links a:hover { color: #fff0bd; }
.home-footer__quote { align-self: center; justify-self: start; color: #ceb779; font-family: "NexusDisplay", Georgia, serif; font-size: 13px; font-style: italic; line-height: 1.55; text-align: left; }
.home-footer__bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; min-height: 108px; padding: 28px 24px 15px; border-top: 1px solid rgba(125, 145, 171, .23); background: rgba(1, 7, 15, .88); color: #6c7b90; font-size: 10px; }
.home-footer__bar span:nth-child(2) { color: #c6cbd2; }

@keyframes nexus-logo-pulse {
	0%, 72%, 100% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 0 rgba(44, 156, 255, 0)); transform: translateY(20px) scale(.95); }
	78% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 22px rgba(44, 156, 255, .8)); transform: translateY(20px) scale(.975); }
	88% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 9px rgba(255, 213, 116, .68)); transform: translateY(20px) scale(.96); }
}
@keyframes nexus-logo-awaken {
	0% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 0 rgba(44, 156, 255, 0)); transform: translateY(20px) scale(.95); }
	35% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 31px rgba(47, 166, 255, .95)); transform: translateY(20px) scale(.985); }
	68% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 13px rgba(255, 217, 125, .78)); transform: translateY(20px) scale(.962); }
	100% { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .75)) drop-shadow(0 0 0 rgba(44, 156, 255, 0)); transform: translateY(20px) scale(.95); }
}
@keyframes nexus-logo-pulse-mobile {
	0%, 72%, 100% { filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .75)); transform: scale(1); }
	78% { filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .75)) drop-shadow(0 0 20px rgba(44, 156, 255, .8)); transform: scale(1.025); }
}
.home-hero__logo.is-awakened { animation: nexus-logo-awaken 1.6s ease-out both; }
@keyframes nexus-discord-glow {
	0%, 100% { box-shadow: inset 0 0 0 1px rgba(255,255,255,.38), 0 0 0 1px rgba(46, 130, 255, .45), 0 0 16px rgba(32, 149, 255, .46); }
	50% { box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 0 0 1px rgba(255, 204, 110, .7), 0 0 27px rgba(32, 149, 255, .86); }
}
@keyframes nexus-card-sheen {
	0%, 62%, 100% { opacity: 0; transform: translateX(-24%); }
	72% { opacity: .26; }
	86% { opacity: 0; transform: translateX(24%); }
}

@media (max-width: 1180px) {
	.home-header { padding-right: 18px; padding-left: 22px; gap: 12px; }
	.home-brand { width: 145px; }
	.home-nav a { padding: 0 9px; font-size: 10px; }
	.home-online, .home-icon-link { display: none; }
	.home-hero { grid-template-columns: 1fr minmax(360px, 1.1fr) 1fr; height: 505px; min-height: 505px; padding: 42px 26px 34px; }
	.home-hero__aside--left { transform: translateX(24px); }
	.home-hero__aside { font-size: 10px; letter-spacing: .2em; }
	.home-stats { margin-right: 9.375%; margin-left: 9.375%; }
}

@media (max-width: 960px) and (min-width: 821px) {
	.home-primary-grid { grid-template-columns: minmax(220px, .85fr) minmax(360px, 1.45fr); }
	.home-ranking-panel { grid-column: 1 / -1; min-height: 0; }
	.home-ranking__list { display: grid; grid-template-columns: repeat(5, 1fr); }
	.home-ranking__row { border-right: 1px solid rgba(158, 169, 188, .11); border-top: 0; }
	.home-ranking__head { display: none; }
	.home-secondary-grid { grid-template-columns: minmax(360px, 1.35fr) minmax(245px, .9fr); }
	.home-media-card--video { grid-column: 2; }
}

@media (max-width: 820px) {
	.home-header { flex-wrap: wrap; min-height: 68px; }
	.home-brand { width: 152px; }
	.home-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-left: auto; border: 1px solid rgba(213, 162, 75, .6); background: rgba(8, 29, 58, .75); color: #ffe5a7; cursor: pointer; }
	.home-nav { display: none; order: 3; flex: 0 0 100%; flex-direction: column; align-items: stretch; gap: 0; margin: 0 -22px -7px; border-top: 1px solid rgba(213, 162, 75, .28); }
	.home-nav.is-open { display: flex; }
	.home-nav a { justify-content: center; min-height: 44px; border-bottom: 1px solid rgba(158, 169, 188, .11); }
	.home-nav a.is-active::after { right: 30%; left: 30%; }
	.home-auth { gap: 7px; }
	.home-button { min-height: 30px; padding: 0 9px; font-size: 9px; }
	.home-hero { grid-template-columns: 1fr; min-height: 480px; padding-top: 32px; padding-bottom: 60px; }
	.home-hero__aside { display: none; }
	.home-hero__logo { top: 0; max-width: 420px; height: auto; margin-top: -10px; transform: none; animation: nexus-logo-pulse-mobile 8s ease-in-out infinite; }
	.home-kicker { font-size: 11px; letter-spacing: .2em; }
	.home-hero h1 { font-size: 27px; }
	.home-stats { grid-template-columns: repeat(2, 1fr); margin-right: 16px; margin-left: 16px; }
	.home-stat:nth-child(2n) { border-right: 0; }
	.home-stat:nth-child(-n + 3) { border-bottom: 1px solid rgba(153, 140, 114, .22); }
	.home-content { padding-right: 16px; padding-left: 16px; }
	.home-primary-grid, .home-secondary-grid { grid-template-columns: 1fr; }
	.home-carousel { min-height: 280px; }
	.home-ranking__list { grid-template-columns: 1fr; }
	.home-ranking__row { border-top: 1px solid rgba(158, 169, 188, .11); border-right: 0; }
	.home-media-card { aspect-ratio: 1.72 / 1; min-height: 0; }
	.home-footer { grid-template-columns: 1fr; padding: 36px 24px; }
	.home-footer__quote { justify-self: start; text-align: left; }
	.home-footer__bar { flex-direction: column; align-items: center; padding-right: 24px; padding-left: 24px; text-align: center; }
}

@media (max-width: 500px) {
	.home-header { padding-right: 12px; padding-left: 14px; }
	.home-brand { width: 132px; }
	.home-auth .home-button--quiet { display: none; }
	.home-hero { min-height: 430px; }
	.home-hero__logo { max-width: 310px; }
	.home-hero h1 { font-size: 22px; letter-spacing: .1em; }
	.home-cta { min-width: 205px; padding: 12px 17px; font-size: 14px; }
	.home-stat { grid-template-columns: 43px 1fr; min-height: 69px; padding: 8px 10px; }
	.home-stat--players { grid-template-columns: 50px 1fr; }
	.home-stat__icon { width: 36px; height: 36px; }
	.home-stat strong { font-size: 11px; }
	.home-stat small { font-size: 8px; }
	.home-section-heading { padding-right: 11px; padding-left: 11px; }
	.home-section-heading__label { font-size: 11px; }
	.home-section-heading a { font-size: 9px; }
	.home-downloads__tiles { gap: 5px; padding-right: 7px; padding-left: 7px; }
	.home-footer__links { grid-template-columns: repeat(2, 1fr); }
}
