@font-face {
	font-family: "Bricolage Grotesque";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/BricolageGrotesque-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "Bricolage Grotesque";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("fonts/BricolageGrotesque-Bold.ttf") format("truetype");
}

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

@font-face {
	font-family: "DM Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/DMMono-Regular.ttf") format("truetype");
}

:root {
	--tms-ink: #07111f;
	--tms-ink-soft: #12314e;
	--tms-paper: #fffdf8;
	--tms-warm: #f6f2e8;
	--tms-line: #d7dfe1;
	--tms-muted: #64758a;
	--tms-cobalt: #3b6dff;
	--tms-cyan: #29bed9;
	--tms-mint: #45d2ab;
	--tms-coral: #ff6845;
	--tms-violet: #9b54ef;
	--tms-gold: #d99a20;
	--tms-signal: #eaf0ff;
	--tms-shell: 1180px;
	--tms-radius-sm: 10px;
	--tms-radius: 18px;
	--tms-space-1: 0.25rem;
	--tms-space-2: 0.5rem;
	--tms-space-3: 0.75rem;
	--tms-space-4: 1rem;
	--tms-space-5: 1.5rem;
	--tms-space-6: 2rem;
	--tms-space-7: 3rem;
	--tms-space-8: 4rem;
	--tms-space-9: 6rem;
}

html {
	scroll-behavior: smooth;
}

body.tms-editorial-site {
	margin: 0;
	background: var(--tms-paper);
	color: var(--tms-ink);
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	overflow-x: hidden;
}

body.tms-editorial-site *,
body.tms-editorial-site *::before,
body.tms-editorial-site *::after {
	box-sizing: border-box;
}

body.tms-editorial-site img {
	display: block;
	max-width: 100%;
	height: auto;
}

body.tms-editorial-site a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

body.tms-editorial-site h1,
body.tms-editorial-site h2,
body.tms-editorial-site h3,
body.tms-editorial-site p {
	margin-top: 0;
}

body.tms-editorial-site h1,
body.tms-editorial-site h2 {
	font-family: "Gloock", Georgia, serif;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.04;
}

body.tms-editorial-site h1 {
	font-size: clamp(3rem, 7vw, 6.7rem);
}

body.tms-editorial-site h2 {
	font-size: clamp(2.35rem, 5vw, 4.7rem);
}

body.tms-editorial-site h3 {
	font-size: clamp(1.2rem, 2vw, 1.65rem);
	line-height: 1.25;
}

body.tms-editorial-site .elementor,
body.tms-editorial-site .elementor-element,
body.tms-editorial-site .elementor-widget-container,
body.tms-editorial-site .elementor-shortcode {
	max-width: none;
}

body.tms-editorial-site .site-header:not(.tms-site-header),
body.tms-editorial-site .site-footer:not(.tms-site-footer),
body.tms-editorial-site .page-header {
	display: none;
}

body.tms-editorial-site .site-main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.tms-shell {
	width: min(var(--tms-shell), calc(100% - 3rem));
	margin-inline: auto;
}

.tms-section {
	padding-block: var(--tms-space-9);
}

.tms-kicker {
	margin-bottom: var(--tms-space-4);
	color: var(--tms-cobalt);
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.tms-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0.8rem 1.4rem;
	border: 1px solid var(--tms-ink);
	border-radius: 999px;
	background: var(--tms-ink);
	color: var(--tms-paper) !important;
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
	letter-spacing: 0.07em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.tms-button:hover {
	background: var(--tms-coral);
	color: var(--tms-ink) !important;
	transform: translateY(-2px);
}

.tms-button-light {
	border-color: var(--tms-paper);
	background: var(--tms-paper);
	color: var(--tms-ink) !important;
}

.tms-button-light:hover {
	border-color: var(--tms-coral);
	background: var(--tms-coral);
}

.tms-skip-link {
	position: fixed;
	top: 0;
	left: 1rem;
	z-index: 10000;
	padding: 0.8rem 1.2rem;
	background: var(--tms-coral);
	color: var(--tms-ink);
	font-weight: 700;
	transform: translateY(-150%);
}

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

.tms-site-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid var(--tms-line);
	background: var(--tms-paper);
}

