/* Andrew Grojean custom homepage - mobile-first styles. */

:root {
	--ag-bg: #0d1318;
	--ag-bg-deep: #080d11;
	--ag-bg-soft: #111b22;
	--ag-surface: #17212a;
	--ag-surface-strong: #1d2932;
	--ag-news: #6f7f8b;
	--ag-news-soft: #d4d8dc;
	--ag-text: #f5f4ef;
	--ag-muted: #b8c0c8;
	--ag-dark-text: #101820;
	--ag-dark-muted: #4b5358;
	--ag-gold: #d8bf5a;
	--ag-gold-soft: #d6be84;
	--ag-border: rgba(255, 255, 255, 0.1);
	--ag-border-strong: rgba(255, 255, 255, 0.18);
	--ag-news-border: rgba(16, 24, 32, 0.18);
	--ag-font: Inter, Manrope, Satoshi, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ag-shell: min(100% - 40px, 1160px);
	--ag-radius: 8px;
	--ag-section-y: 48px;
}

html {
	scroll-behavior: smooth;
}

body.ag-home-template,
body.ag-post-template {
	margin: 0;
	background:
		linear-gradient(180deg, rgba(13, 19, 24, 0.96), rgba(8, 13, 17, 1) 58%),
		var(--ag-bg);
	color: var(--ag-text);
	font-family: var(--ag-font);
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0;
}

.ag-home-template *,
.ag-post-template * {
	box-sizing: border-box;
}

.ag-home-template a,
.ag-post-template a {
	color: inherit;
	text-decoration: none;
}

:where(body[class*="ag-"]) :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 4px;
	box-shadow: 0 0 0 4px rgba(216, 191, 90, 0.2);
}

:where(body[class*="ag-"]) :where(input, textarea, select):focus-visible {
	border-color: rgba(216, 191, 90, 0.72);
}

.ag-home-template img,
.ag-post-template img {
	display: block;
	max-width: 100%;
	height: auto;
}

.ag-shell {
	width: var(--ag-shell);
	margin-inline: auto;
}

.ag-skip-link {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 100;
	padding: 10px 14px;
	background: var(--ag-gold);
	color: var(--ag-dark-text);
	border-radius: 4px;
	font-weight: 800;
	transform: translateY(-160%);
}

.ag-skip-link:focus {
	transform: translateY(0);
}

.ag-site-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 50;
	background:
		linear-gradient(180deg, rgba(27, 39, 48, 0.5) 0%, rgba(13, 20, 26, 0.32) 64%, rgba(255, 255, 255, 0.06) 100%),
		rgba(9, 14, 19, 0.26);
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	backdrop-filter: blur(34px) saturate(1.45);
	box-shadow:
		inset 0 -1px 0 rgba(216, 191, 90, 0.08),
		0 18px 42px rgba(0, 0, 0, 0.13);
}

.ag-site-header::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 10px;
	background: linear-gradient(180deg, rgba(216, 191, 90, 0), rgba(216, 191, 90, 0.025));
	content: "";
	pointer-events: none;
}

.admin-bar .ag-site-header {
	top: 46px;
}

.ag-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	gap: 20px;
}

.ag-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 0;
	color: var(--ag-text);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ag-wordmark:visited,
.ag-wordmark:hover,
.ag-wordmark:focus-visible {
	color: var(--ag-text);
}

.ag-wordmark-first {
	font-weight: inherit;
}

.ag-wordmark-last {
	font-weight: inherit;
}

.ag-desktop-nav {
	display: none;
}

.ag-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ag-mobile-nav {
	position: relative;
}

.ag-mobile-nav summary {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 42px;
	height: 42px;
	list-style: none;
	cursor: pointer;
}

.ag-mobile-nav summary::-webkit-details-marker {
	display: none;
}

.ag-mobile-nav summary span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--ag-gold);
}

.ag-mobile-nav summary span + span {
	margin-top: 0;
}

.ag-mobile-nav nav {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	display: grid;
	width: min(280px, calc(100vw - 40px));
	padding: 10px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.095), rgba(216, 191, 90, 0.04) 38%, rgba(8, 13, 17, 0.18) 100%),
		linear-gradient(180deg, rgba(31, 44, 54, 0.78), rgba(13, 20, 26, 0.84)),
		rgba(9, 15, 20, 0.74);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--ag-radius);
	backdrop-filter: blur(34px) saturate(1.45);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.12),
		0 18px 44px rgba(0, 0, 0, 0.3);
}

