@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

:root {
	--fm-ink: #11110f;
	--fm-paper: #f4f1ea;
	--fm-canvas: #fffefa;
	--fm-graphite: #5c5a54;
	--fm-rule: #d8d4c9;
	--fm-signal: #d9ff43;
	--fm-cobalt: #2547f5;
	--fm-alert: #e44a2e;
	--fm-serif: 'Newsreader', 'Iowan Old Style', Baskerville, Georgia, serif;
	--fm-sans: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	--fm-shell: 1440px;
	--fm-gutter: clamp(20px, 3vw, 42px);
	--fm-section: clamp(68px, 8vw, 124px);
	--fm-fast: 180ms ease-out;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--fm-paper);
	color: var(--fm-ink);
	font-family: var(--fm-sans);
	font-size: 18px;
	line-height: 1.68;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.fm-menu-lock {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	text-decoration-color: var(--fm-cobalt);
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid var(--fm-cobalt);
	outline-offset: 3px;
}

::selection {
	background: var(--fm-signal);
	color: var(--fm-ink);
}

.fm-shell {
	width: min(100% - (2 * var(--fm-gutter)), var(--fm-shell));
	margin-inline: auto;
}

.fm-skip-link {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 1000;
	padding: 10px 14px;
	background: var(--fm-signal);
	color: var(--fm-ink);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	transform: translateY(-160%);
}

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

.fm-site-header {
	position: relative;
	z-index: 30;
	background: rgba(244, 241, 234, 0.96);
	border-bottom: 1px solid var(--fm-rule);
}

.fm-masthead {
	display: grid;
	grid-template-columns: minmax(240px, 1.3fr) minmax(0, 2.2fr) auto;
	align-items: center;
	min-height: 84px;
	border-bottom: 1px solid var(--fm-ink);
}

.fm-brand {
	min-width: 0;
}

.fm-wordmark,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--fm-sans);
	font-size: clamp(21px, 2vw, 31px);
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1;
	text-decoration: none;
}

.custom-logo {
	width: auto;
	max-height: 48px;
}

.fm-nav__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(16px, 2vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.fm-nav a,
.fm-header-subscribe,
.fm-header-tagline {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.fm-nav a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 44px;
}

.fm-nav a::after {
	position: absolute;
	right: 0;
	bottom: 6px;
	left: 0;
	height: 1px;
	background: currentColor;
	content: '';
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--fm-fast);
}

.fm-nav a:hover::after,
.fm-nav .current-menu-item a::after {
	transform: scaleX(1);
}

.fm-header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

.fm-search-link {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
}

.fm-search-link svg {
	width: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
}

.fm-header-subscribe {
	padding: 13px 16px;
	background: var(--fm-ink);
	color: var(--fm-canvas);
}

.fm-header-subscribe:hover {
	background: var(--fm-signal);
	color: var(--fm-ink);
}

.fm-header-tagline {
	padding-block: 12px;
	text-align: center;
}

.fm-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.fm-menu-toggle__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.fm-menu-toggle__lines,
.fm-menu-toggle__lines i {
	display: block;
	width: 24px;
}

.fm-menu-toggle__lines i {
	height: 1px;
	margin: 6px 0;
	background: currentColor;
	transition: transform var(--fm-fast);
}

.fm-home-intro {
	padding-block: 26px;
	text-align: center;
}

.fm-home-intro p {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.fm-lead {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(330px, 4fr);
	gap: clamp(26px, 3vw, 50px);
	padding-top: 28px;
	padding-bottom: var(--fm-section);
}

.fm-lead__primary {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(290px, 0.9fr);
	background: var(--fm-canvas);
}

.fm-lead__image {
	min-height: 660px;
	overflow: hidden;
	background: var(--fm-rule);
}

.fm-lead__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--fm-fast);
}

.fm-lead__image:hover img {
	transform: scale(1.012);
}

.fm-lead__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(28px, 4.2vw, 76px);
}

.fm-eyebrow {
	margin-bottom: 18px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.25;
	text-transform: uppercase;
}

.fm-lead h1,
.fm-lead h2,
.fm-story-card h3,
.fm-ai-feature h2,
.fm-district-intro h3,
.fm-newsletter h2,
.fm-archive h1,
.fm-directory h1,
.fm-article h1,
.fm-page h1,
.fm-not-found h1 {
	margin: 0;
	font-family: var(--fm-serif);
	font-weight: 500;
	letter-spacing: -0.035em;
}

.fm-lead h1 {
	font-size: clamp(48px, 4vw, 78px);
	line-height: 0.96;
}

.fm-lead h1 a,
.fm-story-card h3 a {
	text-decoration: none;
}

.fm-lead__copy > p {
	margin: 28px 0;
	color: var(--fm-graphite);
	font-size: 16px;
	line-height: 1.6;
}

.fm-story-card__meta,
.fm-article-byline {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.35;
	text-transform: uppercase;
}

.fm-lead__copy .fm-story-card__meta {
	padding-top: 18px;
	border-top: 1px solid var(--fm-rule);
}

.fm-lead__secondary {
	display: grid;
	grid-template-rows: repeat(2, 1fr);
	gap: 28px;
}

.fm-story-card {
	min-width: 0;
}

.fm-story-card__image {
	display: block;
	overflow: hidden;
	background: var(--fm-rule);
	text-decoration: none;
}

.fm-story-card__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--fm-fast);
}

.fm-story-card__image:hover img {
	transform: scale(1.015);
}

.fm-story-card__body {
	padding-top: 18px;
}

.fm-story-card .fm-eyebrow {
	margin-bottom: 9px;
}

.fm-story-card h3 {
	font-size: clamp(27px, 2.15vw, 40px);
	line-height: 1.03;
}

.fm-story-card p {
	margin: 13px 0 18px;
	color: var(--fm-graphite);
	font-size: 14px;
	line-height: 1.55;
}

.fm-story-card__meta {
	padding-top: 13px;
	border-top: 1px solid var(--fm-rule);
}

.fm-story-card--compact {
	display: grid;
	grid-template-columns: minmax(150px, 0.8fr) minmax(0, 1.2fr);
	align-items: stretch;
	background: var(--fm-canvas);
}

.fm-story-card--compact .fm-story-card__image img {
	height: 100%;
	aspect-ratio: auto;
}

