/**
 * KlaymanToskes — Newsroom
 * Feb 2026
 *
 * Enqueue in functions.php:
 *   if ( is_page_template('template-newsroom.php') ) {
 *       wp_enqueue_style('kt-newsroom', get_stylesheet_directory_uri() . '/css/klayman-newsroom.css', array(), '1.0');
 *   }
 */

/* ===============================
   DESIGN TOKENS
   =============================== */
:root {
	--ink: #08101c;
	--ink-light: #0f1a2e;
	--navy: #013ca6;
	--cream: #f0ebe0;
	--parchment: #faf7f2;
	--gold: #b7322c;
	--gold-light: #d43b34;
	--white: #ffffff;
	--text: #1a1a1a;
	--text-mid: #4a4a4a;
	--text-soft: #7a7a7a;
	--border: #d8d2c8;
	--container: 1560px;
	--side-pad: 48px;
	--font-display: 'Cormorant Garamond', 'Source Serif Pro', serif;
	--font-body: 'Outfit', 'franklin-gothic-atf', sans-serif;
}

/* ===============================
   PAGE WRAPPER
   =============================== */
.page-template-template-newsroom div#page {
	width: 100% !important;
	max-width: none;
	background: #fff;
}
.page-template-template-newsroom .site-content {
	max-width: none;
	padding: 0;
	display: block;
}
.page-template-template-newsroom .inside-article {
	max-width: none;
	padding: 0;
}
.newsroom-page-wrap .entry-content { margin-top: 0; max-width: none; }
.newsroom-page-wrap article.page { margin-bottom: 0; }

/* ===============================
   KEYFRAMES
   =============================== */
@keyframes nrReveal {
	from { opacity: 0; transform: translateY(40px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes nrFade {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Animations on inner elements only — backgrounds stay visible */

/* ===============================
   MASTHEAD HERO
   Newspaper nameplate — replaces global hero
   =============================== */
.newsroom-masthead {
	background: var(--ink);
	text-align: center;
	padding: 48px 0 40px;
	margin-top: -207px;
	padding-top: calc(207px + 48px);
	position: relative;
	z-index: 1;
}

.newsroom-masthead-inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--side-pad);
}

.newsroom-masthead-rule:first-child {
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
}

.newsroom-masthead-title {
	opacity: 0;
	animation: nrReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}

.newsroom-masthead-rule:nth-child(3) {
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
}

.newsroom-masthead-sub {
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.0s forwards;
}

.newsroom-masthead-date {
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.2s forwards;
}

.newsroom-masthead-mission {
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.4s forwards;
}

.newsroom-masthead-rule {
	width: 100%;
	height: 1px;
	background: rgba(255,255,255,0.1);
}

.newsroom-masthead-rule:first-child {
	margin-bottom: 24px;
}

.newsroom-masthead-rule:nth-child(3) {
	margin-top: 24px;
	margin-bottom: 16px;
}

.newsroom-masthead-title {
	font-family: var(--font-display);
	font-size: 96px;
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	letter-spacing: -1px;
	color: var(--white);
	margin: 0;
}

.newsroom-masthead-sub {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.4);
	margin: 0 0 12px;
}

.newsroom-masthead-date {
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 400;
	font-style: italic;
	color: rgba(255,255,255,0.3);
	margin-bottom: 32px;
}

.newsroom-masthead-mission {
	max-width: 680px;
	margin: 0 auto;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.8;
	color: rgba(255,255,255,0.4);
}

/* ===============================
   FEATURED STORY
   =============================== */
.newsroom-featured {
	background: var(--ink);
	padding: 72px 0;
}

.newsroom-featured-inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 var(--side-pad);
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.6s forwards;
}

.newsroom-featured-link {
	display: block;
	text-decoration: none;
	color: inherit;
	padding: 56px;
	border: 1px solid rgba(255,255,255,0.06);
	background: rgba(255,255,255,0.02);
	transition: background 0.4s, border-color 0.4s;
}

.newsroom-featured-link:hover {
	background: rgba(255,255,255,0.04);
	border-color: rgba(255,255,255,0.12);
}

.newsroom-featured-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

.newsroom-featured-badge {
	font-family: var(--font-body);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--white);
	background: var(--gold);
	padding: 4px 10px;
}

.newsroom-featured-meta time {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 500;
	color: rgba(255,255,255,0.4);
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.newsroom-featured-title {
	font-family: var(--font-display);
	font-size: 48px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.15;
	color: var(--white);
	margin: 0 0 20px;
	transition: color 0.3s;
}

.newsroom-featured-link:hover .newsroom-featured-title {
	color: var(--cream);
}

.newsroom-featured-excerpt {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.8;
	color: rgba(255,255,255,0.55);
	margin: 0 0 28px;
	max-width: 640px;
}

.newsroom-featured-cta {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--gold);
	transition: color 0.3s;
}

.newsroom-featured-link:hover .newsroom-featured-cta {
	color: var(--gold-light);
}

/* ===============================
   GRID — 3 RECENT STORIES
   =============================== */