.tms-topline {
	padding-block: 0.45rem;
	background: var(--tms-ink);
	color: #b9c6d5;
	font-family: "DM Mono", monospace;
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tms-topline .tms-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tms-space-4);
}

.tms-header-main {
	display: grid;
	grid-template-columns: minmax(230px, 0.75fr) minmax(280px, 1.5fr) auto;
	align-items: center;
	gap: var(--tms-space-6);
	min-height: 118px;
}

.tms-brand {
	display: inline-flex;
	width: min(100%, 320px);
	text-decoration: none;
}

.tms-brand img {
	width: 100%;
	max-height: 66px;
	object-fit: contain;
	object-position: left center;
}

.tms-search {
	display: flex;
	align-items: center;
	overflow: hidden;
	border-radius: 999px;
	background: #f0f3f2;
}

.tms-search input {
	width: 100%;
	min-width: 0;
	padding: 0.95rem 1.2rem;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--tms-ink);
	font: inherit;
}

.tms-search button {
	align-self: stretch;
	padding-inline: 1.1rem;
	border: 0;
	background: var(--tms-ink);
	color: var(--tms-paper);
	cursor: pointer;
	font-family: "DM Mono", monospace;
	font-size: 0.68rem;
	text-transform: uppercase;
}

.tms-primary-nav {
	border-top: 1px solid var(--tms-line);
}

.tms-primary-nav .tms-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tms-space-4);
	min-height: 54px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.tms-primary-nav a {
	flex: 0 0 auto;
	padding-block: 1rem;
	font-family: "DM Mono", monospace;
	font-size: 0.68rem;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.tms-primary-nav a:hover,
.tms-primary-nav .tms-home-link {
	color: var(--tms-cobalt);
}

.tms-hero {
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(7, 17, 31, 0.99) 0%, rgba(7, 17, 31, 0.94) 52%, rgba(7, 17, 31, 0.1) 100%),
		var(--tms-ink);
	color: var(--tms-paper);
}

.tms-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	min-height: 720px;
}

.tms-hero-copy {
	position: relative;
	z-index: 2;
	align-self: center;
	max-width: 720px;
	padding-block: var(--tms-space-9);
}

.tms-hero h1 {
	max-width: 760px;
	margin-bottom: var(--tms-space-6);
}

.tms-hero h1 em {
	display: block;
	color: var(--tms-coral);
	font-style: normal;
}

.tms-hero-dek {
	max-width: 620px;
	color: #c2ccda;
	font-size: 1.15rem;
}

.tms-hero-actions {
	display: flex;
	align-items: center;
	gap: var(--tms-space-5);
	margin-top: var(--tms-space-7);
}

.tms-text-link {
	color: var(--tms-paper);
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tms-hero-visual {
	position: relative;
	margin-right: calc((100vw - min(var(--tms-shell), calc(100vw - 3rem))) / -2);
}

.tms-hero-visual::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--tms-ink) 0%, rgba(7, 17, 31, 0.36) 45%, transparent 100%);
	content: "";
}

.tms-hero-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tms-signal-strip {
	background: var(--tms-paper);
}

.tms-signal-strip .tms-shell {
	display: grid;
	grid-template-columns: 190px 1fr auto;
	align-items: center;
	gap: var(--tms-space-6);
	min-height: 90px;
}

.tms-signal-strip strong {
	align-self: stretch;
	display: grid;
	place-items: center;
	margin-left: calc((100vw - min(var(--tms-shell), calc(100vw - 3rem))) / -2);
	padding-left: max(1.5rem, calc((100vw - var(--tms-shell)) / 2));
	background: var(--tms-coral);
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
}

.tms-signal-strip p {
	margin: 0;
	color: var(--tms-muted);
}

.tms-signal-strip a {
	color: var(--tms-cobalt);
	font-family: "DM Mono", monospace;
	font-size: 0.7rem;
	text-transform: uppercase;
}

.tms-editor-desk,
.tms-latest {
	background: var(--tms-warm);
}

.tms-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
	align-items: end;
	gap: var(--tms-space-8);
	margin-bottom: var(--tms-space-8);
}

.tms-section-heading h2 {
	max-width: 760px;
	margin-bottom: 0;
}

.tms-section-heading > p {
	max-width: 460px;
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-feature-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	gap: var(--tms-space-6);
}