.fm-story-card--compact .fm-story-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(18px, 2.4vw, 32px);
}

.fm-story-card--compact h3 {
	font-size: clamp(25px, 2vw, 34px);
}

.fm-story-card--compact p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.fm-section {
	padding-bottom: var(--fm-section);
}

.fm-section-heading {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
	margin-bottom: 30px;
}

.fm-section-heading::after {
	grid-column: 2;
	grid-row: 1;
	height: 1px;
	background: var(--fm-ink);
	content: '';
}

.fm-section-heading h2 {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fm-section-heading a,
.fm-arrow-link {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-decoration: none;
	text-transform: uppercase;
}

.fm-latest-grid,
.fm-district-grid,
.fm-archive-grid,
.fm-directory-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 42px);
}

.fm-ai-feature {
	margin-bottom: var(--fm-section);
	padding-block: clamp(64px, 7vw, 112px);
	background: var(--fm-ink);
	color: var(--fm-canvas);
}

.fm-ai-feature__grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.45fr);
	align-items: center;
	gap: clamp(50px, 7vw, 120px);
}

.fm-signal-label {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin-bottom: 28px;
	padding: 7px 12px;
	background: var(--fm-signal);
	color: var(--fm-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1;
	text-transform: uppercase;
}

.fm-ai-feature h2 {
	font-size: clamp(45px, 4.8vw, 78px);
	line-height: 0.98;
}

.fm-ai-feature__copy > p {
	max-width: 48ch;
	margin: 30px 0;
	color: rgba(255, 254, 250, 0.76);
	font-size: 16px;
}

.fm-ai-feature__image {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.26);
}

.fm-ai-feature__image::after {
	position: absolute;
	right: 12%;
	bottom: 12%;
	width: 64px;
	height: 3px;
	background: var(--fm-cobalt);
	box-shadow: 13px -10px 0 var(--fm-cobalt), 26px -2px 0 var(--fm-cobalt);
	content: '';
}

.fm-ai-feature__image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.fm-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 6px;
	border-bottom: 1px solid currentColor;
}

.fm-district-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 48px;
	align-items: end;
	margin-bottom: 42px;
}

.fm-district-intro h3 {
	max-width: 760px;
	font-size: clamp(42px, 4.4vw, 72px);
	line-height: 0.98;
}

.fm-district-intro p {
	max-width: 48ch;
	margin: 0 0 8px;
	color: var(--fm-graphite);
	font-size: 16px;
}

.fm-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
	gap: 60px;
	align-items: center;
	margin-bottom: var(--fm-section);
	padding: clamp(34px, 4vw, 66px);
	border: 1px solid var(--fm-rule);
	background: var(--fm-canvas);
}

.fm-newsletter h2 {
	max-width: 740px;
	font-size: clamp(36px, 3.6vw, 60px);
	line-height: 1;
}

.fm-newsletter__form label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.fm-newsletter__form form > div {
	display: grid;
	grid-template-columns: 1fr auto;
}

.fm-newsletter__form input,
.search-form input[type='search'] {
	min-width: 0;
	min-height: 50px;
	padding: 13px 15px;
	border: 1px solid var(--fm-rule);
	border-radius: 0;
	background: var(--fm-canvas);
	color: var(--fm-ink);
}

.fm-newsletter__form button,
.search-form input[type='submit'],
.fm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 20px;
	border: 1px solid var(--fm-ink);
	border-radius: 0;
	background: var(--fm-ink);
	color: var(--fm-canvas);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.fm-newsletter__form button:hover,
.search-form input[type='submit']:hover,
.fm-button:hover {
	background: var(--fm-signal);
	color: var(--fm-ink);
}

.fm-newsletter__form > p {
	margin: 9px 0 0;
	color: var(--fm-graphite);
	font-size: 11px;
}

.fm-network {
	padding: 26px 0 30px;
	border-top: 1px solid var(--fm-ink);
	background: #ebe7dd;
}

.fm-network__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
}

.fm-network__head h2,
.fm-network__head p {
	margin: 0;
}

.fm-network__head h2 {
	font-family: var(--fm-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.fm-network__head p {
	color: var(--fm-graphite);
	font-size: 12px;
}

.fm-network__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.fm-network__card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 1fr auto;
	gap: 5px 20px;
	min-height: 142px;
	padding: 20px 22px 18px 27px;
	overflow: hidden;
	border: 1px solid var(--fm-ink);
	color: inherit;
	text-decoration: none;
	transition: box-shadow 180ms ease-out, transform 180ms ease-out;
}

.fm-network__card::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 6px;
	content: '';
}

.fm-network__card:hover {
	box-shadow: 6px 6px 0 var(--fm-ink);
	transform: translate(-2px, -2px);
}

.fm-network__card--lawhale {
	background: #111;
	color: #f4f1ea;
}

.fm-network__card--lawhale::before {
	background: #08adcf;
}

.fm-network__card--seoulian {
	background: #007c83;
	color: #fffdf7;
}

.fm-network__card--seoulian::before {
	background: #ff5a36;
}

.fm-network__label {
	grid-column: 1 / -1;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	opacity: 0.72;
}

.fm-network__card strong {
	align-self: center;
	font-family: var(--fm-sans);
	font-size: clamp(30px, 3.2vw, 50px);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 0.85;
}

.fm-network__copy {
	grid-column: 1;
	align-self: end;
	font-size: 12px;
	font-weight: 600;
}

