/*
 * The Rare Mind — 2026 redesign.
 *
 * Recreates design_handoff_theraremind (README + .dc.html references).
 * Every class is prefixed .trm- so nothing here collides with the older
 * component classes in site-custom.css. Values are taken from the design
 * markup; one responsive breakpoint at max-width 760px, per the brief
 * (the header's hamburger alone switches at 960px).
 *
 * Tokens: navy #122a63 · amber #f5a81c · dark amber #8a5a00 ·
 * cool grey #f4f6fb · warm cream #f6f4ee · body grey #5b6580 ·
 * muted grey #7b86a4 · light navy text #c8d0e6 · muted navy text
 * #a9b5d4 / #b9c4de · nav grey #3f4a6b · link hover #0b4ca8.
 */

:root {
	--trm-navy: #122a63;
	--trm-amber: #f5a81c;
	--trm-amber-dark: #8a5a00;
	--trm-cool: #f4f6fb;
	--trm-cream: #f6f4ee;
	--trm-body: #5b6580;
	--trm-muted: #7b86a4;
	--trm-navy-text: #c8d0e6;
	--trm-navy-muted: #a9b5d4;
	--trm-nav-grey: #3f4a6b;
	--trm-link-hover: #0b4ca8;
	--trm-rule: rgba(18, 42, 99, 0.14);
	--trm-rule-navy: rgba(255, 255, 255, 0.14);
	--trm-font: "Manrope", system-ui, sans-serif;
	--trm-pad-x: clamp(20px, 5vw, 64px);
	--trm-pad-y: clamp(36px, 6vw, 88px);
}

/* ---------- Shell, sections, rules ---------- */

.trm-shell {
	box-sizing: border-box;
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--trm-pad-x);
	padding-right: var(--trm-pad-x);
}

.trm-section {
	padding-top: var(--trm-pad-y);
	padding-bottom: var(--trm-pad-y);
	font-family: var(--trm-font);
}

.trm-section--white { background: #ffffff; }
.trm-section--navy { background: var(--trm-navy); }
.trm-section--cool { background: var(--trm-cool); }
.trm-section--cream { background: var(--trm-cream); }

.trm-rule {
	height: 4px;
	background: var(--trm-amber);
}

/* Margin reset at single-class strength: beats any bare "h2 {…}" /
   "p {…}" rule from the parent theme, but every component class below
   (also single-class, defined later in this file) still wins over it. */
.trm-section :where(p, h1, h2, h3, figure, blockquote, ol),
.trm-hero :where(p, h1, h2, h3, figure, blockquote, ol),
.trm-header :where(p, h1, h2, h3, figure, blockquote, ol),
.trm-footer :where(p, h1, h2, h3, figure, blockquote, ol) {
	margin: 0;
}

.trm-grid-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
}

/* ---------- Type ---------- */

.trm-eyebrow {
	font: 600 11px/1 var(--trm-font);
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--trm-amber-dark);
	margin: 0 0 18px;
}

.trm-eyebrow--on-navy { color: var(--trm-amber); }

.trm-small-label {
	font: 600 10.5px/1.2 var(--trm-font);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--trm-amber-dark);
}

.trm-small-label--on-navy { color: var(--trm-navy-muted); }

.trm-h2 {
	font: 700 clamp(28px, 4vw, 44px)/1.1 var(--trm-font) !important;
	letter-spacing: -0.035em;
	color: var(--trm-navy);
}

.trm-lead {
	font: 400 clamp(16px, 1.8vw, 21px)/1.6 var(--trm-font);
	color: var(--trm-navy);
}

/* ---------- Buttons ---------- */

.trm-btn {
	display: inline-block;
	font-family: var(--trm-font);
	text-decoration: none !important;
	border-radius: 9px;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.trm-btn--lg {
	font-size: 15.5px;
	font-weight: 600;
	padding: 16px 32px;
	border-radius: 11px;
}

.trm-btn--sm {
	font-size: 13.5px;
	font-weight: 500;
	padding: 10px 18px;
	border-radius: 9px;
}

.trm-btn--amber {
	background: var(--trm-amber);
	color: var(--trm-navy) !important;
}

.trm-btn--amber:hover {
	background: #ffb938;
	color: var(--trm-navy) !important;
}

.trm-btn--outline {
	color: var(--trm-navy) !important;
	border: 1px solid rgba(18, 42, 99, 0.25);
}

.trm-btn--outline:hover {
	border-color: var(--trm-navy);
	color: var(--trm-navy) !important;
}

.trm-btn--outline-light {
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.4);
}

.trm-btn--outline-light:hover {
	border-color: #ffffff;
	color: #ffffff !important;
}

.trm-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.trm-btn-row--lg { gap: 14px; }

/* ---------- Header ---------- */

header.wp-block-template-part:has(.trm-header) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}

.trm-header {
	position: relative;
	background: rgba(255, 255, 255, 0.95);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(18, 42, 99, 0.09);
	font-family: var(--trm-font);
}

.trm-header__inner {
	box-sizing: border-box;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px clamp(18px, 4vw, 44px);
}

.trm-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
}

.trm-brand__logo {
	display: block;
	width: 38px;
	height: 38px;
	border-radius: 8px;
}

.trm-brand__text {
	display: flex;
	flex-direction: column;
}

.trm-brand__name {
	font: 700 16.5px/1.15 var(--trm-font);
	letter-spacing: -0.02em;
	color: var(--trm-navy);
}

