/*
Theme Name: Tokyo Bucho Club Redesign Prototype
Description: Reversible public-site prototype for the isolated local clone.
Author: Tokyo Bucho Club
Template: tbc
Version: 0.1.0
Text Domain: tbc-redesign
*/

:root {
	--tbc-navy: #17365f;
	--tbc-navy-dark: #0d2441;
	--tbc-blue: #2b5f92;
	--tbc-gold: #b78a43;
	--tbc-ink: #253348;
	--tbc-muted: #657184;
	--tbc-line: #d9e0e8;
	--tbc-soft: #f3f6f9;
	--tbc-white: #ffffff;
	--tbc-shadow: 0 18px 46px rgba(18, 42, 72, 0.10);
}

/*
 * Member-home night lounge v2.
 * This final page-specific layer turns the whole protected home into one
 * continuous navy experience while keeping every other public/member page
 * unchanged.
 */
body.page-id-452 {
	background: #081b30;
}

body.page-id-452.tbc-member-area #contents {
	background: linear-gradient(180deg, #102a47 0%, #081b30 34%, #071525 100%);
	color: #f6f8fb;
	max-width: none;
	padding: 28px 32px 82px;
	width: 100%;
}

body.page-id-452.tbc-member-area #child {
	margin: 0 auto;
	max-width: 1180px;
	width: 100%;
}

body.page-id-452 #breadcrumb {
	color: #9fb0c5;
	margin-bottom: 20px;
}

body.page-id-452 #breadcrumb a,
body.page-id-452 #breadcrumb li {
	color: #becada;
}

body.page-id-452 #breadcrumb a:hover,
body.page-id-452 #breadcrumb a:focus {
	color: #f6f8fb;
}

body.page-id-452.tbc-member-area .tbc-member-home-shell {
	background: transparent;
	box-shadow: none;
	color: #f6f8fb;
	padding: 0;
	position: relative;
}

body.page-id-452 .tbc-member-home-utility {
	align-items: center;
	display: flex;
	gap: 18px;
	position: absolute;
	right: 0;
	top: -43px;
	white-space: nowrap;
	z-index: 4;
}

body.page-id-452 .tbc-member-home-utility a {
	color: #becada !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
}

body.page-id-452 .tbc-member-home-utility a:hover,
body.page-id-452 .tbc-member-home-utility a:focus {
	color: #fff !important;
}

body.page-id-452 .tbc-member-home-night {
	background: #081b30;
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

body.page-id-452 .tbc-member-home-night .tbc-member-home-hero {
	margin: 0;
}

body.page-id-452 .tbc-member-home-night .tbc-member-home-hero__media::after {
	background: linear-gradient(180deg, rgba(4, 15, 29, 0.08) 22%, rgba(4, 15, 29, 0.9) 100%);
}

body.page-id-452 .tbc-member-home-statement {
	background: #081b30;
	border: 0;
	padding: 62px 48px 58px;
	text-align: center;
}

body.page-id-452 .tbc-member-home-statement > p {
	color: #f6f8fb;
	font-size: clamp(18px, 2vw, 23px);
	letter-spacing: 0.035em;
	line-height: 2;
	margin: 0 auto;
	max-width: 930px;
}

body.page-id-452 .tbc-member-home-statement strong,
body.page-id-452 .tbc-member-home-statement span {
	display: block;
}

body.page-id-452 .tbc-member-home-statement strong {
	color: #f6f8fb;
	font-size: 1.2em;
	font-weight: 500;
	letter-spacing: 0.08em;
	margin-bottom: 7px;
}

body.page-id-452 .tbc-member-home-content {
	background: #081b30;
	padding: 62px 42px 72px;
}

body.page-id-452 .tbc-member-home-content > h2 {
	color: #f6f8fb;
	font-size: clamp(30px, 4vw, 43px);
	font-weight: 500;
	letter-spacing: 0.08em;
	margin: 0 0 42px;
	padding-bottom: 16px;
	position: relative;
	text-align: center;
}

body.page-id-452 .tbc-member-home-content > h2::after {
	background: #c9a86a;
	bottom: 0;
	content: "";
	height: 2px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 68px;
}

body.page-id-452 .tbc-member-portal-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1060px;
}

body.page-id-452 .tbc-member-portal-card {
	background: #071525;
	border: 1px solid rgba(255, 255, 255, 0.16);
	margin: 0;
	overflow: hidden;
}

body.page-id-452 .tbc-member-portal-card > a {
	aspect-ratio: 4 / 3;
	color: #fff !important;
	display: block;
	overflow: hidden;
	position: relative;
}

body.page-id-452 .tbc-member-portal-card img {
	display: block;
	height: 100%;
	object-fit: cover;
	opacity: 1;
	position: relative;
	transition: transform 0.45s ease;
	visibility: visible;
	width: 100%;
	z-index: 1;
}

body.page-id-452 .tbc-member-portal-card__shade {
	background: linear-gradient(180deg, rgba(5, 17, 31, 0.02) 26%, rgba(5, 17, 31, 0.96) 100%);
	inset: 0;
	position: absolute;
	z-index: 2;
}

body.page-id-452 .tbc-member-portal-card__number {
	color: #c9a86a;
	font-size: 12px;
	font-weight: 700;
	left: 24px;
	letter-spacing: 0.18em;
	position: absolute;
	top: 22px;
	z-index: 3;
}

body.page-id-452 .tbc-member-portal-card__copy {
	bottom: 26px;
	left: 28px;
	position: absolute;
	right: 28px;
	z-index: 3;
}

body.page-id-452 .tbc-member-portal-card__copy strong,
body.page-id-452 .tbc-member-portal-card__copy small {
	display: block;
}

body.page-id-452 .tbc-member-portal-card__copy strong {
	color: #fff;
	font-size: clamp(20px, 2.2vw, 29px);
	font-weight: 500;
	letter-spacing: 0.035em;
	line-height: 1.55;
}

body.page-id-452 .tbc-member-portal-card--hbr .tbc-member-portal-card__copy strong {
	font-size: clamp(15px, 1.45vw, 22px);
	letter-spacing: 0.01em;
	white-space: nowrap;
}

body.page-id-452 .tbc-member-portal-card__copy small {
	color: #becada;
	font-size: 13px;
	line-height: 1.7;
	margin-top: 7px;
}

body.page-id-452 .tbc-member-portal-card__formal {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

body.page-id-452 .tbc-member-portal-card:hover img,
body.page-id-452 .tbc-member-portal-card:focus-within img {
	transform: scale(1.025);
}

body.page-id-452 .tbc-member-portal-card:hover,
body.page-id-452 .tbc-member-portal-card:focus-within {
	border-color: rgba(201, 168, 106, 0.85);
}

body.page-id-452 .tbc-member-portal-card > a:focus-visible {
	outline: 3px solid #c9a86a;
	outline-offset: -4px;
}

@media screen and (max-width: 900px) {
	body.page-id-452.tbc-member-area #contents {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.page-id-452 .tbc-member-home-statement {
		padding-left: 32px;
		padding-right: 32px;
	}

	body.page-id-452 .tbc-member-home-content {
		padding-left: 28px;
		padding-right: 28px;
	}

	body.page-id-452 .tbc-member-portal-grid {
		gap: 20px;
	}

	body.page-id-452 .tbc-member-portal-card__copy {
		bottom: 19px;
		left: 20px;
		right: 20px;
	}

	body.page-id-452 .tbc-member-portal-card__copy strong {
		font-size: 19px;
	}

	body.page-id-452 .tbc-member-portal-card__copy small {
		font-size: 11px;
	}
}

@media screen and (max-width: 640px) {
	body.page-id-452.tbc-member-area #contents {
		padding: 18px 16px 58px;
	}

	body.page-id-452 #breadcrumb {
		margin-bottom: 14px;
	}

	body.page-id-452 .tbc-member-home-night {
		box-shadow: none;
	}

	body.page-id-452 .tbc-member-home-statement {
		padding: 40px 18px 42px;
	}

	body.page-id-452 .tbc-member-home-statement > p {
		font-size: 16px;
		line-height: 1.95;
	}

	body.page-id-452 .tbc-member-home-statement strong {
		font-size: 19px;
		margin-bottom: 12px;
	}

	body.page-id-452 .tbc-member-home-utility {
		gap: 12px;
		justify-content: flex-end;
		margin: 0 2px 12px;
		position: static;
	}

	body.page-id-452 .tbc-member-home-utility a {
		font-size: 11px;
	}

	body.page-id-452 .tbc-member-home-content {
		padding: 44px 0 58px;
	}

	body.page-id-452 .tbc-member-home-content > h2 {
		font-size: 29px;
		margin-bottom: 32px;
	}

	body.page-id-452 .tbc-member-portal-grid {
		grid-template-columns: 1fr;
		width: 70%;
	}

	body.page-id-452 .tbc-member-portal-card__number {
		left: 17px;
		top: 15px;
	}

	body.page-id-452 .tbc-member-portal-card__copy {
		bottom: 15px;
		left: 17px;
		right: 17px;
	}

	body.page-id-452 .tbc-member-portal-card__copy strong {
		font-size: 17px;
		line-height: 1.45;
	}

	body.page-id-452 .tbc-member-portal-card--hbr .tbc-member-portal-card__copy strong {
		font-size: clamp(12px, 3.2vw, 13px);
		letter-spacing: 0;
	}

	body.page-id-452 .tbc-member-portal-card--hbr .tbc-member-portal-card__copy {
		left: 11px;
		right: 11px;
	}

	body.page-id-452 .tbc-member-portal-card__copy small {
		display: none;
	}
}

/*
 * Member-home lounge.
 * Keep every rule on page 452 so the public site and the other member pages
 * retain their established layouts.
 */
body.page-id-452.tbc-member-area #contents {
	max-width: 1500px;
	padding-left: 32px;
	padding-right: 32px;
	width: 100%;
}

body.page-id-452.tbc-member-area #child {
	margin-top: 26px;
}

body.page-id-452.tbc-member-area .tbc-member-home-shell {
	background: transparent;
	box-shadow: none;
	padding: 0 0 70px;
}

body.page-id-452 .tbc-member-home-shell .pt-post-main {
	font-size: 16px;
}

body.page-id-452 .tbc-member-home-hero {
	color: #fff;
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
}

body.page-id-452 .tbc-member-home-hero__media {
	background: var(--tbc-navy-dark);
	min-height: 360px;
	position: relative;
}

body.page-id-452 .tbc-member-home-hero__media::after {
	background: linear-gradient(180deg, rgba(4, 14, 30, 0.02) 34%, rgba(4, 14, 30, 0.9) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

body.page-id-452 .tbc-member-home-hero__media img {
	display: block;
	height: 390px;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

body.page-id-452 .tbc-member-home-hero .tbc-registered-mark {
	z-index: 2;
}

body.page-id-452 .tbc-member-home-hero__caption {
	bottom: 34px;
	left: 42px;
	max-width: 720px;
	position: absolute;
	right: 42px;
	z-index: 3;
}

body.page-id-452 .tbc-member-home-hero__caption .tbc-member-eyebrow {
	color: #e0c389;
	margin-bottom: 7px;
}

body.page-id-452 .tbc-member-home-hero__caption h1 {
	color: #fff;
	font-family: inherit;
	font-size: clamp(30px, 3.8vw, 48px);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.35;
	margin: 0 0 7px;
}

body.page-id-452 .tbc-member-home-hero__caption p:last-child {
	color: rgba(255, 255, 255, 0.86);
	font-size: 16px;
	letter-spacing: 0.025em;
	line-height: 1.75;
	margin: 0;
}

body.page-id-452 .tbc-member-home-intro {
	align-items: flex-start;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 42px 42px 28px;
}

body.page-id-452 .tbc-member-home-intro .tbc-member-lead {
	font-size: 19px;
	line-height: 1.9;
	margin-bottom: 10px;
}

body.page-id-452 .tbc-member-home-intro p:last-child {
	color: var(--tbc-muted);
	line-height: 1.85;
	margin-bottom: 0;
}

body.page-id-452 .tbc-member-utility {
	margin: 5px 0 0;
	white-space: nowrap;
}

body.page-id-452 .tbc-member-advisor-entry {
	align-items: stretch;
	background: #f6f7f8;
	border: 0;
	border-left: 3px solid var(--tbc-gold);
	display: grid;
	gap: 0;
	grid-template-columns: minmax(280px, 38%) minmax(0, 1fr);
	margin: 0 42px 38px;
	padding: 0;
}

body.page-id-452 .tbc-member-advisor-entry__media {
	margin: 0;
	min-height: 245px;
	overflow: hidden;
}

body.page-id-452 .tbc-member-advisor-entry__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.page-id-452 .tbc-member-advisor-entry__copy {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px 34px;
}

body.page-id-452 .tbc-member-advisor-entry h2 {
	font-size: clamp(23px, 2.5vw, 31px);
	letter-spacing: 0.035em;
	margin-bottom: 8px;
}

body.page-id-452 .tbc-member-advisor-entry__future {
	font-size: 12px;
	line-height: 1.7;
	margin-bottom: 15px;
}

body.page-id-452 #child .tbc-member-advisor-entry .tbc-member-button {
	align-items: center;
	background: var(--tbc-navy-dark);
	border: 1px solid var(--tbc-navy-dark);
	color: #fff !important;
	display: inline-flex;
	font-size: 14px;
	justify-content: center;
	margin-top: 2px;
	min-height: 46px;
	padding: 10px 22px;
}

body.page-id-452 #child .tbc-member-advisor-entry .tbc-member-button:hover,
body.page-id-452 #child .tbc-member-advisor-entry .tbc-member-button:focus {
	background: var(--tbc-blue);
	border-color: var(--tbc-blue);
}

body.page-id-452 .tbc-member-home-routes {
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 42px;
}

body.page-id-452 #child .tbc-member-route-card {
	background: #fff;
	border: 0;
	border-top: 1px solid var(--tbc-line);
	box-shadow: none;
	min-height: 0;
	padding: 0;
	transform: none;
}

body.page-id-452 #child .tbc-member-route-card:hover,
body.page-id-452 #child .tbc-member-route-card:focus-within {
	border-color: var(--tbc-gold);
	box-shadow: none;
	transform: none;
}

body.page-id-452 #child .tbc-member-route-card--core {
	border-top: 4px solid var(--tbc-gold);
}

body.page-id-452 .tbc-member-route-card__visual {
	background: var(--tbc-navy-dark);
	display: block;
	flex: 0 0 auto;
	min-height: 0;
	overflow: hidden;
	position: relative;
}

body.page-id-452 .tbc-member-route-card__visual::after {
	background: linear-gradient(180deg, rgba(5, 18, 35, 0.02) 25%, rgba(5, 18, 35, 0.88) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 2;
}

body.page-id-452 .tbc-member-route-card__visual img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	opacity: 1;
	position: relative;
	transition: transform 0.35s ease;
	visibility: visible;
	width: 100%;
	z-index: 1;
}

body.page-id-452 .tbc-member-route-card__visual:hover img,
body.page-id-452 .tbc-member-route-card__visual:focus img {
	transform: scale(1.025);
}

body.page-id-452 .tbc-member-route-card__visual > span {
	color: #e0c389;
	font-size: 12px;
	font-weight: 700;
	left: 22px;
	letter-spacing: 0.16em;
	margin: 0;
	position: absolute;
	top: 20px;
	z-index: 3;
}

body.page-id-452 .tbc-member-route-card__visual h2 {
	bottom: 20px;
	color: #fff;
	font-size: clamp(18px, 1.65vw, 24px);
	font-weight: 500;
	left: 22px;
	line-height: 1.55;
	margin: 0;
	position: absolute;
	right: 22px;
	z-index: 3;
}

body.page-id-452 .tbc-member-route-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px 5px 4px;
}

body.page-id-452 .tbc-member-route-card__body p {
	color: var(--tbc-muted);
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 13px;
}

body.page-id-452 .tbc-member-route-card__body .tbc-member-route-card__official {
	color: var(--tbc-navy-dark);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.65;
	margin-bottom: 8px;
}

body.page-id-452 #child .tbc-member-route-card__body .tbc-member-card__link {
	color: var(--tbc-blue) !important;
	font-size: 13px;
	font-weight: 650;
	margin-top: auto;
}

body.page-id-452 .tbc-member-route-card__visual:focus-visible,
body.page-id-452 #child .tbc-member-route-card__body .tbc-member-card__link:focus-visible,
body.page-id-452 #child .tbc-member-advisor-entry .tbc-member-button:focus-visible {
	outline: 3px solid var(--tbc-gold);
	outline-offset: 3px;
}