.fm-network__action {
	grid-column: 2;
	grid-row: 2 / 4;
	align-self: end;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.fm-network__action span {
	margin-left: 7px;
	font-size: 17px;
}

.fm-site-footer {
	padding: 62px 0 24px;
	border-top: 1px solid var(--fm-ink);
}

.fm-footer-grid {
	display: grid;
	grid-template-columns: minmax(280px, 1.4fr) repeat(3, minmax(140px, 0.6fr));
	gap: 44px;
	padding-bottom: 56px;
}

.fm-wordmark--footer {
	font-size: 24px;
}

.fm-footer-brand p {
	max-width: 40ch;
	margin: 22px 0 0;
	color: var(--fm-graphite);
	font-size: 13px;
	line-height: 1.65;
}

.fm-site-footer h2 {
	margin: 9px 0 18px;
	font-family: var(--fm-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fm-site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fm-site-footer li {
	margin: 7px 0;
}

.fm-site-footer li a,
.fm-footer-bottom {
	font-size: 12px;
}

.fm-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	padding-top: 20px;
	border-top: 1px solid var(--fm-rule);
	color: var(--fm-graphite);
}

.fm-archive,
.fm-directory,
.fm-page,
.fm-not-found {
	padding-top: clamp(72px, 8vw, 130px);
	padding-bottom: var(--fm-section);
}

.fm-archive__header,
.fm-directory__header,
.fm-page__header {
	max-width: 1050px;
	margin-bottom: clamp(48px, 6vw, 90px);
}

.fm-archive h1,
.fm-directory h1,
.fm-page h1,
.fm-not-found h1 {
	font-size: clamp(58px, 8vw, 128px);
	line-height: 0.9;
}

.fm-archive__description,
.fm-directory__header > p {
	max-width: 66ch;
	margin-top: 30px;
	color: var(--fm-graphite);
	font-size: 18px;
}

.fm-directory__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 24px;
	align-items: center;
	margin-top: 30px;
}

.fm-text-link {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.fm-pagination {
	margin-top: 72px;
	font-size: 13px;
	font-weight: 600;
}

.fm-pagination .nav-links {
	display: flex;
	gap: 9px;
	align-items: center;
}

.fm-pagination .page-numbers {
	display: grid;
	min-width: 44px;
	min-height: 44px;
	place-items: center;
	border: 1px solid var(--fm-rule);
	text-decoration: none;
}

.fm-pagination .current {
	background: var(--fm-ink);
	color: var(--fm-canvas);
}

.fm-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: -30px 0 48px;
	padding: 18px 0;
	border-block: 1px solid var(--fm-rule);
}

.fm-filter-row a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 10px 14px;
	border: 1px solid var(--fm-rule);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.fm-filter-row a:hover {
	border-color: var(--fm-ink);
	background: var(--fm-signal);
}

.fm-directory-empty {
	padding: 70px;
	border: 1px solid var(--fm-rule);
	background: var(--fm-canvas);
}

.fm-directory-empty h2 {
	margin: 0;
	font-family: var(--fm-serif);
	font-size: 42px;
	font-weight: 500;
}

.fm-directory-empty .fm-button {
	margin-top: 24px;
}

.fm-article {
	padding-bottom: var(--fm-section);
}

.fm-article-header {
	max-width: 1240px;
	padding-top: clamp(68px, 8vw, 128px);
	padding-bottom: clamp(46px, 5vw, 80px);
}

.fm-article h1 {
	max-width: 13ch;
	font-size: clamp(58px, 7vw, 112px);
	line-height: 0.91;
}

.fm-article-deck {
	max-width: 770px;
	margin: 34px 0;
	color: var(--fm-graphite);
	font-family: var(--fm-serif);
	font-size: clamp(24px, 2.5vw, 36px);
	line-height: 1.18;
}

.fm-article-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	padding-top: 18px;
	border-top: 1px solid var(--fm-rule);
}

.fm-article-hero {
	width: min(100%, 1680px);
}

.fm-article-hero img {
	width: 100%;
	max-height: 900px;
	object-fit: cover;
}

.fm-article-hero figcaption {
	padding-top: 10px;
	color: var(--fm-graphite);
	font-size: 11px;
}

.fm-article-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 740px) minmax(0, 1fr);
	gap: clamp(34px, 5vw, 76px);
	padding-top: clamp(52px, 7vw, 100px);
}

.fm-article-rail {
	grid-column: 1;
}

.fm-article-rail__block {
	padding-block: 16px;
	border-block: 1px solid var(--fm-rule);
	font-size: 13px;
}

.fm-article-rail__block .fm-eyebrow {
	display: block;
	margin-bottom: 8px;
}

.fm-verified {
	margin-top: 18px;
	padding: 13px;
	background: var(--fm-signal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.45;
	text-transform: uppercase;
}

.fm-fast-facts,
.fm-profile-transparency {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--fm-rule);
}

.fm-fast-facts h2,
.fm-profile-transparency h2 {
	margin: 0 0 12px;
	font-family: var(--fm-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.fm-fast-facts dl,
.fm-fast-facts dd,
.fm-profile-transparency p {
	margin: 0;
}

.fm-fast-facts dl > div {
	padding: 10px 0;
	border-bottom: 1px solid var(--fm-rule);
}

.fm-fast-facts dt {
	margin-bottom: 3px;
	color: var(--fm-graphite);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.fm-fast-facts dd,
.fm-profile-transparency {
	font-size: 12px;
	line-height: 1.55;
}

.fm-profile-transparency p + p {
	margin-top: 10px;
}

.fm-submission-page {
	padding-top: clamp(72px, 8vw, 130px);
	padding-bottom: var(--fm-section);
}

.fm-submission-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.6fr);
	gap: clamp(40px, 7vw, 110px);
	align-items: end;
	padding-bottom: clamp(48px, 6vw, 86px);
	border-bottom: 1px solid var(--fm-ink);
}

.fm-submission-hero h1 {
	max-width: 8ch;
	margin: 12px 0 0;
	font-size: clamp(58px, 8vw, 128px);
	line-height: 0.9;
}

.fm-submission-hero__deck {
	color: var(--fm-graphite);
	font-size: 17px;
}

.fm-submission-hero__deck p:last-child {
	margin-bottom: 0;
}

.fm-form-notice {
	margin-top: 28px;
	padding: 18px 20px;
	border: 1px solid var(--fm-ink);
	background: var(--fm-signal);
	font-size: 14px;
}

.fm-form-notice--error {
	border-color: var(--fm-alert);
	background: var(--fm-canvas);
}

.fm-submission-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.52fr) minmax(0, 1fr);
	gap: clamp(46px, 8vw, 128px);
	padding-top: clamp(54px, 7vw, 96px);
}

.fm-submission-process {
	align-self: start;
	padding: 24px;
	border-top: 5px solid var(--fm-signal);
	background: var(--fm-canvas);
}

.fm-submission-process h2 {
	margin: 10px 0 24px;
	font-family: var(--fm-serif);
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
}

