
@font-face {
	font-family: 'Canterbury';
	src: url('fonts/Canterbury.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Nimbus Roman';
	src: url('https://thereveilletimes.com/wp-content/uploads/2024/12/NimbusRomNo9L-Reg.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Nimbus Roman';
	src: url('https://thereveilletimes.com/wp-content/uploads/2024/12/NimbusRomNo9L-RegIta.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Nimbus Roman';
	src: url('https://thereveilletimes.com/wp-content/uploads/2024/12/NimbusRomNo9L-Med.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Nimbus Roman';
	src: url('https://thereveilletimes.com/wp-content/uploads/2024/12/NimbusRomNo9L-MedIta.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}

*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--bg: #ffffff;
	--fg: #121212;
	--fg-soft: #363636;
	--fg-muted: #727272;
	--rule-heavy: #121212;
	--rule-med: #999;
	--rule-light: #e2dfd7;
	--cat-politics: #c41e3a;
	--cat-business: #1a6b3c;
	--cat-culture: #8b5e3c;
	--cat-opinion: #4a5899;
	--font-hl: 'Nimbus Roman', 'Georgia', serif;
	--font-body: 'Inter', 'Helvetica Neue', sans-serif;
	--font-ui: 'Inter', 'Helvetica Neue', sans-serif;
	--gap: 20px;
	--max-w: 1200px;
	--live-red: #d0021b;
}

.reveille-front {
	background: var(--bg);
	color: var(--fg);
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.reveille-front a {
	color: inherit;
	text-decoration: none;
}

.reveille-front img {
	display: block;
	width: 100%;
	height: auto;
}

.reveille-front .ra-header {
	background: var(--bg);
	display: block;
	padding: 0;
	border-bottom: none;
	max-width: var(--max-w);
	margin: 0 auto;
}

.reveille-front .masthead {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 21px 24px 8px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 56px;
}

.reveille-front .masthead__hamburger {
	justify-self: start;
	display: flex;
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
}

.reveille-front .masthead__hamburger svg {
	width: 24px;
	height: 24px;
	stroke: var(--fg);
	fill: none;
}

.reveille-front .masthead__logo {
	display: flex;
	align-items: center;
}

.reveille-front .masthead__logo img {
	max-height: 43px;
	width: auto;
	transition: max-height .3s ease;
}

.reveille-front .masthead__user {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 600;
}

.reveille-front .nav-bar {
	padding: 5px 0 12px;
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 32px;
	font-family: 'Lato', var(--font-ui);
	font-size: 15px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	border-bottom: none;
	margin: 0 24px;
}

.reveille-front .nav-bar a {
	position: relative;
	color: var(--fg-muted);
}

.reveille-front .nav-bar a::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--fg);
	transition: width .2s ease;
}

.reveille-front .nav-bar a:hover::after {
	width: 100%;
}

.ra-sticky-bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: var(--bg);
	border-bottom: 1px solid var(--rule-light);
	display: flex;
	align-items: center;
	padding: 10px 24px;
	transform: translateY(-100%);
	transition: transform .3s ease;
}

.ra-sticky-bar.is-visible {
	transform: translateY(0);
}

.ra-sticky-bar__hamburger {
	display: flex;
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	margin-right: 16px;
}

.ra-sticky-bar__hamburger svg {
	width: 22px;
	height: 22px;
	stroke: var(--fg);
	fill: none;
}

.ra-sticky-bar__links {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 32px;
	flex: 1;
	font-family: 'Lato', var(--font-ui);
	font-size: 15px;
	font-weight: 400;
}

.ra-sticky-bar__links a {
	position: relative;
	color: var(--fg-muted);
	text-decoration: none;
}

.ra-sticky-bar__links a::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--fg);
	transition: width .2s ease;
}

.ra-sticky-bar__links a:hover::after {
	width: 100%;
}

.ra-sticky-bar__user {
	display: flex;
	align-items: center;
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 600;
	margin-left: 16px;
}

.ra-menu-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	z-index: 199;
	pointer-events: none;
	transition: background .3s ease;
}