@media screen and (max-width: 900px) and (min-width: 641px) {
	body.page-id-452 .tbc-member-home-hero__media {
		min-height: 0;
	}

	body.page-id-452 .tbc-member-home-hero__media img {
		height: auto;
		min-height: 0;
		object-fit: contain;
	}

	body.page-id-452 .tbc-member-home-hero__caption {
		bottom: 22px;
		left: 28px;
		right: 28px;
	}

	body.page-id-452 .tbc-member-home-hero__caption h1 {
		font-size: 34px;
	}

	body.page-id-452 .tbc-member-home-hero__caption p:last-child {
		font-size: 14px;
	}

	body.page-id-452 .tbc-member-home-routes {
		gap: 18px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-left: 28px;
		margin-right: 28px;
	}

	body.page-id-452 .tbc-member-route-card__visual {
		min-height: 0;
	}

	body.page-id-452 .tbc-member-route-card__body {
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (max-width: 640px) {
	body.page-id-452.tbc-member-area #contents {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.page-id-452.tbc-member-area #child {
		margin-top: 18px;
	}

	body.page-id-452.tbc-member-area .tbc-member-home-shell {
		padding: 0 0 48px;
	}

	body.page-id-452 .tbc-member-home-hero__media {
		min-height: 0;
	}

	body.page-id-452 .tbc-member-home-hero__media img {
		height: auto;
		min-height: 220px;
		object-fit: cover;
		object-position: right top;
	}

	body.page-id-452 .tbc-member-home-hero .tbc-registered-mark {
		display: none;
	}

	/* The public hero image contains its desktop logo at the far left. On a
	 * narrow crop the trailing characters would otherwise remain visible. */
	body.page-id-452 .tbc-member-home-hero__media::before {
		background: linear-gradient(90deg, #132543 0%, #132543 72%, rgba(19, 37, 67, 0) 100%);
		content: "";
		height: 54px;
		left: 0;
		position: absolute;
		top: 0;
		width: 88px;
		z-index: 2;
	}

	body.page-id-452 .tbc-member-home-hero__caption {
		bottom: 22px;
		left: 20px;
		right: 20px;
	}

	body.page-id-452 .tbc-member-home-hero__caption h1 {
		font-size: 30px;
	}

	body.page-id-452 .tbc-member-home-hero__caption p:last-child {
		font-size: 13px;
		line-height: 1.6;
	}

	body.page-id-452 .tbc-member-home-intro {
		display: block;
		padding: 27px 18px 22px;
	}

	body.page-id-452 .tbc-member-home-intro .tbc-member-lead {
		font-size: 17px;
		line-height: 1.8;
	}

	body.page-id-452 .tbc-member-utility {
		justify-content: flex-start;
		margin-top: 18px;
	}

	body.page-id-452 .tbc-member-advisor-entry {
		grid-template-columns: 1fr;
		margin: 0 auto 34px;
		width: 70%;
	}

	body.page-id-452 .tbc-member-advisor-entry__media {
		min-height: 150px;
	}

	body.page-id-452 .tbc-member-advisor-entry__copy {
		padding: 22px 20px 24px;
	}

	body.page-id-452 .tbc-member-advisor-entry h2 {
		font-size: 23px;
	}

	body.page-id-452 .tbc-member-home-routes {
		grid-template-columns: 1fr;
		margin: 0 auto;
		width: 70%;
	}

	body.page-id-452 .tbc-member-route-card__visual {
		min-height: 0;
	}

	body.page-id-452 .tbc-member-route-card__visual h2 {
		font-size: 19px;
	}

	body.page-id-452 .tbc-member-route-card__body {
		padding-bottom: 28px;
	}
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--tbc-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.8;
}

body,
body * {
	box-sizing: border-box;
}

a {
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

/* Global navigation: preserve the parent drawer on phones, remove fixed item widths on PC. */
#header-box {
	background: #fff;
	border: 0;
	box-shadow: 0 2px 18px rgba(25, 46, 71, 0.08);
	position: relative;
	z-index: 50;
}

@media screen and (min-width: 641px) {
	#drawernav nav.fixed-content {
		max-width: 1180px;
		width: calc(100% - 40px);
		padding: 12px 0;
		text-align: center;
	}

	#drawernav ul.menu-box {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	#drawernav ul.menu-box > li.menu-item {
		border: 0;
		display: block;
		flex: 0 1 auto;
		width: auto;
	}

	#drawernav ul.menu-box > li.menu-item:last-child {
		border-right: 0;
	}

	#drawernav ul.menu-box > li.menu-item > a {
		color: var(--tbc-ink);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.02em;
		padding: 10px 9px;
		white-space: nowrap;
	}

	#drawernav ul.menu-box > li.menu-item > a:hover,
	#drawernav ul.menu-box > li.menu-item > a:focus {
		color: var(--tbc-blue);
		transform: none;
	}

	#drawernav ul.menu-box li.current-menu-item {
		border-top: 0;
	}

	#drawernav ul.menu-box li.menu-item ul.sub-menu {
		background: #fff;
		border: 1px solid var(--tbc-line);
		box-shadow: var(--tbc-shadow);
		margin-top: 0;
		min-width: 220px;
		top: 44px;
		width: auto;
	}

	#drawernav ul.menu-box li.menu-item:hover ul.sub-menu,
	#drawernav ul.menu-box li.menu-item.hover ul.sub-menu {
		top: 44px;
	}

	#drawernav ul.menu-box li.menu-item ul.sub-menu li,
	#drawernav ul.menu-box li.menu-item ul.sub-menu li a {
		width: 100%;
	}

	#drawernav ul.menu-box li.tbc-member-login {
		margin-left: 7px;
	}

	#drawernav ul.menu-box li.tbc-member-login > a {
		background: var(--tbc-navy);
		border: 1px solid var(--tbc-navy);
		color: #fff;
		padding-left: 14px;
		padding-right: 14px;
	}

	#drawernav ul.menu-box li.tbc-member-login > a:hover,
	#drawernav ul.menu-box li.tbc-member-login > a:focus {
		background: var(--tbc-navy-dark);
		border-color: var(--tbc-navy-dark);
		color: #fff;
	}
}

@media screen and (max-width: 640px) {
	#header-box {
		background: #fff;
		min-height: 64px;
	}

	#drawernav {
		background: var(--tbc-navy-dark);
	}

	#drawernav a {
		font-size: 14px;
		min-height: 44px;
	}

	#drawernav ul.menu-box li.tbc-member-login > a {
		border: 1px solid rgba(255, 255, 255, 0.55);
		margin: 12px 10px 0;
		text-align: center;
	}

	#humberger {
		border-color: #bfc9d4;
	}
}

/* Homepage foundation. */
#contents.tbc-home-shell {
	background: #fff;
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

#tbc-home {
	background: #fff;
	color: var(--tbc-ink);
	overflow: hidden;
	width: 100%;
}

#tbc-home h1,
#tbc-home h2,
#tbc-home h3,
#tbc-home p {
	background: none;
	border: 0;
	font-family: inherit;
	margin-top: 0;
}

#tbc-home h2 {
	color: var(--tbc-navy-dark);
	font-size: clamp(30px, 3.4vw, 45px);
	font-weight: 650;
	letter-spacing: 0.035em;
	line-height: 1.35;
	margin-bottom: 22px;
	padding: 0;
}

#tbc-home h3 {
	color: var(--tbc-navy-dark);
	font-size: 21px;
	font-weight: 650;
	letter-spacing: 0.02em;
	line-height: 1.55;
	margin-bottom: 14px;
	padding: 0;
}

.tbc-container {
	margin: 0 auto;
	max-width: 1160px;
	padding-left: 28px;
	padding-right: 28px;
	width: 100%;
}

.tbc-section {
	padding: 92px 0;
	position: relative;
}

.tbc-section--soft {
	background: var(--tbc-soft);
}

.tbc-kicker,
.tbc-eyebrow {
	color: var(--tbc-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.21em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.tbc-lead {
	color: var(--tbc-navy-dark);
	font-size: 20px;
	font-weight: 550;
	line-height: 1.9;
}

.tbc-section-heading {
	margin: 0 auto 46px;
	max-width: 760px;
	text-align: center;
}

.tbc-section-heading > p:last-child {
	color: var(--tbc-muted);
	margin-bottom: 0;
}

.tbc-section-heading--row {
	align-items: end;
	display: flex;
	justify-content: space-between;
	max-width: none;
	text-align: left;
}

.tbc-section-heading--row h2,
.tbc-section-heading--row p {
	margin-bottom: 0;
}

.tbc-split {
	align-items: start;
	display: grid;
	gap: 80px;
	grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
}

.tbc-prose > p {
	margin-bottom: 22px;
}

/* Hero. */
.tbc-hero {
	align-items: center;
	display: flex;
	min-height: 660px;
	overflow: hidden;
	position: relative;
}

.tbc-hero__media,
.tbc-hero__overlay {
	inset: 0;
	position: absolute;
}

.tbc-hero__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tbc-hero__overlay {
	background: linear-gradient(90deg, rgba(6, 25, 48, 0.91) 0%, rgba(12, 38, 70, 0.77) 49%, rgba(14, 35, 60, 0.23) 100%);
}

.tbc-hero__content {
	color: #fff;
	padding-bottom: 70px;
	padding-top: 70px;
	position: relative;
	z-index: 2;
}

#tbc-home .tbc-hero h1,
#tbc-home .tbc-hero h2 {
	color: #fff;
	font-size: clamp(38px, 4.7vw, 58px);
	font-weight: 600;
	letter-spacing: 0.055em;
	line-height: 1.45;
	margin-bottom: 26px;
	max-width: 940px;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.22);
}

.tbc-hero-line {
	display: block;
	white-space: nowrap;
}

.tbc-hero__lead {
	font-size: 18px;
	line-height: 2;
	margin-bottom: 34px;
	max-width: 670px;
}

.tbc-button-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 30px;
}

.tbc-button {
	align-items: center;
	border: 1px solid transparent;
	display: inline-flex;
	font-size: 14px;
	font-weight: 650;
	justify-content: center;
	letter-spacing: 0.035em;
	min-height: 50px;
	padding: 12px 24px;
	text-align: center;
}

.tbc-button:hover,
.tbc-button:focus {
	transform: translateY(-2px);
}

.tbc-button--primary {
	background: var(--tbc-gold);
	color: var(--tbc-navy-dark) !important;
}

.tbc-button--primary:hover,
.tbc-button--primary:focus {
	background: #a07738;
	color: #fff !important;
}

.tbc-button--light {
	background: rgba(6, 25, 48, 0.42);
	border-color: rgba(255, 255, 255, 0.86);
	color: #fff !important;
}

.tbc-button--light:hover,
.tbc-button--light:focus {
	background: #fff;
	color: var(--tbc-navy) !important;
}

.tbc-button--outline {
	background: transparent;
	border-color: var(--tbc-navy);
	color: var(--tbc-navy);
}

.tbc-button--outline:hover,
.tbc-button--outline:focus {
	background: var(--tbc-navy);
	color: #fff;
}

.tbc-button--outline-light {
	border-color: rgba(255, 255, 255, 0.75);
	color: #fff;
	flex: 0 0 auto;
}

.tbc-button--outline-light:hover,
.tbc-button--outline-light:focus {
	background: #fff;
	color: var(--tbc-navy-dark);
}

.tbc-text-link {
	color: var(--tbc-blue);
	font-size: 14px;
	font-weight: 650;
	letter-spacing: 0.03em;
}

.tbc-text-link:hover,
.tbc-text-link:focus {
	color: var(--tbc-gold);
}

.tbc-centered-link {
	margin: 34px 0 0;
	text-align: center;
}

/* Cards. */
.tbc-card-grid {
	display: grid;
	gap: 26px;
}

.tbc-card-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tbc-path-card,
.tbc-series-card,
.tbc-article-card {
	background: #fff;
	border: 1px solid var(--tbc-line);
	box-shadow: 0 10px 28px rgba(18, 42, 72, 0.055);
}

.tbc-path-card,
.tbc-series-card {
	color: var(--tbc-ink);
	display: block;
	min-height: 290px;
	padding: 34px;
}

.tbc-path-card:hover,
.tbc-series-card:hover {
	border-color: #9eb0c3;
	box-shadow: var(--tbc-shadow);
	transform: translateY(-4px);
}

.tbc-path-card__number,
.tbc-series-card > span {
	color: var(--tbc-gold);
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.15em;
	margin-bottom: 28px;
}

.tbc-path-card p,
.tbc-series-card p {
	color: var(--tbc-muted);
}

.tbc-article-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.tbc-article-card__image {
	background: #dfe5eb;
	display: block;
	overflow: hidden;
	position: relative;
}

.tbc-article-card__image::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.tbc-article-card__image img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform 0.4s ease;
	width: 100%;
}

.tbc-article-card:hover .tbc-article-card__image img {
	transform: scale(1.035);
}

.tbc-article-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 27px;
}

.tbc-article-card__body h3 a {
	color: var(--tbc-navy-dark);
}

.tbc-article-card__body > p {
	color: var(--tbc-muted);
	font-size: 14px;
	line-height: 1.8;
}

.tbc-article-card__body > .tbc-text-link {
	margin-top: auto;
}

.tbc-article-card__meta {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.tbc-article-card__meta time {
	color: #86909e;
	font-size: 12px;
}

.tbc-label {
	background: #eaf0f6;
	color: var(--tbc-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 4px 9px;
}

/* Theme navigation. */
.tbc-section--navy {
	background: var(--tbc-navy-dark);
	color: #fff;
}

#tbc-home .tbc-section--navy h2,
.tbc-section--navy .tbc-section-heading > p:last-child {
	color: #fff;
}

.tbc-topic-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tbc-topic-grid > a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	border-right: 1px solid rgba(255, 255, 255, 0.18);
	color: #fff;
	display: grid;
	grid-template-columns: 40px 1fr;
	padding: 31px 28px;
}

.tbc-topic-grid > a:nth-child(3n) {
	border-right: 0;
}

.tbc-topic-grid > a:nth-last-child(-n+3) {
	border-bottom: 0;
}

.tbc-topic-grid > a:hover {
	background: rgba(255, 255, 255, 0.07);
}

.tbc-topic-grid span {
	color: var(--tbc-gold);
	font-size: 12px;
	grid-row: 1 / span 2;
}

.tbc-topic-grid strong {
	font-size: 18px;
	font-weight: 600;
}

.tbc-topic-grid small {
	color: #aebccc;
	font-size: 12px;
	margin-top: 5px;
}

/* Member preview. */
.tbc-member-preview {
	align-items: center;
	background: linear-gradient(115deg, var(--tbc-navy-dark), var(--tbc-blue));
	color: #fff;
	display: flex;
	gap: 50px;
	justify-content: space-between;
	margin-top: 44px;
	padding: 40px 44px;
}

#tbc-home .tbc-member-preview h3 {
	color: #fff;
	font-size: 23px;
	margin-bottom: 10px;
}

.tbc-member-preview p:last-child {
	color: #d8e1ec;
	margin-bottom: 0;
}

/* Club and profile. */
.tbc-section--club {
	background: #fff;
}

.tbc-split--club {
	align-items: stretch;
	grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
}

.tbc-club-visual {
	background-color: #dfe5eb;
	background-image: linear-gradient(135deg, rgba(15, 44, 76, 0.15), rgba(183, 138, 67, 0.16)), url('../tbc/img/topics_introduction_02.png');
	background-position: center;
	background-size: cover;
	min-height: 470px;
}

.tbc-notice {
	border-left: 3px solid var(--tbc-gold);
	color: var(--tbc-muted);
	font-size: 14px;
	margin-top: 26px;
	padding: 10px 0 10px 17px;
}

.tbc-section--profile {
	background: #e9eef3;
}

.tbc-profile {
	align-items: center;
	display: grid;
	gap: 70px;
	grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
}

.tbc-profile__image {
	box-shadow: var(--tbc-shadow);
	overflow: hidden;
}

.tbc-profile__image img {
	display: block;
	height: auto;
	max-height: 500px;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

/* Contact. */
.tbc-section--contact {
	background: #fff;
	padding: 72px 0;
}

.tbc-contact-box {
	align-items: center;
	border-bottom: 1px solid var(--tbc-line);
	border-top: 1px solid var(--tbc-line);
	display: flex;
	gap: 40px;
	justify-content: space-between;
	padding-bottom: 48px;
	padding-top: 48px;
}

.tbc-contact-box h2,
.tbc-contact-box p:last-child {
	margin-bottom: 0;
}

/* Keep the legacy footer calm beneath the new homepage. */
footer {
	background: var(--tbc-navy-dark);
	color: #d7e0ea;
}

footer #footer-box a,
footer #footer-box span {
	color: #d7e0ea;
}