.fm-submission-process ol {
	margin: 0;
	padding-left: 22px;
}

.fm-submission-process li {
	margin-bottom: 16px;
	font-size: 13px;
	line-height: 1.55;
}

.fm-small-print,
.fm-field-help {
	color: var(--fm-graphite);
	font-size: 11px;
	line-height: 1.55;
}

.fm-business-form fieldset {
	margin: 0 0 48px;
	padding: 0;
	border: 0;
}

.fm-business-form legend {
	width: 100%;
	margin-bottom: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--fm-rule);
	font-family: var(--fm-serif);
	font-size: 34px;
	line-height: 1;
}

.fm-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.fm-field {
	margin: 0 0 18px;
}

.fm-field--wide {
	grid-column: 1 / -1;
}

.fm-field label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.fm-field input,
.fm-field textarea {
	width: 100%;
	min-height: 50px;
	padding: 13px 15px;
	border: 1px solid var(--fm-rule);
	border-radius: 0;
	background: var(--fm-canvas);
	color: var(--fm-ink);
}

.fm-field textarea {
	resize: vertical;
}

.fm-field-help {
	display: block;
	margin-top: 6px;
}

.fm-consent {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 12px;
	font-size: 13px;
	line-height: 1.55;
}

.fm-consent input {
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
}

.fm-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.fm-article-body {
	grid-column: 2;
	font-size: 18px;
	line-height: 1.76;
}

.fm-article-body > *:first-child {
	margin-top: 0;
}

.fm-article-body p {
	margin: 0 0 1.55em;
}

.fm-article-body h2,
.fm-article-body h3,
.fm-article-body h4 {
	margin: 1.75em 0 0.62em;
	font-family: var(--fm-serif);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.06;
}

.fm-article-body h2 {
	font-size: clamp(38px, 4vw, 58px);
}

.fm-article-body h3 {
	font-size: clamp(28px, 3vw, 40px);
}

.fm-article-body blockquote {
	margin: 2.3em 0;
	padding: 0 0 0 24px;
	border-left: 5px solid var(--fm-signal);
	font-family: var(--fm-serif);
	font-size: clamp(27px, 3vw, 42px);
	line-height: 1.15;
}

.fm-article-body figure,
.fm-article-body .wp-block-image {
	margin-block: 2.4em;
}

.fm-article-body figcaption {
	margin-top: 8px;
	color: var(--fm-graphite);
	font-size: 11px;
	line-height: 1.5;
}

.fm-article-body table {
	width: 100%;
	margin-block: 2em;
	border-collapse: collapse;
	font-size: 14px;
}

.fm-article-body th,
.fm-article-body td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--fm-rule);
	text-align: left;
}