.trm-brand__by {
	font: 400 11.5px/1.2 var(--trm-font);
	color: var(--trm-muted);
}

.trm-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 14px 24px;
}

.trm-nav__link {
	font: 500 14px var(--trm-font);
	color: var(--trm-nav-grey) !important;
	text-decoration: none !important;
	padding-bottom: 3px;
	border-bottom: 2px solid transparent;
}

.trm-nav__link:hover {
	color: var(--trm-link-hover) !important;
}

.trm-nav__link.is-active {
	font-weight: 600;
	color: var(--trm-navy) !important;
	border-bottom-color: var(--trm-amber);
}

.trm-nav__cta {
	font: 600 14px var(--trm-font);
	color: var(--trm-navy) !important;
	background: var(--trm-amber);
	padding: 10px 20px;
	border-radius: 9px;
	text-decoration: none !important;
}

.trm-nav__cta:hover {
	background: #ffb938;
}

.trm-menu-btn {
	display: none;
	flex-direction: column;
	gap: 5px;
	padding: 10px 4px;
	background: none;
	border: 0;
	cursor: pointer;
}

.trm-menu-btn span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--trm-navy);
}

.trm-menu-panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	box-sizing: border-box;
	background: #ffffff;
	border-bottom: 1px solid rgba(18, 42, 99, 0.12);
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px clamp(18px, 4vw, 44px) 18px;
	box-shadow: 0 8px 20px rgba(18, 42, 99, 0.08);
}

.trm-menu-panel[hidden] {
	display: none;
}

.trm-menu-panel__link {
	font: 500 15px var(--trm-font);
	color: var(--trm-nav-grey) !important;
	padding: 12px 0;
	text-decoration: none !important;
}

.trm-menu-panel__link.is-active {
	font-weight: 600;
	color: var(--trm-navy) !important;
}

.trm-menu-panel__cta {
	font: 600 15px var(--trm-font);
	color: var(--trm-navy) !important;
	background: var(--trm-amber);
	padding: 13px 20px;
	border-radius: 9px;
	margin-top: 8px;
	text-align: center;
	text-decoration: none !important;
}

/* ---------- Hero ---------- */

.trm-hero {
	background: var(--trm-navy);
	overflow: clip;
	font-family: var(--trm-font);
}

.trm-hero__shell {
	position: relative;
	padding-top: clamp(36px, 6vw, 96px);
}

.trm-hero__decor {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.trm-hero__glow {
	position: absolute;
	right: -60px;
	top: -60px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 168, 28, 0.16) 0, transparent 66%);
}

.trm-dot {
	position: absolute;
	border-radius: 50%;
	background: var(--trm-amber);
}

.trm-hero__content {
	position: relative;
	max-width: 1130px;
}

.trm-hero__eyebrow {
	margin-bottom: 32px;
}

.trm-hero__title {
	margin: 0 0 34px !important;
	font-family: var(--trm-font) !important;
}

.trm-hero__line1 {
	display: block;
	margin-bottom: 10px;
	font: 700 clamp(32px, 5vw, 58px)/1.1 var(--trm-font);
	letter-spacing: -0.035em;
	color: #ffffff;
}

.trm-hero__line2 {
	display: block;
	font: 300 clamp(30px, 4.8vw, 56px)/1.12 var(--trm-font);
	letter-spacing: -0.034em;
	color: var(--trm-amber);
}

.trm-hero__intro {
	margin: 0 0 40px !important;
	max-width: 1130px;
	font: 400 clamp(16px, 1.8vw, 21px)/1.6 var(--trm-font);
	color: var(--trm-navy-text);
	text-wrap: balance;
}

.trm-hero-strip {
	position: relative;
	margin-top: clamp(40px, 5vw, 78px);
	border-top: 1px solid var(--trm-rule-navy);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trm-hero-strip--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trm-hero-strip--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trm-hero-strip__cell {
	padding: clamp(14px, 2vw, 24px);
	border-left: 1px solid var(--trm-rule-navy);
}

.trm-hero-strip__cell:first-child {
	padding: clamp(14px, 2vw, 24px) clamp(14px, 2vw, 24px) 26px 0;
	border-left: 0;
}

.trm-hero-strip__value {
	font: 700 clamp(15px, 1.6vw, 19px)/1.2 var(--trm-font);
	letter-spacing: -0.02em;
	color: var(--trm-amber);
}

.trm-hero-strip__caption {
	margin-top: 6px;
	font: 400 clamp(11.5px, 1.15vw, 13.5px)/1.45 var(--trm-font);
	color: var(--trm-navy-muted);
}

.trm-hero-strip__caption--fixed {
	font-size: 13.5px;
	max-width: 272px;
}

/* ---------- The movement ---------- */

.trm-movement {
	display: flex;
	flex-wrap: wrap;
	gap: 44px 64px;
	align-items: flex-start;
}

.trm-movement__head {
	flex: 1 1 300px;
	max-width: 100%;
}

.trm-movement__body {
	flex: 2.2 1 440px;
	max-width: 100%;
}

.trm-movement__title {
	font: 700 42px/1.12 var(--trm-font) !important;
	letter-spacing: -0.032em;
	color: var(--trm-navy);
}

.trm-movement__body .trm-lead {
	margin-bottom: 18px;
}

.trm-movement__text {
	margin-bottom: 42px !important;
	font: 400 16.5px/1.75 var(--trm-font);
	color: var(--trm-body);
}

.trm-pillars {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
	gap: 24px;
}

.trm-pillar {
	border-top: 2px solid var(--trm-amber);
	padding-top: 18px;
}

.trm-pillar__title {
	margin-bottom: 9px;
	font: 700 17.5px/1.3 var(--trm-font);
	letter-spacing: -0.02em;
	color: var(--trm-navy);
}

.trm-pillar__text {
	font: 400 14px/1.65 var(--trm-font);
	color: var(--trm-body);
}

/* ---------- Statistics ---------- */

.trm-stats-section {
	padding-top: clamp(36px, 6vw, 80px);
	padding-bottom: clamp(36px, 6vw, 80px);
}

.trm-stats-intro {
	gap: 60px;
	align-items: center;
	margin-bottom: 54px;
}

.trm-stats-intro__eyebrow {
	margin-bottom: 20px;
}

.trm-stats-intro__big {
	font: 700 130px/0.88 var(--trm-font);
	letter-spacing: -0.05em;
	color: #ffffff;
}

.trm-stats-intro__caption {
	margin-top: 14px;
	font: 400 23px/1.4 var(--trm-font);
	letter-spacing: -0.02em;
	color: var(--trm-amber);
}

.trm-stats-intro__text {
	font: 400 17.5px/1.7 var(--trm-font);
	color: var(--trm-navy-text);
}

.trm-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, 0.2);
}

