/* Single newsroom article — body content flow plus the hero/nav/divider
   chrome (custom blocks are styled in blocks.css). */

/* ── HERO HEADER ── */
.te-single-hero {
	padding-top: 10rem;
	padding-bottom: 7rem;
}
.te-single-hero__glow {
	background-image: radial-gradient(circle at 20% 50%, #FF6900 0%, transparent 50%), radial-gradient(circle at 80% 20%, #2263C5 0%, transparent 45%);
}
.te-single-hero__grid {
	background-image: repeating-linear-gradient(160deg, rgba(255,255,255,0.045) 0px, rgba(255,255,255,0.045) 1px, transparent 1px, transparent 32px);
}
.te-single-hero__wave {
	line-height: 0;
}
.te-single-hero__wave-svg {
	width: 100%;
	height: 80px;
	display: block;
}
/* Category as a plain orange eyebrow (site-wide hero pattern; 5.69:1 on navy). */
.te-single-hero__eyebrow {
	color: #FF6900;
}
.te-single-hero__title {
	font-family: Georgia, serif;
}

/* ── POST NAVIGATION ── */
.te-single-nav__link-title {
	color: #0d1f3c;
}

/* ── CRESCENT DIVIDER ── */
.te-single-divider {
	/* Footer navy exactly, so the curve reads as the footer's own edge
	   (matches the Contact page treatment). */
	background: #06162F;
	line-height: 0;
}
.te-single-divider__svg {
	width: 100%;
	height: 100px;
	display: block;
}


/* Generic body paragraphs (core/paragraph without a style variation).
   Scoped to DIRECT children so it doesn't reach into custom-block markup
   (pull-quote / about-card / inductee), whose own paragraphs carry their own
   styling — a descendant selector here would out-specify those classes. */
.te-article > p:not([class*="is-style-te"]) {
	color: #4b5563;
	font-size: 1.125rem;
	line-height: 1.625;
	margin: 0 0 2rem;
}
.te-article .is-style-te-lead { margin: 0 0 2rem; }
.te-article .is-style-te-footnote { margin: 0 0 3rem; }
/* Link blue (6.47:1 AA); !important beats editor-set inline orange
   (style="color:#FF6900") baked into existing post content. */
.te-article a { color: #1a5fa8 !important; text-decoration: underline; }
/* Hover: underline drops, color stays put. !important: post content
   carries inline text-decoration:underline. */
.te-article a:hover { text-decoration: none !important; }

/* Section heading (core/heading). */
.te-article h2 {
	font-family: Georgia, serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	color: #0d1f3c;
	margin: 0 0 1rem;
}

/* Divider (core/separator). */
.te-article hr,
.te-article .wp-block-separator {
	margin: 4rem 0;
	border: 0;
	border-top: 1px solid #e5e7eb;
	background: none;
}

/* Scroll reveal — only active once JS adds .te-reveal-ready, so content is never
   hidden if JS fails. Mirrors the Replit per-block fade-in. */
.te-article.te-reveal-ready > * {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.te-article.te-reveal-ready > .is-revealed {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.te-article.te-reveal-ready > * { opacity: 1; transform: none; transition: none; }
}

/* Decorative waves/dividers never intercept clicks or text selection. */
.te-single-hero__wave,
.te-single-divider { pointer-events: none; }

/* Seamless curve-into-footer: no separating hairline on single posts. */
.single-post .te-footer { border-top: 0; }

/* Mobile: less dead space between the header and the hero copy (site-wide). */
@media (max-width: 767.98px) {
	.te-single-hero { padding-top: 4rem; }
}

/* Mobile: the hero subtitle steps down a size with tighter leading; the
   article body's top/bottom padding halves (less white above the opening
   dateline, less below the last card). */
@media (max-width: 767.98px) {
	.te-single-hero .text-xl { font-size: 18px; line-height: 1.4; }
	.te-article { padding-top: 40px; padding-bottom: 40px; }
}