.fm-article-body th {
	font-size: 11px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.fm-sources,
.fm-disclosure {
	margin-top: 52px;
	padding-top: 24px;
	border-top: 1px solid var(--fm-rule);
	font-size: 13px;
}

.fm-sources h2 {
	margin-top: 0;
	font-family: var(--fm-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fm-author-box {
	margin-top: clamp(60px, 8vw, 120px);
	padding: 36px 0;
	border-block: 1px solid var(--fm-rule);
}

.fm-author-box > div {
	max-width: 740px;
	margin-left: min(296px, 20vw);
}

.fm-author-box h2 {
	margin: 0;
	font-family: var(--fm-serif);
	font-size: 44px;
	font-weight: 500;
}

.fm-author-box p {
	margin-bottom: 0;
	color: var(--fm-graphite);
	font-size: 14px;
}

.fm-page__body {
	max-width: 740px;
	margin-inline: auto;
}

.fm-search-header .search-form,
.fm-not-found .search-form {
	display: grid;
	grid-template-columns: minmax(220px, 440px) auto;
	margin-top: 34px;
}

.fm-search-header .search-form label,
.fm-not-found .search-form label {
	display: contents;
}

.fm-not-found {
	min-height: 70vh;
}

.fm-not-found p {
	max-width: 600px;
	font-size: 20px;
}

.fm-not-found__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 34px;
}

.alignwide {
	width: min(100vw - (2 * var(--fm-gutter)), 1120px);
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

@media (max-width: 1180px) {
	.fm-masthead {
		grid-template-columns: minmax(220px, 1fr) auto;
	}

	.fm-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		border-top: 1px solid var(--fm-rule);
	}

	.fm-header-tools {
		grid-column: 2;
		grid-row: 1;
	}

	.fm-lead {
		grid-template-columns: 1fr;
	}

	.fm-lead__secondary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.fm-article-layout {
		grid-template-columns: 180px minmax(0, 740px);
	}

	.fm-footer-grid {
		grid-template-columns: minmax(260px, 1.5fr) repeat(3, 1fr);
	}
}

@media (max-width: 820px) {
	body {
		font-size: 17px;
	}

	.fm-masthead {
		grid-template-columns: minmax(0, 1fr) auto auto;
		min-height: 68px;
	}

	.fm-brand {
		grid-column: 1;
	}

	.fm-wordmark {
		font-size: clamp(20px, 6vw, 27px);
	}

	.fm-menu-toggle {
		display: flex;
		grid-column: 3;
		grid-row: 1;
	}

	.fm-header-tools {
		grid-column: 2;
	}

	.fm-header-subscribe {
		display: none;
	}

	.fm-nav {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		padding: 16px var(--fm-gutter) 28px;
		border-bottom: 1px solid var(--fm-ink);
		background: var(--fm-paper);
		box-shadow: 0 16px 30px rgba(17, 17, 15, 0.12);
	}

	.fm-site-header.is-menu-open .fm-nav {
		display: block;
	}

	.fm-site-header.is-menu-open .fm-menu-toggle__lines i:first-child {
		transform: translateY(3.5px) rotate(45deg);
	}

	.fm-site-header.is-menu-open .fm-menu-toggle__lines i:last-child {
		transform: translateY(-3.5px) rotate(-45deg);
	}

	.fm-nav__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 20px;
	}

	.fm-nav a {
		border-bottom: 1px solid var(--fm-rule);
		font-size: 13px;
	}

	.fm-header-tagline {
		padding-block: 9px;
		font-size: 9px;
		text-align: left;
	}

	.fm-home-intro {
		display: none;
	}

	.fm-lead {
		padding-top: 20px;
	}

	.fm-lead__primary {
		grid-template-columns: 1fr;
	}

	.fm-lead__image {
		min-height: auto;
	}

	.fm-lead__image img {
		aspect-ratio: 4 / 3;
		object-position: center 10%;
	}

	.fm-lead__copy {
		padding: 28px 0 0;
		background: var(--fm-paper);
	}

	.fm-lead h1 {
		font-size: clamp(46px, 13vw, 68px);
	}

	.fm-lead__copy > p {
		font-size: 17px;
	}

	.fm-lead__secondary,
	.fm-latest-grid,
	.fm-district-grid,
	.fm-archive-grid,
	.fm-directory-grid {
		grid-template-columns: 1fr 1fr;
	}

	.fm-story-card--compact {
		grid-template-columns: 1fr;
		background: transparent;
	}

	.fm-story-card--compact .fm-story-card__image img {
		aspect-ratio: 4 / 3;
	}

	.fm-story-card--compact .fm-story-card__body {
		padding: 16px 0 0;
	}

	.fm-ai-feature__grid,
	.fm-district-intro,
	.fm-newsletter {
		grid-template-columns: 1fr;
	}

	.fm-ai-feature__copy {
		order: 2;
	}

	.fm-ai-feature__image {
		order: 1;
	}

	.fm-ai-feature__grid {
		gap: 34px;
	}

	.fm-newsletter {
		gap: 34px;
	}

	.fm-network__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.fm-network__grid {
		grid-template-columns: 1fr;
	}

	.fm-network__card {
		min-height: 132px;
	}

	.fm-footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.fm-footer-brand {
		grid-column: 1 / -1;
	}

	.fm-article h1 {
		font-size: clamp(54px, 13vw, 84px);
	}

	.fm-article-layout {
		grid-template-columns: 1fr;
	}

	.fm-submission-hero,
	.fm-submission-layout {
		grid-template-columns: 1fr;
	}

	.fm-submission-hero {
		align-items: start;
	}

	.fm-article-rail,
	.fm-article-body {
		grid-column: 1;
	}

	.fm-author-box > div {
		margin-left: 0;
	}
}

@media (max-width: 560px) {
	:root {
		--fm-gutter: 20px;
		--fm-section: 72px;
	}

	.fm-search-link {
		width: 40px;
	}

	.fm-lead__secondary,
	.fm-latest-grid,
	.fm-district-grid,
	.fm-archive-grid,
	.fm-directory-grid {
		grid-template-columns: 1fr;
	}

	.fm-section-heading {
		grid-template-columns: auto 1fr;
		gap: 14px;
	}

	.fm-section-heading a {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.fm-district-intro {
		gap: 18px;
	}

	.fm-story-card h3 {
		font-size: 32px;
	}

	.fm-newsletter {
		width: 100%;
		padding-inline: var(--fm-gutter);
		border-inline: 0;
	}

	.fm-newsletter__form form > div,
	.fm-search-header .search-form,
	.fm-not-found .search-form {
		grid-template-columns: 1fr;
	}

	.fm-newsletter__form button {
		margin-top: -1px;
	}

	.fm-network__card {
		grid-template-columns: minmax(0, 1fr);
		padding: 18px 18px 17px 23px;
	}

	.fm-network__card strong {
		font-size: 35px;
	}

	.fm-network__action {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
		margin-top: 7px;
	}

	.fm-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 34px 24px;
	}

	.fm-footer-brand {
		grid-column: 1 / -1;
	}

	.fm-archive h1,
	.fm-directory h1,
	.fm-page h1,
	.fm-not-found h1 {
		font-size: clamp(54px, 18vw, 84px);
	}

	.fm-directory-empty {
		padding: 38px 24px;
	}

	.fm-directory__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.fm-submission-page {
		padding-top: 54px;
	}

	.fm-submission-hero h1 {
		font-size: clamp(54px, 18vw, 84px);
	}

	.fm-submission-process {
		padding: 20px;
	}

	.fm-form-grid {
		grid-template-columns: 1fr;
	}

	.fm-field--wide {
		grid-column: auto;
	}

	.fm-article-header {
		padding-top: 54px;
	}

	.fm-article-deck {
		font-size: 24px;
	}

	.fm-article-body {
		font-size: 17px;
	}

	.fm-not-found__actions {
		display: grid;
	}
}

/* Essential pages and the public research library. */
.fm-info-page,
.fm-library {
	padding-bottom: var(--fm-section);
}

.fm-info-hero,
.fm-library__header {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
	gap: clamp(36px, 8vw, 132px);
	align-items: end;
	padding-block: clamp(70px, 9vw, 148px) clamp(54px, 7vw, 104px);
	border-bottom: 1px solid var(--fm-ink);
}

.fm-info-hero .fm-eyebrow,
.fm-library__header .fm-eyebrow {
	grid-column: 1 / -1;
	margin-bottom: clamp(-64px, -4vw, -26px);
}

.fm-info-hero h1,
.fm-library__header h1 {
	margin: 0;
	font-family: var(--fm-serif);
	font-size: clamp(62px, 8.4vw, 142px);
	font-weight: 500;
	letter-spacing: -0.055em;
	line-height: 0.88;
}

.fm-info-hero > p,
.fm-library__intro > p {
	margin: 0;
	color: var(--fm-graphite);
	font-size: clamp(17px, 1.55vw, 22px);
	line-height: 1.58;
}

.fm-info-sections {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 1px solid var(--fm-ink);
}

.fm-info-sections article {
	min-height: 330px;
	padding: clamp(28px, 4vw, 58px);
	border-right: 1px solid var(--fm-ink);
	border-bottom: 1px solid var(--fm-ink);
}

.fm-info-sections article:nth-child(2n) {
	border-right: 0;
}

.fm-info-sections article:nth-last-child(-n+2) {
	border-bottom: 0;
}

.fm-info-sections article > span,
.fm-contact-routes > a > span {
	display: block;
	margin-bottom: clamp(54px, 8vw, 112px);
	color: var(--fm-cobalt);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.fm-info-sections h2,
.fm-contact-form h2,
.fm-library__empty h2 {
	margin: 0;
	font-family: var(--fm-serif);
	font-size: clamp(35px, 3.5vw, 58px);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1;
}

.fm-info-sections p {
	max-width: 62ch;
	margin: 22px 0 0;
	color: var(--fm-graphite);
	font-size: 16px;
	line-height: 1.7;
}

.fm-info-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 34px;
	align-items: center;
	padding-block: 44px;
}

.fm-contact-layout {
	display: grid;
	grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(42px, 8vw, 132px);
	padding-top: clamp(50px, 7vw, 104px);
}

.fm-contact-routes {
	display: grid;
	align-content: start;
	border-top: 1px solid var(--fm-ink);
}

.fm-contact-routes > a {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 5px 18px;
	padding: 25px 0;
	border-bottom: 1px solid var(--fm-rule);
	text-decoration: none;
}

.fm-contact-routes > a > span {
	grid-row: 1 / span 2;
	margin: 2px 0 0;
}

.fm-contact-routes strong {
	font-family: var(--fm-serif);
	font-size: 27px;
	font-weight: 500;
	line-height: 1;
}

.fm-contact-routes small {
	color: var(--fm-graphite);
	font-size: 12px;
	line-height: 1.5;
}

.fm-contact-form {
	padding: clamp(30px, 4vw, 58px);
	background: var(--fm-canvas);
	border-top: 8px solid var(--fm-signal);
}

.fm-contact-form h2 {
	margin: 12px 0 38px;
}

.fm-contact-form form > p,
.fm-form-grid p {
	margin: 0 0 22px;
}

.fm-contact-form label:not(.fm-consent) {
	display: grid;
	gap: 7px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.fm-contact-form label span {
	color: var(--fm-graphite);
	font-weight: 500;
	text-transform: none;
}

.fm-contact-form input,
.fm-contact-form select,
.fm-contact-form textarea,
.fm-library__intro input[type='search'] {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid var(--fm-rule);
	border-radius: 0;
	background: white;
	color: var(--fm-ink);
}

.fm-contact-form textarea {
	resize: vertical;
}

.fm-contact-form .fm-button {
	margin-top: 28px;
	border: 0;
	cursor: pointer;
}

.fm-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.fm-form-status {
	margin-bottom: 28px;
	padding: 14px 16px;
	font-size: 14px;
}

.fm-form-status--success {
	background: var(--fm-signal);
}

.fm-form-status--error {
	border-left: 5px solid var(--fm-alert);
	background: #f8e8e2;
}

.fm-library__header {
	padding-top: clamp(62px, 8vw, 124px);
}

.fm-library__intro .search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-top: 30px;
}

.fm-library__intro .search-form label {
	display: contents;
}

.fm-library__desks,
.fm-search-empty > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-block: 18px;
	border-bottom: 1px solid var(--fm-rule);
}