.trm-stat {
	background: var(--trm-navy);
	padding: clamp(16px, 2.2vw, 26px) clamp(10px, 1.8vw, 22px);
}

.trm-stat__value {
	font: 700 clamp(22px, 2.7vw, 34px) var(--trm-font);
	letter-spacing: -0.03em;
	color: #ffffff;
}

.trm-stat__value--amber { color: var(--trm-amber); }

.trm-stat__label {
	margin-top: 5px;
	font: 400 13.5px/1.45 var(--trm-font);
	color: var(--trm-navy-muted);
}

.trm-stat--link {
	padding: 26px 22px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.trm-stat--link .trm-small-label {
	margin-bottom: 8px;
}

.trm-stat__link {
	font: 600 15px/1.35 var(--trm-font);
	color: var(--trm-amber) !important;
	text-decoration: none !important;
}

.trm-stat__link:hover {
	color: #ffffff !important;
}

/* ---------- Story ---------- */

.trm-story {
	gap: 64px;
	align-items: stretch;
}

.trm-story__title {
	margin: 0 0 36px !important;
	font: 700 clamp(28px, 4.2vw, 46px)/1.1 var(--trm-font) !important;
	letter-spacing: -0.035em;
	color: var(--trm-navy);
}

.trm-timeline {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	column-gap: 28px;
	list-style: none;
	padding: 0 !important;
}

.trm-timeline::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / 5;
	justify-self: center;
	width: 1px;
	background: linear-gradient(var(--trm-amber), rgba(18, 42, 99, 0.22));
}

.trm-timeline__item {
	grid-column: 2;
	position: relative;
	padding-bottom: 32px;
	margin: 0;
}

.trm-timeline__item:last-child {
	padding-bottom: 0;
}

.trm-timeline__item::before {
	content: "";
	position: absolute;
	left: -43px;
	top: 7px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--trm-amber);
}

.trm-timeline__item--now::before {
	background: var(--trm-navy);
}

.trm-timeline__label {
	margin-bottom: 9px;
	font: 600 11px var(--trm-font);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--trm-amber-dark);
}

.trm-timeline__text {
	font: 400 16.5px/1.72 var(--trm-font);
	color: var(--trm-nav-grey);
}

.trm-quote {
	border-left: 2px solid var(--trm-amber);
	padding: 6px 0 6px 26px;
	margin: 36px 0 0 9px !important;
}

.trm-quote p {
	font: 500 24px/1.5 var(--trm-font);
	letter-spacing: -0.02em;
	color: var(--trm-navy);
}

.trm-story__media {
	display: flex;
	flex-direction: column;
}

.trm-story__figure {
	margin: 0 0 32px !important;
}

.trm-story__figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 20%;
	border-radius: 11px;
}

.trm-story__figure figcaption {
	margin-top: 16px;
	padding-left: 16px;
	border-left: 2px solid var(--trm-amber);
	font: 400 15px/1.62 var(--trm-font);
	color: var(--trm-body);
}

/* ---------- What I stand for ---------- */

.trm-standfor-section {
	padding-top: clamp(36px, 6vw, 72px);
	padding-bottom: 80px;
}

.trm-standfor__eyebrow {
	margin-bottom: 26px;
}

.trm-numbered {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 0 44px;
	list-style: none;
	padding: 0 !important;
}

.trm-numbered__item {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	margin: 0;
	border-top: 1px solid var(--trm-rule);
}

.trm-numbered__item:nth-last-child(-n+2) {
	border-bottom: 1px solid var(--trm-rule);
}

.trm-numbered__num {
	padding-top: 4px;
	font: 600 12px var(--trm-font);
	color: var(--trm-amber-dark);
}

.trm-numbered__text {
	font: 400 17px/1.5 var(--trm-font);
	color: var(--trm-navy);
}

/* ---------- Advocacy in practice ---------- */

.trm-advocacy__head {
	margin-bottom: 40px;
}