.ra-menu-overlay.is-active {
	background: rgba(0, 0, 0, .55);
	pointer-events: auto;
}

.ra-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 340px;
	max-width: 85vw;
	height: 100vh;
	height: 100dvh;
	background: var(--bg, #fff);
	z-index: 200;
	transform: translateX(-100%);
	transition: transform .3s ease;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-shadow: 4px 0 24px rgba(0,0,0,.12);
}

.ra-menu.is-open {
	transform: translateX(0);
}

.ra-menu__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 20px 16px;
	border-bottom: 1px solid var(--rule-light, #e2dfd7);
}

.ra-menu__title {
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--fg-muted, #727272);
}

.ra-menu__close {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	color: var(--fg, #121212);
	border-radius: 4px;
	transition: background .15s;
}

.ra-menu__close:hover {
	background: rgba(0,0,0,.06);
}

.ra-menu__search {
	padding: 16px 20px 0;
	border: none;
}

.ra-menu__search-box {
	display: flex;
	align-items: center;
	gap: 8px;
	border: none;
	background: #f5f5f5;
	border-radius: 24px;
	padding: 10px 16px;
}

.ra-menu__search-icon {
	flex-shrink: 0;
	color: var(--fg-muted, #727272);
}

.ra-menu .ra-menu__search-input,
.ra-menu .ra-menu__search-input[type="text"] {
	border: none;
	outline: none;
	background: none;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 15px;
	color: var(--fg, #121212);
	width: 100%;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}

.ra-menu__search-input::placeholder {
	color: var(--fg-muted, #727272);
}

.ra-menu__search-results {
	max-height: 320px;
	overflow-y: auto;
}

.ra-menu__search-results:empty {
	display: none;
}

.ra-menu__sr-item {
	display: flex;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--rule-light, #e2dfd7);
	text-decoration: none;
	color: inherit;
	transition: background .1s;
}

.ra-menu__sr-item:hover {
	background: rgba(0,0,0,.03);
}

.ra-menu__sr-item:last-child {
	border-bottom: none;
}

.ra-menu__sr-thumb {
	width: 56px;
	height: 56px;
	border-radius: 4px;
	object-fit: cover;
	flex-shrink: 0;
	background: var(--rule-light, #e2dfd7);
}

.ra-menu__sr-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
	min-width: 0;
}

.ra-menu__sr-title {
	font-family: 'Nimbus Roman', 'Georgia', serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--fg, #121212);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ra-menu__sr-meta {
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 11px;
	color: var(--fg-muted, #727272);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.ra-menu__sr-empty,
.ra-menu__sr-loading {
	padding: 16px 0;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	color: var(--fg-muted, #727272);
	text-align: center;
}

.ra-menu__categories {
	padding: 20px 20px 24px;
	flex: 1;
}

.ra-menu__section-label {
	display: block;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--fg-muted, #727272);
	margin-bottom: 12px;
}

.ra-menu__cat-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ra-menu__cat-item {
	border-bottom: 1px solid var(--rule-light, #e2dfd7);
}

.ra-menu__cat-item:last-child {
	border-bottom: none;
}

.ra-menu__cat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ra-menu__cat-link {
	display: block;
	padding: 13px 0;
	font-family: 'Nimbus Roman', 'Georgia', serif;
	font-size: 17px;
	font-weight: 500;
	color: var(--fg, #121212);
	text-decoration: none;
	flex: 1;
	transition: color .15s;
}

.ra-menu__cat-link:hover {
	color: var(--fg-soft, #363636);
}

.ra-menu__expand {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	color: var(--fg-muted, #727272);
	border-radius: 4px;
	transition: transform .25s ease, background .15s;
}

.ra-menu__expand:hover {
	background: rgba(0,0,0,.06);
}

.ra-menu__cat-item.is-expanded .ra-menu__expand {
	transform: rotate(180deg);
}

.ra-menu__sub-list {
	list-style: none;
	margin: 0;
	padding: 0 0 8px 16px;
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}

.ra-menu__cat-item.is-expanded .ra-menu__sub-list {
	max-height: 500px;
}

.ra-menu__sub-list li a {
	display: block;
	padding: 8px 0;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	color: var(--fg-soft, #363636);
	text-decoration: none;
	transition: color .15s;
}

.ra-menu__sub-list li a:hover {
	color: var(--fg, #121212);
}

body.ra-menu-open {
	overflow: hidden;
}

.reveille-front .ctr {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
}

.reveille-front .ctr::before {
	content: '';
	display: block;
	border-top: 1px solid var(--rule-heavy);
}

.reveille-front .r-h {
	border: none;
	border-top: 2px solid var(--rule-heavy);
	margin: 0;
}

.reveille-front .r-m {
	border: none;
	border-top: 1px solid var(--rule-med);
	margin: 0;
}

.reveille-front .r-l {
	border: none;
	border-top: 1px solid var(--rule-light);
	margin: 0;
}

.reveille-front .kicker {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: 6px;
}

.reveille-front .cat--politics .kicker,
.reveille-front .cat--business .kicker,
.reveille-front .cat--culture .kicker,
.reveille-front .cat--opinion .kicker,
.reveille-front .kicker {
	color: #3a3a3a;
}

.reveille-front .kicker.kicker--breaking {
	color: #c41e3a;
	font-size: 13px;
}

.reveille-front .kicker.kicker--live {
	color: var(--live-red);
	font-size: 13px;
}

.reveille-front .live-updates-link {
	display: block;
	font-family: var(--font-ui);
	font-size: 13px;
	color: var(--fg-muted);
	margin-top: 4px;
}

.reveille-front .live-updates-link:hover {
	color: var(--fg);
}

.reveille-front .hl {
	font-family: var(--font-hl);
	font-weight: 500;
	line-height: 1;
	color: var(--fg);
	transition: color .15s;
}

.reveille-front a:hover .hl {
	color: var(--fg-soft);
}

.reveille-front .hl--xl {
	font-size: clamp(1.2rem, 2.4vw, 2.06rem);
}

.reveille-front .hl--lg {
	font-size: clamp(1rem, 2.2vw, 1.6rem);
}

.reveille-front .hl--md {
	font-size: clamp(0.94rem, 1.5vw, 1.35rem);
}

.reveille-front .g-std__sb article {
	padding-bottom: 5px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--rule-light);
}

.reveille-front .hl--sm {
	font-size: 1.25rem;
}

.reveille-front .ts {
	font-family: var(--font-ui);
	font-size: 11.5px;
	color: var(--fg-muted);
	text-transform: uppercase;
	letter-spacing: .03em;
	margin-top: 6px;
}

.reveille-front .ex {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fg-soft);
	margin-top: 8px;
}

.reveille-front .by {
	font-family: var(--font-ui);
	font-size: 12px;
	color: var(--fg-muted);
	font-weight: 500;
	margin-top: 1px;
}

.reveille-front .by__link {
	color: inherit;
	text-decoration: none;
}

.reveille-front .by__link:hover {
	text-decoration: underline;
}

.reveille-front .aimg {
	width: 100%;
	object-fit: cover;
}

.reveille-front .slbl {
	font-family: var(--font-ui);
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 0 16px;
	border-top: 3px double var(--rule-heavy);
	margin-top: 32px;
}

.reveille-front .g-hero-hub {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--gap);
	padding: 20px 0 14px;
}

.reveille-front .g-hero-hub .topic-hub__headline {
	font-weight: 500;
	font-size: clamp(1.2rem, 2.4vw, 1.6rem);
	line-height: 1.05;
}

.reveille-front .g-hero-hub .topic-hub__excerpt {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fg-soft);
}

.reveille-front .g-hero-hub > .g-std__sb {
	width: 220px;
	border-left: 1px solid #d4d0c8;
	padding-left: var(--gap);
}

.reveille-front .g-std {
	display: grid;
	grid-template-columns: 2fr 2.5fr 1.5fr;
	gap: var(--gap);
	padding: 20px 0 28px;
}

.reveille-front .g-std > :first-child {
	border-right: 1px solid #d4d0c8;
	padding-right: var(--gap);
}

.reveille-front .g-std__sb {
	border-left: 1px solid #d4d0c8;
	padding-left: var(--gap);
}

.reveille-front .g-std__sb article:first-child {
	padding-top: 0;
	border-top: 1px solid var(--rule-light);
	padding-top: 12px;
}

.reveille-front .g-std__sb article {
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--rule-light);
}

.reveille-front .g-std__sb article:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.reveille-front .g-std__img .aimg {
	height: 100%;
	min-height: 280px;
}

.reveille-front .g-brk {
	padding: 20px 0 28px;
}

.reveille-front .g-brk__hero {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: var(--gap);
	margin-bottom: 24px;
}

.reveille-front .g-brk__hero .aimg {
	height: 100%;
	min-height: 340px;
}

.reveille-front .g-brk__sub {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap);
	padding-top: 20px;
	border-top: 1px solid var(--rule-light);
}

.reveille-front .g-feat {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: var(--gap);
	padding: 20px 0 28px;
}

.reveille-front .g-feat__img .aimg {
	height: 100%;
	min-height: 400px;
}

.reveille-front .g-feat__stk {
	display: flex;
	flex-direction: column;
}

.reveille-front .g-feat__stk article {
	padding: 16px 0;
	border-bottom: 1px solid var(--rule-light);
}

.reveille-front .g-feat__stk article:first-child {
	padding-top: 0;
}

.reveille-front .g-feat__stk article:last-child {
	border-bottom: none;
}

.reveille-front .frow {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: var(--gap);
	padding: 24px 0 32px;
}

.reveille-front .frow__txt {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border-right: 1px solid #d4d0c8;
	padding-right: var(--gap);
}

.reveille-front .frow__txt article + article {
	padding-top: 20px;
	border-top: 1px solid var(--rule-light);
}

.reveille-front .frow__img .aimg {
	height: 100%;
	min-height: 300px;
}

.reveille-front .g-so {
	display: grid;
	grid-template-columns: 80% 1fr;
	gap: 0;
	padding: 0 0 40px;
	margin-top: 32px;
}

.reveille-front .g-so__stories {
	padding-right: 28px;
	border-right: 1px solid #d4d0c8;
}

.reveille-front .g-so__opinion {
	padding-left: 28px;
}

.reveille-front .g-so__rule {
	height: 1px;
	background: var(--fg);
	margin-bottom: 0;
}

.reveille-front .slbl--flat {
	border-top: none;
	margin-top: 0;
	padding-top: 12px;
}

.reveille-front .g-so__inner {
	display: grid;
	grid-template-columns: 79% 1fr;
	gap: 0;
	padding-top: 4px;
	align-items: start;
}

.reveille-front .g-so__lead {
	display: grid;
	grid-template-columns: 2fr 3fr;
	gap: 20px;
}

.reveille-front .g-so__lead:not(:has(.g-so__lead-img)) {
	grid-template-columns: 1fr;
}

.reveille-front .g-so__lead .hl {
	margin-bottom: 8px;
}

.reveille-front .g-so__lead .ex {
	margin-bottom: 8px;
}

.reveille-front .g-so__lead-img {
	overflow: hidden;
}

.reveille-front .g-so__lead-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.reveille-front .g-so__lead-text {
	display: flex;
	flex-direction: column;
}

.reveille-front .g-so__headlines {
	display: flex;
	flex-direction: column;
	padding-left: 24px;
}

.reveille-front .g-so__hl-item {
	padding: 12px 0;
	border-bottom: 1px solid #d4d0c8;
}

.reveille-front .g-so__hl-item .hl {
	font-weight: 400;
	font-size: 1.15rem;
	margin: 0;
}

.reveille-front .g-so__hl-item:first-child {
	padding-top: 0;
}

.reveille-front .g-so__hl-item:last-child {
	border-bottom: none;
}

.reveille-front .g-so__opinion-label {
	font-family: 'Libre Baskerville', 'Georgia', serif;
	font-size: 18px;
	font-weight: 700;
	padding: 12px 0 5px;
}

.reveille-front .g-so__op-item {
	padding: 8px 0;
	border-bottom: 0.5px solid #d4d0c8;
}

.reveille-front .g-so__op-item:last-child {
	border-bottom: none;
}

.reveille-front .g-so__op-item .by {
	margin-top: 4px;
	margin-bottom: 0;
}

.reveille-front .g-so__op-item .hl {
	margin: 0;
}

.reveille-front .g-bot {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	padding-bottom: 48px;
}

.reveille-front .op-col article,
.reveille-front .mn-col article {
	padding: 14px 0;
	border-bottom: 1px solid var(--rule-light);
}

.reveille-front .op-col article:last-child,
.reveille-front .mn-col article:last-child {
	border-bottom: none;
}

.reveille-front .adl {
	text-align: right;
	font-family: var(--font-ui);
	font-size: 10px;
	color: var(--fg-muted);
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: 16px 0;
}

.reveille-front .sec-mosaic {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--gap);
	padding: 25px 0 14px;
}

.reveille-front .sec-mosaic__lead-img img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
	margin-bottom: 14px;
}

.reveille-front .sec-mosaic__lead-text .hl {
	margin-bottom: 8px;
}

.reveille-front .sec-mosaic__side {
	border-left: 1px solid #d4d0c8;
	padding-left: var(--gap);
	display: flex;
	flex-direction: column;
}

.reveille-front .sec-mosaic__card {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--rule-light);
}

.reveille-front .sec-mosaic__card:not(:has(.sec-mosaic__card-img)) {
	grid-template-columns: 1fr;
}

.reveille-front .sec-mosaic__card:first-child {
	padding-top: 0;
}

.reveille-front .sec-mosaic__card:last-child {
	border-bottom: none;
}

.reveille-front .sec-mosaic__card-img img {
	width: 90px;
	height: 70px;
	object-fit: cover;
	display: block;
}

.reveille-front .sec-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 14px 0 14px;
}

.reveille-front .sec-cards__img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.reveille-front .sec-cards__body {
	padding-top: 12px;
}

.reveille-front .sec-cards__item:not(:has(.sec-cards__img)) .sec-cards__body {
	padding-top: 0;
}

.reveille-front .sec-cards__body .hl {
	margin-bottom: 6px;
}

.reveille-front .sec-cards__body .ex {
	font-size: 14px;
	line-height: 1.5;
	color: var(--fg-soft);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.reveille-front .sec-headlines {
	padding: 14px 0 14px;
}

.reveille-front .sec-headlines__label {
	font-family: var(--font-ui);
	font-size: 15px;
	font-weight: 700;
	color: var(--fg);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--fg);
	display: inline-block;
}

.reveille-front .sec-headlines__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 40px;
}

.reveille-front .sec-headlines__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--rule-light);
}