.fm-library__desks a,
.fm-search-empty a {
	padding: 10px 13px;
	border: 1px solid var(--fm-ink);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.fm-library__desks a:hover,
.fm-search-empty a:hover {
	background: var(--fm-signal);
}

.fm-library__count {
	padding: 30px 0 18px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fm-library__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fm-library__empty,
.fm-search-empty {
	max-width: 760px;
	padding-block: clamp(60px, 9vw, 130px);
}

.fm-library__empty p,
.fm-search-empty p {
	color: var(--fm-graphite);
}

.fm-search-empty > div {
	margin-top: 30px;
	border-top: 1px solid var(--fm-rule);
}

@media (max-width: 820px) {
	.fm-info-hero,
	.fm-library__header,
	.fm-contact-layout {
		grid-template-columns: 1fr;
	}

	.fm-info-hero .fm-eyebrow,
	.fm-library__header .fm-eyebrow {
		margin-bottom: -10px;
	}

	.fm-info-sections,
	.fm-library__grid {
		grid-template-columns: 1fr 1fr;
	}

	.fm-contact-layout {
		gap: 48px;
	}
}

@media (max-width: 560px) {
	.fm-info-hero,
	.fm-library__header {
		padding-block: 54px 46px;
	}

	.fm-info-hero h1,
	.fm-library__header h1 {
		font-size: clamp(58px, 18vw, 86px);
	}

	.fm-info-sections,
	.fm-library__grid,
	.fm-form-grid {
		grid-template-columns: 1fr;
	}

	.fm-info-sections article,
	.fm-info-sections article:nth-child(2n),
	.fm-info-sections article:nth-last-child(-n+2) {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid var(--fm-ink);
	}

	.fm-info-sections article:last-child {
		border-bottom: 0;
	}

	.fm-info-sections article > span {
		margin-bottom: 50px;
	}

	.fm-contact-form {
		margin-inline: calc(-1 * var(--fm-gutter));
		padding-inline: var(--fm-gutter);
	}

	.fm-library__intro .search-form {
		grid-template-columns: 1fr;
	}

	.fm-library__desks {
		margin-inline: calc(-1 * var(--fm-gutter));
		padding-inline: var(--fm-gutter);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Homepage V2: current editorial plan and production proof. */
.fm-home-v2 {
	overflow: hidden;
}

.fm-proof-bar {
	display: grid;
	grid-template-columns: minmax(210px, 1.2fr) repeat(3, minmax(0, 1fr));
	align-items: stretch;
	margin-top: 22px;
	border-block: 1px solid var(--fm-ink);
}

.fm-proof-bar > * {
	min-height: 82px;
	margin: 0;
	padding: 18px 22px;
	border-right: 1px solid var(--fm-rule);
}

.fm-proof-bar > *:last-child {
	border-right: 0;
}

.fm-proof-bar div,
.fm-proof-bar p {
	display: flex;
	align-items: center;
}

.fm-proof-bar div {
	justify-content: space-between;
	gap: 18px;
	background: var(--fm-ink);
	color: var(--fm-canvas);
}

.fm-proof-bar span,
.fm-proof-bar p,
.fm-v2-heading > div > span {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.fm-proof-bar strong {
	color: var(--fm-signal);
	font-family: var(--fm-serif);
	font-size: 28px;
	font-weight: 500;
	letter-spacing: -0.03em;
}

.fm-v2-lead {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(330px, 0.85fr);
	gap: clamp(26px, 3vw, 48px);
	padding-block: clamp(32px, 4vw, 64px) var(--fm-section);
}

.fm-v2-lead__primary,
.fm-v2-side-story,
.fm-v2-latest-card {
	min-width: 0;
}

.fm-v2-lead__image,
.fm-v2-side-story__image,
.fm-v2-latest-card__image {
	display: block;
	overflow: hidden;
	background: var(--fm-rule);
}

.fm-v2-lead__image img,
.fm-v2-side-story__image img,
.fm-v2-latest-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--fm-fast);
}

.fm-v2-lead__image:hover img,
.fm-v2-side-story__image:hover img,
.fm-v2-latest-card__image:hover img {
	transform: scale(1.015);
}

.fm-v2-lead__image img {
	aspect-ratio: 3 / 2;
}

.fm-v2-lead__body {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(230px, 0.8fr);
	gap: 18px clamp(28px, 4vw, 64px);
	padding-top: 28px;
}

.fm-v2-lead__body .fm-eyebrow,
.fm-v2-lead__body .fm-story-card__meta {
	grid-column: 1 / -1;
}

.fm-v2-lead__body h1,
.fm-v2-side-story h2,
.fm-v2-heading h2,
.fm-v2-latest-card h3,
.fm-v2-ai h2,
.fm-verification h2,
.fm-v2-newsletter h2 {
	margin: 0;
	font-family: var(--fm-serif);
	font-weight: 500;
	letter-spacing: -0.04em;
}

.fm-v2-lead__body h1 {
	font-size: clamp(52px, 4.8vw, 84px);
	line-height: 0.94;
}

.fm-v2-lead__body h1 a,
.fm-v2-side-story h2 a,
.fm-v2-latest-card h3 a,
.fm-v2-ai h2 a {
	text-decoration: none;
}

.fm-v2-lead__body > p {
	align-self: end;
	margin: 0;
	color: var(--fm-graphite);
	font-size: 16px;
	line-height: 1.65;
}

.fm-v2-lead__rail {
	display: grid;
	align-content: start;
	gap: 40px;
}

.fm-v2-side-story {
	padding-bottom: 34px;
	border-bottom: 1px solid var(--fm-ink);
}

.fm-v2-side-story__image img {
	aspect-ratio: 3 / 2;
}

.fm-v2-side-story > div {
	padding-top: 18px;
}

.fm-v2-side-story .fm-eyebrow,
.fm-v2-latest-card .fm-eyebrow {
	margin-bottom: 10px;
}

.fm-v2-side-story h2 {
	font-size: clamp(30px, 2.25vw, 42px);
	line-height: 1.02;
}

.fm-v2-side-story p,
.fm-v2-latest-card p {
	margin: 15px 0 18px;
	color: var(--fm-graphite);
	font-size: 14px;
	line-height: 1.55;
}

.fm-v2-section {
	padding-bottom: var(--fm-section);
}

.fm-v2-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 32px;
	padding-bottom: 26px;
	border-top: 1px solid var(--fm-ink);
}

.fm-v2-heading > div {
	padding-top: 20px;
}

.fm-v2-heading h2 {
	margin-top: 8px;
	font-size: clamp(42px, 4.2vw, 70px);
	line-height: 0.98;
}

.fm-v2-heading > a,
.fm-v2-ai__link,
.fm-button {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.fm-v2-latest-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px 22px;
}

.fm-v2-latest-card__image img {
	aspect-ratio: 4 / 3;
}

.fm-v2-latest-card .fm-eyebrow {
	margin-top: 16px;
}

.fm-v2-latest-card h3 {
	font-size: clamp(28px, 2.2vw, 39px);
	line-height: 1.03;
}

.fm-v2-ai {
	margin-bottom: var(--fm-section);
	padding-block: clamp(62px, 7vw, 110px);
	background: var(--fm-ink);
	color: var(--fm-canvas);
}

.fm-v2-ai__grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.35fr);
	gap: clamp(48px, 7vw, 120px);
	align-items: center;
}