.tms-feature-primary {
	position: relative;
	min-height: 520px;
	overflow: hidden;
	border-radius: var(--tms-radius);
	background: var(--tms-ink);
	color: var(--tms-paper);
}

.tms-feature-primary img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
}

.tms-feature-primary::after {
	position: absolute;
	inset: 30% 0 0;
	background: linear-gradient(transparent, rgba(7, 17, 31, 0.96));
	content: "";
}

.tms-feature-primary > div {
	position: absolute;
	right: var(--tms-space-6);
	bottom: var(--tms-space-6);
	left: var(--tms-space-6);
	z-index: 1;
}

.tms-feature-primary h3 {
	margin-bottom: var(--tms-space-3);
	font-family: "Gloock", Georgia, serif;
	font-size: clamp(1.8rem, 4vw, 3rem);
}

.tms-feature-primary > div > p:last-child {
	max-width: 720px;
	margin-bottom: 0;
	color: #d6dee8;
}

.tms-feature-stack {
	display: grid;
	gap: var(--tms-space-6);
}

.tms-feature-stack article {
	padding: var(--tms-space-6);
	border-top: 5px solid var(--tms-cyan);
	border-radius: var(--tms-radius);
	background: var(--tms-paper);
}

.tms-feature-stack article:last-child {
	border-color: var(--tms-mint);
}

.tms-feature-stack p:last-child {
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-channel-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--tms-space-5);
}

.tms-channel-grid article {
	position: relative;
	min-height: 260px;
	padding: var(--tms-space-6);
	border: 1px solid var(--tms-line);
	border-radius: var(--tms-radius);
	background: #f7f9f7;
	transition: border-color 180ms ease, transform 180ms ease;
}

.tms-channel-grid article:hover {
	border-color: var(--tms-cobalt);
	transform: translateY(-4px);
}

.tms-channel-grid article:first-child {
	border-color: var(--tms-ink);
	background: var(--tms-ink);
	color: var(--tms-paper);
}

.tms-channel-grid article > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: var(--tms-space-6);
	border-radius: 50%;
	background: var(--tms-cobalt);
	color: #fff;
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
}

.tms-channel-grid article:nth-child(2) > span {
	background: var(--tms-mint);
}

.tms-channel-grid article:nth-child(3) > span {
	background: var(--tms-coral);
}

.tms-channel-grid article:nth-child(4) > span {
	background: var(--tms-cyan);
}

.tms-channel-grid article:nth-child(5) > span {
	background: var(--tms-violet);
}

.tms-channel-grid article:nth-child(6) > span {
	background: #ec4771;
}

.tms-channel-grid article:nth-child(7) > span {
	background: var(--tms-gold);
}

.tms-channel-grid article:nth-child(8) > span {
	background: #249987;
}

.tms-channel-grid h3 a {
	text-decoration: none;
}

.tms-channel-grid p {
	color: var(--tms-muted);
	font-size: 0.95rem;
}

.tms-channel-grid article:first-child p {
	color: #b9c6d5;
}

.tms-arrow-link {
	position: absolute;
	right: var(--tms-space-5);
	bottom: var(--tms-space-5);
	color: var(--tms-cobalt);
	font-size: 1.25rem;
	text-decoration: none;
}

.tms-brand-authority,
.tms-life-card {
	background: var(--tms-ink);
	color: var(--tms-paper);
}

.tms-authority-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	gap: var(--tms-space-9);
	align-items: center;
}

.tms-authority-grid > div > p {
	max-width: 720px;
	color: #b9c6d5;
}

.tms-authority-grid > div > p strong {
	color: var(--tms-paper);
}

.tms-authority-card {
	padding: var(--tms-space-7);
	border-left: 5px solid var(--tms-cobalt);
	border-radius: var(--tms-radius);
	background: var(--tms-ink-soft);
}

.tms-authority-card h3 {
	margin-bottom: var(--tms-space-6);
	font-family: "Gloock", Georgia, serif;
	font-size: 2.4rem;
	font-weight: 400;
}