.trm-advocacy__eyebrow {
	margin-bottom: 16px;
}

.trm-advocacy__title {
	margin-bottom: 16px !important;
}

.trm-advocacy__intro {
	max-width: 620px;
	font: 400 17px/1.7 var(--trm-font);
	color: var(--trm-body);
}

.trm-creds {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: rgba(18, 42, 99, 0.13);
	border: 1px solid rgba(18, 42, 99, 0.13);
	border-radius: 11px;
	overflow: hidden;
}

.trm-cred {
	background: #ffffff;
	padding: 30px 32px;
}

.trm-cred .trm-small-label {
	margin-bottom: 12px;
}

.trm-cred__title {
	margin-bottom: 10px !important;
	font: 700 21px/1.22 var(--trm-font) !important;
	letter-spacing: -0.025em;
	color: var(--trm-navy);
}

.trm-cred__text {
	font: 400 14.5px/1.65 var(--trm-font);
	color: var(--trm-body);
}

.trm-lists {
	margin-top: 34px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
	gap: 34px;
	border-top: 1px solid rgba(18, 42, 99, 0.13);
	padding-top: 30px;
}

.trm-lists .trm-small-label {
	margin-bottom: 12px;
}

.trm-lists__items {
	font: 400 14.5px/1.75 var(--trm-font);
	color: var(--trm-nav-grey);
}

/* ---------- Podcast teaser + episode card ---------- */

.trm-podcast-teaser {
	padding-top: clamp(36px, 6vw, 84px);
	padding-bottom: clamp(36px, 6vw, 84px);
}

.trm-podcast-teaser__grid {
	gap: 56px;
	align-items: center;
}

.trm-podcast-teaser__title {
	margin: 0 0 16px !important;
	font: 700 clamp(26px, 3.6vw, 40px)/1.12 var(--trm-font) !important;
	letter-spacing: -0.032em;
	color: var(--trm-navy);
}

.trm-podcast-teaser__text {
	margin-bottom: 26px !important;
	font: 400 16.5px/1.7 var(--trm-font);
	color: var(--trm-body);
}

.trm-ep-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 26px;
	display: flex;
	gap: 22px;
	align-items: center;
	box-shadow: 0 3px 18px rgba(18, 42, 99, 0.07);
}

.trm-ep-card__art {
	display: block;
	width: 118px;
	height: 118px;
	flex: none;
	border-radius: 9px;
	object-fit: cover;
}

.trm-art-placeholder {
	background: repeating-linear-gradient(135deg, #dfe4ef 0 8px, #e9edf5 8px 16px);
}

.trm-ep-card__body {
	min-width: 0;
	flex: 1;
}

.trm-ep-card__kicker {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
}

.trm-ep-card__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--trm-amber);
}

.trm-ep-card__title {
	display: block;
	margin-bottom: 8px;
	font: 700 19px/1.28 var(--trm-font);
	letter-spacing: -0.025em;
	color: var(--trm-navy) !important;
	text-decoration: none !important;
}

.trm-ep-card__title:hover {
	color: var(--trm-link-hover) !important;
}

.trm-ep-card__meta {
	margin-bottom: 16px;
	font: 400 13.5px/1.5 var(--trm-font);
	color: var(--trm-body);
}

/* ---------- Custom podcast player ---------- */

.trm-player {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--trm-font);
}

.trm-player__btn {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--trm-amber);
	color: var(--trm-navy);
	cursor: pointer;
	transition: background-color 0.2s;
}

.trm-player__btn:hover {
	background: #ffb938;
}

.trm-player__btn svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}

.trm-player__play { margin-left: 2px; }
.trm-player__pause { display: none; }
.trm-player.is-playing .trm-player__play { display: none; }
.trm-player.is-playing .trm-player__pause { display: block; }

.trm-player__middle {
	flex: 1;
	min-width: 0;
}

.trm-player__track {
	position: relative;
	flex: 1;
	height: 3px;
	border-radius: 2px;
	background: #e3e7f0;
	cursor: pointer;
}

/* Bigger invisible hit area so the 3px track is easy to click. */
.trm-player__track::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -8px;
	bottom: -8px;
}

.trm-player__track:focus-visible {
	outline: 2px solid var(--trm-amber);
	outline-offset: 6px;
}

.trm-player__fill {
	width: 0;
	height: 3px;
	border-radius: 2px;
	background: var(--trm-navy);
}

.trm-player__time {
	flex: none;
	font: 500 12.5px var(--trm-font);
	font-variant-numeric: tabular-nums;
	color: var(--trm-muted);
}

.trm-player audio {
	display: none;
}

/* ---------- Community CTA ---------- */

.trm-community {
	padding-top: clamp(36px, 6vw, 78px);
	padding-bottom: clamp(36px, 6vw, 78px);
}

.trm-community__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 28px 48px;
}

.trm-community__title {
	margin: 0 0 14px !important;
	font: 700 clamp(26px, 3.6vw, 40px)/1.14 var(--trm-font) !important;
	letter-spacing: -0.032em;
	color: #ffffff !important;
}

.trm-community__text {
	max-width: 520px;
	font: 400 17px/1.65 var(--trm-font);
	color: #b9c4de;
}

/* ---------- Footer ---------- */

.trm-footer {
	font-family: var(--trm-font);
}