.fm-v2-ai .fm-signal-label {
	color: var(--fm-ink);
}

.fm-v2-ai h2 {
	margin-top: 24px;
	font-size: clamp(50px, 5.4vw, 92px);
	line-height: 0.92;
}

.fm-v2-ai__copy > p {
	max-width: 520px;
	margin: 28px 0 18px;
	color: #c8c6bf;
	font-size: 16px;
}

.fm-v2-ai .fm-story-card__meta {
	color: #94928b;
}

.fm-v2-ai__link {
	display: inline-flex;
	gap: 18px;
	margin-top: 32px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--fm-signal);
	color: var(--fm-signal);
}

.fm-v2-ai__visual {
	position: relative;
}

.fm-v2-ai__visual > img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.fm-v2-roadmap {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 1px solid #52514d;
	list-style: none;
}

.fm-v2-roadmap li {
	min-width: 0;
	padding: 18px 12px 0 0;
	border-right: 1px solid #52514d;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
}

.fm-v2-roadmap li:last-child {
	border-right: 0;
}

.fm-v2-roadmap span {
	display: block;
	margin-bottom: 24px;
	color: var(--fm-signal);
	font-size: 10px;
}

.fm-verification__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.7fr);
	gap: clamp(40px, 8vw, 130px);
	padding-bottom: 52px;
}

.fm-verification h2 {
	font-size: clamp(54px, 6vw, 104px);
	line-height: 0.9;
}

.fm-verification__intro > div:last-child p {
	margin: 0 0 28px;
	color: var(--fm-graphite);
	font-size: 16px;
}

.fm-button {
	display: inline-flex;
	gap: 24px;
	padding: 15px 18px;
	background: var(--fm-cobalt);
	color: white;
}

.fm-verification__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-block: 1px solid var(--fm-ink);
	list-style: none;
}

.fm-verification__steps li {
	padding: 24px;
	border-right: 1px solid var(--fm-ink);
}

.fm-verification__steps li:last-child {
	border-right: 0;
}

.fm-verification__steps span {
	display: block;
	margin-bottom: 42px;
	color: var(--fm-cobalt);
	font-size: 12px;
	font-weight: 700;
}

.fm-verification__steps strong {
	display: block;
	font-family: var(--fm-serif);
	font-size: 25px;
	font-weight: 500;
	line-height: 1.05;
}