.tms-authority-card ul {
	display: grid;
	gap: var(--tms-space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.tms-authority-card li {
	display: grid;
	grid-template-columns: 12px 1fr;
	gap: var(--tms-space-4);
}

.tms-authority-card li::before {
	width: 10px;
	height: 10px;
	margin-top: 0.5rem;
	border-radius: 50%;
	background: var(--tms-cyan);
	content: "";
}

.tms-authority-card li:nth-child(2)::before {
	background: var(--tms-mint);
}

.tms-authority-card li:nth-child(3)::before {
	background: var(--tms-coral);
}

.tms-authority-card li:nth-child(4)::before {
	background: var(--tms-violet);
}

.tms-authority-card strong,
.tms-authority-card span {
	grid-column: 2;
}

.tms-authority-card span {
	color: #aab8c8;
	font-size: 0.9rem;
}

.tms-connected-figure {
	position: relative;
	overflow: hidden;
	margin: 0 0 var(--tms-space-7);
	border-radius: var(--tms-radius);
}

.tms-connected-figure img {
	width: 100%;
	aspect-ratio: 16 / 7;
	object-fit: cover;
}

.tms-connected-figure figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: var(--tms-space-5) var(--tms-space-6);
	background: rgba(7, 17, 31, 0.9);
	color: #c9d3df;
}

.tms-connected-figure figcaption strong {
	display: block;
	color: var(--tms-paper);
	font-size: 1.25rem;
}

.tms-prose-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tms-space-7);
	color: var(--tms-muted);
}

.tms-story-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--tms-space-5);
}

.tms-story-card {
	overflow: hidden;
	border-top: 5px solid var(--tms-cobalt);
	border-radius: var(--tms-radius);
	background: var(--tms-paper);
}

.tms-story-card:nth-child(2n) {
	border-color: var(--tms-cyan);
}

.tms-story-card:nth-child(3n) {
	border-color: #ec4771;
}

.tms-story-image {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--tms-ink);
	text-decoration: none;
}

.tms-story-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tms-story-image span {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	color: var(--tms-paper);
	font-family: "Gloock", Georgia, serif;
	font-size: 3rem;
}

.tms-story-card > div,
.tms-story-placeholder {
	padding: var(--tms-space-6);
}

.tms-story-card h3 a {
	text-decoration: none;
}

.tms-story-card h3 a:hover {
	color: var(--tms-cobalt);
}

.tms-story-card p:last-child {
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-life-grid {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: var(--tms-space-6);
	margin-bottom: var(--tms-space-7);
}

.tms-life-grid > img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	border-radius: var(--tms-radius);
	object-fit: cover;
}

.tms-life-card {
	padding: var(--tms-space-7);
	border-radius: var(--tms-radius);
}

.tms-life-card h3 {
	font-family: "Gloock", Georgia, serif;
	font-size: 2.6rem;
	font-weight: 400;
}

.tms-life-card > p:not(.tms-kicker) {
	color: #b9c6d5;
}

.tms-life-card ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tms-space-4);
	margin: var(--tms-space-7) 0 0;
	padding: var(--tms-space-5) 0 0;
	border-top: 1px solid #35506b;
	color: var(--tms-cyan);
	font-family: "DM Mono", monospace;
	font-size: 0.7rem;
	list-style-position: inside;
	text-transform: uppercase;
}

.tms-trust {
	background: var(--tms-signal);
}

.tms-trust-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tms-space-5);
}

.tms-trust-grid article {
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: var(--tms-space-4);
	padding: var(--tms-space-6);
	border-radius: var(--tms-radius);
	background: var(--tms-paper);
}

.tms-trust-grid span {
	grid-row: 1 / span 2;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--tms-cobalt);
	color: #fff;
	font-family: "DM Mono", monospace;
	font-size: 0.7rem;
}

.tms-trust-grid article:nth-child(2) span {
	background: var(--tms-mint);
}

.tms-trust-grid article:nth-child(3) span {
	background: var(--tms-coral);
}

.tms-trust-grid article:nth-child(4) span {
	background: var(--tms-violet);
}

.tms-trust-grid p {
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-faq-list {
	border-top: 1px solid var(--tms-line);
}

.tms-faq-list details {
	border-bottom: 1px solid var(--tms-line);
}

.tms-faq-list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tms-space-5);
	padding-block: var(--tms-space-5);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.tms-faq-list summary::-webkit-details-marker {
	display: none;
}

.tms-faq-list summary::after {
	display: grid;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: var(--tms-signal);
	color: var(--tms-cobalt);
	content: "+";
}

