/* ==========================================================================
   Design tokens
   One accent + a warm-neutral gray scale. Accent is reserved for CTAs,
   links, active nav, and category kickers only.
   ========================================================================== */
:root {
	--ttr-ink: #0d1b3d;
	--ttr-body: #3f4046;
	--ttr-muted: #8a8b90;
	--ttr-accent: #e64434;
	--ttr-accent-tint: #fdeceb;
	--ttr-accent-soft: #ff9a8c;
	--ttr-page: #f7f6f3;
	--ttr-surface: #fbfaf8;
	--ttr-hairline: #e6e4df;
	--ttr-hairline-soft: #ececea;

	--ttr-font-serif: 'Newsreader', Georgia, serif;
	--ttr-font-sans: 'Libre Franklin', -apple-system, BlinkMacSystemFont, sans-serif;
	--ttr-font-mono: 'IBM Plex Mono', monospace;

	--ttr-max-width: 1600px;
	--ttr-radius: 5px;
}

/* ==========================================================================
   Reset / base
   ========================================================================== */
.ttr-home,
.ttr-home * {
	box-sizing: border-box;
}

.ttr-home-body {
	margin: 0;
	background: var(--ttr-page);
	font-family: var(--ttr-font-sans);
	color: var(--ttr-body);
}

.ttr-home a {
	color: inherit;
}

.ttr-home img {
	max-width: 100%;
	display: block;
}

.ttr-home button {
	font-family: inherit;
	cursor: pointer;
}

/**
 * Visually hidden but still readable by screen readers and search engines -
 * used for the homepage's H1 (site name), which is already communicated
 * visually via the logo in the brand banner.
 */
.ttr-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ==========================================================================
   Shared layout utilities
   ========================================================================== */
.ttr-masthead__inner,
.ttr-featured,
.ttr-trust-strip__inner,
.ttr-main-wrap,
.ttr-full-sections,
.ttr-footer__inner {
	max-width: var(--ttr-max-width);
	margin: 0 auto;
}

.ttr-eyebrow {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--ttr-accent);
	margin-bottom: 9px;
}

.ttr-eyebrow--light {
	color: var(--ttr-accent-soft);
}

.ttr-link-accent {
	color: var(--ttr-accent);
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
}

.ttr-link-accent:hover {
	text-decoration: underline;
}

.ttr-section-label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
}

.ttr-section-label span:first-child {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ttr-ink);
}

.ttr-rule {
	height: 1px;
	background: var(--ttr-hairline);
	flex: 1;
}

/* ==========================================================================
   Byline / avatar (shared by card component)
   ========================================================================== */
.ttr-avatar {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ttr-accent-tint);
	color: var(--ttr-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	flex: 0 0 auto;
}

.ttr-avatar--sm {
	width: 24px;
	height: 24px;
	font-size: 10px;
}

.ttr-byline {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
}

.ttr-byline--sm {
	gap: 8px;
	margin-top: auto;
}

.ttr-byline__text {
	font-size: 12.5px;
	line-height: 1.35;
	color: var(--ttr-body);
}

.ttr-byline--sm .ttr-byline__text {
	font-size: 12px;
}

.ttr-byline__author {
	color: var(--ttr-ink);
	font-weight: 600;
}

.ttr-byline__author-sm {
	color: var(--ttr-body);
	font-size: 11.5px;
}

.ttr-byline__sep {
	color: #b6b5af;
}

.ttr-byline__meta {
	font-family: var(--ttr-font-mono);
	font-size: 11px;
	color: var(--ttr-muted);
}

.ttr-byline--sm .ttr-byline__meta {
	font-size: 10.5px;
}