.trm-footer__band {
	background: var(--trm-navy);
	padding-top: clamp(36px, 6vw, 44px);
	padding-bottom: clamp(36px, 6vw, 44px);
}

.trm-footer__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.trm-brand--footer .trm-brand__logo {
	width: 34px;
	height: 34px;
}

.trm-brand--footer .trm-brand__name {
	font-size: 15px;
	color: #ffffff;
}

.trm-brand--footer .trm-brand__by {
	color: #8b97b8;
}

.trm-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 26px;
}

.trm-footer__links a {
	font: 400 13px var(--trm-font);
	color: #8b97b8 !important;
	text-decoration: none !important;
}

.trm-footer__links a:hover {
	color: #ffffff !important;
}

/* Copyright + agency credit — not in the design, kept at the client's
   request. Deliberately quiet: same muted colour as the links, smaller,
   under a hairline. */
.trm-footer__credit {
	margin-top: 22px !important;
	padding-top: 18px;
	border-top: 1px solid var(--trm-rule-navy);
	font: 400 12px/1.5 var(--trm-font);
	color: #8b97b8;
}

.trm-footer__credit a {
	color: #8b97b8 !important;
	text-decoration: none !important;
}

.trm-footer__credit a:hover {
	color: #ffffff !important;
}

/* ---------- Mobile (single breakpoint, per the brief) ---------- */

/* Header: the full nav needs ~890px on one line (six items since ZTTK
   Explained was added), so the hamburger takes over at 960px and below,
   with a margin for wider font rendering or a longer label. Everything
   else still switches at the single 760px breakpoint. */
@media (max-width: 960px) {
	.trm-nav {
		display: none;
	}

	.trm-menu-btn {
		display: flex;
	}
}

@media (max-width: 760px) {
	.trm-hero-strip,
	.trm-hero-strip--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trm-hero-strip__cell,
	.trm-hero-strip__cell:first-child {
		border-left: 0;
		padding: 16px 0;
	}

	.trm-hero-strip__cell:nth-child(n+3) {
		border-top: 1px solid var(--trm-rule-navy);
	}

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

	.trm-creds {
		grid-template-columns: 1fr;
	}

	.trm-numbered {
		grid-template-columns: 1fr;
	}

	.trm-numbered__item:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.trm-numbered__item:last-child {
		border-bottom: 1px solid var(--trm-rule);
	}

	/* Not in the brief: at 130px, "300M" is wider than a ~335px phone
	   content area. Scales down only as far as needed to fit. */
	.trm-stats-intro__big {
		font-size: clamp(72px, 28vw, 130px);
	}
}

/* =========================================================================
 * Events & Projects page (/projects/)
 * ====================================================================== */

/* Inner-page hero: same component as the landing hero, with the slightly
   tighter spacing used on the inner pages' design files. */
.trm-hero--inner .trm-hero__shell { padding-top: clamp(36px, 6vw, 88px); }
.trm-hero--inner .trm-hero__eyebrow { margin-bottom: 30px; }
.trm-hero--inner .trm-hero__title { margin-bottom: 32px !important; }
.trm-hero--inner .trm-hero__intro { margin-bottom: 38px !important; }

/* Two-cell strip (Events / Projects; later Watch / Think). */
.trm-split-strip {
	position: relative;
	margin-top: 72px;
	border-top: 1px solid var(--trm-rule-navy);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trm-split-strip__cell {
	padding: 26px 30px 28px 0;
	border-right: 1px solid var(--trm-rule-navy);
}

.trm-split-strip__cell + .trm-split-strip__cell {
	padding: 26px 0 28px 30px;
	border-right: 0;
}

.trm-split-strip__value {
	margin-bottom: 8px;
	font: 700 19px var(--trm-font);
	letter-spacing: -0.02em;
	color: var(--trm-amber);
}

.trm-split-strip__caption {
	font: 400 14.5px/1.5 var(--trm-font);
	color: var(--trm-navy-muted);
}

/* Sticky sub-nav under the site header. 66px = header height, as in the
   design; shifted down by the WordPress admin bar when logged in. */
.trm-subnav {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 66px);
	z-index: 40;
	background: #ffffff;
	border-bottom: 1px solid rgba(18, 42, 99, 0.1);
	font-family: var(--trm-font);
}

.trm-subnav__inner {
	display: flex;
	overflow-x: auto;
	scrollbar-width: none;
}

.trm-subnav__inner::-webkit-scrollbar { display: none; }

.trm-subnav__tab {
	flex: none;
	padding: 16px 22px 14px;
	border-bottom: 2px solid transparent;
	font: 500 14px var(--trm-font);
	color: var(--trm-muted) !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.trm-subnav__tab:hover { color: var(--trm-navy) !important; }

.trm-subnav__tab.is-active {
	font-weight: 600;
	color: var(--trm-navy) !important;
	border-bottom-color: var(--trm-navy);
}

/* Anchored sections clear both the header (66px) and the sub-nav (52px). */
.trm-anchor {
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 118px);
}

/* Section heads (eyebrow + title + intro). */
.trm-section-head { margin-bottom: 38px; }
.trm-section-head .trm-eyebrow { margin-bottom: 16px; }
.trm-section-head__title { margin-bottom: 14px !important; }

.trm-section-head__text {
	max-width: 560px;
	font: 400 17px/1.7 var(--trm-font);
	color: var(--trm-body);
}

.trm-section-head__text--wide { max-width: 720px; }
.trm-section-head--projects { margin-bottom: 40px; }