.tms-faq-list details[open] summary::after {
	content: "−";
}

.tms-faq-list details p {
	max-width: 850px;
	padding: 0 4rem var(--tms-space-5) 0;
	color: var(--tms-muted);
}

.tms-newsletter {
	padding-block: var(--tms-space-7);
	background: linear-gradient(90deg, var(--tms-coral), #ff9a42);
}

.tms-newsletter .tms-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tms-space-7);
}

.tms-newsletter h2 {
	max-width: 640px;
	margin-bottom: 0;
	font-size: clamp(2.2rem, 4vw, 4.2rem);
	color: var(--tms-paper);
}

.tms-footer-main {
	padding: var(--tms-space-8) 0 var(--tms-space-4);
	background: var(--tms-ink);
	color: var(--tms-paper);
}

.tms-footer-grid {
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: var(--tms-space-7);
}

.tms-brand-footer {
	width: 260px;
	margin-bottom: var(--tms-space-5);
}

.tms-footer-brand p {
	max-width: 480px;
	color: #aab8c8;
}

.tms-footer-grid h2 {
	margin-bottom: var(--tms-space-4);
	color: var(--tms-mint);
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tms-footer-grid ul {
	display: grid;
	gap: var(--tms-space-2);
	margin: 0;
	padding: 0;
	color: #c4cfda;
	font-size: 0.9rem;
	list-style: none;
}

.tms-footer-grid a {
	text-decoration: none;
}

.tms-footer-grid a:hover {
	color: var(--tms-coral);
}

.tms-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: var(--tms-space-4);
	margin-top: var(--tms-space-7);
	padding-top: var(--tms-space-4);
	border-top: 1px solid #28415a;
	color: #718297;
	font-family: "DM Mono", monospace;
	font-size: 0.62rem;
	letter-spacing: 0.06em;
}

.tms-page-hero,
.tms-article-header,
.tms-archive-header {
	padding-block: var(--tms-space-9);
	background: var(--tms-ink);
	color: var(--tms-paper);
}

.tms-page-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	align-items: center;
	gap: var(--tms-space-8);
}

.tms-page-hero h1,
.tms-article-header h1,
.tms-archive-header h1 {
	margin-bottom: var(--tms-space-6);
}

.tms-page-dek,
.tms-article-dek,
.tms-archive-description {
	max-width: 800px;
	margin-bottom: 0;
	color: #bdc9d7;
	font-size: 1.2rem;
}

.tms-page-hero-grid > img {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: var(--tms-radius);
	object-fit: cover;
}

.tms-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: start;
	gap: var(--tms-space-9);
}

.tms-longform,
.tms-policy-copy,
.tms-article-content {
	max-width: 780px;
}

.tms-longform h2,
.tms-policy-copy h2,
.tms-article-content h2 {
	margin: var(--tms-space-8) 0 var(--tms-space-5);
	font-size: clamp(2rem, 4vw, 3.6rem);
}

.tms-longform h3,
.tms-policy-copy h3,
.tms-article-content h3 {
	margin: var(--tms-space-7) 0 var(--tms-space-4);
}

.tms-longform p,
.tms-policy-copy p,
.tms-article-content p,
.tms-article-content li {
	color: #34465a;
}

.tms-longform a,
.tms-policy-copy a,
.tms-article-content a {
	color: var(--tms-cobalt);
}

.tms-policy-page .tms-policy-copy > div {
	display: contents;
}

.tms-policy-page .tms-page-aside a {
	display: block;
	padding-block: var(--tms-space-2);
	color: var(--tms-cobalt);
	font-weight: 700;
}

.tms-longform > p:first-of-type,
.tms-policy-copy > p:nth-of-type(2),
.tms-article-content > p:first-child {
	color: var(--tms-ink);
	font-size: 1.15rem;
}

.tms-page-aside,
.tms-contact-aside,
.tms-article-aside {
	position: sticky;
	top: 2rem;
	display: grid;
	gap: var(--tms-space-5);
}

.tms-page-aside {
	padding: var(--tms-space-6);
	border-top: 5px solid var(--tms-coral);
	border-radius: var(--tms-radius);
	background: var(--tms-warm);
}

.tms-page-aside dl,
.tms-page-aside dd {
	margin: 0;
}