.reveille-front .sec-headlines__num {
	font-family: var(--font-hl);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: var(--rule-light);
	flex-shrink: 0;
	min-width: 28px;
	text-align: center;
}

.reveille-front .sec-headlines__text .hl {
	margin-bottom: 4px;
}

.reveille-front .sec-headlines__text .ts {
	font-size: 12px;
}

.ra-footer {
	background: #fff;
	color: #555;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	margin-top: 64px;
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	border-top: 1px solid #e2dfd7;
}

.ra-footer__top-logo {
	display: inline-block;
	margin-bottom: 32px;
}

.ra-footer__top-logo img {
	height: 36px;
	width: auto;
}

.ra-footer__logo-svg {
	height: 32px;
	width: auto;
	letter-spacing: .02em;
	color: var(--fg, #121212);
	line-height: 1;
}

.ra-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 32px 32px;
}

.ra-footer__columns {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 40px;
	margin-bottom: 32px;
}

.ra-footer__heading {
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #121212;
	margin-bottom: 16px;
}

.ra-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ra-footer__links li {
	margin-bottom: 10px;
}

.ra-footer__links a {
	color: #555;
	text-decoration: none;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	transition: color .15s;
}

.ra-footer__links a:hover {
	color: #121212;
}

.ra-footer__disclaimer {
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 12px;
	color: #999;
	text-align: center;
	margin-bottom: 16px;
}