.newsroom-grid {
	background: var(--parchment);
	padding: 64px 0 128px;
}

.newsroom-grid-inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--side-pad);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	opacity: 0;
	animation: nrReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.8s forwards;
}

.newsroom-grid-card {
	display: block;
	text-decoration: none;
	color: inherit;
	padding: 36px 32px;
	background: var(--white);
	border: 1px solid var(--border);
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
				box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1),
				border-color 0.3s;
	position: relative;
}

/* Gold top border reveal */
.newsroom-grid-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.newsroom-grid-card:hover::before {
	transform: scaleX(1);
}

.newsroom-grid-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.06);
	border-color: transparent;
}

.newsroom-grid-card-meta {
	margin-bottom: 12px;
}

.newsroom-grid-card-meta time {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 500;
	color: var(--text-soft);
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.newsroom-grid-card-title {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--text);
	margin: 0 0 12px;
	transition: color 0.3s;
}

.newsroom-grid-card:hover .newsroom-grid-card-title {
	color: var(--gold);
}

.newsroom-grid-card-excerpt {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 300;
	line-height: 1.7;
	color: var(--text-mid);
	margin: 0;
}

/* ===============================
   ARCHIVE LIST
   =============================== */
.newsroom-archive {
	background: var(--white);
	padding: 64px 0 192px;
}

.newsroom-archive-inner {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 var(--side-pad);
	opacity: 0;
	animation: nrFade 0.6s ease 2.0s forwards;
}

/* Eyebrow */
.newsroom-archive-header {
	text-align: center;
	margin-bottom: 40px;
}

.newsroom-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.newsroom-eyebrow-line {
	width: 44px;
	height: 1px;
	background: var(--border);
}
.newsroom-eyebrow span {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--text-soft);
}

/* List items */
.newsroom-list-item {
	border-bottom: 1px solid var(--border);
}
.newsroom-list-item:last-child {
	border-bottom: none;
}

.newsroom-list-link {
	display: block;
	padding: 32px 20px;
	text-decoration: none;
	color: inherit;
	position: relative;
	transition: background 0.3s;
}

.newsroom-list-link::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 3px;
	background: var(--gold);
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.newsroom-list-link:hover::before {
	transform: scaleY(1);
}

.newsroom-list-link:hover {
	background: var(--parchment);
}

.newsroom-list-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.newsroom-list-meta time {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 500;
	color: var(--text-soft);
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.newsroom-list-sep {
	color: var(--border);
	font-size: 11px;
}

.newsroom-list-cat {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.newsroom-list-title {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--text);
	margin: 0 0 8px;
	transition: color 0.3s;
}

.newsroom-list-link:hover .newsroom-list-title {
	color: var(--gold);
}

.newsroom-list-excerpt {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.7;
	color: var(--text-mid);
	margin: 0;
}

/* ===============================
   PAGINATION
   =============================== */
.newsroom-pagination {
	margin-top: 48px;
	text-align: center;
}

.newsroom-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	color: var(--text-mid);
	text-decoration: none;
	border: 1px solid var(--border);
	margin: 0 3px;
	transition: all 0.3s;
}

.newsroom-pagination .page-numbers:hover {
	border-color: var(--text-mid);
	color: var(--text);
}

.newsroom-pagination .page-numbers.current {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--white);
}

.newsroom-pagination .newsroom-page-arrow {
	font-size: 18px;
	line-height: 1;
}

/* Empty state */
.newsroom-empty {
	text-align: center;
	padding: 80px 0;
}
.newsroom-empty p {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 300;
	color: var(--text-soft);
}

/* ===============================
   RESPONSIVE
   =============================== */
@media (max-width: 1024px) {
	.newsroom-grid-inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.newsroom-masthead {
		margin-top: -160px;
		padding-top: calc(160px + 32px);
		padding-bottom: 28px;
	}
	.newsroom-masthead-inner { padding: 0 20px; }
	.newsroom-masthead-title { font-size: 52px; }
	.newsroom-masthead-sub { font-size: 9px; letter-spacing: 3px; }

	.newsroom-featured { padding: 40px 0; }
	.newsroom-featured-inner { padding: 0 20px; }
	.newsroom-featured-link { padding: 32px 24px; }
	.newsroom-featured-title { font-size: 32px; }
	.newsroom-featured-excerpt { font-size: 14px; }

	.newsroom-grid { padding: 32px 0 64px; }
	.newsroom-grid-inner { padding: 0 20px; }
	.newsroom-grid-card { padding: 28px 24px; }
	.newsroom-grid-card-title { font-size: 20px; }

	.newsroom-archive { padding: 40px 0 64px; }
	.newsroom-archive-inner { padding: 0 16px; }
	.newsroom-list-link { padding: 24px 12px; }
	.newsroom-list-title { font-size: 22px; }

	.newsroom-eyebrow-line { width: 24px; }

	.newsroom-pagination .page-numbers {
		width: 36px;
		height: 36px;
		font-size: 12px;
	}
}