footer #copyright i::before,
footer #copyright-center i::before {
	content: "©";
	font-style: normal;
	margin-right: 4px;
}

#page-top a::before {
	content: "↑";
	font-size: 20px;
}

@media screen and (min-width: 641px) and (max-width: 900px) {
	#drawernav ul.menu-box {
		flex-wrap: wrap;
	}

	#drawernav ul.menu-box > li.menu-item {
		flex: 1 1 25%;
	}

	#drawernav ul.menu-box > li.menu-item > a {
		width: 100%;
	}

	#drawernav ul.menu-box li.tbc-member-login {
		margin-left: 0;
		padding: 3px 7px;
	}
}

@media screen and (max-width: 960px) {
	.tbc-section {
		padding: 74px 0;
	}

	.tbc-card-grid--three,
	.tbc-topic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tbc-topic-grid > a,
	.tbc-topic-grid > a:nth-child(3n) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
		border-right: 1px solid rgba(255, 255, 255, 0.18);
	}

	.tbc-topic-grid > a:nth-child(2n) {
		border-right: 0;
	}

	.tbc-topic-grid > a:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.tbc-split,
	.tbc-profile {
		gap: 48px;
	}
}

@media screen and (max-width: 640px) {
	#contents.tbc-home-shell {
		left: 0;
		padding: 0;
	}

	body.drawer-opened #contents.tbc-home-shell {
		left: -240px;
	}

	.tbc-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.tbc-section {
		padding: 62px 0;
	}

	#tbc-home h2 {
		font-size: 30px;
	}

	#tbc-home h3 {
		font-size: 20px;
	}

	.tbc-hero {
		min-height: 630px;
	}

	.tbc-hero__overlay {
		background: linear-gradient(90deg, rgba(6, 25, 48, 0.91) 0%, rgba(12, 38, 70, 0.73) 100%);
	}

	#tbc-home .tbc-hero h1,
	#tbc-home .tbc-hero h2 {
		font-size: 34px;
		letter-spacing: 0.035em;
		line-height: 1.52;
	}

	.tbc-hero-line {
		white-space: normal;
	}

	.tbc-hero__lead {
		font-size: 16px;
		line-height: 1.9;
	}

	.tbc-button-row,
	.tbc-button {
		width: 100%;
	}

	.tbc-button-row .tbc-text-link {
		text-align: center;
		width: 100%;
	}

	.tbc-split,
	.tbc-split--club,
	.tbc-profile {
		grid-template-columns: 1fr;
	}

	.tbc-card-grid--three,
	.tbc-topic-grid {
		grid-template-columns: 1fr;
	}

	.tbc-section-heading,
	.tbc-section-heading--row {
		align-items: start;
		display: block;
		margin-bottom: 34px;
		text-align: left;
	}

	.tbc-section-heading--row > p {
		margin-top: 12px;
	}

	.tbc-path-card,
	.tbc-series-card {
		min-height: 0;
		padding: 28px;
	}

	.tbc-topic-grid > a,
	.tbc-topic-grid > a:nth-child(2n),
	.tbc-topic-grid > a:nth-child(3n),
	.tbc-topic-grid > a:nth-last-child(-n+2) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
		border-right: 0;
	}

	.tbc-topic-grid > a:last-child {
		border-bottom: 0;
	}

	.tbc-member-preview,
	.tbc-contact-box {
		align-items: stretch;
		flex-direction: column;
	}

	.tbc-member-preview {
		gap: 24px;
		padding: 30px 25px;
	}

	.tbc-club-visual {
		min-height: 330px;
	}

	.tbc-profile {
		gap: 34px;
	}

	.tbc-profile__image img {
		max-height: none;
	}
}

/*
 * Simple homepage requested after the first prototype review.
 * Keep the original city image, three-line message and image-card rhythm.
 */
.tbc-sr-only {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

#contents.tbc-simple-home-shell {
	background: #fff;
	margin: 0;
	padding: 0;
	width: 100%;
}

#tbc-simple-home {
	background: #fff;
	color: #3c4654;
	overflow: hidden;
	width: 100%;
}

.tbc-simple-container {
	margin: 0 auto;
	max-width: 1500px;
	padding-left: 32px;
	padding-right: 32px;
	width: 100%;
}

.tbc-simple-hero {
	padding-top: 30px;
}

.tbc-simple-hero img {
	display: block;
	height: auto;
	width: 100%;
}

/* Registered-trademark marks for the photographic home logo and the inner-page logo. */
.tbc-registered-hero-logo {
	position: relative;
}

.tbc-registered-hero-logo .tbc-registered-mark {
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(10px, 1.7vw, 25px);
	font-weight: 400;
	left: 42.25%;
	line-height: 1;
	position: absolute;
	top: 4.2%;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

#logo .large > a {
	display: inline-block;
	position: relative;
}

#logo .large > a::after {
	color: var(--tbc-navy-dark);
	content: "®";
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 400;
	left: calc(50% + 120px);
	line-height: 1;
	position: absolute;
	top: 3px;
}

/* Enlarge only the inner-page logo lockup on desktop. */
@media screen and (min-width: 641px) {
	#logo .large > a img {
		height: auto;
		width: 72% !important;
	}

	#logo .large > a::after {
		font-size: 26px;
		left: calc(50% + 240px);
		top: 3px;
	}
}

/* Keep the phone-specific logo sizing unchanged. */
@media screen and (max-width: 640px) {
	#header-box {
		min-height: 84px;
	}

	#header {
		padding-bottom: 12px;
		padding-top: 12px;
	}

	#logo {
		margin: 0;
		max-width: none;
		padding: 0 70px;
		text-align: center;
		width: 100%;
	}

	#logo .large {
		display: block;
		line-height: 1;
	}

	#logo .large > a {
		display: inline-block;
		line-height: 1;
		text-align: center;
		transform: translateX(-8px);
		width: 65vw;
	}

	#logo .large > a img {
		display: block;
		max-width: none;
		width: 100%;
	}

	#logo .large > a::after {
		font-size: 11px;
		left: auto;
		right: -10px;
		top: 0;
	}
}

.tbc-simple-message {
	padding: 58px 0 60px;
	text-align: center;
}

.tbc-simple-message p {
	color: #4c5664;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;
	font-size: clamp(19px, 1.65vw, 25px);
	font-weight: 400;
	letter-spacing: 0.025em;
	line-height: 1.75;
	margin: 0;
}

.tbc-simple-message__lines span {
	display: block;
}

.tbc-simple-contents {
	padding: 22px 0 100px;
}

#tbc-simple-home .tbc-simple-contents h2 {
	background: none;
	border: 0;
	color: #303a49;
	font-family: inherit;
	font-size: clamp(34px, 3.2vw, 48px);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin: 0 0 42px;
	padding: 0;
	text-align: center;
}

.tbc-simple-card-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.tbc-simple-card {
	background: #d9dfe5;
	display: block;
	overflow: hidden;
	position: relative;
}

.tbc-simple-card img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.35s ease;
	width: 100%;
}

.tbc-simple-card span {
	align-items: center;
	background: rgba(16, 22, 30, 0.64);
	bottom: 0;
	color: #fff;
	display: flex;
	font-size: clamp(18px, 1.65vw, 24px);
	font-weight: 400;
	justify-content: center;
	left: 0;
	letter-spacing: 0.035em;
	min-height: 72px;
	padding: 14px 18px;
	position: absolute;
	right: 0;
	text-align: center;
}

.tbc-simple-card:hover img,
.tbc-simple-card:focus img {
	transform: scale(1.025);
}

.tbc-simple-card:focus-visible {
	outline: 3px solid var(--tbc-gold);
	outline-offset: 3px;
}

.tbc-bucho-lead-image {
	margin: 0 0 42px;
	overflow: hidden;
	position: relative;
}

.tbc-bucho-lead-image img {
	display: block;
	height: auto;
	width: 100%;
}

body.page-id-402 .tbc-bucho-lead-image::before {
	background: linear-gradient(
		135deg,
		rgba(8, 31, 57, 0.78) 0%,
		rgba(8, 31, 57, 0.42) 34%,
		rgba(8, 31, 57, 0) 68%
	);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

body.page-id-402 .tbc-bucho-lead-image__title {
	color: #fff;
	font-size: clamp(34px, 4.3vw, 58px);
	font-weight: 600;
	left: 6.5%;
	letter-spacing: 0.06em;
	line-height: 1.25;
	pointer-events: none;
	position: absolute;
	text-shadow: 0 2px 12px rgba(5, 22, 41, 0.45);
	top: 8.5%;
	white-space: nowrap;
	z-index: 2;
}

/* "部長になろう" is an editorial mission page, not a sales landing page. */
body.page-id-402 .pt-post-header {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

body.page-id-402 #child {
	float: none;
	margin: 12px auto 0;
	width: 100%;
}

body.page-id-402 #sidebar {
	display: none;
}

body.page-id-402 .pt-post-box {
	margin-left: auto;
	margin-right: auto;
	max-width: 1100px;
}

body.page-id-402 .tbc-bucho-story {
	color: #2d3745;
	margin: 0 auto;
	max-width: 940px;
}

body.page-id-402 .tbc-bucho-story p,
body.page-id-402 .tbc-bucho-story li {
	font-size: 17px;
	line-height: 2;
}

body.page-id-402 .tbc-bucho-story p {
	padding-bottom: 0;
}

body.page-id-402 .tbc-bucho-story p:empty {
	display: none;
}

body.page-id-402 .tbc-bucho-story__intro {
	margin: 0 auto;
	max-width: 800px;
	padding: 6px 0 54px;
	text-align: center;
}

body.page-id-402 .tbc-bucho-story__intro p {
	margin-left: auto;
	margin-right: auto;
}

body.page-id-402 .tbc-bucho-story__lead {
	color: #173a60;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.65 !important;
	margin-bottom: 22px;
	max-width: 760px;
}

body.page-id-402 .tbc-bucho-story__section {
	border-top: 1px solid #dce1e6;
	padding: 52px 0 54px;
}

body.page-id-402 .tbc-bucho-story__section h2 {
	border: 0;
	color: #173a60;
	font-size: clamp(25px, 2.5vw, 32px);
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.55;
	margin: 0 0 30px;
	padding: 0;
}

body.page-id-402 .tbc-bucho-story__section p {
	margin: 0 0 0.75em;
}

body.page-id-402 .tbc-bucho-story__section > p:last-child {
	margin-bottom: 0;
}

body.page-id-402 .tbc-bucho-story__principles {
	background: #f4f7f9;
	border-left: 4px solid #c4a15d;
	list-style: none;
	margin: 30px 0;
	padding: 24px 30px;
}

body.page-id-402 .tbc-bucho-story__principles li {
	padding: 5px 0 5px 1.5em;
	position: relative;
}

body.page-id-402 .tbc-bucho-story__principles li::before {
	color: #b38c43;
	content: "●";
	font-size: 8px;
	left: 0.2em;
	position: absolute;
	top: 1.25em;
}

body.page-id-402 .tbc-bucho-story__principles li::after,
body.page-id-402 .tbc-bucho-story__audience li::after {
	content: none;
	display: none;
}

body.page-id-402 .tbc-bucho-story__section--highlight {
	background: #edf3f7;
	border-left: 4px solid #173a60;
	border-top: 0;
	margin: 18px 0 26px;
	padding: 42px 46px 34px;
}

body.page-id-402 .tbc-bucho-story__cards {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-402 .tbc-bucho-story__card {
	background: #f7f8fa;
	border-top: 3px solid #c4a15d;
	display: flex;
	flex-direction: column;
	margin: 0;
}

body.page-id-402 .tbc-bucho-story__card img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

body.page-id-402 .tbc-bucho-story__card-body {
	flex: 1;
	padding: 24px 22px 20px;
}

body.page-id-402 .tbc-bucho-story__card h3 {
	color: #173a60;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.55;
	margin: 0 0 14px;
}

body.page-id-402 .tbc-bucho-story__card p {
	font-size: 15px;
	line-height: 1.85;
	margin: 0;
}

body.page-id-402 .tbc-bucho-story__section--center {
	text-align: center;
}

body.page-id-402 .tbc-bucho-story__section--center > p {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
	text-align: left;
}

body.page-id-402 .tbc-bucho-story__primary-action {
	margin-top: 34px !important;
	text-align: center !important;
}

body.page-id-402 .tbc-bucho-story__primary-action a {
	background: #173a60;
	border: 1px solid #173a60;
	color: #fff;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 13px 34px;
	text-decoration: none;
}

body.page-id-402 .tbc-bucho-story__primary-action a:hover,
body.page-id-402 .tbc-bucho-story__primary-action a:focus-visible {
	background: #fff;
	color: #173a60;
}

body.page-id-402 .tbc-bucho-story__audience {
	display: grid;
	gap: 0 32px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

body.page-id-402 .tbc-bucho-story__audience li {
	border-bottom: 1px solid #dce1e6;
	padding: 13px 6px 13px 1.6em;
	position: relative;
}

body.page-id-402 .tbc-bucho-story__audience li::before {
	color: #b38c43;
	content: "—";
	left: 0;
	position: absolute;
}

body.page-id-402 .tbc-bucho-story__individual-support {
	background: #f7f8fa;
	border-left: 3px solid #c4a15d;
	border-top: 0;
	margin-top: 28px;
	padding: 34px 40px 28px;
}

body.page-id-402 .tbc-bucho-story__individual-support h2 {
	font-size: 24px;
	margin-bottom: 22px;
}

body.page-id-402 .tbc-bucho-story__contact-link {
	margin-bottom: 0 !important;
}

body.page-id-402 .tbc-bucho-story__contact-link a {
	border-bottom: 1px solid #173a60;
	color: #173a60;
	font-weight: 600;
	text-decoration: none;
}

body.page-id-402 .tbc-bucho-story__contact-link a:hover,
body.page-id-402 .tbc-bucho-story__contact-link a:focus-visible {
	border-bottom-color: #b38c43;
	color: #8a6729;
}

body.page-id-402 .tbc-bucho-story__closing {
	background: #102f51;
	border: 0;
	color: #fff;
	margin: 52px 0 0;
	padding: 38px 46px;
	text-align: center;
}

body.page-id-402 .tbc-bucho-story__closing p {
	font-size: 18px;
	line-height: 1.9;
	margin: 0 0 12px;
}

body.page-id-402 .tbc-bucho-story__closing cite {
	color: #e0c389;
	display: block;
	font-size: 14px;
	font-style: normal;
	letter-spacing: 0.08em;
	margin-top: 24px;
}

@media screen and (max-width: 960px) {
	body.page-id-402 .tbc-bucho-story__cards {
		gap: 18px;
		grid-template-columns: 1fr;
		margin-left: auto;
		margin-right: auto;
		max-width: 680px;
	}

	body.page-id-402 .tbc-bucho-story__card {
		align-items: stretch;
		display: grid;
		grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
	}

	body.page-id-402 .tbc-bucho-story__card img {
		height: 100%;
	}

	.tbc-simple-card-grid {
		gap: 20px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 82%;
	}

	.tbc-simple-card span {
		font-size: clamp(15px, 1.25vw, 18px);
		min-height: 58px;
		padding: 10px 12px;
	}
}

@media screen and (max-width: 640px) {
	body.page-id-402 #child {
		margin-top: 0;
	}

	body.page-id-402 .pt-post-box {
		max-width: none;
	}

	body.page-id-402 .tbc-bucho-story {
		padding-left: 15px;
		padding-right: 15px;
	}

	body.page-id-402 .tbc-bucho-story p,
	body.page-id-402 .tbc-bucho-story li {
		font-size: 15px;
		line-height: 1.9;
	}

	body.page-id-402 .tbc-bucho-story__intro {
		padding-bottom: 36px;
	}

	body.page-id-402 .tbc-bucho-story__lead {
		font-size: 22px !important;
		line-height: 1.65 !important;
	}

	body.page-id-402 .tbc-bucho-story__section {
		padding: 38px 0 40px;
	}

	body.page-id-402 .tbc-bucho-story__section h2 {
		font-size: 23px;
		margin-bottom: 23px;
	}

	body.page-id-402 .tbc-bucho-story__principles {
		padding: 19px 18px;
	}

	body.page-id-402 .tbc-bucho-story__section--highlight,
	body.page-id-402 .tbc-bucho-story__individual-support {
		margin-left: -5px;
		margin-right: -5px;
		padding: 28px 22px 22px;
	}

	body.page-id-402 .tbc-bucho-story__cards {
		gap: 20px;
	}

	body.page-id-402 .tbc-bucho-story__card {
		display: flex;
	}

	body.page-id-402 .tbc-bucho-story__card-body {
		padding: 20px 18px 18px;
	}

	body.page-id-402 .tbc-bucho-story__card h3 {
		font-size: 19px;
	}

	body.page-id-402 .tbc-bucho-story__audience {
		grid-template-columns: 1fr;
	}

	body.page-id-402 .tbc-bucho-story__primary-action a {
		display: block;
		padding-left: 16px;
		padding-right: 16px;
	}

	body.page-id-402 .tbc-bucho-story__closing {
		margin-top: 38px;
		padding: 30px 22px;
	}

	body.page-id-402 .tbc-bucho-story__closing p {
		font-size: 16px;
	}

	.tbc-simple-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.tbc-simple-hero {
		padding-top: 16px;
	}

	.tbc-simple-message {
		padding: 38px 0 42px;
	}

	.tbc-simple-message p {
		font-size: 17px;
		line-height: 1.9;
	}

	.tbc-simple-message p + p {
		margin-top: 8px;
	}

	.tbc-simple-contents {
		padding: 8px 0 70px;
	}

	#tbc-simple-home .tbc-simple-contents h2 {
		font-size: 31px;
		margin-bottom: 30px;
	}

	.tbc-simple-card-grid {
		gap: 16px;
		grid-template-columns: 1fr;
		margin-left: auto;
		margin-right: auto;
		width: 70%;
	}

	.tbc-simple-card span {
		font-size: clamp(12px, 3.8vw, 15px);
		letter-spacing: 0.02em;
		line-height: 1.45;
		min-height: 48px;
		padding: 7px 8px;
	}
}