.ag-mobile-nav nav .ag-menu {
	display: grid;
	gap: 2px;
}

.ag-mobile-nav nav a {
	display: block;
	padding: 12px;
	color: var(--ag-text);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ag-mobile-nav .sub-menu {
	display: grid;
	gap: 2px;
	margin: 0 0 4px;
	padding: 0 0 0 14px;
	list-style: none;
	border-left: 1px solid rgba(216, 191, 90, 0.28);
}

.ag-mobile-nav .sub-menu a {
	color: var(--ag-muted);
	font-size: 0.74rem;
	letter-spacing: 0.1em;
}

.ag-mobile-nav nav a:focus-visible,
.ag-mobile-nav nav a:hover,
.ag-desktop-nav a:focus-visible,
.ag-desktop-nav a:hover {
	color: var(--ag-text);
}

.ag-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #0f171d;
	border-bottom: 1px solid var(--ag-border);
}

.ag-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(105deg, rgba(8, 13, 17, 0.94) 0%, rgba(8, 13, 17, 0.72) 38%, rgba(13, 19, 24, 0.12) 72%, rgba(13, 19, 24, 0.03) 100%);
}

.ag-hero-grid {
	position: relative;
	display: grid;
	min-height: 500px;
	padding-block: 124px 40px;
	align-items: center;
}

.ag-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 620px;
}

.ag-kicker,
.ag-section-label {
	margin: 0 0 18px;
	color: var(--ag-gold);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ag-hero h1 {
	max-width: 460px;
	margin: 0;
	color: var(--ag-text);
	font-size: clamp(1.8rem, 8.55vw, 2.75rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.03;
}

.ag-title-word {
	display: block;
}

.ag-hero h1 br {
	display: none;
}

.ag-rule {
	width: 48px;
	height: 2px;
	margin: 28px 0 24px;
	background: var(--ag-gold);
}

.ag-hero-text {
	max-width: 520px;
	margin: 0;
	color: rgba(245, 244, 239, 0.88);
	font-size: 1rem;
	line-height: 1.75;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.58);
}

.ag-actions {
	display: grid;
	gap: 12px;
	margin-top: 30px;
}

.ag-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 48px;
	padding: 13px 22px;
	border-radius: 4px;
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	isolation: isolate;
	transition: background 220ms ease, border-color 220ms ease, color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.ag-button:focus-visible,
.ag-text-link:focus-visible,
.ag-explore-card:focus-visible,
.ag-writing-row:focus-visible,
.ag-socials a:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 4px;
}

.ag-button::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: -1;
	background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.24) 42%, transparent 68%);
	transform: translateX(-120%);
	transition: transform 420ms ease;
}

.ag-button:hover,
.ag-explore-card:hover,
.ag-writing-row:hover {
	transform: translateY(-2px);
}

.ag-button:hover {
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
}

.ag-button:hover::before {
	transform: translateX(120%);
}

.ag-button-primary {
	background: linear-gradient(180deg, var(--ag-gold-soft), var(--ag-gold));
	color: var(--ag-dark-text);
	border: 1px solid rgba(216, 191, 90, 0.85);
}

.ag-button-secondary {
	background: rgba(8, 13, 17, 0.35);
	color: var(--ag-gold);
	border: 1px solid rgba(216, 191, 90, 0.78);
}

.ag-button-secondary:hover {
	background: rgba(216, 191, 90, 0.12);
	border-color: rgba(216, 191, 90, 0.95);
}

.ag-hero-media {
	position: absolute;
	inset: 0 calc((100vw - 100%) / -2);
	z-index: 1;
	margin: 0;
	opacity: 0.86;
}

.ag-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 13, 17, 0.9) 0%, rgba(8, 13, 17, 0.64) 34%, rgba(8, 13, 17, 0.08) 72%),
		linear-gradient(0deg, rgba(8, 13, 17, 0.34) 0%, rgba(8, 13, 17, 0) 54%, rgba(8, 13, 17, 0.1) 100%);
}

.ag-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
	filter: saturate(0.98) contrast(1.02) brightness(0.98);
}