.tms-page-aside dl {
	display: grid;
	gap: var(--tms-space-4);
	margin-bottom: var(--tms-space-6);
}

.tms-page-aside dl div {
	padding-bottom: var(--tms-space-3);
	border-bottom: 1px solid var(--tms-line);
}

.tms-page-aside dt {
	color: var(--tms-muted);
	font-family: "DM Mono", monospace;
	font-size: 0.68rem;
	text-transform: uppercase;
}

.tms-page-aside dd {
	font-weight: 700;
}

.tms-contact-hero {
	background: var(--tms-warm);
	color: var(--tms-ink);
}

.tms-contact-hero .tms-page-dek {
	color: var(--tms-muted);
}

.tms-contact-promise {
	padding: var(--tms-space-7);
	border-radius: var(--tms-radius);
	background: var(--tms-ink);
	color: var(--tms-paper);
}

.tms-contact-promise h2 {
	margin-bottom: var(--tms-space-5);
	font-size: 2.7rem;
}

.tms-contact-promise p:last-child {
	margin-bottom: 0;
	color: #bdc9d7;
}

.tms-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	align-items: start;
	gap: var(--tms-space-8);
}

.tms-contact-form {
	display: grid;
	gap: var(--tms-space-5);
	padding: var(--tms-space-7);
	border: 1px solid var(--tms-line);
	border-radius: var(--tms-radius);
	background: var(--tms-paper);
	box-shadow: 0 28px 80px rgba(7, 17, 31, 0.08);
}

.tms-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tms-space-5);
}

.tms-contact-form p {
	margin: 0;
}

.tms-contact-form label {
	display: block;
	margin-bottom: var(--tms-space-2);
	font-weight: 700;
}

.tms-contact-form input,
.tms-contact-form select,
.tms-contact-form textarea {
	width: 100%;
	padding: 0.9rem 1rem;
	border: 1px solid #b8c3cc;
	border-radius: var(--tms-radius-sm);
	background: #fbfcfa;
	color: var(--tms-ink);
	font: inherit;
}

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

.tms-form-consent {
	color: var(--tms-muted);
	font-size: 0.88rem;
}

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

.tms-form-notice {
	margin-bottom: var(--tms-space-5);
	padding: var(--tms-space-4) var(--tms-space-5);
	border-radius: var(--tms-radius-sm);
	font-weight: 700;
}

.tms-form-success {
	border: 1px solid #207b61;
	background: #e1f7ef;
	color: #125740;
}

.tms-form-error {
	border: 1px solid #b53d31;
	background: #fff0ed;
	color: #8c2d24;
}

.tms-contact-aside article {
	padding: var(--tms-space-6);
	border-radius: var(--tms-radius);
	background: var(--tms-warm);
}

.tms-contact-aside article > span {
	color: var(--tms-coral);
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
}

.tms-contact-aside h2 {
	margin: var(--tms-space-3) 0;
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
}

.tms-contact-aside p {
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--tms-space-3);
	margin-bottom: var(--tms-space-7);
	color: #8fa2b7;
	font-family: "DM Mono", monospace;
	font-size: 0.68rem;
	text-transform: uppercase;
}

.tms-breadcrumb a {
	color: var(--tms-cyan);
}

.tms-article-header .tms-shell {
	max-width: 1040px;
}

.tms-article-header h1 {
	max-width: 1000px;
	font-size: clamp(3rem, 7vw, 6.4rem);
}

.tms-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--tms-space-4) var(--tms-space-6);
	margin-top: var(--tms-space-6);
	color: #8fa2b7;
	font-family: "DM Mono", monospace;
	font-size: 0.68rem;
	text-transform: uppercase;
}

.tms-article-featured {
	margin-top: calc(var(--tms-space-7) * -1);
}

.tms-article-featured img {
	width: 100%;
	aspect-ratio: 16 / 8;
	border: 10px solid var(--tms-paper);
	border-radius: calc(var(--tms-radius) + 4px);
	object-fit: cover;
}

.tms-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: start;
	gap: var(--tms-space-9);
	padding-block: var(--tms-space-8);
}

.tms-article-content {
	font-family: Georgia, serif;
	font-size: 1.1rem;
	line-height: 1.85;
}