/* Events list. */
.trm-events-section {
	padding-top: clamp(36px, 6vw, 78px);
	padding-bottom: 84px;
}

.trm-events { border-top: 1px solid var(--trm-rule); }

.trm-event {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 150px;
	gap: 36px;
	padding: 30px 0;
	border-bottom: 1px solid var(--trm-rule);
}

.trm-event__role { margin-bottom: 10px; }

.trm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.trm-chip {
	font: 600 11.5px var(--trm-font);
	color: #ffffff;
	background: var(--trm-navy);
	padding: 4px 9px;
	border-radius: 5px;
}

.trm-chip--outline {
	color: var(--trm-body);
	background: transparent;
	border: 1px solid rgba(18, 42, 99, 0.2);
	padding: 4px 10px;
}

.trm-event__title {
	margin-bottom: 10px !important;
	font: 700 22px/1.2 var(--trm-font) !important;
	letter-spacing: -0.028em;
	color: var(--trm-navy);
}

.trm-event__text {
	margin-bottom: 14px !important;
	font: 400 15px/1.68 var(--trm-font);
	color: var(--trm-body);
}

.trm-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.trm-tag {
	font: 500 12.5px var(--trm-font);
	color: var(--trm-body);
	border: 1px solid rgba(18, 42, 99, 0.18);
	padding: 5px 12px;
	border-radius: 7px;
}

.trm-event__action { padding-top: 4px; }

.trm-event__link {
	font: 600 14px var(--trm-font);
	color: var(--trm-navy) !important;
	text-decoration: none !important;
}

.trm-event__link:hover { color: var(--trm-link-hover) !important; }

/* Projects. */
.trm-projects-section {
	padding-top: clamp(36px, 6vw, 82px);
	padding-bottom: 86px;
}

.trm-project-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 1px;
	background: rgba(18, 42, 99, 0.13);
	border: 1px solid rgba(18, 42, 99, 0.13);
	border-radius: 11px;
	overflow: hidden;
}

.trm-project {
	background: #ffffff;
	padding: 32px 34px;
}

.trm-project__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.trm-project__title {
	margin-bottom: 12px !important;
	font: 700 23px/1.2 var(--trm-font) !important;
	letter-spacing: -0.03em;
	color: var(--trm-navy);
}

.trm-project__text {
	margin-bottom: 18px !important;
	font: 400 15px/1.68 var(--trm-font);
	color: var(--trm-body);
}

.trm-project__text--last { margin-bottom: 0 !important; }

.trm-underline-link {
	font: 600 14px var(--trm-font);
	color: var(--trm-navy) !important;
	text-decoration: none !important;
	border-bottom: 2px solid var(--trm-amber);
	padding-bottom: 2px;
}

.trm-underline-link:hover { color: var(--trm-link-hover) !important; }

/* Topics + speaker profile. */
.trm-topics-section {
	padding-top: clamp(36px, 6vw, 80px);
	padding-bottom: clamp(36px, 6vw, 80px);
}

.trm-topics {
	gap: 60px;
	align-items: start;
}

.trm-topics__eyebrow { margin-bottom: 16px; }

.trm-topics__title {
	margin-bottom: 28px !important;
	font: 700 clamp(26px, 3.6vw, 40px)/1.12 var(--trm-font) !important;
	letter-spacing: -0.035em;
	color: var(--trm-navy);
}

/* The topics list sits in a half-width column, so it's always one column:
   hairline above every row, and one below the last row only. */
.trm-numbered--compact {
	grid-template-columns: 1fr;
}

.trm-numbered--compact .trm-numbered__item { padding: 14px 0; }
.trm-numbered--compact .trm-numbered__item:nth-last-child(-n+2) { border-bottom: 0; }
.trm-numbered--compact .trm-numbered__item:last-child { border-bottom: 1px solid var(--trm-rule); }
.trm-numbered--compact .trm-numbered__num { padding-top: 3px; }
.trm-numbered--compact .trm-numbered__text { font-size: 16px; }

.trm-profile {
	background: #ffffff;
	border-radius: 11px;
	padding: 30px 32px;
	box-shadow: 0 3px 18px rgba(18, 42, 99, 0.07);
	font-family: var(--trm-font);
}

.trm-profile__head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
}

.trm-profile__photo {
	display: block;
	flex: none;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
}

.trm-profile__label { margin-bottom: 5px; }

.trm-profile__name {
	font: 700 19px/1.2 var(--trm-font);
	letter-spacing: -0.025em;
	color: var(--trm-navy);
}

.trm-profile__text {
	margin-bottom: 22px !important;
	font: 400 15px/1.68 var(--trm-font);
	color: var(--trm-body);
}

.trm-profile__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.trm-btn--md {
	font-size: 14.5px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 11px;
}

.trm-btn--md-outline {
	font-size: 14.5px;
	font-weight: 500;
	padding: 13px 24px;
	border-radius: 11px;
}

/* Page CTA variant (smaller heading, as in the design). */
.trm-community--ep {
	padding-top: clamp(36px, 6vw, 70px);
	padding-bottom: clamp(36px, 6vw, 70px);
}

.trm-community__title--sm {
	font-size: clamp(25px, 3.4vw, 38px) !important;
}