.ag-section {
	padding-block: var(--ag-section-y);
	background: linear-gradient(180deg, var(--ag-bg), var(--ag-bg-deep));
}

.ag-explore {
	padding-block: 38px 48px;
	border-bottom: 1px solid var(--ag-border);
}

.ag-explore .ag-section-label,
.ag-news .ag-section-label {
	text-align: center;
}

.ag-explore-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.ag-explore-card {
	position: relative;
	display: grid;
	min-height: 216px;
	padding: 22px 20px;
	align-content: start;
	justify-items: center;
	text-align: center;
	background: linear-gradient(180deg, rgba(29, 41, 50, 0.95), rgba(18, 28, 36, 0.96));
	border: 1px solid var(--ag-border-strong);
	border-radius: var(--ag-radius);
	transition: border-color 220ms ease, transform 220ms ease, background 220ms ease;
}

.ag-explore-card:hover {
	border-color: rgba(216, 191, 90, 0.45);
	background: linear-gradient(180deg, rgba(34, 48, 58, 0.98), rgba(18, 28, 36, 0.98));
}

.ag-explore-card svg {
	width: 40px;
	height: 40px;
	margin-bottom: 18px;
	color: var(--ag-gold);
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

.ag-explore-card h2 {
	margin: 0 0 10px;
	color: var(--ag-text);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
}

.ag-explore-card p {
	max-width: 32ch;
	margin: 0;
	color: var(--ag-muted);
	font-size: 0.92rem;
	line-height: 1.5;
}

.ag-card-link,
.ag-explore-card span,
.ag-text-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	margin-top: 18px;
	color: var(--ag-gold);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ag-text-link::before,
.ag-explore-card span::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: -7px;
	left: 0;
	height: 1px;
	background: currentColor;
	opacity: 0.55;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 260ms ease;
}

.ag-text-link:hover::before,
.ag-explore-card:hover span::before {
	transform: scaleX(1);
}

.ag-feature-band {
	padding-block-start: 40px;
	padding-block-end: 36px;
	background:
		linear-gradient(90deg, rgba(216, 191, 90, 0.04), transparent 35%),
		linear-gradient(180deg, #0c1217, #0a1015);
}

.ag-feature-grid {
	display: grid;
	gap: 52px;
}

.ag-writing-list {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--ag-border);
	overflow: visible;
}

.ag-writing-row {
	position: relative;
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 18px;
	align-items: center;
	padding-block: 16px;
	border-bottom: 1px solid var(--ag-border);
	overflow: visible;
	transition: background 220ms ease, transform 220ms ease;
}

.ag-writing-row::before {
	content: "";
	position: absolute;
	top: 0;
	right: -18px;
	bottom: 0;
	left: -88px;
	background: linear-gradient(90deg, transparent 0, rgba(216, 191, 90, 0.02) 18px, rgba(216, 191, 90, 0.1) 88px, rgba(255, 255, 255, 0.02) 66%, transparent 100%);
	opacity: 0;
	transform: translateX(-16px);
	transition: opacity 220ms ease, transform 220ms ease;
}

.ag-writing-row:hover::before {
	opacity: 1;
	transform: translateX(0);
}

.ag-writing-row img {
	position: relative;
	z-index: 1;
	width: 96px;
	aspect-ratio: 620 / 330;
	box-sizing: border-box;
	border: 1px solid rgba(184, 192, 200, 0.34);
	border-radius: 4px;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.98) contrast(1.02) brightness(0.96);
	transition: filter 220ms ease, transform 220ms ease;
}

.ag-writing-row:hover img {
	filter: saturate(1.05) contrast(1.04) brightness(1);
	transform: scale(1.025);
}

.ag-writing-row h3,
.ag-writing-row strong {
	position: relative;
	z-index: 1;
	display: block;
	margin: 0;
	color: var(--ag-text);
	font-size: 0.98rem;
	font-weight: 760;
	line-height: 1.35;
}

.ag-writing-row:hover strong {
	color: var(--ag-gold-soft);
}

.ag-writing-row p {
	position: relative;
	z-index: 1;
	margin: 0;
}

.ag-writing-row em {
	position: relative;
	z-index: 1;
	display: block;
	margin-top: 4px;
	color: var(--ag-muted);
	font-size: 0.86rem;
	font-style: normal;
	line-height: 1.35;
}