.tms-article-content h2,
.tms-article-content h3 {
	font-family: "Gloock", Georgia, serif;
}

.tms-article-content blockquote {
	margin: var(--tms-space-7) 0;
	padding: var(--tms-space-5) 0 var(--tms-space-5) var(--tms-space-6);
	border-left: 5px solid var(--tms-coral);
	color: var(--tms-ink);
	font-family: "Gloock", Georgia, serif;
	font-size: 1.7rem;
	line-height: 1.4;
}

.tms-key-takeaways,
.tms-article-faq {
	margin-block: var(--tms-space-7);
	padding: var(--tms-space-6);
	border-radius: var(--tms-radius);
	background: var(--tms-signal);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 1rem;
}

.tms-key-takeaways {
	border-top: 5px solid var(--tms-mint);
}

.tms-article-faq {
	border-top: 5px solid var(--tms-coral);
	background: var(--tms-warm);
}

.tms-key-takeaways h2,
.tms-article-faq h2 {
	margin-top: 0;
	font-size: clamp(2rem, 4vw, 3rem);
}

.tms-article-faq h3 {
	padding-top: var(--tms-space-4);
	border-top: 1px solid var(--tms-line);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 1.15rem;
}

.tms-article-content img {
	margin-block: var(--tms-space-6);
	border-radius: var(--tms-radius);
}

.tms-article-content .tms-related-reading {
	margin-top: var(--tms-space-8);
	padding: var(--tms-space-6);
	border-top: 5px solid var(--tms-cobalt);
	border-radius: var(--tms-radius);
	background: var(--tms-signal);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 1rem;
}

.tms-article-content .tms-related-reading h2 {
	margin-top: 0;
	font-size: 2.3rem;
}

.tms-article-aside > div {
	padding: var(--tms-space-6);
	border-top: 4px solid var(--tms-cyan);
	border-radius: var(--tms-radius);
	background: var(--tms-warm);
}

.tms-article-aside > div:nth-child(2) {
	border-color: var(--tms-mint);
}

.tms-article-aside > div:nth-child(3) {
	border-color: var(--tms-coral);
}

.tms-article-aside h2 {
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
}

.tms-author-card p:last-child,
.tms-article-aside > div > p:last-child {
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-related-posts {
	background: var(--tms-warm);
}

.tms-related-posts > .tms-shell > h2 {
	margin-bottom: var(--tms-space-7);
}

.tms-archive-header .tms-shell {
	max-width: 1040px;
}

.tms-archive-description p {
	margin-bottom: 0;
}

.tms-archive-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tms-space-5);
	margin-bottom: var(--tms-space-7);
	padding-bottom: var(--tms-space-4);
	border-bottom: 1px solid var(--tms-line);
}

.tms-archive-toolbar p {
	margin-bottom: 0;
	color: var(--tms-muted);
}

.tms-archive-toolbar strong {
	color: var(--tms-ink);
}

.tms-archive-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tms-space-6);
}

.tms-archive-card {
	overflow: hidden;
	border: 1px solid var(--tms-line);
	border-radius: var(--tms-radius);
	background: var(--tms-paper);
}

.tms-archive-image {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--tms-ink);
	text-decoration: none;
}

.tms-archive-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tms-archive-image span {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	color: var(--tms-paper);
	font-family: "Gloock", Georgia, serif;
	font-size: 3.5rem;
}

.tms-archive-card > div {
	padding: var(--tms-space-6);
}

.tms-archive-card h2 {
	margin-bottom: var(--tms-space-4);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 1.7rem;
	font-weight: 700;
}

.tms-archive-card h2 a,
.tms-text-link-dark {
	text-decoration: none;
}

.tms-archive-card h2 a:hover,
.tms-text-link-dark:hover {
	color: var(--tms-cobalt);
}

.tms-archive-card > div > p:not(.tms-kicker) {
	color: var(--tms-muted);
}

.tms-text-link-dark {
	font-family: "DM Mono", monospace;
	font-size: 0.72rem;
	text-transform: uppercase;
}

.tms-empty-state {
	grid-column: 1 / -1;
	padding: var(--tms-space-8);
	border-radius: var(--tms-radius);
	background: var(--tms-warm);
	text-align: center;
}

.tms-pagination {
	margin-top: var(--tms-space-7);
}