/* Shared sidebar profile image: crop the source safely instead of stretching it. */
.my-profile .my-profile-thumb {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.my-profile .my-profile-thumb a {
	display: block;
	height: 100%;
	width: 100%;
}

.my-profile .my-profile-thumb a img {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover;
	object-position: center top;
	width: 100% !important;
}

#sidebar .new-entry .eyecatch {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

#sidebar .new-entry .eyecatch img,
img.wp-post-image.size-small_size {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

/* Compact photo cards shared by the "Start here" and program pages. */
.tbc-start-guides {
	display: grid;
	gap: 24px;
	margin-top: 26px;
}

.tbc-start-guide {
	background: #f7f9fb;
	border: 1px solid #d8e0e8;
	padding: 28px 30px;
}

.tbc-start-guide::after {
	clear: both;
	content: "";
	display: table;
}

.tbc-start-guide__image {
	aspect-ratio: 16 / 9;
	display: block;
	float: left;
	height: auto;
	margin: 0 24px 12px 0;
	object-fit: cover;
	width: min(31%, 160px);
}

.tbc-start-guide h2,
.tbc-start-guide h3 {
	background: none;
	border: 0;
	clear: none;
	color: var(--tbc-navy-dark);
	font-size: 21px;
	line-height: 1.55;
	margin: 0 0 14px;
	padding: 0;
}

.tbc-start-guide p {
	margin-bottom: 18px;
}

.tbc-start-actions {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tbc-start-action {
	align-items: center;
	background: var(--tbc-navy);
	border: 1px solid var(--tbc-navy);
	color: #fff !important;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	justify-content: center;
	line-height: 1.6;
	min-height: 46px;
	padding: 10px 17px;
	text-align: center;
}

.tbc-start-action:hover,
.tbc-start-action:focus {
	background: var(--tbc-blue);
	border-color: var(--tbc-blue);
	color: #fff !important;
}

.tbc-start-action--secondary {
	background: #fff;
	color: var(--tbc-navy) !important;
}

.tbc-start-action--secondary:hover,
.tbc-start-action--secondary:focus {
	color: #fff !important;
}

@media screen and (max-width: 640px) {
	.tbc-start-guide {
		padding: 23px 20px;
	}

	.tbc-start-guide__image {
		margin: 0 15px 10px 0;
		width: 108px;
	}

	.tbc-program-guide h2 .tbc-program-heading-line {
		display: block;
	}

	.tbc-start-actions,
	.tbc-start-action {
		width: 100%;
	}
}

/* Shared lead image for linked content pages. */
.tbc-page-intro-image,
.tbc-club-overview__image {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto !important;
	margin-bottom: 34px;
	object-fit: cover;
	width: 100%;
}

/* Tokyo Bucho Club overview: readable narrative and compact service cards. */
.tbc-club-overview {
	color: var(--tbc-ink);
}

.tbc-club-overview p {
	line-height: 1.95;
	margin-bottom: 20px;
}

body.page-id-40 .tbc-club-overview p {
	padding-bottom: 0;
}

body.page-id-40 .tbc-club-overview p:empty {
	display: none;
}

.tbc-club-overview__manifesto {
	background: var(--tbc-navy-dark);
	border-left: 5px solid var(--tbc-gold);
	color: #fff;
	margin: 0 0 48px;
	padding: 34px 38px 30px;
}

.tbc-club-overview__manifesto p {
	color: #e8eef5;
	margin-bottom: 0;
}

.tbc-club-overview__lead {
	color: #fff !important;
	font-size: 29px;
	line-height: 1.9 !important;
	margin-bottom: 10px !important;
}

.tbc-club-overview__section {
	border-top: 1px solid var(--tbc-line);
	margin-top: 42px;
	padding-top: 34px;
}

.tbc-club-overview__section h2 {
	background: none;
	border: 0;
	color: var(--tbc-navy-dark);
	font-size: 25px;
	font-weight: 650;
	line-height: 1.55;
	margin: 0 0 22px;
	padding: 0 0 0 18px;
	position: relative;
}

.tbc-club-overview__section h2::before {
	background: var(--tbc-gold);
	content: "";
	height: calc(100% - 8px);
	left: 0;
	position: absolute;
	top: 4px;
	width: 4px;
}

.tbc-club-section-image {
	margin: 30px 0 8px;
}

.tbc-club-section-image img {
	aspect-ratio: 13 / 5;
	border: 1px solid rgba(17, 48, 81, 0.14);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tbc-club-section-image--dialogue img {
	object-position: center 52%;
}

.tbc-club-section-image figcaption {
	color: #697887;
	font-size: 13px;
	letter-spacing: 0.015em;
	line-height: 1.65;
	margin: 9px 0 0;
	text-align: center;
}

.tbc-club-services {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 24px;
}

.tbc-club-service {
	background: #f7f9fb;
	border: 1px solid #d8e0e8;
	padding: 25px 26px;
}

.tbc-club-service--accent {
	border-top: 4px solid var(--tbc-gold);
	padding-top: 22px;
}

.tbc-club-service h3 {
	background: none;
	border: 0;
	color: var(--tbc-navy-dark);
	font-size: 19px;
	font-weight: 650;
	line-height: 1.55;
	margin: 0 0 12px;
	padding: 0;
}

.tbc-club-service p:last-child {
	margin-bottom: 0;
}

.tbc-club-service__number {
	color: var(--tbc-gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1;
	margin: 0 0 10px !important;
}

.tbc-club-access {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 26px 0 22px;
}

.tbc-club-access__panel {
	background: #f7f9fb;
	border: 1px solid #d8e0e8;
	border-top: 4px solid var(--tbc-navy);
	padding: 28px 30px 24px;
}

.tbc-club-access__panel--member {
	background: #eef3f8;
	border-top-color: var(--tbc-gold);
}

.tbc-club-access__label {
	color: var(--tbc-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1;
	margin: 0 0 12px !important;
}

.tbc-club-access__panel h3 {
	background: none;
	border: 0;
	color: var(--tbc-navy-dark);
	font-size: 22px;
	font-weight: 650;
	line-height: 1.5;
	margin: 0 0 15px;
	padding: 0;
}

.tbc-club-access__points {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
}

.tbc-club-access__points li {
	line-height: 1.8;
	margin: 0 0 10px;
	padding: 0 0 0 18px;
	position: relative;
}

.tbc-club-access__points li::before {
	background: var(--tbc-gold);
	border-radius: 50%;
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	top: 0.82em;
	width: 6px;
}

.tbc-club-access__points li::after {
	content: none !important;
	display: none !important;
}

.tbc-club-access__summary {
	border-left: 4px solid var(--tbc-gold);
	color: var(--tbc-navy-dark);
	font-weight: 600;
	margin: 0 !important;
	padding: 5px 0 5px 20px;
}

.tbc-club-overview__membership {
	background: var(--tbc-soft);
	border: 1px solid var(--tbc-line);
	padding: 30px;
}

.tbc-club-overview__membership h2 {
	margin-top: 0;
}

.tbc-club-next {
	margin-top: 26px;
}

.tbc-club-overview__closing {
	background: var(--tbc-navy-dark);
	border: 0;
	border-left: 5px solid var(--tbc-gold);
	color: #fff;
	margin: 46px 0 30px;
	padding: 32px 38px 28px;
}

.tbc-club-overview__closing::before,
.tbc-club-overview__closing::after {
	content: none;
}

.tbc-club-overview__closing p {
	color: #fff;
	margin: 0 0 10px;
}

.tbc-club-overview__closing p:first-child {
	font-size: 27px;
	line-height: 1.5;
}

.tbc-club-overview__closing p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 640px) {
	.tbc-club-overview__lead {
		font-size: 22px;
		line-height: 1.6 !important;
	}

	.tbc-club-overview__manifesto {
		margin-bottom: 36px;
		padding: 25px 22px 22px;
	}

	.tbc-club-overview__section h2 {
		font-size: 22px;
	}

	.tbc-club-section-image {
		margin: 24px auto 4px;
		width: 88%;
	}

	.tbc-club-section-image img {
		aspect-ratio: 16 / 9;
	}

	.tbc-club-section-image figcaption {
		font-size: 12px;
		line-height: 1.55;
	}

	.tbc-club-services {
		grid-template-columns: 1fr;
	}

	.tbc-club-access {
		grid-template-columns: 1fr;
	}

	.tbc-club-service,
	.tbc-club-overview__membership,
	.tbc-club-access__panel {
		padding: 22px 20px;
	}

	.tbc-club-overview__closing {
		margin-top: 36px;
		padding: 25px 22px 22px;
	}

	.tbc-club-overview__closing p:first-child {
		font-size: 23px;
	}
}

/* Match linked-page lead images to the compact 70% mobile home cards. */
@media screen and (max-width: 640px) {
	.tbc-page-intro-image {
		margin-left: auto !important;
		margin-right: auto !important;
		width: 70% !important;
	}

	.tbc-bucho-lead-image {
		margin-left: auto;
		margin-right: auto;
		width: 70%;
	}

	body.page-id-402 .tbc-bucho-lead-image::before {
		background: linear-gradient(
			135deg,
			rgba(8, 31, 57, 0.84) 0%,
			rgba(8, 31, 57, 0.48) 42%,
			rgba(8, 31, 57, 0) 76%
		);
	}

	body.page-id-402 .tbc-bucho-lead-image__title {
		font-size: clamp(22px, 6vw, 28px);
		left: 7%;
		letter-spacing: 0.04em;
		top: 8%;
	}

	#child .pt-post-main.entry-content > img.wp-image-314 {
		display: block;
		height: auto !important;
		margin: 0 auto 34px;
		width: 70% !important;
	}
}

/* Remove the obsolete six-button social rows above and below article content. */
.pt-post-main.entry-content > .share-top,
.pt-post-main.entry-content > .share {
	display: none !important;
}

/*
 * Member knowledge-base prototype.
 * These rules affect only the isolated member pages and PMPro system pages.
 */
body.tbc-member-area #contents,
body.tbc-member-system-page #contents {
	max-width: 1180px;
	width: calc(100% - 40px);
}

body.tbc-member-area #child,
body.tbc-member-system-page #child {
	float: none;
	margin: 34px 0 70px;
	width: 100%;
}

body.tbc-member-area #sidebar,
body.tbc-member-system-page #sidebar {
	display: none;
}

body.tbc-member-area .pt-post-box,
body.tbc-member-system-page .pt-post-box {
	background: #fff;
	box-shadow: 0 16px 44px rgba(18, 42, 72, 0.07);
	padding: 54px 60px 64px;
}

body.tbc-member-area .pt-post-header,
body.tbc-member-system-page .pt-post-header {
	border-bottom: 1px solid var(--tbc-line);
	margin-bottom: 38px;
	padding-bottom: 24px;
}

body.tbc-member-area .pt-post-title,
body.tbc-member-system-page .pt-post-title {
	color: var(--tbc-navy-dark);
	font-family: inherit;
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 600;
	letter-spacing: 0.035em;
	line-height: 1.4;
	margin: 0;
}

.tbc-member-hub,
.tbc-member-section,
.tbc-member-article {
	color: var(--tbc-ink);
}

.tbc-member-hub h2,
.tbc-member-section h2,
.tbc-member-article h2,
.tbc-member-access h2 {
	background: none;
	border: 0;
	color: var(--tbc-navy-dark);
	font-family: inherit;
	font-weight: 650;
	line-height: 1.55;
	margin: 0 0 14px;
	padding: 0;
}

.tbc-member-eyebrow,
.tbc-member-meta {
	color: var(--tbc-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.15em;
	margin-bottom: 12px;
}

.tbc-member-lead {
	color: var(--tbc-navy-dark);
	font-size: 20px;
	font-weight: 520;
	line-height: 1.95;
}

.tbc-member-utility {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: flex-end;
	margin: 28px 0 22px;
}

.tbc-member-utility a,
.tbc-member-back a {
	color: var(--tbc-blue) !important;
	font-size: 14px;
	font-weight: 650;
}

.tbc-member-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 24px;
}

.tbc-member-grid > p:empty,
.tbc-member-topic-grid > p:empty,
.tbc-member-series-grid > p:empty,
.tbc-member-steps > p:empty {
	display: none;
}

#child .tbc-member-card {
	background: #fff;
	border: 1px solid var(--tbc-line);
	box-shadow: 0 9px 28px rgba(18, 42, 72, 0.06);
	display: flex;
	flex-direction: column;
	min-height: 260px;
	padding: 30px;
}

#child .tbc-member-card a::after,
#child .tbc-member-button::after {
	display: none;
}

#child .tbc-member-card:hover,
#child .tbc-member-card:focus {
	border-color: #9eb0c3;
	box-shadow: var(--tbc-shadow);
	transform: translateY(-3px);
}

.tbc-member-card--accent {
	border-top: 4px solid var(--tbc-gold) !important;
	padding-top: 27px !important;
}

.tbc-member-card > span {
	color: var(--tbc-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.15em;
	margin-bottom: 20px;
}

.tbc-member-card h2 {
	font-size: 21px;
}

#child .tbc-member-card h2 a {
	color: var(--tbc-navy-dark);
}

.tbc-member-card p {
	color: var(--tbc-muted);
	font-size: 14px;
	line-height: 1.8;
}

.tbc-member-advisor-entry {
	align-items: center;
	background: linear-gradient(135deg, #f4f7fb 0%, #fff 72%);
	border: 1px solid #bdcad8;
	border-left: 5px solid var(--tbc-gold);
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 24px 0 30px;
	padding: 30px 34px;
}

.tbc-member-advisor-entry h2 {
	font-size: 26px;
	margin-bottom: 9px;
}

#child .tbc-member-advisor-entry h2 a {
	color: var(--tbc-navy-dark);
}

.tbc-member-advisor-entry p {
	margin-bottom: 7px;
}

.tbc-member-advisor-entry .tbc-member-eyebrow {
	margin-bottom: 7px;
}

.tbc-member-advisor-entry__future {
	color: var(--tbc-muted);
	font-size: 13px;
}

.tbc-member-advisor-form {
	background: #f7f9fb;
	border: 1px solid var(--tbc-line);
	margin: 30px 0;
	padding: 30px;
}

.tbc-member-advisor-form label {
	color: var(--tbc-navy-dark);
	display: block;
	font-size: 20px;
	font-weight: 650;
	margin-bottom: 4px;
}

.tbc-member-advisor-help,
.tbc-member-advisor-privacy,
.tbc-member-advisor-status,
.tbc-member-advisor-caution {
	color: var(--tbc-muted);
	font-size: 13px;
}

#child .tbc-member-advisor-form textarea {
	background: #fff;
	border: 1px solid #aebbc8;
	border-radius: 0;
	box-sizing: border-box;
	color: var(--tbc-ink);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.8;
	margin: 10px 0 14px;
	min-height: 150px;
	padding: 16px 18px;
	resize: vertical;
	width: 100%;
}