.ag-project h2 {
	margin: 0 0 12px;
	color: var(--ag-text);
	font-size: clamp(1.25rem, 5vw, 1.75rem);
	font-weight: 820;
	letter-spacing: 0;
	line-height: 1.18;
}

.ag-project .ag-section-label {
	color: var(--ag-gold);
	font-size: 0.82rem;
	line-height: 1.4;
}

.ag-project p,
.ag-about-copy p,
.ag-connect-copy p {
	margin: 0;
	color: var(--ag-text);
	font-size: 1rem;
	line-height: 1.75;
}

.ag-video-placeholder {
	position: relative;
	display: block;
	overflow: hidden;
	margin-top: 26px;
	border: 1px solid var(--ag-border);
	border-radius: var(--ag-radius);
	background: var(--ag-surface);
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.ag-video-placeholder::before {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(105deg, transparent 22%, rgba(255, 255, 255, 0.22) 46%, rgba(216, 191, 90, 0.12) 50%, transparent 72%);
	content: "";
	opacity: 0;
	transform: translateX(-130%) skewX(-18deg);
	transition: opacity 220ms ease, transform 760ms ease;
	pointer-events: none;
}

.ag-video-placeholder img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
	filter: contrast(1.02) brightness(0.98);
	transition: filter 260ms ease;
}

.ag-video-placeholder::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(8, 13, 17, 0.08), rgba(8, 13, 17, 0.28));
}

.ag-video-placeholder span {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: grid;
	width: 70px;
	height: 70px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.88);
	border-radius: 999px;
	transform: translate(-50%, -50%);
	transition: background 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.ag-video-placeholder span::before {
	content: "";
	width: 0;
	height: 0;
	margin-left: 5px;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 18px solid var(--ag-text);
}

.ag-video-placeholder:hover,
.ag-video-placeholder:focus-visible {
	border-color: rgba(216, 191, 90, 0.42);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
	transform: translateY(-2px);
}

.ag-video-placeholder:hover::before,
.ag-video-placeholder:focus-visible::before {
	opacity: 1;
	transform: translateX(130%) skewX(-18deg);
}

.ag-video-placeholder:hover img,
.ag-video-placeholder:focus-visible img {
	filter: contrast(1.04) brightness(1.04);
}

.ag-video-placeholder:hover span,
.ag-video-placeholder:focus-visible span {
	background: rgba(216, 191, 90, 0.16);
	border-color: rgba(245, 244, 239, 0.96);
	transform: translate(-50%, -50%) scale(1.04);
}

.ag-news {
	padding-block: 34px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0) 48%),
		linear-gradient(180deg, var(--ag-news-soft) 0%, #aab4bc 48%, var(--ag-news) 100%),
		var(--ag-news);
	color: var(--ag-dark-text);
}

.ag-section-label-dark {
	color: var(--ag-dark-text);
	font-size: 0.94rem;
}

.ag-section-label-dark::after {
	display: none;
}