@media (max-width: 760px) {
	.trm-split-strip {
		grid-template-columns: 1fr;
	}

	.trm-split-strip__cell,
	.trm-split-strip__cell + .trm-split-strip__cell {
		border-right: 0;
		padding: 18px 0;
	}

	.trm-event {
		display: block;
	}

	.trm-event > * {
		margin-bottom: 12px;
	}

	.trm-event > *:last-child {
		margin-bottom: 0;
	}

	.trm-event__action:empty {
		display: none;
	}
}

/* =========================================================================
 * Podcast page (/episodes/)
 * ====================================================================== */

/* Three-cell strip variant of the split strip: middle cell padded both sides. */
.trm-split-strip--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trm-split-strip--3 .trm-split-strip__cell + .trm-split-strip__cell {
	padding: 26px 30px 28px;
	border-right: 1px solid var(--trm-rule-navy);
}

.trm-split-strip--3 .trm-split-strip__cell:last-child {
	padding: 26px 0 28px 30px;
	border-right: 0;
}

/* Player variants. The landing teaser is the base style above. */
.trm-player--featured {
	gap: 16px;
	max-width: 620px;
	padding: 16px 20px;
	background: var(--trm-cool);
	border: 1px solid rgba(18, 42, 99, 0.1);
	border-radius: 11px;
}

.trm-player--featured .trm-player__btn {
	width: 44px;
	height: 44px;
	background: var(--trm-navy);
	color: var(--trm-amber);
}

.trm-player--featured .trm-player__btn:hover { background: #1c3a80; }

.trm-player--featured .trm-player__btn svg {
	width: 15px;
	height: 15px;
}

.trm-player__label {
	margin-bottom: 9px;
	font: 600 13.5px var(--trm-font);
	color: var(--trm-navy);
}

.trm-player--featured .trm-player__track,
.trm-player--row .trm-player__track {
	height: 4px;
	background: rgba(18, 42, 99, 0.14);
}

.trm-player--featured .trm-player__fill,
.trm-player--row .trm-player__fill {
	height: 4px;
	background: var(--trm-amber);
}

.trm-player--row {
	margin-top: 18px;
}

.trm-player--row .trm-player__btn {
	width: 36px;
	height: 36px;
}

.trm-player--row .trm-player__btn svg {
	width: 11px;
	height: 11px;
}

/* Latest episode. */
.trm-latest-section {
	padding-top: clamp(36px, 6vw, 78px);
	padding-bottom: 0;
}

.trm-latest-section > .trm-shell > .trm-eyebrow { margin-bottom: 24px; }

.trm-latest {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 52px;
	align-items: start;
	padding-top: 34px;
	border-top: 1px solid var(--trm-rule);
}

.trm-latest__kicker {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.trm-latest__kicker .trm-chip { font-weight: 700; }

.trm-latest__meta {
	font: 500 13px var(--trm-font);
	color: var(--trm-muted);
}

.trm-latest__title {
	margin-bottom: 16px !important;
	font: 700 clamp(28px, 4vw, 42px)/1.12 var(--trm-font) !important;
	letter-spacing: -0.035em;
	color: var(--trm-navy);
	text-wrap: pretty;
}

.trm-latest__guest {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-bottom: 18px;
	font: 600 16px var(--trm-font);
	color: var(--trm-amber-dark);
}

.trm-latest__summary {
	max-width: 620px;
	margin-bottom: 22px !important;
	font: 400 17px/1.7 var(--trm-font);
	color: var(--trm-body);
}

.trm-latest .trm-tags { margin-bottom: 26px; }

.trm-latest__side {
	width: 100%;
	max-width: 464px;
}

.trm-latest__art {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	height: auto;
	margin-bottom: 16px;
	border-radius: 11px;
	object-fit: cover;
}

.trm-latest__caption {
	font: 400 13.5px/1.6 var(--trm-font);
	color: var(--trm-muted);
}

/* Archive rows. */
.trm-archive-section {
	padding-top: clamp(36px, 6vw, 78px);
	padding-bottom: 84px;
}

.trm-episodes { border-top: 1px solid var(--trm-rule); }

.trm-episode {
	display: grid;
	grid-template-columns: 92px 104px minmax(0, 1fr);
	gap: 28px;
	padding: 26px 0;
	border-bottom: 1px solid var(--trm-rule);
}

.trm-episode__art {
	display: block;
	width: 92px;
	height: 92px;
	border-radius: 9px;
	object-fit: cover;
}

.trm-episode__num {
	margin-bottom: 8px;
	font: 700 26px/1 var(--trm-font);
	letter-spacing: -0.03em;
	color: var(--trm-navy);
}

.trm-episode__date {
	font: 500 12.5px/1.4 var(--trm-font);
	color: var(--trm-muted);
}

.trm-episode__title {
	margin-bottom: 6px !important;
	font: 700 22px/1.25 var(--trm-font) !important;
	letter-spacing: -0.028em;
	color: var(--trm-navy);
}

.trm-episode__guest {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-bottom: 10px;
	font: 600 14px var(--trm-font);
	color: var(--trm-amber-dark);
}

.trm-episode__video {
	font: 600 12.5px var(--trm-font);
	color: var(--trm-navy) !important;
	text-decoration: none !important;
	border: 1px solid rgba(18, 42, 99, 0.2);
	padding: 4px 10px;
	border-radius: 6px;
}

.trm-episode__video:hover {
	color: var(--trm-link-hover) !important;
	border-color: rgba(18, 42, 99, 0.4);
}

.trm-episode__summary {
	font: 400 15px/1.68 var(--trm-font);
	color: var(--trm-body);
}

.trm-episode > .trm-player { grid-column: 3; }

@media (max-width: 760px) {
	.trm-split-strip--3 { grid-template-columns: 1fr; }

	.trm-split-strip--3 .trm-split-strip__cell,
	.trm-split-strip--3 .trm-split-strip__cell + .trm-split-strip__cell,
	.trm-split-strip--3 .trm-split-strip__cell:last-child {
		border-right: 0;
		padding: 18px 0;
	}

	.trm-latest__side { max-width: none; }

	.trm-latest__art {
		float: left;
		width: 96px;
		margin: 0 14px 8px 0;
	}

	.trm-latest__side::after {
		content: "";
		display: block;
		clear: both;
	}

	.trm-player--featured {
		padding: 14px 16px;
		gap: 12px;
	}

	.trm-episode {
		grid-template-columns: 64px minmax(0, 1fr);
		grid-template-areas: "art meta" "body body" "play play";
		gap: 10px 14px;
	}

	.trm-episode__art {
		grid-area: art;
		width: 64px;
		height: 64px;
	}

	.trm-episode__head {
		grid-area: meta;
		display: flex;
		align-items: baseline;
		gap: 10px;
	}

	.trm-episode__body { grid-area: body; }

	.trm-episode > .trm-player {
		grid-area: play;
		margin-top: 6px;
	}
}

/* =========================================================================
 * Watch & Think page (/raremindknowledge/)
 * ====================================================================== */

.trm-hero__intro--narrow { max-width: 900px; }

/* Watch. */
.trm-watch-section {
	padding-top: clamp(36px, 6vw, 78px);
	padding-bottom: 84px;
}

.trm-section-head--watch { margin-bottom: 44px; }
.trm-section-head--watch .trm-section-head__text { max-width: 620px; }

.trm-videos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 40px;
}

.trm-video__thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	margin-bottom: 22px;
	border-radius: 12px;
	overflow: hidden;
	background: #dfe4ef;
}