#child .tbc-member-advisor-form textarea:focus {
	border-color: var(--tbc-blue);
	box-shadow: 0 0 0 3px rgba(29, 87, 132, 0.13);
	outline: none;
}

.tbc-member-advisor-examples {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 17px;
}

.tbc-member-advisor-examples > span {
	color: var(--tbc-muted);
	font-size: 12px;
	font-weight: 650;
	margin-right: 3px;
}

#child .tbc-member-advisor-examples button {
	background: #fff;
	border: 1px solid #b8c5d2;
	color: var(--tbc-blue);
	cursor: pointer;
	font-family: inherit;
	font-size: 12px;
	padding: 7px 11px;
}

#child .tbc-member-advisor-examples button:hover,
#child .tbc-member-advisor-examples button:focus {
	background: #edf3f8;
	border-color: var(--tbc-blue);
}

.tbc-member-advisor-privacy {
	border-left: 3px solid var(--tbc-gold);
	margin: 17px 0 20px;
	padding-left: 13px;
}

#child .tbc-member-advisor-submit {
	border-radius: 0;
	cursor: pointer;
	font-family: inherit;
}

.tbc-member-advisor-status {
	margin: 13px 0 0;
	min-height: 1.5em;
}

.tbc-member-advisor-results {
	border-top: 3px solid var(--tbc-gold);
	margin: 44px 0 34px;
	padding-top: 30px;
	scroll-margin-top: 110px;
}

.tbc-member-advisor-results[hidden],
.tbc-member-advisor-source[hidden] {
	display: none !important;
}

.tbc-member-advisor-result-grid {
	display: grid;
	gap: 17px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 24px 0;
}

.tbc-member-advisor-result-card {
	background: #f7f9fb;
	border: 1px solid var(--tbc-line);
	padding: 23px;
}

.tbc-member-advisor-result-card.is-primary {
	background: #fffaf1;
	border-color: #d9c294;
}

.tbc-member-advisor-result-card h3 {
	color: var(--tbc-navy-dark);
	font-size: 17px;
	margin: 0 0 15px;
}

.tbc-member-advisor-result-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tbc-member-advisor-result-card li + li {
	border-top: 1px solid var(--tbc-line);
	margin-top: 15px;
	padding-top: 15px;
}

#child .tbc-member-advisor-result-card li > a,
#child .tbc-member-advisor-result-card > a {
	color: var(--tbc-blue);
	font-weight: 650;
}

.tbc-member-advisor-result-card li p,
.tbc-member-advisor-result-card > p {
	color: var(--tbc-muted);
	font-size: 13px;
	line-height: 1.75;
	margin: 8px 0 0;
}

.tbc-member-advisor-result-theme {
	color: var(--tbc-gold);
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 5px;
}

.tbc-member-advisor-position {
	background: #f2f6fa;
	border-left: 4px solid var(--tbc-blue);
	padding: 18px 21px;
}

.tbc-member-advisor-position p {
	margin: 5px 0 0;
}

.tbc-member-advisor-future h2 {
	font-size: 21px;
}

#child .tbc-member-card__link {
	color: var(--tbc-blue);
	font-size: 13px;
	font-weight: 700;
	margin-top: auto;
}

.tbc-member-role-note {
	background: var(--tbc-soft);
	border-left: 4px solid var(--tbc-gold);
	margin-top: 44px;
	padding: 30px 34px;
}

.tbc-member-role-note h2 {
	font-size: 22px;
}

.tbc-member-role-note dl {
	display: grid;
	gap: 12px 24px;
	grid-template-columns: 210px 1fr;
	margin: 0;
}

.tbc-member-role-note dt {
	color: var(--tbc-navy-dark);
	font-weight: 650;
}

.tbc-member-role-note dd {
	margin: 0;
}

.tbc-member-notice,
.tbc-member-panel,
.tbc-member-list-card {
	background: #f7f9fb;
	border: 1px solid var(--tbc-line);
	margin: 28px 0;
	padding: 28px 30px;
}

.tbc-member-list-card h2,
.tbc-member-panel h2 {
	font-size: 23px;
}

/* Compact article index: the 156-item member list should scan like an index,
 * while the destination articles retain the roomier reading layout. */
body.page-id-453 .tbc-member-lead {
	font-size: 18px;
	line-height: 1.75;
	margin-bottom: 18px;
}

body.page-id-453 .tbc-member-notice {
	margin: 18px 0 32px;
	padding: 18px 20px;
}

body.page-id-453 .tbc-member-section > h2 {
	border-bottom: 2px solid var(--tbc-navy);
	font-size: 24px;
	margin: 38px 0 12px;
	padding-bottom: 9px;
}

body.page-id-453 #child .tbc-member-source-key {
	border-bottom: 2px solid var(--tbc-navy);
	color: var(--tbc-muted);
	font-size: 11px;
	letter-spacing: 0.02em;
	line-height: 1.55;
	margin: 0 0 12px;
	padding: 0 0 9px;
}

body.page-id-453 .tbc-member-section > h2:has(+ .tbc-member-source-key) {
	border-bottom: 0;
	margin-bottom: 3px;
	padding-bottom: 0;
}

body.page-id-453 .tbc-member-heading-break {
	display: none;
}

body.page-id-453 .tbc-member-list-card {
	align-items: start;
	background: #fff;
	border-left: 3px solid transparent;
	column-gap: 18px;
	display: grid;
	grid-template-columns: minmax(130px, 180px) minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	margin: 0 0 7px;
	padding: 14px 16px;
	row-gap: 4px;
	transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.page-id-453 .tbc-member-list-card:hover,
body.page-id-453 .tbc-member-list-card:focus-within {
	background: #fbfcfd;
	border-left-color: var(--tbc-gold);
	box-shadow: 0 4px 14px rgba(18, 42, 72, 0.07);
}

body.page-id-453 .tbc-member-list-card .tbc-member-meta {
	align-self: center;
	font-size: 11px;
	grid-column: 1;
	grid-row: 1 / 3;
	letter-spacing: 0.06em;
	line-height: 1.65;
	margin: 0;
}

body.page-id-453 #child .tbc-member-list-card > p {
	padding-bottom: 0;
}

body.page-id-453 .tbc-member-list-card h2 {
	font-size: 17px;
	grid-column: 2;
	grid-row: 1;
	line-height: 1.45;
	margin: 0;
}

body.page-id-453 .tbc-member-list-card > p:not(.tbc-member-meta):not(:has(.tbc-member-button)) {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--tbc-muted);
	display: -webkit-box;
	font-size: 13px;
	grid-column: 2;
	grid-row: 2;
	line-height: 1.55;
	margin: 0;
	overflow: hidden;
}

body.page-id-453 .tbc-member-list-card > p:has(.tbc-member-button) {
	align-self: center;
	grid-column: 3;
	grid-row: 1 / 3;
	margin: 0;
	padding: 0;
}

body.page-id-453 #child .tbc-member-list-card .tbc-member-button {
	background: #fff;
	border-color: #9eb0c3;
	color: var(--tbc-navy) !important;
	font-size: 12px;
	min-height: 36px;
	padding: 5px 12px;
	white-space: nowrap;
}

body.page-id-453 #child .tbc-member-list-card .tbc-member-button:hover,
body.page-id-453 #child .tbc-member-list-card .tbc-member-button:focus {
	background: var(--tbc-navy);
	border-color: var(--tbc-navy);
	color: #fff !important;
}

#child .tbc-member-button {
	align-items: center;
	background: var(--tbc-navy);
	border: 1px solid var(--tbc-navy);
	color: #fff !important;
	display: inline-flex;
	font-size: 14px;
	font-weight: 650;
	justify-content: center;
	min-height: 46px;
	padding: 9px 20px;
}

#child .tbc-member-button:hover,
#child .tbc-member-button:focus {
	background: var(--tbc-blue);
	border-color: var(--tbc-blue);
}

.tbc-member-topic-grid,
.tbc-member-series-grid,
.tbc-member-steps {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 30px 0;
}

.tbc-member-topic-grid > span,
.tbc-member-series-grid > div,
.tbc-member-steps > div {
	background: #fff;
	border: 1px solid var(--tbc-line);
	padding: 24px 26px;
}

.tbc-member-topic-grid > span {
	color: var(--tbc-navy-dark);
	font-weight: 650;
}

#child .tbc-member-topic-card {
	background: #fff;
	border: 1px solid var(--tbc-line);
	box-shadow: 0 9px 28px rgba(18, 42, 72, 0.06);
	display: flex;
	flex-direction: column;
	min-height: 440px;
	padding: 28px 30px 30px;
}

.tbc-member-topic-card h2 {
	font-size: 24px;
	margin-bottom: 10px;
}

.tbc-member-topic-count {
	color: var(--tbc-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	margin: 0 0 12px;
}

.tbc-member-topic-question {
	color: var(--tbc-navy-dark);
	font-size: 16px;
	font-weight: 520;
	line-height: 1.75;
	margin: 0;
	min-height: 56px;
}

.tbc-member-question-list {
	display: grid;
	gap: 0;
	margin-top: 22px;
}

#child .tbc-member-question-item {
	border-top: 1px solid var(--tbc-line);
	padding: 18px 0 20px;
}

.tbc-member-question-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.tbc-member-question-stage {
	border: 1px solid var(--tbc-line);
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1.4;
	padding: 4px 7px;
	text-align: center;
}

.tbc-member-question-stage.is-primary {
	background: var(--tbc-navy);
	border-color: var(--tbc-navy);
	color: #fff;
}

.tbc-member-question-stage.is-secondary {
	background: #f7f2e8;
	border-color: #d9c59f;
	color: #765b25;
}

.tbc-member-question-item h3 {
	color: var(--tbc-navy-dark);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.55;
	margin: 0 0 9px;
}

.tbc-member-question-answer {
	color: var(--tbc-ink);
	font-size: 14px;
	line-height: 1.75;
	margin: 0 0 10px;
}

#child .tbc-member-question-link {
	color: var(--tbc-blue) !important;
	display: inline;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.65;
	text-decoration: underline;
	text-decoration-color: rgba(25, 89, 139, 0.35);
	text-underline-offset: 0.2em;
}

#child .tbc-member-question-link:hover,
#child .tbc-member-question-link:focus {
	color: var(--tbc-navy-dark) !important;
	text-decoration-color: currentColor;
}

#child .tbc-member-topic-articles {
	list-style: none;
	margin: 22px 0 26px;
	padding: 0;
}

#child .tbc-member-topic-articles li {
	align-items: start;
	border-top: 1px solid var(--tbc-line);
	display: grid;
	gap: 10px;
	grid-template-columns: 86px minmax(0, 1fr);
	list-style: none;
	margin: 0;
	padding: 14px 0;
}

#child .tbc-member-topic-articles li::before,
#child .tbc-member-topic-articles li::after {
	content: none !important;
	display: none !important;
}

.tbc-member-topic-articles a {
	color: var(--tbc-navy-dark) !important;
	font-size: 14px;
	font-weight: 620;
	line-height: 1.65;
	text-decoration: none;
}

.tbc-member-topic-articles a:hover,
.tbc-member-topic-articles a:focus {
	color: var(--tbc-blue) !important;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.tbc-member-type-badge {
	background: var(--tbc-soft);
	border: 1px solid var(--tbc-line);
	color: var(--tbc-blue);
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1.4;
	padding: 4px 6px;
	text-align: center;
}

#child .tbc-member-topic-more {
	align-self: flex-start;
	margin-top: auto;
}

.tbc-member-topic-nav {
	border-top: 1px solid var(--tbc-line);
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	justify-content: center;
	margin-top: 42px;
	padding-top: 26px;
}

.tbc-member-topic-nav a {
	color: var(--tbc-blue) !important;
	font-size: 14px;
	font-weight: 650;
}

.tbc-member-series-grid span,
.tbc-member-steps span {
	color: var(--tbc-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.tbc-member-series-grid h2,
.tbc-member-steps h2 {
	font-size: 20px;
	margin-top: 10px;
}

/* 3.2 session-spine map: existing articles stay as independent pages, while
 * this view makes their position in the latest course structure visible. */
.tbc-session-map-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 32px 0;
}

#child .tbc-session-map-card {
	background: #fff;
	border: 1px solid var(--tbc-line);
	box-shadow: 0 9px 28px rgba(18, 42, 72, 0.06);
	display: flex;
	flex-direction: column;
	padding: 28px 30px 30px;
}

.tbc-session-map-number {
	color: var(--tbc-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 10px;
}

.tbc-session-map-card h2 {
	font-size: 23px;
	margin-bottom: 14px;
}

#child .tbc-session-map-chapters,
#child .tbc-session-map-articles {
	list-style: none;
	margin: 0;
	padding: 0;
}

#child .tbc-session-map-chapters li,
#child .tbc-session-map-articles li {
	list-style: none;
	margin: 0;
}

#child .tbc-session-map-chapters li::before,
#child .tbc-session-map-chapters li::after,
#child .tbc-session-map-articles li::before,
#child .tbc-session-map-articles li::after {
	content: none !important;
	display: none !important;
}

#child .tbc-session-map-chapters {
	background: var(--tbc-soft);
	border-left: 3px solid var(--tbc-gold);
	margin-bottom: 24px;
	padding: 14px 17px;
}

#child .tbc-session-map-chapters li {
	color: var(--tbc-muted);
	font-size: 13px;
	line-height: 1.7;
	padding: 3px 0;
}

.tbc-session-map-card h3 {
	color: var(--tbc-navy-dark);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin: 0 0 5px;
}

#child .tbc-session-map-articles li {
	align-items: start;
	border-top: 1px solid var(--tbc-line);
	display: grid;
	gap: 10px;
	grid-template-columns: 92px minmax(0, 1fr);
	padding: 13px 0;
}

.tbc-session-map-articles span {
	background: var(--tbc-soft);
	border: 1px solid var(--tbc-line);
	color: var(--tbc-blue);
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.4;
	padding: 4px 6px;
	text-align: center;
}

.tbc-session-map-articles a {
	color: var(--tbc-navy-dark) !important;
	font-size: 14px;
	font-weight: 620;
	line-height: 1.65;
}

.tbc-session-map-articles a:hover,
.tbc-session-map-articles a:focus {
	color: var(--tbc-blue) !important;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.tbc-session-map-empty {
	background: var(--tbc-soft);
	color: var(--tbc-muted);
	font-size: 13px;
	margin: 0;
	padding: 15px 17px;
}

.tbc-member-back {
	border-top: 1px solid var(--tbc-line);
	margin: 42px 0 0;
	padding-top: 24px;
}

.tbc-member-article > section {
	border-top: 1px solid var(--tbc-line);
	margin-top: 38px;
	padding-top: 31px;
}

.tbc-member-article > section h2 {
	font-size: 25px;
}

.tbc-member-article li {
	margin-bottom: 10px;
}

.tbc-member-access {
	background: var(--tbc-soft);
	border: 1px solid var(--tbc-line);
	margin: 25px auto;
	max-width: 720px;
	padding: 42px;
	text-align: center;
}

.tbc-member-access h2 {
	font-size: 28px;
}

body.tbc-member-system-page .pmpro {
	max-width: 760px;
}

body.tbc-member-system-page #pmpro_account-profile .avatar {
	display: none;
}

@media screen and (max-width: 900px) {
	.tbc-member-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-453 .tbc-member-list-card {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto;
	}

	body.page-id-453 .tbc-member-list-card .tbc-member-meta {
		grid-column: 1;
		grid-row: 1;
	}

	body.page-id-453 .tbc-member-list-card h2 {
		grid-column: 1;
		grid-row: 2;
	}

	body.page-id-453 .tbc-member-list-card > p:not(.tbc-member-meta):not(:has(.tbc-member-button)) {
		grid-column: 1;
		grid-row: 3;
	}

	body.page-id-453 .tbc-member-list-card > p:has(.tbc-member-button) {
		grid-column: 2;
		grid-row: 1 / 4;
	}
}