.tms-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--tms-space-2);
}

.tms-pagination .page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--tms-line);
	border-radius: 50%;
	text-decoration: none;
}

.tms-pagination .current,
.tms-pagination a:hover {
	border-color: var(--tms-ink);
	background: var(--tms-ink);
	color: var(--tms-paper);
}

body.tms-editorial-site a:focus-visible,
body.tms-editorial-site button:focus-visible,
body.tms-editorial-site input:focus-visible,
body.tms-editorial-site summary:focus-visible {
	outline: 3px solid var(--tms-coral);
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	.tms-header-main {
		grid-template-columns: 230px 1fr;
	}

	.tms-header-button {
		display: none;
	}

	.tms-hero-grid,
	.tms-authority-grid,
	.tms-life-grid {
		grid-template-columns: 1fr;
	}

	.tms-hero-visual {
		min-height: 420px;
		margin: 0 calc((100vw - min(var(--tms-shell), calc(100vw - 3rem))) / -2);
	}

	.tms-hero-visual::after {
		background: linear-gradient(180deg, var(--tms-ink), transparent 35%);
	}

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

	.tms-footer-grid {
		grid-template-columns: repeat(3, 1fr);
	}

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

	.tms-page-layout,
	.tms-contact-layout,
	.tms-article-layout {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: var(--tms-space-7);
	}
}

@media (max-width: 768px) {
	:root {
		--tms-space-8: 3rem;
		--tms-space-9: 4.5rem;
	}

	body.tms-editorial-site {
		font-size: 16px;
	}

	.tms-shell {
		width: min(100% - 2rem, var(--tms-shell));
	}

	.tms-topline .tms-shell span:last-child {
		display: none;
	}

	.tms-header-main {
		grid-template-columns: 1fr;
		gap: var(--tms-space-4);
		padding-block: var(--tms-space-5);
	}

	.tms-brand {
		width: 250px;
	}

	.tms-primary-nav .tms-shell {
		justify-content: flex-start;
	}

	.tms-hero-grid {
		min-height: 0;
	}

	.tms-hero-copy {
		padding-block: var(--tms-space-8);
	}

	.tms-hero-actions,
	.tms-newsletter .tms-shell,
	.tms-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.tms-signal-strip .tms-shell {
		grid-template-columns: 1fr auto;
		padding-block: var(--tms-space-4);
	}

	.tms-signal-strip strong {
		grid-column: 1 / -1;
		justify-self: start;
		margin: 0;
		padding: var(--tms-space-3) var(--tms-space-4);
	}

	.tms-section-heading,
	.tms-feature-grid,
	.tms-prose-columns,
	.tms-page-hero-grid,
	.tms-page-layout,
	.tms-contact-layout,
	.tms-article-layout {
		grid-template-columns: 1fr;
		gap: var(--tms-space-5);
	}

	.tms-page-aside,
	.tms-contact-aside,
	.tms-article-aside {
		position: static;
	}

	.tms-feature-primary,
	.tms-feature-primary img {
		min-height: 430px;
	}

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

	.tms-trust-grid {
		grid-template-columns: 1fr;
	}

	.tms-connected-figure figcaption {
		position: static;
	}

	.tms-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.tms-archive-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.tms-search {
		display: none;
	}

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

	.tms-contact-form {
		padding: var(--tms-space-5);
	}

	.tms-archive-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.tms-hero h1 {
		font-size: 3.2rem;
	}

	.tms-hero-actions {
		align-items: stretch;
	}

	.tms-channel-grid,
	.tms-story-grid,
	.tms-life-card ol,
	.tms-footer-grid {
		grid-template-columns: 1fr;
	}

	.tms-channel-grid article {
		min-height: 220px;
	}

	.tms-feature-primary > div {
		right: var(--tms-space-5);
		bottom: var(--tms-space-5);
		left: var(--tms-space-5);
	}

	.tms-authority-card,
	.tms-life-card {
		padding: var(--tms-space-5);
	}

	.tms-life-grid > img {
		min-height: 360px;
	}

	.tms-trust-grid article {
		grid-template-columns: 42px 1fr;
		padding: var(--tms-space-5);
	}

	.tms-trust-grid span {
		width: 40px;
		height: 40px;
	}

	.tms-faq-list details p {
		padding-right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