.ag-news-grid {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.ag-news-item {
	position: relative;
	display: grid;
	grid-template-rows: 56px auto;
	gap: 10px;
	place-items: center;
	justify-items: center;
	padding-block: 10px;
	color: var(--ag-dark-text);
	overflow: hidden;
	text-align: center;
}

.ag-news-logo {
	position: relative;
	z-index: 1;
	display: block;
	width: min(176px, 100%);
	max-width: 176px;
	height: 46px !important;
	margin-inline: auto;
	margin-bottom: 2px;
	color: var(--ag-dark-text);
	filter: grayscale(1) saturate(0) contrast(0.95);
	object-fit: contain;
	object-position: center;
	transition: filter 220ms ease, transform 220ms ease;
}

.ag-news-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.ag-news-logo-mmm {
	width: min(131px, 100%);
	max-width: 131px;
}

.ag-news-logo-abc {
	width: auto;
	max-width: 152px;
	height: 50px !important;
}

.ag-news-logo-kctv {
	width: auto;
	max-width: 70px;
	height: 52px !important;
}

.ag-news-item span {
	align-self: start;
}

.ag-news-grid h3,
.ag-news-grid strong {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: clamp(1rem, 4vw, 1.22rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.05;
}

.ag-news-grid p,
.ag-news-grid span {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #20282e;
	font-size: 0.9rem;
	line-height: 1.4;
}

.ag-text-link-dark {
	color: #8d6f14;
}

.ag-news-cta {
	display: flex;
	margin-inline: auto;
}

@media (max-width: 767px) {
	.ag-news {
		padding-block: 24px 28px;
	}

	.ag-news-grid {
		gap: 8px;
		margin-top: 14px;
	}

	.ag-news-item {
		grid-template-rows: 48px auto;
		gap: 8px;
		padding-block: 6px;
	}

	.ag-news-logo {
		height: 42px !important;
		margin-bottom: 0;
	}

	.ag-news-logo-abc {
		height: 46px !important;
	}

	.ag-news-logo-kctv {
		height: 48px !important;
	}
}

.ag-about-connect {
	padding-block: 36px;
	background:
		linear-gradient(180deg, #0d151b, #0a1015);
	border-top: 1px solid var(--ag-border);
}

.ag-about-grid {
	display: grid;
	gap: 46px;
}

.ag-about-copy {
	display: grid;
	gap: 24px;
	align-items: start;
}

.ag-about-media {
	position: relative;
	width: 116px;
	aspect-ratio: 1;
	border-radius: 999px;
	isolation: isolate;
}

.ag-about-media::before {
	display: none;
}

.ag-about-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 34%;
	border: 2px solid var(--ag-gold);
	border-radius: inherit;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
	filter: saturate(0.9) contrast(1.02) brightness(0.96);
}

.ag-about-copy .ag-section-label,
.ag-connect-copy .ag-section-label {
	color: var(--ag-gold);
}

.ag-connect-copy .ag-button {
	width: fit-content;
	margin-top: 24px;
}

.ag-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.ag-socials a {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	color: var(--ag-gold);
	background:
		linear-gradient(145deg, rgba(27, 39, 49, 0.98), rgba(7, 12, 16, 0.98)),
		var(--ag-surface);
	border: 1px solid rgba(216, 191, 90, 0.42);
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 24px rgba(0, 0, 0, 0.22);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ag-socials img {
	width: 20px;
	height: 20px;
	color: currentColor;
	filter: brightness(0) saturate(100%) invert(79%) sepia(46%) saturate(463%) hue-rotate(7deg) brightness(93%) contrast(86%);
	object-fit: contain;
}

.ag-socials a:focus-visible,
.ag-socials a:hover {
	outline: 2px solid var(--ag-gold);
	outline-offset: 4px;
	background:
		linear-gradient(145deg, rgba(35, 50, 62, 0.98), rgba(10, 16, 21, 0.98)),
		var(--ag-surface-strong);
	border-color: rgba(216, 191, 90, 0.9);
}

.ag-site-footer {
	padding-block: 22px;
	background: #080d11;
	border-top: 1px solid var(--ag-border);
	color: rgba(245, 244, 239, 0.72);
}

.ag-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: 0.86rem;
}

.ag-site-footer p {
	margin: 0;
}

.ag-site-footer nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 16px;
}

.ag-site-footer a:hover,
.ag-site-footer a:focus-visible {
	color: var(--ag-gold);
}

.ag-site-footer a {
	color: rgba(245, 244, 239, 0.72);
	text-decoration: none;
}

.ag-404-main {
	min-height: 72vh;
	background:
		linear-gradient(180deg, rgba(16, 24, 32, 0.9), rgba(8, 13, 17, 0.98)),
		radial-gradient(circle at 16% 16%, rgba(216, 191, 90, 0.14), transparent 24rem),
		radial-gradient(circle at 82% 34%, rgba(216, 191, 90, 0.12), transparent 28rem),
		var(--ag-bg);
}

.ag-404-hero {
	display: grid;
	min-height: 72vh;
	padding-block: clamp(112px, 15vw, 160px) clamp(56px, 9vw, 94px);
	align-items: center;
	border-bottom: 1px solid var(--ag-border);
}

.ag-404-inner {
	display: grid;
	gap: clamp(28px, 7vw, 64px);
	align-items: center;
	text-align: left;
}

.ag-404-copy .ag-kicker {
	margin-bottom: 10px;
	color: var(--ag-gold);
	font-size: clamp(4.4rem, 22vw, 9.4rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 0.82;
	text-shadow: 0 16px 46px rgba(0, 0, 0, 0.34);
}

.ag-404-copy h1 {
	max-width: 680px;
	margin: 0;
	color: var(--ag-text);
	font-size: clamp(2.15rem, 7vw, 4.35rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.02;
}

.ag-404-copy p:not(.ag-kicker) {
	max-width: 560px;
	margin: 22px 0 0;
	color: rgba(245, 244, 239, 0.76);
	font-size: clamp(1.05rem, 3.6vw, 1.28rem);
	line-height: 1.65;
}

.ag-404-actions {
	display: grid;
	gap: 12px;
	margin-top: 34px;
	justify-content: start;
}

.ag-404-actions .ag-button,
.ag-404-actions .ag-button:visited,
.ag-404-actions .ag-button:hover,
.ag-404-actions .ag-button:focus-visible {
	color: var(--ag-text);
}

.ag-404-random-button {
	gap: 0.35em;
}

.ag-404-media {
	position: relative;
	margin: 0;
	width: 100%;
	filter: drop-shadow(0 26px 52px rgba(0, 0, 0, 0.34));
}

.ag-404-media img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 559px) {
	.ag-404-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.ag-404-actions .ag-button {
		min-width: 0;
		width: 100%;
		padding-inline: 14px;
		justify-content: center;
		text-align: center;
	}

	.ag-404-random-button {
		flex-direction: column;
		gap: 1px;
		line-height: 1.22;
	}

	.ag-404-random-button span {
		display: block;
	}
}

@media (min-width: 560px) {
	.ag-actions {
		display: flex;
		flex-wrap: wrap;
	}

	.ag-404-actions {
		display: flex;
		flex-wrap: wrap;
	}

	.ag-button {
		min-width: 176px;
	}

	.ag-explore-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	:root {
		--ag-shell: min(100% - 64px, 1160px);
		--ag-section-y: 64px;
	}

	.admin-bar .ag-site-header {
		top: 32px;
	}

	.ag-wordmark {
		font-size: 1rem;
	}

	.ag-404-inner {
		grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
		gap: 54px;
	}

	.ag-hero-grid {
		min-height: 560px;
		padding-block: 146px 58px;
	}

	.ag-hero h1 {
		max-width: 680px;
		font-size: clamp(3.2rem, 7vw, 4.9rem);
	}

	.ag-title-word {
		display: inline;
	}

	.ag-hero h1 br {
		display: block;
	}

	.ag-hero-text {
		font-size: 1.08rem;
	}

	.ag-feature-grid {
		gap: 64px;
	}

	.ag-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ag-news-item {
		padding: 14px;
	}

	.ag-about-grid {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 56px;
	}

	.ag-about-copy {
		grid-template-columns: minmax(0, 1fr) 128px;
		gap: 30px;
	}

	.ag-about-media {
		justify-self: end;
		width: 128px;
		margin-top: 4px;
	}
}

@media (min-width: 1024px) {
	.ag-header-inner {
		min-height: 78px;
	}

	.ag-desktop-nav {
		display: block;
	}

	.ag-menu-desktop {
		display: flex;
		align-items: center;
		gap: clamp(20px, 3vw, 44px);
	}

	.ag-menu-desktop li {
		position: relative;
	}

	.ag-menu-desktop > li::after {
		position: absolute;
		top: 100%;
		right: -18px;
		left: -18px;
		height: 24px;
		content: "";
	}

	.ag-desktop-nav a {
		display: inline-flex;
		align-items: center;
		min-height: 38px;
		color: var(--ag-text);
		font-size: 0.78rem;
		font-weight: 760;
		letter-spacing: 0;
	}

	.ag-menu-desktop .sub-menu {
		position: absolute;
		z-index: 40;
		top: calc(100% + 12px);
		left: -27px;
		display: grid;
		min-width: 246px;
		margin: 0;
		padding: 12px;
		background:
			linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(216, 191, 90, 0.05) 35%, rgba(11, 18, 24, 0.46) 100%),
			rgba(19, 31, 40, 0.86);
		border: 1px solid rgba(216, 191, 90, 0.18);
		border-radius: var(--ag-radius);
		backdrop-filter: blur(28px) saturate(1.35);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.11),
			0 18px 44px rgba(0, 0, 0, 0.22);
		list-style: none;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-2px);
		transition: opacity 180ms ease, transform 180ms ease;
	}

	.ag-menu-desktop .sub-menu::before {
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 24px;
		content: "";
	}

	.ag-menu-desktop li:hover > .sub-menu,
	.ag-menu-desktop li:focus-within > .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.ag-menu-desktop .sub-menu a {
		display: flex;
		min-height: 0;
		padding: 11px 14px;
		color: rgba(245, 244, 239, 0.78);
		font-size: 0.76rem;
		line-height: 1.3;
		white-space: nowrap;
		border-radius: 5px;
	}

	.ag-menu-desktop .sub-menu a:hover,
	.ag-menu-desktop .sub-menu a:focus-visible {
		color: var(--ag-text);
		background: rgba(255, 255, 255, 0.055);
	}

	.ag-mobile-nav {
		display: none;
	}

	.ag-hero::before {
		background: linear-gradient(90deg, rgba(8, 13, 17, 0.96) 0%, rgba(8, 13, 17, 0.76) 34%, rgba(8, 13, 17, 0.12) 72%, rgba(8, 13, 17, 0.03) 100%);
	}

	.ag-hero-grid {
		min-height: 610px;
		padding-block-start: 150px;
	}

	.ag-hero-media {
		opacity: 1;
	}

	.ag-hero-media::after {
		background:
			linear-gradient(90deg, rgba(8, 13, 17, 0.82) 0%, rgba(8, 13, 17, 0.42) 32%, rgba(8, 13, 17, 0.02) 76%),
			linear-gradient(0deg, rgba(8, 13, 17, 0.22) 0%, rgba(8, 13, 17, 0) 56%, rgba(8, 13, 17, 0.06) 100%);
	}

	.ag-hero-media img {
		object-position: 64% 44%;
		filter: saturate(1) contrast(1.02) brightness(1);
	}

	.ag-explore .ag-section-label {
		text-align: center;
	}

	.ag-explore {
		padding-block: 46px 52px;
	}

	.ag-explore-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}

	.ag-explore-card {
		min-height: 270px;
		padding: 28px 24px;
	}

	.ag-feature-grid {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
		gap: 64px;
	}

	.ag-feature-band {
		padding-block-start: 48px;
		padding-block-end: 44px;
	}

	.ag-project {
		padding-left: 42px;
		border-left: 1px solid var(--ag-border-strong);
	}

	.ag-writing-row {
		grid-template-columns: 164px 1fr;
		gap: 24px;
	}

	.ag-writing-row img {
		width: 164px;
	}

	.ag-news-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.ag-news-item {
		align-content: start;
		justify-items: center;
		grid-template-rows: 58px auto;
		min-height: 132px;
		text-align: center;
	}

	.ag-news-logo {
		width: min(176px, 100%);
		max-width: 176px;
		height: 48px !important;
		object-position: center;
	}

	.ag-news-logo-mmm {
		width: min(131px, 100%);
		max-width: 131px;
	}

	.ag-news-logo-abc {
		width: auto;
		max-width: 152px;
		height: 52px !important;
	}

	.ag-news-logo-kctv {
		width: auto;
		max-width: 72px;
		height: 54px !important;
	}

	.ag-news-grid strong {
		font-size: clamp(1rem, 1.25vw, 1.2rem);
	}

	.ag-about-grid {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
		gap: 72px;
	}

	.ag-about-connect {
		padding-block: 48px;
	}

	.ag-about-copy {
		grid-template-columns: minmax(0, 1fr) 148px;
		gap: 36px;
	}

	.ag-about-media {
		justify-self: end;
		width: 148px;
	}

	.ag-connect-copy {
		padding-left: 52px;
		border-left: 1px solid var(--ag-border-strong);
	}

	.ag-footer-inner {
		align-items: center;
	}
}

@media (min-width: 1280px) {
	:root {
		--ag-shell: min(100% - 96px, 1280px);
		--ag-section-y: 76px;
	}

	.ag-hero-grid {
		min-height: 660px;
		padding-block-start: 154px;
	}

	.ag-explore-grid {
		gap: 22px;
	}

	.ag-explore-card {
		padding: 36px 30px;
	}

	.ag-about-connect {
		padding-block: 54px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	:where(body[class*="ag-"]) *,
	:where(body[class*="ag-"]) *::before,
	:where(body[class*="ag-"]) *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}