@media screen and (max-width: 640px) {
	body.tbc-member-area #contents,
	body.tbc-member-system-page #contents {
		padding-left: 15px;
		padding-right: 15px;
		width: 100%;
	}

	body.tbc-member-area .pt-post-box,
	body.tbc-member-system-page .pt-post-box {
		box-shadow: none;
		padding: 30px 20px 42px;
	}

	body.tbc-member-area .pt-post-header,
	body.tbc-member-system-page .pt-post-header {
		margin-bottom: 28px;
	}

	.tbc-member-grid,
	.tbc-member-topic-grid,
	.tbc-member-series-grid,
	.tbc-session-map-grid,
	.tbc-member-steps,
	.tbc-member-advisor-result-grid {
		grid-template-columns: 1fr;
	}

	.tbc-member-advisor-entry {
		align-items: start;
		gap: 17px;
		grid-template-columns: 1fr;
		padding: 25px 22px;
	}

	.tbc-member-advisor-form {
		padding: 23px 20px;
	}

	.tbc-member-advisor-examples {
		align-items: stretch;
		flex-direction: column;
	}

	.tbc-member-advisor-examples > span {
		margin-bottom: 2px;
	}

	#child .tbc-member-advisor-examples button {
		text-align: left;
	}

	#child .tbc-member-card {
		min-height: 0;
		padding: 25px;
	}

	#child .tbc-member-topic-card {
		min-height: 0;
		padding: 21px 20px 23px;
	}

	#child .tbc-session-map-card {
		padding: 22px 20px 24px;
	}

	.tbc-session-map-card h2 {
		font-size: 21px;
	}

	#child .tbc-session-map-articles li {
		grid-template-columns: 84px minmax(0, 1fr);
	}

	.tbc-member-topic-card h2 {
		font-size: 21px;
	}

	.tbc-member-topic-question {
		font-size: 15px;
		min-height: 0;
	}

	.tbc-member-question-item h3 {
		font-size: 16px;
	}

	.tbc-member-question-answer {
		font-size: 14px;
	}

	#child .tbc-member-question-link {
		font-size: 13px;
	}

	#child .tbc-member-topic-articles li {
		grid-template-columns: 80px minmax(0, 1fr);
	}

	#child .tbc-member-topic-more {
		align-self: stretch;
	}

	.tbc-member-role-note dl {
		grid-template-columns: 1fr;
	}

	.tbc-member-role-note dd {
		margin-bottom: 10px;
	}

	.tbc-member-lead {
		font-size: 17px;
	}

	.tbc-member-access {
		padding: 32px 22px;
	}

	body.page-id-453 .tbc-member-lead {
		font-size: 16px;
		line-height: 1.7;
	}

	body.page-id-453 .tbc-member-notice {
		font-size: 13px;
		margin-bottom: 28px;
		padding: 15px 16px;
	}

	body.page-id-453 .tbc-member-section > h2 {
		font-size: 20px;
		margin-top: 30px;
	}

	body.page-id-453 #child .tbc-member-source-key {
		font-size: 10px;
		margin-top: 0;
	}

	body.page-id-453 .tbc-member-heading-break {
		display: block;
	}

	body.page-id-453 #page-top {
		display: none !important;
	}

	body.page-id-453 .tbc-member-list-card {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		padding: 12px 13px;
		row-gap: 5px;
	}

	body.page-id-453 .tbc-member-list-card .tbc-member-meta {
		font-size: 11px;
		grid-column: 1;
		grid-row: 1;
		line-height: 1.5;
	}

	body.page-id-453 .tbc-member-list-card h2 {
		font-size: 15.5px;
		grid-column: 1;
		grid-row: 2;
		line-height: 1.45;
	}

	body.page-id-453 .tbc-member-list-card > p:not(.tbc-member-meta):not(:has(.tbc-member-button)) {
		display: none;
	}

	body.page-id-453 .tbc-member-list-card > p:has(.tbc-member-button) {
		grid-column: 1;
		grid-row: 3;
		justify-self: start;
	}

	body.page-id-453 #child .tbc-member-list-card .tbc-member-button {
		font-size: 11px;
		min-height: 42px;
		padding: 4px 10px;
	}
}

/* Keep the v2 lounge canvas above the earlier member-home layout layer. */
body.page-id-452.tbc-member-area #contents {
	max-width: none;
	padding: 28px 32px 82px;
}

body.page-id-452.tbc-member-area #child {
	margin: 0 auto;
	max-width: 1180px;
}

body.page-id-452.tbc-member-area .tbc-member-home-shell {
	padding: 0;
}

@media screen and (max-width: 900px) {
	body.page-id-452.tbc-member-area #contents {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 640px) {
	body.page-id-452.tbc-member-area #contents {
		padding: 18px 16px 58px;
	}
}

/*
 * Member destination navy canvas.
 * Match the four member-home entrances to the lounge palette while keeping
 * the article cards, session cards, topic cards and advisor form light for
 * long-form readability.
 */
body.page-id-453,
body.page-id-454,
body.page-id-455,
body.page-id-827 {
	background: #081b30;
}

body.page-id-453.tbc-member-area #contents,
body.page-id-454.tbc-member-area #contents,
body.page-id-455.tbc-member-area #contents,
body.page-id-827.tbc-member-area #contents {
	background: linear-gradient(180deg, #102a47 0%, #081b30 34%, #071525 100%);
	color: #f6f8fb;
	max-width: none;
	padding: 28px 32px 82px;
	width: 100%;
}

body.page-id-453.tbc-member-area #child,
body.page-id-454.tbc-member-area #child,
body.page-id-455.tbc-member-area #child,
body.page-id-827.tbc-member-area #child {
	margin: 0 auto;
	max-width: 1180px;
	width: 100%;
}

body.page-id-453 #breadcrumb,
body.page-id-454 #breadcrumb,
body.page-id-455 #breadcrumb,
body.page-id-827 #breadcrumb {
	color: #9fb0c5;
	margin-bottom: 20px;
}

body.page-id-453 #breadcrumb a,
body.page-id-453 #breadcrumb li,
body.page-id-454 #breadcrumb a,
body.page-id-454 #breadcrumb li,
body.page-id-455 #breadcrumb a,
body.page-id-455 #breadcrumb li,
body.page-id-827 #breadcrumb a,
body.page-id-827 #breadcrumb li {
	color: #becada;
}

body.page-id-453 #breadcrumb a:hover,
body.page-id-453 #breadcrumb a:focus,
body.page-id-454 #breadcrumb a:hover,
body.page-id-454 #breadcrumb a:focus,
body.page-id-455 #breadcrumb a:hover,
body.page-id-455 #breadcrumb a:focus,
body.page-id-827 #breadcrumb a:hover,
body.page-id-827 #breadcrumb a:focus {
	color: #fff;
}

body.page-id-453.tbc-member-area .pt-post-box,
body.page-id-454.tbc-member-area .pt-post-box,
body.page-id-455.tbc-member-area .pt-post-box,
body.page-id-827.tbc-member-area .pt-post-box {
	background: transparent;
	box-shadow: none;
	color: #f6f8fb;
	padding: 34px 40px 64px;
}

body.page-id-453.tbc-member-area .pt-post-header,
body.page-id-454.tbc-member-area .pt-post-header,
body.page-id-455.tbc-member-area .pt-post-header,
body.page-id-827.tbc-member-area .pt-post-header {
	border-bottom-color: rgba(255, 255, 255, 0.2);
}

body.page-id-453.tbc-member-area .pt-post-title,
body.page-id-454.tbc-member-area .pt-post-title,
body.page-id-455.tbc-member-area .pt-post-title,
body.page-id-827.tbc-member-area .pt-post-title,
body.page-id-453 .tbc-member-section > h2,
body.page-id-454 .tbc-member-section > h2,
body.page-id-455 .tbc-member-section > h2,
body.page-id-827 .tbc-member-section > h2 {
	color: #f6f8fb;
}

body.page-id-453 .tbc-member-section > .tbc-member-lead,
body.page-id-454 .tbc-member-section > .tbc-member-lead,
body.page-id-455 .tbc-member-section > .tbc-member-lead,
body.page-id-827 .tbc-member-section > .tbc-member-lead,
body.page-id-453 .tbc-member-section > .tbc-member-advisor-intro,
body.page-id-454 .tbc-member-section > .tbc-member-advisor-intro,
body.page-id-455 .tbc-member-section > .tbc-member-advisor-intro,
body.page-id-827 .tbc-member-section > .tbc-member-advisor-intro {
	color: #dce5ef;
}

body.page-id-453 .tbc-member-section > h2,
body.page-id-453 #child .tbc-member-source-key {
	border-bottom-color: rgba(255, 255, 255, 0.24);
}

body.page-id-453 #child .tbc-member-source-key {
	color: #becada;
}

body.page-id-453 .tbc-member-topic-nav,
body.page-id-454 .tbc-member-topic-nav,
body.page-id-455 .tbc-member-topic-nav,
body.page-id-827 .tbc-member-topic-nav {
	border-top-color: rgba(255, 255, 255, 0.2);
}

body.page-id-453 #child .tbc-member-topic-nav a,
body.page-id-454 #child .tbc-member-topic-nav a,
body.page-id-455 #child .tbc-member-topic-nav a,
body.page-id-827 #child .tbc-member-topic-nav a {
	color: #dce5ef !important;
}

body.page-id-453 #child .tbc-member-topic-nav a:hover,
body.page-id-453 #child .tbc-member-topic-nav a:focus,
body.page-id-454 #child .tbc-member-topic-nav a:hover,
body.page-id-454 #child .tbc-member-topic-nav a:focus,
body.page-id-455 #child .tbc-member-topic-nav a:hover,
body.page-id-455 #child .tbc-member-topic-nav a:focus,
body.page-id-827 #child .tbc-member-topic-nav a:hover,
body.page-id-827 #child .tbc-member-topic-nav a:focus {
	color: #fff !important;
}

@media screen and (max-width: 900px) {
	body.page-id-453.tbc-member-area #contents,
	body.page-id-454.tbc-member-area #contents,
	body.page-id-455.tbc-member-area #contents,
	body.page-id-827.tbc-member-area #contents {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.page-id-453.tbc-member-area .pt-post-box,
	body.page-id-454.tbc-member-area .pt-post-box,
	body.page-id-455.tbc-member-area .pt-post-box,
	body.page-id-827.tbc-member-area .pt-post-box {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 640px) {
	body.page-id-453.tbc-member-area #contents,
	body.page-id-454.tbc-member-area #contents,
	body.page-id-455.tbc-member-area #contents,
	body.page-id-827.tbc-member-area #contents {
		padding: 18px 16px 58px;
	}

	body.page-id-453.tbc-member-area .pt-post-box,
	body.page-id-454.tbc-member-area .pt-post-box,
	body.page-id-455.tbc-member-area .pt-post-box,
	body.page-id-827.tbc-member-area .pt-post-box {
		padding: 22px 0 40px;
	}
}

/*
 * HBR / MIT SMR member index: dark reading cards.
 * Keep this visual treatment on page 453 only; the other three member
 * destinations retain their light functional cards.
 */
body.page-id-453 .tbc-member-hbr-index > .tbc-member-notice {
	display: none !important;
}

body.page-id-453 .tbc-member-hbr-index > .tbc-member-lead {
	display: none !important;
}

body.page-id-453 .tbc-member-hbr-index > .tbc-member-notice + p:empty {
	display: none;
}

body.page-id-453 .tbc-member-list-card {
	background: linear-gradient(135deg, #1b486f 0%, #123654 100%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 3px solid rgba(224, 195, 137, 0.72);
	box-shadow: 0 9px 25px rgba(0, 0, 0, 0.16);
	margin-bottom: 9px;
	transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.page-id-453 .tbc-member-list-card:hover,
body.page-id-453 .tbc-member-list-card:focus-within {
	background: linear-gradient(135deg, #225982 0%, #174265 100%);
	border-color: rgba(224, 195, 137, 0.5);
	border-left-color: #e0c389;
	box-shadow: 0 11px 28px rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

body.page-id-453 .tbc-member-list-card .tbc-member-meta {
	color: #e0c389;
}

body.page-id-453 .tbc-member-list-card h2,
body.page-id-453 #child .tbc-member-list-card h2 a {
	color: #f6f8fb;
}

body.page-id-453 .tbc-member-list-card > p:not(.tbc-member-meta):not(:has(.tbc-member-button)) {
	color: #c6d2df;
}

body.page-id-453 #child .tbc-member-list-card .tbc-member-button {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.38);
	color: #f6f8fb !important;
}

body.page-id-453 #child .tbc-member-list-card .tbc-member-button:hover,
body.page-id-453 #child .tbc-member-list-card .tbc-member-button:focus {
	background: #e0c389;
	border-color: #e0c389;
	color: #081b30 !important;
}

body.page-id-453 #child .tbc-member-list-card .tbc-member-button:focus-visible {
	box-shadow: 0 0 0 3px rgba(224, 195, 137, 0.3);
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/*
 * Practical-knowledge map: carry the same navy-card language into page 455.
 * The session guide remains visible, while every former white panel becomes
 * part of the member lounge palette.
 */
body.page-id-455 .tbc-session-map > .tbc-member-notice {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #dce5ef;
	margin: 0 0 16px;
	padding: 0;
}

body.page-id-455 .tbc-session-map > .tbc-member-lead {
	display: none !important;
}

body.page-id-455 .tbc-session-map > .tbc-member-notice strong {
	color: #f6f8fb;
}

body.page-id-455 #child .tbc-session-map-card {
	background: linear-gradient(135deg, #1b486f 0%, #123654 100%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 3px solid rgba(224, 195, 137, 0.72);
	box-shadow: 0 9px 25px rgba(0, 0, 0, 0.16);
	transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.page-id-455 #child .tbc-session-map-card:hover,
body.page-id-455 #child .tbc-session-map-card:focus-within {
	background: linear-gradient(135deg, #225982 0%, #174265 100%);
	border-color: rgba(224, 195, 137, 0.5);
	border-left-color: #e0c389;
	box-shadow: 0 11px 28px rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

body.page-id-455 .tbc-session-map-number {
	color: #e0c389;
}

body.page-id-455 .tbc-session-map-card h2,
body.page-id-455 .tbc-session-map-card h3 {
	color: #f6f8fb;
}

body.page-id-455 #child .tbc-session-map-chapters {
	background: rgba(8, 27, 48, 0.58);
	border-left-color: #e0c389;
}

body.page-id-455 #child .tbc-session-map-chapters li {
	color: #c6d2df;
}

body.page-id-455 #child .tbc-session-map-articles li {
	border-top-color: rgba(255, 255, 255, 0.13);
}

body.page-id-455 .tbc-session-map-articles span {
	background: rgba(8, 27, 48, 0.52);
	border-color: rgba(224, 195, 137, 0.5);
	color: #e0c389;
}

body.page-id-455 #child .tbc-session-map-articles a {
	color: #f6f8fb !important;
}

body.page-id-455 #child .tbc-session-map-articles a:hover,
body.page-id-455 #child .tbc-session-map-articles a:focus {
	color: #e0c389 !important;
}

body.page-id-455 .tbc-session-map-empty {
	background: rgba(8, 27, 48, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #c6d2df;
}

/*
 * Current-issues map: extend the member lounge palette to page 454.
 * Keep the short-answer structure, but remove every remaining white panel.
 */
body.page-id-454 .tbc-member-topics > .tbc-member-lead {
	display: none !important;
}

body.page-id-454 .tbc-member-topics > .tbc-member-notice {
	background: linear-gradient(135deg, #173f63 0%, #102f4d 100%);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-left: 3px solid #e0c389;
	box-shadow: 0 9px 25px rgba(0, 0, 0, 0.16);
	color: #dce5ef;
}

body.page-id-454 .tbc-member-topics > .tbc-member-notice strong {
	color: #f6f8fb;
}

body.page-id-454 #child .tbc-member-topic-card {
	background: linear-gradient(135deg, #1b486f 0%, #123654 100%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 3px solid rgba(224, 195, 137, 0.72);
	box-shadow: 0 9px 25px rgba(0, 0, 0, 0.16);
	transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.page-id-454 #child .tbc-member-topic-card:hover,
body.page-id-454 #child .tbc-member-topic-card:focus-within {
	background: linear-gradient(135deg, #225982 0%, #174265 100%);
	border-color: rgba(224, 195, 137, 0.5);
	border-left-color: #e0c389;
	box-shadow: 0 11px 28px rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

body.page-id-454 .tbc-member-topic-count {
	color: #e0c389;
}

body.page-id-454 .tbc-member-topic-card h2,
body.page-id-454 .tbc-member-question-item h3 {
	color: #f6f8fb;
}

body.page-id-454 .tbc-member-topic-question,
body.page-id-454 .tbc-member-question-answer {
	color: #c6d2df;
}

body.page-id-454 #child .tbc-member-question-item,
body.page-id-454 #child .tbc-member-topic-articles li {
	border-top-color: rgba(255, 255, 255, 0.13);
}

body.page-id-454 .tbc-member-type-badge {
	background: rgba(8, 27, 48, 0.52);
	border-color: rgba(224, 195, 137, 0.5);
	color: #e0c389;
}

body.page-id-454 .tbc-member-question-stage.is-primary {
	background: #e0c389;
	border-color: #e0c389;
	color: #081b30;
}

body.page-id-454 .tbc-member-question-stage.is-secondary {
	background: rgba(8, 27, 48, 0.46);
	border-color: rgba(255, 255, 255, 0.24);
	color: #dce5ef;
}

body.page-id-454 #child .tbc-member-question-link,
body.page-id-454 #child .tbc-member-topic-articles a {
	color: #e0c389 !important;
	text-decoration-color: rgba(224, 195, 137, 0.5);
}

body.page-id-454 #child .tbc-member-question-link:hover,
body.page-id-454 #child .tbc-member-question-link:focus,
body.page-id-454 #child .tbc-member-topic-articles a:hover,
body.page-id-454 #child .tbc-member-topic-articles a:focus {
	color: #fff !important;
	text-decoration-color: currentColor;
}

body.page-id-454 #child .tbc-member-topic-more.tbc-member-button {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.38);
	color: #f6f8fb !important;
}