.trm-video__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.trm-video__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: var(--trm-amber);
	color: var(--trm-navy);
	transition: transform 0.2s;
}

.trm-video__play svg {
	width: 20px;
	height: 20px;
	margin-left: 4px;
	fill: currentColor;
}

.trm-video__thumb:hover .trm-video__play { transform: translate(-50%, -50%) scale(1.06); }

.trm-video__label {
	margin-bottom: 8px !important;
	font: 600 12.5px var(--trm-font);
	color: var(--trm-amber-dark);
}

.trm-video__title {
	margin-bottom: 12px !important;
	font: 700 25px/1.2 var(--trm-font) !important;
	letter-spacing: -0.03em;
	color: var(--trm-navy);
}

.trm-video__text {
	margin-bottom: 18px !important;
	font: 400 15.5px/1.68 var(--trm-font);
	color: var(--trm-body);
}

.trm-underline-link--lg {
	font-size: 14.5px;
	padding-bottom: 3px;
}

/* Let's pause for a thought. */
.trm-pause-section {
	padding-top: clamp(36px, 6vw, 78px);
	padding-bottom: 84px;
}

.trm-pause__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 40px;
	margin-bottom: 40px;
}

.trm-pause__head .trm-section-head { margin-bottom: 0; }
.trm-section-head__text--pause { max-width: 820px; }

.trm-pause__arrows {
	flex: none;
	display: flex;
	align-items: center;
	gap: 12px;
}

.trm-circle-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(18, 42, 99, 0.22);
	border-radius: 50%;
	background: transparent;
	color: var(--trm-navy);
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

.trm-circle-btn:hover {
	background: var(--trm-amber);
	border-color: var(--trm-amber);
}

.trm-circle-btn:focus-visible {
	outline: 2px solid var(--trm-navy);
	outline-offset: 2px;
}

.trm-circle-btn svg {
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.trm-spotlight {
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 134px);
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	margin-bottom: 44px;
	padding: 32px;
	background: #ffffff;
	border-radius: 14px;
}

.trm-spotlight__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	border-radius: 10px;
	background: #e7e3d9;
}

.trm-spotlight__body { padding-top: 6px; }

.trm-spotlight__count {
	margin-bottom: 18px;
	font: 500 13px var(--trm-font);
	font-variant-numeric: tabular-nums;
	color: var(--trm-muted);
}

.trm-spotlight__text {
	font: 400 19px/1.66 var(--trm-font);
	color: #2b3550;
	text-wrap: pretty;
}

.trm-thumbs__label {
	margin-bottom: 16px !important;
	font: 600 13px var(--trm-font);
	color: var(--trm-body);
}

.trm-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.trm-thumb {
	display: block;
	width: 76px;
	height: 76px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	overflow: hidden;
	background: #e7e3d9;
	outline: 2px solid transparent;
	outline-offset: 2px;
	cursor: pointer;
}

.trm-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.62;
	transition: opacity 0.2s;
}

.trm-thumb:hover img,
.trm-thumb.is-active img { opacity: 1; }

.trm-thumb.is-active { outline-color: var(--trm-amber); }

.trm-thumb:focus-visible { outline-color: var(--trm-navy); }

@media (max-width: 760px) {
	.trm-spotlight { display: block; }

	.trm-spotlight__img { margin-bottom: 20px; }
}