.fm-verification__steps p {
	margin: 14px 0 0;
	color: var(--fm-graphite);
	font-size: 13px;
	line-height: 1.5;
}

.fm-verification__note {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 20px;
	padding: 16px 18px;
	background: var(--fm-signal);
}

.fm-verification__note strong {
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.fm-verification__note span {
	font-family: var(--fm-serif);
	font-size: 22px;
}

.fm-v2-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
	gap: clamp(42px, 8vw, 140px);
	align-items: end;
	margin-bottom: var(--fm-section);
	padding: clamp(42px, 5vw, 76px);
	background: var(--fm-cobalt);
	color: white;
}

.fm-v2-newsletter h2 {
	max-width: 760px;
	font-size: clamp(48px, 5.5vw, 92px);
	line-height: 0.91;
}

.fm-v2-newsletter > div > p {
	max-width: 620px;
	margin: 25px 0 0;
	color: #dce3ff;
	font-size: 15px;
}

.fm-v2-newsletter .fm-newsletter__form input,
.fm-v2-newsletter .fm-newsletter__form button {
	border-color: white;
}

.fm-v2-newsletter .fm-newsletter__form input {
	background: transparent;
	color: white;
}

.fm-v2-newsletter .fm-newsletter__form input::placeholder {
	color: #dce3ff;
}

.fm-v2-newsletter .fm-newsletter__form button {
	background: white;
	color: var(--fm-cobalt);
}

.fm-v2-newsletter .fm-newsletter__form > p {
	color: #dce3ff;
}

@media (max-width: 1180px) {
	.fm-proof-bar {
		grid-template-columns: 1fr 1fr;
	}

	.fm-proof-bar > *:nth-child(2) {
		border-right: 0;
	}

	.fm-proof-bar > *:nth-child(-n+2) {
		border-bottom: 1px solid var(--fm-rule);
	}

	.fm-v2-lead {
		grid-template-columns: minmax(0, 1.5fr) minmax(290px, 0.75fr);
	}

	.fm-v2-lead__body {
		grid-template-columns: 1fr;
	}

	.fm-v2-lead__body .fm-eyebrow,
	.fm-v2-lead__body .fm-story-card__meta {
		grid-column: auto;
	}

	.fm-v2-latest-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.fm-verification__steps li:nth-child(2) {
		border-right: 0;
	}

	.fm-verification__steps li:nth-child(-n+2) {
		border-bottom: 1px solid var(--fm-ink);
	}
}

@media (max-width: 820px) {
	.fm-proof-bar {
		margin-top: 14px;
	}

	.fm-proof-bar > * {
		min-height: 64px;
		padding: 13px 14px;
	}

	.fm-proof-bar strong {
		font-size: 24px;
	}

	.fm-v2-lead {
		grid-template-columns: 1fr;
		padding-top: 24px;
	}

	.fm-v2-lead__body h1 {
		font-size: clamp(48px, 12vw, 72px);
	}

	.fm-v2-lead__rail {
		grid-template-columns: 1fr 1fr;
	}

	.fm-v2-ai__grid,
	.fm-verification__intro,
	.fm-v2-newsletter {
		grid-template-columns: 1fr;
	}

	.fm-v2-ai__visual {
		order: -1;
	}

	.fm-v2-roadmap {
		grid-template-columns: 1fr;
	}

	.fm-v2-roadmap li {
		display: flex;
		gap: 20px;
		padding: 13px 0;
		border-right: 0;
		border-bottom: 1px solid #52514d;
	}

	.fm-v2-roadmap li:last-child {
		border-bottom: 0;
	}

	.fm-v2-roadmap span {
		margin: 0;
	}

	.fm-verification__intro {
		gap: 28px;
	}

	.fm-v2-newsletter {
		align-items: start;
	}
}

@media (max-width: 560px) {
	.fm-proof-bar {
		width: 100%;
		grid-template-columns: 1fr 1fr;
	}

	.fm-proof-bar p {
		font-size: 8px;
	}

	.fm-proof-bar div {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.fm-v2-lead__body {
		gap: 16px;
		padding-top: 22px;
	}

	.fm-v2-lead__body h1 {
		font-size: clamp(45px, 13.2vw, 62px);
	}

	.fm-v2-lead__rail,
	.fm-v2-latest-grid,
	.fm-verification__steps {
		grid-template-columns: 1fr;
	}

	.fm-v2-side-story {
		display: grid;
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 16px;
		padding-bottom: 22px;
	}

	.fm-v2-side-story > div {
		padding-top: 0;
	}

	.fm-v2-side-story h2 {
		font-size: 26px;
	}

	.fm-v2-side-story p {
		display: none;
	}

	.fm-v2-side-story__image img {
		aspect-ratio: 4 / 5;
	}

	.fm-v2-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}

	.fm-v2-heading h2 {
		font-size: 46px;
	}

	.fm-v2-latest-card {
		display: grid;
		grid-template-columns: 126px minmax(0, 1fr);
		gap: 0 16px;
		padding-bottom: 22px;
		border-bottom: 1px solid var(--fm-rule);
	}

	.fm-v2-latest-card__image {
		grid-row: 1 / span 5;
	}

	.fm-v2-latest-card__image img {
		aspect-ratio: 4 / 5;
	}

	.fm-v2-latest-card .fm-eyebrow {
		margin: 0 0 7px;
	}

	.fm-v2-latest-card h3 {
		font-size: 27px;
	}

	.fm-v2-latest-card p {
		display: none;
	}

	.fm-v2-latest-card .fm-story-card__meta {
		margin-top: 10px;
	}

	.fm-v2-ai {
		margin-inline: 0;
	}

	.fm-v2-ai h2 {
		font-size: 52px;
	}

	.fm-verification h2 {
		font-size: 58px;
	}

	.fm-verification__steps li,
	.fm-verification__steps li:nth-child(2) {
		border-right: 0;
		border-bottom: 1px solid var(--fm-ink);
	}

	.fm-verification__steps li:last-child {
		border-bottom: 0;
	}

	.fm-verification__steps span {
		margin-bottom: 22px;
	}

	.fm-verification__note {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.fm-v2-newsletter {
		width: 100%;
		padding: 46px var(--fm-gutter);
	}

	.fm-v2-newsletter h2 {
		font-size: 54px;
	}
}