body.page-id-454 #child .tbc-member-topic-more.tbc-member-button:hover,
body.page-id-454 #child .tbc-member-topic-more.tbc-member-button:focus {
	background: #e0c389;
	border-color: #e0c389;
	color: #081b30 !important;
}

/*
 * Article advisor: extend the navy lounge into the input and result states.
 * This layer changes presentation only; matching logic and membership rules
 * remain in the server-side advisor and the protected page definition.
 */
body.page-id-827 .tbc-member-advisor > .tbc-member-lead {
	display: none !important;
}

body.page-id-827 .tbc-member-advisor > .tbc-member-notice {
	display: none !important;
}

body.page-id-827 .tbc-member-advisor > .tbc-member-notice,
body.page-id-827 .tbc-member-advisor-form,
body.page-id-827 .tbc-member-advisor-result-card,
body.page-id-827 .tbc-member-panel.tbc-member-advisor-future {
	background: linear-gradient(135deg, #1b486f 0%, #123654 100%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 3px solid rgba(224, 195, 137, 0.78);
	box-shadow: 0 9px 25px rgba(0, 0, 0, 0.16);
	color: #dce5ef;
}

body.page-id-827 .tbc-member-advisor > .tbc-member-notice strong,
body.page-id-827 .tbc-member-advisor-form label,
body.page-id-827 .tbc-member-advisor-results > h2,
body.page-id-827 .tbc-member-advisor-result-card h3,
body.page-id-827 .tbc-member-advisor-position strong,
body.page-id-827 .tbc-member-panel.tbc-member-advisor-future h2 {
	color: #f6f8fb;
}

body.page-id-827 .tbc-member-advisor-help,
body.page-id-827 .tbc-member-advisor-privacy,
body.page-id-827 .tbc-member-advisor-status,
body.page-id-827 .tbc-member-advisor-caution,
body.page-id-827 .tbc-member-advisor-result-card li p,
body.page-id-827 .tbc-member-advisor-result-card > p,
body.page-id-827 .tbc-member-advisor-position,
body.page-id-827 .tbc-member-panel.tbc-member-advisor-future p {
	color: #c6d2df;
}

body.page-id-827 #child .tbc-member-advisor-form textarea {
	background: rgba(8, 27, 48, 0.72);
	border-color: rgba(255, 255, 255, 0.26);
	caret-color: #e0c389;
	color: #f6f8fb;
}

body.page-id-827 #child .tbc-member-advisor-form textarea::placeholder {
	color: #b7c6d5;
	opacity: 1;
}

body.page-id-827 #child .tbc-member-advisor-form textarea:focus {
	border-color: #e0c389;
	box-shadow: 0 0 0 3px rgba(224, 195, 137, 0.28);
	outline: 2px solid #e0c389;
	outline-offset: 2px;
}

body.page-id-827 .tbc-member-advisor-examples > span {
	color: #c6d2df;
}

body.page-id-827 #child .tbc-member-advisor-examples button {
	background: rgba(8, 27, 48, 0.52);
	border-color: rgba(224, 195, 137, 0.58);
	color: #f6f8fb;
	min-height: 44px;
}

body.page-id-827 #child .tbc-member-advisor-examples button:hover,
body.page-id-827 #child .tbc-member-advisor-examples button:focus {
	background: #e0c389;
	border-color: #e0c389;
	color: #081b30;
}

body.page-id-827 .tbc-member-advisor-privacy {
	background: rgba(8, 27, 48, 0.4);
	border-left-color: #e0c389;
	padding: 12px 14px;
}

body.page-id-827 #child .tbc-member-advisor-consent {
	align-items: flex-start;
	background: rgba(8, 27, 48, 0.34);
	border: 1px solid rgba(255, 255, 255, 0.13);
	color: #dce5ef;
	cursor: pointer;
	display: flex;
	font-size: 13px;
	font-weight: 500;
	gap: 10px;
	line-height: 1.7;
	margin: 13px 0 18px;
	padding: 12px 14px;
}

body.page-id-827 #child .tbc-member-advisor-consent input {
	accent-color: #e0c389;
	flex: 0 0 auto;
	height: 18px;
	margin: 3px 0 0;
	width: 18px;
}

body.page-id-827 #child .tbc-member-advisor-submit {
	background: #e0c389;
	border-color: #e0c389;
	color: #081b30 !important;
}

body.page-id-827 #child .tbc-member-advisor-submit:hover,
body.page-id-827 #child .tbc-member-advisor-submit:focus {
	background: #f6f8fb;
	border-color: #f6f8fb;
	color: #081b30 !important;
}

body.page-id-827 #child .tbc-member-advisor-submit:focus-visible,
body.page-id-827 #child .tbc-member-advisor-examples button:focus-visible {
	box-shadow: 0 0 0 3px rgba(224, 195, 137, 0.3);
	outline: 2px solid #fff;
	outline-offset: 2px;
}

body.page-id-827 .tbc-member-advisor-results {
	border-top-color: #e0c389;
}

body.page-id-827 .tbc-member-advisor-result-card.is-primary {
	background: linear-gradient(135deg, #225982 0%, #174265 100%);
	border-color: rgba(224, 195, 137, 0.62);
	border-left-color: #e0c389;
}

body.page-id-827 .tbc-member-advisor-result-card li + li {
	border-top-color: rgba(255, 255, 255, 0.13);
}

body.page-id-827 #child .tbc-member-advisor-result-card li > a,
body.page-id-827 #child .tbc-member-advisor-result-card > a,
body.page-id-827 #child .tbc-member-advisor-result-card p > a {
	color: #e0c389 !important;
}

body.page-id-827 #child .tbc-member-advisor-result-card li > a:hover,
body.page-id-827 #child .tbc-member-advisor-result-card li > a:focus,
body.page-id-827 #child .tbc-member-advisor-result-card > a:hover,
body.page-id-827 #child .tbc-member-advisor-result-card > a:focus,
body.page-id-827 #child .tbc-member-advisor-result-card p > a:hover,
body.page-id-827 #child .tbc-member-advisor-result-card p > a:focus {
	color: #fff !important;
}

body.page-id-827 .tbc-member-advisor-result-theme,
body.page-id-827 .tbc-member-advisor .tbc-member-eyebrow {
	color: #e0c389;
}

body.page-id-827 .tbc-member-advisor-position {
	background: rgba(8, 27, 48, 0.58);
	border-left-color: #e0c389;
}

body.page-id-827 .tbc-member-advisor-source:not([hidden]) {
	background: rgba(8, 27, 48, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #c6d2df;
	padding: 18px 21px;
}

/*
 * Advisor guidance: keep the answer close to its heading, indent only the
 * answer, and reserve the consultation note for cases that actually need it.
 */
body.page-id-827 .tbc-member-advisor-guidance {
	background: rgba(8, 27, 48, 0.58);
	border-left: 4px solid #e0c389;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
	margin: 28px 0 0;
	padding: 25px 32px 27px;
}

body.page-id-827 .tbc-member-advisor-guidance .tbc-member-advisor-position {
	background: transparent;
	border: 0;
	color: #dce5ef;
	padding: 0;
}

body.page-id-827 .tbc-member-advisor-guidance .tbc-member-advisor-position + .tbc-member-advisor-position {
	border-top: 1px solid rgba(224, 195, 137, 0.3);
	margin-top: 21px;
	padding-top: 21px;
}

body.page-id-827 #child .tbc-member-advisor-position h3 {
	color: #e0c389;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.55;
	margin: 0;
}

body.page-id-827 #child .tbc-member-advisor-position p {
	color: #dce5ef;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.9;
	margin: 7px 0 0 1.25rem !important;
	max-width: 82rem;
}

body.page-id-827 .tbc-member-advisor-consultation {
	align-items: baseline;
	background: rgba(27, 72, 111, 0.46);
	border-top: 1px solid rgba(224, 195, 137, 0.52);
	column-gap: 15px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	margin: 15px 0 0;
	padding: 13px 18px 14px;
}

body.page-id-827 .tbc-member-advisor-consultation[hidden] {
	display: none !important;
}

body.page-id-827 .tbc-member-advisor-consultation strong {
	color: #e0c389;
	font-size: 13px;
	white-space: nowrap;
}

body.page-id-827 #child .tbc-member-advisor-consultation p {
	color: #cbd7e3;
	font-size: 13px;
	line-height: 1.75;
	margin: 0 !important;
}

/* Public article index: choose a category or a year before displaying posts. */
.tbc-public-filter {
	margin: 0 0 22px;
}

.tbc-public-filter-mode {
	border: 1px solid #173a60;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto 18px;
	max-width: 520px;
}

#top .tbc-public-filter-mode__link {
	align-items: center;
	background: #fff;
	color: #173a60;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 600;
	justify-content: center;
	line-height: 1.4;
	min-height: 48px;
	padding: 10px 16px;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#top .tbc-public-filter-mode__link + .tbc-public-filter-mode__link {
	border-left: 1px solid #173a60;
}

#top .tbc-public-filter-mode__link:hover,
#top .tbc-public-filter-mode__link:focus-visible {
	background: #eaf0f5;
	color: #102f51;
}

#top .tbc-public-filter-mode__link.is-active {
	background: #173a60;
	color: #fff;
}

.tbc-public-year-nav {
	border-bottom: 1px solid #d9dde3;
	border-top: 1px solid #d9dde3;
	margin: 0;
	overflow: hidden;
	padding: 10px 0;
}

.tbc-public-year-nav__scroll {
	display: flex;
	gap: clamp(6px, 1.3vw, 18px);
	justify-content: center;
	min-width: max-content;
}

#top .tbc-public-year-nav__link {
	border-bottom: 2px solid transparent;
	color: #5c6470;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	padding: 10px 8px 9px;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

#top .tbc-public-year-nav__link:hover,
#top .tbc-public-year-nav__link:focus {
	border-bottom-color: #7f96ad;
	color: #173a60;
}

#top .tbc-public-year-nav__link.is-active {
	border-bottom-color: #173a60;
	color: #173a60;
	font-weight: 700;
}

.tbc-public-category-nav {
	border-bottom: 1px solid #d9dde3;
	border-top: 1px solid #d9dde3;
	column-gap: clamp(2px, 0.6vw, 10px);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 8px 0;
	row-gap: 2px;
}

#top .tbc-public-category-nav__link {
	background: transparent;
	border-bottom: 2px solid transparent;
	color: #5c6470;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	padding: 8px clamp(7px, 0.8vw, 14px) 7px;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

#top .tbc-public-category-nav__link:hover,
#top .tbc-public-category-nav__link:focus-visible {
	border-bottom-color: #7f96ad;
	color: #173a60;
}

#top .tbc-public-category-nav__link.is-active {
	border-bottom-color: #173a60;
	color: #173a60;
	font-weight: 700;
}

.tbc-public-year-posts {
	margin-top: 0;
}

.tbc-public-year-empty {
	border-bottom: 1px solid #d9dde3;
	border-top: 1px solid #d9dde3;
	color: #68717c;
	font-size: 16px;
	padding: 42px 20px;
	text-align: center;
}

.tbc-public-year-empty p {
	margin: 0;
}

@media screen and (max-width: 900px) {
	#top .tbc-public-category-nav__link {
		font-size: 13.5px;
		padding-left: 9px;
		padding-right: 9px;
	}
}

@media screen and (max-width: 640px) {
	.tbc-public-filter-mode {
		margin-bottom: 14px;
		max-width: none;
	}

	#top .tbc-public-filter-mode__link {
		font-size: 14px;
		min-height: 46px;
		padding-left: 8px;
		padding-right: 8px;
	}

	.tbc-public-year-nav {
		margin-left: -15px;
		margin-right: -15px;
		overflow-x: auto;
		padding-left: 15px;
		padding-right: 15px;
		-webkit-overflow-scrolling: touch;
	}

	.tbc-public-year-nav__scroll {
		gap: 3px;
		justify-content: flex-start;
		scroll-snap-type: x proximity;
	}

	#top .tbc-public-year-nav__link {
		font-size: 14px;
		padding-left: 10px;
		padding-right: 10px;
		scroll-snap-align: start;
	}

	.tbc-public-category-nav {
		column-gap: 0;
		padding-bottom: 8px;
		padding-top: 8px;
		row-gap: 0;
	}

	#top .tbc-public-category-nav__link {
		font-size: 13px;
		padding: 7px 8px 6px;
	}

	body.page-id-827 .tbc-member-advisor-guidance {
		padding: 22px 20px 24px;
	}

	body.page-id-827 #child .tbc-member-advisor-position p {
		font-size: 15px;
		margin-left: 0.75rem !important;
	}

	body.page-id-827 .tbc-member-advisor-consultation {
		align-items: start;
		grid-template-columns: 1fr;
		row-gap: 5px;
	}
}

/* Spreadsheet-managed public articles. */
.single-post .tbc-public-key-points {
	background: #f5f7f9;
	border-left: 3px solid #294f7f;
	box-sizing: border-box;
	margin: 22px 0 26px;
	padding: 18px 24px 18px 46px;
}

.single-post .tbc-public-key-points li {
	line-height: 1.85;
	margin: 0 0 7px;
}

.single-post .tbc-public-key-points li:last-child {
	margin-bottom: 0;
}

.single-post .tbc-public-editorial-note {
	border-top: 1px solid #d9dde3;
	color: #6b7280;
	font-size: 13px;
	line-height: 1.8;
	margin-top: 34px;
	padding-top: 18px;
}

/*
 * Unified member experience (2026-11-01).
 * Public pages keep their white canvas. Protected destinations and articles
 * use one navy library palette, white reading text and restrained ochre cues.
 */
body.tbc-member-area {
	--tbc-member-canvas: #081b30;
	--tbc-member-panel: #123654;
	--tbc-member-panel-light: #1b486f;
	--tbc-member-text: #f6f8fb;
	--tbc-member-muted: #c6d2df;
	--tbc-member-gold: #e0c389;
	--tbc-member-line: rgba(255, 255, 255, 0.17);
}

.tbc-member-subnav {
	align-items: center;
	background: transparent;
	border: 0;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 0 0 28px;
	padding: 0;
}

.tbc-member-subnav__primary,
.tbc-member-subnav__utility {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}

body.tbc-member-area #child .tbc-member-subnav a {
	border-bottom: 2px solid transparent;
	color: var(--tbc-member-muted) !important;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: 0.025em;
	padding: 4px 0 3px;
	text-decoration: none;
}

body.tbc-member-area #child .tbc-member-subnav a:hover,
body.tbc-member-area #child .tbc-member-subnav a:focus,
body.tbc-member-area #child .tbc-member-subnav a[aria-current="page"] {
	border-bottom-color: var(--tbc-member-gold);
	color: var(--tbc-member-text) !important;
}

.tbc-member-subnav__utility {
	border-left: 0;
	flex: 0 0 auto;
	padding-left: 0;
}

.tbc-member-learning-position {
	align-items: center;
	background: rgba(7, 21, 37, 0.54);
	border-left: 3px solid var(--tbc-member-gold);
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin: -12px 0 34px;
	padding: 13px 16px;
}

.tbc-member-learning-position > strong {
	color: var(--tbc-member-muted);
	font-size: 11px;
	letter-spacing: 0.05em;
}

.tbc-member-learning-position__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.tbc-member-learning-position__badges > span {
	background: rgba(224, 195, 137, 0.12);
	border: 1px solid rgba(224, 195, 137, 0.42);
	color: var(--tbc-member-gold);
	font-size: 10px;
	font-weight: 700;
	padding: 4px 7px;
}

/* The final reading pages now belong visually to the same member library. */
body.tbc-member-article-page {
	background: var(--tbc-member-canvas);
	color: var(--tbc-member-text);
}