.ra-footer__bottom {
	border-top: 1px solid #e2dfd7;
	padding-top: 20px;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 12px;
	color: #999;
	text-align: center;
}

@media (max-width: 900px) {
	.reveille-front .g-std > :first-child {
		border-right: none;
		padding-right: 0;
	}

	.reveille-front .g-std__sb {
		border-left: none;
		padding-left: 0;
	}

	.reveille-front .frow__txt {
		border-right: none;
		padding-right: 0;
	}

	.reveille-front .g-hero-hub,
	.reveille-front .g-std,
	.reveille-front .g-brk__hero,
	.reveille-front .g-brk__sub,
	.reveille-front .g-feat,
	.reveille-front .frow,
	.reveille-front .g-bot,
	.reveille-front .g-so {
		grid-template-columns: 1fr !important;
	}

	.reveille-front .g-hero-hub > .g-std__sb {
		width: auto;
		border-left: none;
		padding-left: 0;
		margin-top: 20px;
		border-top: 1px solid #d4d0c8;
		padding-top: 20px;
	}

	.reveille-front .g-std {
		padding-bottom: 14px;
	}

	.reveille-front .g-so__stories {
		padding-right: 0;
		border-right: none;
	}

	.reveille-front .g-so__opinion {
		padding-left: 0;
		margin-top: 16px;
	}

	.reveille-front .g-so__opinion .g-so__rule {
		display: block;
	}

	.reveille-front .g-so__inner {
		grid-template-columns: 1fr;
	}

	.reveille-front .g-so__lead {
		padding-right: 0;
	}

	.reveille-front .g-so__headlines {
		padding-left: 0;
		margin-top: 16px;
		padding-top: 14px;
		border-top: 1px solid #d4d0c8;
		border-left: none;
	}

	.reveille-front .sec-mosaic {
		grid-template-columns: 1fr;
	}
	.reveille-front .sec-mosaic__side {
		border-left: none;
		padding-left: 0;
		border-top: 1px solid #d4d0c8;
		padding-top: 14px;
	}

	.reveille-front .sec-cards {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.reveille-front .sec-cards__item {
		display: grid;
		grid-template-columns: 120px 1fr;
		gap: 14px;
		padding: 14px 0;
		border-bottom: 1px solid var(--rule-light);
	}
	.reveille-front .sec-cards__item:last-child {
		border-bottom: none;
	}
	.reveille-front .sec-cards__item:not(:has(.sec-cards__img)) {
		grid-template-columns: 1fr;
	}
	.reveille-front .sec-cards__img img {
		height: 90px;
	}
	.reveille-front .sec-cards__body {
		padding-top: 0;
	}

	.reveille-front .sec-headlines__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.reveille-front .masthead {
		padding: 14px 16px 6px;
		min-height: 48px;
	}

	.reveille-front .masthead__logo img {
		max-height: 36px;
	}

	.reveille-front .masthead__hamburger svg {
		width: 22px;
		height: 22px;
	}

	.reveille-front .masthead__user {
		font-size: 13px;
		gap: 6px;
	}

	.reveille-front .masthead__user .trvnc-signin-btn,
	.reveille-front .masthead__user .trvnc-user-btn {
		padding: 4px 6px;
		font-size: 13px;
	}

	.reveille-front .hl--xl {
		font-size: 1.75rem;
	}

	.reveille-front .hl--lg {
		font-size: 1.4rem;
	}

	.reveille-front .hl--md {
		font-size: 1.2rem;
	}

	.reveille-front .hl--sm {
		font-size: 1.15rem;
	}

	.reveille-front .nav-bar {
		gap: 18px;
		padding: 10px 16px;
		font-size: 17px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		flex-wrap: nowrap;
		justify-content: center;
		scrollbar-width: none;
		margin: 0 16px;
	}

	.reveille-front .nav-bar::-webkit-scrollbar {
		display: none;
	}

	.reveille-front .nav-bar a {
		white-space: nowrap;
		flex-shrink: 0;
	}

	.ra-sticky-bar {
		padding: 8px 16px;
	}

	.ra-sticky-bar__hamburger {
		margin-right: 10px;
	}

	.ra-sticky-bar__hamburger svg {
		width: 20px;
		height: 20px;
	}

	.ra-sticky-bar__links {
		gap: 18px;
		font-size: 13px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		flex-wrap: nowrap;
	}

	.ra-sticky-bar__links::-webkit-scrollbar {
		display: none;
	}

	.ra-sticky-bar__links a {
		white-space: nowrap;
		flex-shrink: 0;
	}

	.ra-sticky-bar__user {
		margin-left: 10px;
		font-size: 13px;
	}

	.ra-sticky-bar__user .trvnc-signin-btn,
	.ra-sticky-bar__user .trvnc-user-btn {
		padding: 4px 6px;
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.reveille-front .masthead {
		padding: 12px 12px 5px;
	}

	.reveille-front .masthead__logo img {
		max-height: 26px;
	}

	.reveille-front .masthead__user {
		font-size: 12px;
	}

	.reveille-front .nav-bar {
		gap: 14px;
		padding: 8px 12px;
		font-size: 14px;
		margin: 0 12px;
	}

	.ra-sticky-bar {
		padding: 7px 12px;
	}

	.ra-sticky-bar__links {
		gap: 14px;
		font-size: 12px;
	}

	.ra-sticky-bar__user {
		font-size: 12px;
	}

	.ra-sticky-bar__user .trvnc-signin-btn,
	.ra-sticky-bar__user .trvnc-user-btn {
		padding: 3px 5px;
		font-size: 12px;
	}
}

@media (max-width: 768px) {
	.ra-footer__columns {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.ra-footer__col--logo {
		grid-column: 1 / -1;
		justify-content: center;
	}

	.ra-footer__top-logo {
		display: block;
		width: fit-content;
		margin: 0 auto 32px;
	}

	.ra-footer__col {
		text-align: center;
	}

.ra-disclaimer {
		padding: 28px 20px 24px;
	}
}

@media (max-width: 480px) {
	.ra-footer__inner {
		padding: 36px 20px 24px;
	}

	.ra-disclaimer {
		padding: 24px 16px 20px;
	}
}

.ra-disclaimer-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, .55);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	backdrop-filter: blur(4px);
}

.ra-disclaimer {
	background: #fff;
	border-radius: 14px;
	max-width: 580px;
	width: 100%;
	padding: 36px 32px 32px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
	animation: ra-disclaimer-in .3s ease;
}

@keyframes ra-disclaimer-in {
	from { opacity: 0; transform: scale(.95) translateY(10px); }
	to { opacity: 1; transform: scale(1) translateY(0); }
}

.ra-disclaimer__title {
	font-family: 'Nimbus Roman', 'Georgia', serif;
	font-size: 2rem;
	font-weight: 500;
	color: #121212;
	text-align: center;
	margin-bottom: 24px;
}

.ra-disclaimer__body {
	max-height: 50vh;
	overflow-y: auto;
	margin-bottom: 28px;
}

.ra-disclaimer__body p {
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	margin-bottom: 14px;
}

.ra-disclaimer__body p:last-child {
	margin-bottom: 0;
}

.ra-disclaimer__btn {
	display: block;
	width: 100%;
	padding: 14px;
	background: #121212;
	color: #fff;
	border: none;
	border-radius: 40px;
	font-family: 'Lato', 'Helvetica Neue', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
}

.ra-disclaimer__btn:hover {
	background: #333;
}