body.tbc-member-article-page #contents {
	background: linear-gradient(180deg, #102a47 0%, #081b30 34%, #071525 100%);
	color: var(--tbc-member-text);
	max-width: none;
	padding: 28px 32px 82px;
	width: 100%;
}

body.tbc-member-article-page #child {
	margin: 0 auto;
	max-width: 1040px;
	width: 100%;
}

body.tbc-member-article-page #breadcrumb {
	color: #9fb0c5;
	margin-bottom: 20px;
}

body.tbc-member-article-page #breadcrumb a,
body.tbc-member-article-page #breadcrumb li {
	color: #becada;
}

body.tbc-member-article-page #breadcrumb a:hover,
body.tbc-member-article-page #breadcrumb a:focus {
	color: #fff;
}

body.tbc-member-article-page .pt-post-box {
	background: transparent;
	box-shadow: none;
	color: var(--tbc-member-text);
	padding: 34px 40px 64px;
}

body.tbc-member-article-page .pt-post-header {
	border-bottom-color: var(--tbc-member-line);
}

body.tbc-member-article-page .pt-post-title {
	color: var(--tbc-member-text);
	font-family: inherit;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.45;
}

body.tbc-member-article-page .tbc-member-article {
	color: var(--tbc-member-text);
	font-size: 17px;
	line-height: 1.95;
	margin: 0 auto;
	max-width: 860px;
}

body.tbc-member-article-page .tbc-member-article p,
body.tbc-member-article-page .tbc-member-article li,
body.tbc-member-article-page .tbc-member-article dd {
	color: var(--tbc-member-text);
}

body.tbc-member-article-page .tbc-member-article .tbc-member-meta {
	color: var(--tbc-member-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.7;
}

body.tbc-member-article-page .tbc-member-article > .tbc-member-meta:first-child {
	display: none;
}

body.tbc-member-article-page .tbc-member-subnav {
	margin-bottom: 18px;
}

body.tbc-member-article-page .pt-post-box {
	padding-top: 18px;
}

body.tbc-member-article-page .tbc-member-article-header--compact {
	border-bottom: 1px solid var(--tbc-member-line);
	padding-bottom: 12px;
}

body.tbc-member-article-page .tbc-member-article-header-meta {
	color: var(--tbc-member-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.7;
	margin: 18px 0 0;
	text-align: right;
	white-space: normal;
}

body.tbc-member-article-page .tbc-member-series-pager {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	text-align: initial;
}

body.tbc-member-article-page .tbc-member-series-pager__slot {
	align-items: center;
	display: flex;
	min-height: 44px;
}

body.tbc-member-article-page .tbc-member-series-pager__slot--previous {
	justify-content: flex-start;
}

body.tbc-member-article-page .tbc-member-series-pager__slot--next {
	justify-content: flex-end;
}

body.tbc-member-article-page .tbc-member-series-pager__meta {
	min-width: 0;
	text-align: right;
}

body.tbc-member-article-page #child .tbc-member-series-pager__link {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--tbc-member-gold) !important;
	display: inline-flex;
	font-size: 18px;
	height: 44px;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	width: 44px;
}

body.tbc-member-article-page #child .tbc-member-series-pager__link:hover,
body.tbc-member-article-page #child .tbc-member-series-pager__link:focus {
	color: #fff !important;
}

body.tbc-member-article-page #child .tbc-member-series-pager__link:focus-visible {
	outline: 3px solid var(--tbc-member-gold);
	outline-offset: 2px;
}

body.tbc-member-article-page .tbc-member-article .tbc-member-lead {
	background: rgba(27, 72, 111, 0.58);
	border-left: 3px solid var(--tbc-member-gold);
	color: var(--tbc-member-text);
	font-size: 18px;
	line-height: 1.9;
	margin: 28px 0 38px;
	padding: 22px 24px;
}

body.tbc-member-article-page .tbc-member-article > section,
body.tbc-member-article-page .tbc-sheet-n-source > section {
	border-top: 1px solid var(--tbc-member-line);
	margin-top: 38px;
	padding-top: 31px;
}

body.tbc-member-article-page .tbc-member-article h2,
body.tbc-member-article-page .tbc-member-article h3 {
	color: var(--tbc-member-gold);
	font-family: inherit;
}

body.tbc-member-article-page .tbc-member-article h2 {
	font-size: clamp(22px, 2.5vw, 27px);
	line-height: 1.6;
}

body.tbc-member-article-page .tbc-member-article h3 {
	font-size: 19px;
}

body.tbc-member-article-page .tbc-member-article strong {
	color: #fff;
}

body.tbc-member-article-page #child .tbc-member-article a:not(.tbc-member-button) {
	color: var(--tbc-member-gold) !important;
	text-decoration-color: rgba(224, 195, 137, 0.55);
	text-underline-offset: 0.2em;
}

body.tbc-member-article-page #child .tbc-member-article a:not(.tbc-member-button):hover,
body.tbc-member-article-page #child .tbc-member-article a:not(.tbc-member-button):focus {
	color: #fff !important;
	text-decoration-color: currentColor;
}

body.tbc-member-article-page .tbc-member-article li::marker {
	color: var(--tbc-member-gold);
}

body.tbc-member-article-page .tbc-member-panel,
body.tbc-member-article-page .tbc-member-article blockquote {
	background: linear-gradient(135deg, rgba(27, 72, 111, 0.88), rgba(18, 54, 84, 0.88));
	border: 1px solid var(--tbc-member-line);
	border-left: 3px solid var(--tbc-member-gold);
	color: var(--tbc-member-text);
	padding: 24px 26px;
}

body.tbc-member-article-page .tbc-member-article table {
	border-color: var(--tbc-member-line);
	color: var(--tbc-member-text);
}

body.tbc-member-article-page .tbc-member-article th,
body.tbc-member-article-page .tbc-member-article td {
	border-color: var(--tbc-member-line);
}

body.tbc-member-article-page .tbc-member-article th {
	background: rgba(27, 72, 111, 0.7);
	color: var(--tbc-member-gold);
}

body.tbc-member-article-page #child .tbc-member-button {
	background: var(--tbc-member-gold);
	border-color: var(--tbc-member-gold);
	color: var(--tbc-member-canvas) !important;
}

body.tbc-member-article-page #child .tbc-member-button:hover,
body.tbc-member-article-page #child .tbc-member-button:focus {
	background: #f0d9a5;
	border-color: #f0d9a5;
}

body.tbc-member-article-page .tbc-member-back {
	border-top-color: var(--tbc-member-line);
}

body.tbc-member-article-bucho-practical .tbc-member-article > .tbc-member-back,
body.tbc-member-article-human-ai-organization .tbc-member-article > .tbc-member-back {
	display: none;
}

body.tbc-member-article-page .tbc-member-series-footer-pager {
	align-items: center;
	border-top: 1px solid var(--tbc-member-line);
	display: flex;
	justify-content: space-between;
	margin: 42px auto 0;
	max-width: 860px;
	padding-top: 14px;
	width: 100%;
}

body.tbc-member-article-page .tbc-member-series-footer-pager__start,
body.tbc-member-article-page .tbc-member-series-footer-pager__end {
	align-items: center;
	display: flex;
}

body.tbc-member-article-page .tbc-member-series-footer-pager__start {
	flex: 0 1 auto;
	gap: 8px;
	min-width: 0;
}

body.tbc-member-article-page .tbc-member-series-footer-pager__end {
	flex: 0 0 44px;
	justify-content: flex-end;
	min-height: 44px;
}

body.tbc-member-article-page #child .tbc-member-series-footer-pager__back {
	color: var(--tbc-member-gold) !important;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.6;
	text-decoration: none;
}

body.tbc-member-article-page #child .tbc-member-series-footer-pager__back:hover,
body.tbc-member-article-page #child .tbc-member-series-footer-pager__back:focus {
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body.tbc-member-article-page #child .tbc-member-series-footer-pager__back:focus-visible {
	outline: 3px solid var(--tbc-member-gold);
	outline-offset: 3px;
}

/* Reader-facing source filter; this is not a WordPress tag taxonomy. */
.tbc-member-series-filter {
	background: transparent;
	border: 0;
	margin: 18px 0 25px;
	padding: 0;
}

.tbc-member-series-filter__label {
	color: var(--tbc-member-text);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 12px;
}

.tbc-member-series-filter__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 20px;
}

body.page-id-455 #child .tbc-member-series-filter button {
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	color: var(--tbc-member-muted);
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	min-height: 32px;
	padding: 4px 0 3px;
}

body.page-id-455 #child .tbc-member-series-filter button:hover,
body.page-id-455 #child .tbc-member-series-filter button:focus,
body.page-id-455 #child .tbc-member-series-filter button.is-active {
	background: transparent;
	border-bottom-color: var(--tbc-member-gold);
	color: var(--tbc-member-gold);
}

body.page-id-455 #child .tbc-member-series-filter button:focus-visible {
	box-shadow: none;
	outline: 2px solid var(--tbc-member-gold);
	outline-offset: 2px;
}

.tbc-member-series-filter__status {
	color: var(--tbc-member-muted);
	font-size: 11px;
	margin: 11px 0 0;
}

body.page-id-455 .tbc-session-map-card[hidden],
body.page-id-455 .tbc-session-map-articles > li[hidden] {
	display: none !important;
}

body.page-id-455 .tbc-session-map-grid {
	align-items: start;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 24px 0;
}

body.page-id-455 #child .tbc-session-map-card {
	align-content: start;
	column-gap: 14px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 20px 22px 22px;
}

body.page-id-455 .tbc-session-map-card .tbc-session-map-number {
	align-self: center;
	margin: 0;
}

body.page-id-455 .tbc-session-map-card h2 {
	align-self: center;
	font-size: 21px;
	margin: 0;
}

body.page-id-455 #child .tbc-session-map-chapters {
	background: transparent;
	border: 0;
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr);
	margin: 13px 0 15px;
	padding: 0;
	row-gap: 4px;
}

body.page-id-455 #child .tbc-session-map-chapters li {
	display: block;
	font-size: 11px;
	line-height: 1.5;
	padding: 1px 0;
	width: 100%;
}

body.page-id-455 .tbc-session-map-card h3 {
	grid-column: 1 / -1;
	margin: 0 0 5px;
}

body.page-id-455 #child .tbc-session-map-articles {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr);
}

body.page-id-455 #child .tbc-session-map-articles li {
	align-items: center;
	column-gap: 9px;
	grid-template-columns: 92px minmax(0, 1fr);
	min-width: 0;
	padding: 9px 0;
}

body.page-id-455 #child .tbc-session-map-articles li > p:empty,
body.page-id-455 .tbc-session-map-source-badges > br {
	display: none !important;
}

body.page-id-455 .tbc-session-map-articles > li > .tbc-session-map-topic {
	background: transparent;
	border: 0;
	color: var(--tbc-member-gold);
	justify-content: flex-start;
	padding: 0;
	text-align: left;
}

.tbc-session-map-article-copy {
	align-items: center;
	display: grid;
	gap: 5px 9px;
	grid-template-columns: minmax(0, 1fr) auto;
	min-width: 0;
}

body.page-id-455 .tbc-session-map-article-copy > a {
	grid-column: 1;
	grid-row: 1;
	line-height: 1.5;
}

body.page-id-455 .tbc-session-map-articles .tbc-session-map-source-badges {
	background: transparent;
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	grid-column: 2;
	grid-row: 1;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

body.page-id-455 .tbc-session-map-source-badges > span {
	background: transparent;
	border: 0;
	color: var(--tbc-member-gold);
	display: inline-flex;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.35;
	padding: 0;
}

body.page-id-455 .tbc-session-map-source-badges > .tbc-session-map-article-id {
	color: var(--tbc-member-muted);
	font-size: 8.5px;
	font-weight: 650;
	justify-content: flex-end;
	letter-spacing: 0.075em;
	width: 100%;
}

/* First-shared chronology for the HBR / MIT SMR library. */
.tbc-member-year-jump {
	align-items: center;
	background: rgba(7, 21, 37, 0.56);
	border: 1px solid var(--tbc-member-line);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 34px;
	padding: 14px 16px;
}

.tbc-member-year-jump > span {
	color: var(--tbc-member-muted);
	font-size: 11px;
	font-weight: 650;
	margin-right: 4px;
}

body.page-id-453 #child .tbc-member-year-jump a {
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--tbc-member-text) !important;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 10px;
	text-decoration: none;
}

body.page-id-453 #child .tbc-member-year-jump a:hover,
body.page-id-453 #child .tbc-member-year-jump a:focus {
	background: var(--tbc-member-gold);
	border-color: var(--tbc-member-gold);
	color: var(--tbc-member-canvas) !important;
}

.tbc-member-year-jump small {
	font-size: 9px;
	font-weight: 500;
	margin-left: 5px;
}

body.page-id-453 .tbc-member-year-heading {
	border-bottom: 1px solid rgba(224, 195, 137, 0.46);
	color: var(--tbc-member-gold);
	font-size: 24px;
	letter-spacing: 0.08em;
	margin: 42px 0 13px;
	padding: 0 0 8px;
	scroll-margin-top: 24px;
}

@media screen and (max-width: 900px) {
	body.tbc-member-article-page #contents {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.tbc-member-article-page .pt-post-box {
		padding-left: 20px;
		padding-right: 20px;
	}

	.tbc-member-subnav {
		align-items: flex-start;
		flex-direction: column;
	}

	.tbc-member-subnav__utility {
		border-left: 0;
		border-top: 0;
		padding-left: 0;
		padding-top: 4px;
		width: 100%;
	}

	body.page-id-455 .tbc-session-map-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.page-id-455 #child .tbc-session-map-articles {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 640px) {
	body.tbc-member-article-page .tbc-member-article-header-meta {
		font-size: 11px;
	}

	body.tbc-member-article-page .tbc-member-series-pager {
		gap: 6px;
		grid-template-columns: 36px minmax(0, 1fr) 36px;
	}

	body.tbc-member-article-page .tbc-member-series-pager__slot {
		min-height: 36px;
	}

	body.tbc-member-article-page #child .tbc-member-series-pager__link {
		font-size: 16px;
		height: 36px;
		width: 36px;
	}

	body.tbc-member-article-page .tbc-member-series-footer-pager {
		margin-top: 34px;
		padding-top: 12px;
	}

	body.tbc-member-article-page .tbc-member-series-footer-pager__start {
		gap: 4px;
	}

	body.tbc-member-article-page .tbc-member-series-footer-pager__end {
		flex-basis: 36px;
		min-height: 36px;
	}

	body.tbc-member-article-page #child .tbc-member-series-footer-pager__back {
		font-size: 12px;
		line-height: 1.5;
	}

	body.tbc-member-article-page #contents {
		padding: 18px 16px 58px;
	}

	body.tbc-member-article-page .pt-post-box {
		padding: 22px 0 40px;
	}

	body.tbc-member-article-page .tbc-member-article {
		font-size: 16px;
		line-height: 1.9;
	}

	body.tbc-member-article-page .tbc-member-article .tbc-member-lead {
		font-size: 16px;
		padding: 18px;
	}

	.tbc-member-subnav {
		margin-bottom: 24px;
		padding: 0;
	}

	.tbc-member-subnav__primary {
		column-gap: 13px;
		row-gap: 5px;
	}

	body.tbc-member-area #child .tbc-member-subnav a {
		font-size: 11px;
		min-height: 34px;
	}

	.tbc-member-series-filter {
		padding: 0;
	}

	body.page-id-455 #child .tbc-session-map-articles li {
		column-gap: 8px;
		grid-template-columns: 74px minmax(0, 1fr);
		padding: 8px 0;
	}

	body.page-id-455 #child .tbc-session-map-card {
		column-gap: 9px;
		padding: 17px 16px 18px;
	}

	body.page-id-455 .tbc-session-map-card h2 {
		font-size: 18px;
	}

	body.page-id-455 #child .tbc-session-map-chapters {
		margin: 11px 0 13px;
		padding: 0;
	}

	body.page-id-455 .tbc-session-map-article-copy {
		grid-template-columns: minmax(0, 1fr);
	}

	body.page-id-455 .tbc-session-map-source-badges {
		grid-column: 1;
		grid-row: 2;
		justify-content: flex-start;
	}

	body.page-id-455 .tbc-session-map-source-badges > .tbc-session-map-article-id {
		justify-content: flex-start;
	}

	.tbc-member-year-jump {
		align-items: stretch;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tbc-member-year-jump > span {
		grid-column: 1 / -1;
	}

	body.page-id-453 #child .tbc-member-year-jump a {
		text-align: center;
	}
}
