/*
Theme Name: Doctor Tanaka Newspaper Child
Theme URI: https://doctortanaka.com/
Description: Brand and layout refinements for Doctor Tanaka on the CMSMasters The Newspaper theme.
Author: Doctor Tanaka
Template: the-newspaper
Version: 1.3.0
Text Domain: doctor-tanaka-newspaper-child
*/

@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/lato-400-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/lato-700-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/playfair-display-600-700-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/playfair-display-600-700-latin.woff2") format("woff2");
}

:root {
	--dt-teal: #1BA89D;
	--dt-teal-a11y: #0F7F76;
	--dt-teal-a11y-hover: #0C6B63;
	--dt-teal-dark: #128C82;
	--dt-teal-tint: #E8F7F5;
	--dt-ink: #111111;
	--dt-text: #313131;
	--dt-text-soft: #585858;
	--dt-bg: #F5F6F7;
	--dt-surface: #FFFFFF;
	--dt-hairline: #E7E9EB;
	--dt-font-heading: "Playfair Display", Georgia, serif;
	--dt-font-body: "Lato", Arial, sans-serif;
}

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

#header .logo img {
	/* The live logo rule applies brightness(0) with !important. */
	filter: brightness(0) invert(1) !important;
}

@media (min-width: 1025px) {
	/*
	 * The live site emits #dt-single-line-header-css after theme styles with
	 * !important declarations. These matching declarations deliberately
	 * outspecify that inline block to restore the two-row brand header.
	 */
	html body #page #header {
		left: 50% !important;
		right: auto !important;
		width: 100vw !important;
		height: 192px !important;
		transform: translateX(-50%) !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.admin-bar #page #header {
		top: 32px !important;
	}

	html body #page #header .header_top {
		display: none !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_mid,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_outer,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner .header_mid_inner_cont {
		height: 126px !important;
		min-height: 126px !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_mid,
	html body.wp-theme-the-newspaper #page #header .header_mid.header_mid_scroll,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_outer,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner {
		left: 0 !important;
		width: 100% !important;
		max-width: none !important;
		padding-inline: 0 !important;
		transform: none !important;
		background: var(--dt-teal) !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner .header_mid_inner_cont {
		box-sizing: border-box !important;
		justify-content: center !important;
		width: min(calc(100% - 48px), 1280px) !important;
		margin-inline: auto !important;
		padding: 28px 24px !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner .header_mid_inner_cont .logo_wrap,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner .header_mid_inner_cont .logo {
		position: relative !important;
		inset: auto !important;
		width: 158px !important;
		height: 70px !important;
		margin: 0 !important;
		transform: none !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner .header_mid_inner_cont .logo_wrap .logo img,
	html body.wp-theme-the-newspaper #page #header .header_mid .header_mid_inner .header_mid_inner_cont .logo_wrap .logo img.logo_retina {
		width: 158px !important;
		height: 70px !important;
		max-height: 70px !important;
	}

	html body #page #header .header_bot,
	html body #page #header .header_bot.header_bot_scroll {
		inset: 126px 0 auto !important;
		width: 100% !important;
		height: 66px !important;
		background: var(--dt-surface) !important;
		border: 0 !important;
		border-bottom: 1px solid var(--dt-hairline) !important;
		box-shadow: none !important;
	}

	html body #page #header .header_bot_outer,
	html body #page #header .header_bot_inner,
	html body #page #header .header_bot_inner_cont {
		left: 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: 65px !important;
		min-height: 65px !important;
		transform: none !important;
		background: var(--dt-surface) !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body #page #header .header_bot_inner {
		padding-inline: 0 !important;
	}

	html body #page #header .header_bot_inner_cont {
		box-sizing: border-box !important;
		width: min(calc(100% - 48px), 1280px) !important;
		margin-inline: auto !important;
		padding: 0 24px !important;
	}

	html body #page #header .bot_nav_wrap {
		height: 65px !important;
		margin: 0 !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_bot .bot_nav_wrap ul#navigation {
		height: 65px !important;
		background: var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page #header .header_bot .bot_nav_wrap ul#navigation > li {
		height: 65px !important;
		margin-inline: 4px !important;
		border: 0 !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li > a {
		height: 44px !important;
		margin-block: 10px !important;
		padding: 0 12px !important;
		border: 0 !important;
		border-radius: 6px !important;
		background: transparent !important;
		color: var(--dt-text) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li > a:hover,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li > a:focus-visible {
		background: var(--dt-teal-tint) !important;
		color: var(--dt-ink) !important;
		box-shadow: inset 0 -2px 0 var(--dt-teal-a11y) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li.current-menu-item > a,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li.current_page_item > a {
		background: var(--dt-teal-a11y) !important;
		color: var(--dt-surface) !important;
	}

	html body #page #header .bot_search_but_wrap {
		width: 44px !important;
		height: 65px !important;
		margin: 0 !important;
	}

	html body #page #header .bot_search_but {
		width: 44px !important;
		height: 44px !important;
		margin: 10px 0 !important;
		border: 0 !important;
		color: var(--dt-text) !important;
	}

	html body #page #header .bot_search_but:hover,
	html body #page #header .bot_search_but:focus-visible {
		color: var(--dt-teal-a11y) !important;
	}

	html body #page #middle {
		padding-top: 208px !important;
	}
}

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

/*
 * The live #dt-editorial-footer-css block is emitted after theme styles and
 * uses !important. The higher-specificity declarations below are limited to
 * the verified footer wrappers and intentionally override that inline block.
 */
html body #page #footer {
	position: relative !important;
	left: 50% !important;
	width: 100vw !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateX(-50%) !important;
	background: var(--dt-ink) !important;
	color: var(--dt-surface) !important;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

/*
 * The custom footer stylesheet repeats its top rule after Additional CSS.
 * This verified body/page state adds only the specificity needed to remove it.
 */
html body.wp-theme-the-newspaper #page.site #footer {
	border-top-width: 0 !important;
	border-top-style: none !important;
}

html body.wp-theme-the-newspaper #page.site #footer .dt-editorial-footer {
	border-top-width: 0 !important;
	border-top-style: none !important;
}

html body.wp-theme-the-newspaper #page.site #footer .dt-footer-byline,
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-heading {
	color: var(--dt-surface) !important;
}

html body.wp-theme-the-newspaper #page.site #footer .dt-footer-connect a {
	border-bottom-color: color-mix(in srgb, var(--dt-surface) 8%, transparent) !important;
}

html body.wp-theme-the-newspaper #page.site #footer .dt-footer-nav a:hover,
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-nav a:focus-visible,
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-connect a:hover,
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-connect a:focus-visible,
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-legal a:hover,
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-legal a:focus-visible {
	color: var(--dt-surface) !important;
}

html body #page #footer .dt-editorial-footer {
	width: 100% !important;
	margin: 0 !important;
	background: var(--dt-ink) !important;
	color: var(--dt-surface) !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body #page #footer .dt-footer-shell {
	box-sizing: border-box !important;
	width: min(calc(100% - 48px), 1280px) !important;
	margin-inline: auto !important;
	padding: 58px 0 24px !important;
}

html body #page #footer .dt-footer-logo img {
	filter: brightness(0) invert(1) !important;
}

html body #page #footer .dt-footer-byline {
	color: var(--dt-surface) !important;
}

html body #page #footer .dt-footer-heading {
	color: var(--dt-surface) !important;
	font-family: var(--dt-font-heading) !important;
}

html body #page #footer .dt-footer-deck,
html body #page #footer .dt-footer-legal,
html body #page #footer .dt-footer-legal p {
	color: var(--dt-surface) !important;
	opacity: 0.76;
}

html body #page #footer .dt-footer-nav a,
html body #page #footer .dt-footer-connect a,
html body #page #footer .dt-footer-legal a {
	color: var(--dt-surface) !important;
	opacity: 0.78;
}

html body #page #footer .dt-footer-nav a:hover,
html body #page #footer .dt-footer-nav a:focus-visible,
html body #page #footer .dt-footer-connect a:hover,
html body #page #footer .dt-footer-connect a:focus-visible,
html body #page #footer .dt-footer-legal a:hover,
html body #page #footer .dt-footer-legal a:focus-visible {
	color: var(--dt-surface) !important;
	opacity: 1;
	text-decoration: underline;
	text-decoration-color: var(--dt-teal);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

html body #page #footer .dt-footer-lead,
html body #page #footer .dt-footer-legal {
	border: 0 !important;
}

html body #page #footer .dt-footer-connect a {
	border: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, var(--dt-surface) 8%, transparent) !important;
}

/*
 * CR-4: the live footer already has accurate link labels and aria-labels.
 * Replace only its verified decorative arrow span. Instagram and mail use the
 * bundled CMSMasters fontello face; the older bundle has no TikTok glyph, so
 * TikTok uses the local child-theme SVG mask.
 */
html body #page #footer .dt-footer-connect a > span[aria-hidden="true"] {
	display: none !important;
}

html body #page #footer .dt-footer-connect a::after {
	display: inline-flex;
	flex: 0 0 20px;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin-left: 12px;
	color: #BCC5C7;
	font-size: 17px;
	line-height: 1;
	transition: color 180ms ease, background-color 180ms ease;
}

html body #page #footer .dt-footer-connect a[href*="instagram.com"]::after {
	content: "\ea6a";
	font-family: fontello;
	font-style: normal;
	font-weight: 400;
}

html body #page #footer .dt-footer-connect a[href^="mailto:"]::after {
	content: "\e824";
	font-family: fontello;
	font-style: normal;
	font-weight: 400;
}

html body #page #footer .dt-footer-connect a[href*="tiktok.com"]::after {
	content: "";
	background-color: #BCC5C7;
	-webkit-mask: url("assets/icons/tiktok.svg") center / 17px 17px no-repeat;
	mask: url("assets/icons/tiktok.svg") center / 17px 17px no-repeat;
}

html body #page #footer .dt-footer-connect a:hover::after,
html body #page #footer .dt-footer-connect a:focus-visible::after {
	color: var(--dt-teal);
}

html body #page #footer .dt-footer-connect a[href*="tiktok.com"]:hover::after,
html body #page #footer .dt-footer-connect a[href*="tiktok.com"]:focus-visible::after {
	background-color: var(--dt-teal);
}

/* --------------------------------------------------------------------------
   Global color system
   -------------------------------------------------------------------------- */

/* CR-9: one display face and one text face across every CMSMasters template. */
html body.wp-theme-the-newspaper #page,
html body.wp-theme-the-newspaper #page *,
html body.wp-theme-the-newspaper #page button,
html body.wp-theme-the-newspaper #page input,
html body.wp-theme-the-newspaper #page select,
html body.wp-theme-the-newspaper #page textarea {
	font-family: var(--dt-font-body) !important;
}

html body.wp-theme-the-newspaper #page h1,
html body.wp-theme-the-newspaper #page h2,
html body.wp-theme-the-newspaper #page h3,
html body.wp-theme-the-newspaper #page h4,
html body.wp-theme-the-newspaper #page h5,
html body.wp-theme-the-newspaper #page h6,
html body.wp-theme-the-newspaper #page h1 a,
html body.wp-theme-the-newspaper #page h2 a,
html body.wp-theme-the-newspaper #page h3 a,
html body.wp-theme-the-newspaper #page h4 a,
html body.wp-theme-the-newspaper #page h5 a,
html body.wp-theme-the-newspaper #page h6 a,
html body.wp-theme-the-newspaper #page .cmsmasters_post_title,
html body.wp-theme-the-newspaper #page .cmsmasters_post_title a,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_title,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_title a,
html body.wp-theme-the-newspaper #page .widgettitle,
html body.wp-theme-the-newspaper #page .widgettitle a,
html body.wp-theme-the-newspaper #page .dt-footer-heading {
	font-family: var(--dt-font-heading) !important;
	font-style: normal !important;
	font-stretch: normal !important;
}

html body.wp-theme-the-newspaper #page h1,
html body.wp-theme-the-newspaper #page h1 a,
html body.wp-theme-the-newspaper #page .cmsmasters_open_post .cmsmasters_post_title,
html body.wp-theme-the-newspaper #page .cmsmasters_open_post .cmsmasters_post_title a {
	font-weight: 700 !important;
}

html body.wp-theme-the-newspaper #page h2,
html body.wp-theme-the-newspaper #page h3,
html body.wp-theme-the-newspaper #page h4,
html body.wp-theme-the-newspaper #page h5,
html body.wp-theme-the-newspaper #page h6,
html body.wp-theme-the-newspaper #page h2 a,
html body.wp-theme-the-newspaper #page h3 a,
html body.wp-theme-the-newspaper #page h4 a,
html body.wp-theme-the-newspaper #page h5 a,
html body.wp-theme-the-newspaper #page h6 a {
	font-weight: 600 !important;
}

html body.wp-theme-the-newspaper #page .cmsmasters_open_post .cmsmasters_post_title {
	font-size: clamp(34px, 3vw, 40px) !important;
	line-height: 1.18 !important;
	letter-spacing: -0.02em !important;
}

html body.wp-theme-the-newspaper #page .cmsmasters_post_masonry .cmsmasters_post_title,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_title,
html body.wp-theme-the-newspaper #page .dt-homefront-v3 article h3 {
	font-size: clamp(22px, 2vw, 26px) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
}

html body.wp-theme-the-newspaper #page .cmsmasters_post_content,
html body.wp-theme-the-newspaper #page .entry-content,
html body.wp-theme-the-newspaper #page .cmsmasters_post_content p,
html body.wp-theme-the-newspaper #page .entry-content p {
	font-family: var(--dt-font-body) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

html body.wp-theme-the-newspaper #page #navigation,
html body.wp-theme-the-newspaper #page #navigation a,
html body.wp-theme-the-newspaper #page .cmsmasters_post_cont_info,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_info,
html body.wp-theme-the-newspaper #page .cmsmasters_button,
html body.wp-theme-the-newspaper #page button,
html body.wp-theme-the-newspaper #page input,
html body.wp-theme-the-newspaper #page select,
html body.wp-theme-the-newspaper #page textarea {
	font-family: var(--dt-font-body) !important;
}

html body.wp-theme-the-newspaper .cmsmasters_header_search_form,
html body.wp-theme-the-newspaper .cmsmasters_header_search_form .cmsmasters_header_search_form_field,
html body.wp-theme-the-newspaper .cmsmasters_header_search_form .cmsmasters_header_search_form_field input[type="search"],
html body.wp-theme-the-newspaper .cmsmasters_header_search_form .cmsmasters_header_search_form_field button,
html body.wp-theme-the-newspaper .cmsmasters_header_search_form .cmsmasters_header_search_form_close {
	font-family: var(--dt-font-body) !important;
}

html body.wp-theme-the-newspaper .cmsmasters_header_search_form .cmsmasters_header_search_form_field {
	border: 0 !important;
}

html body.wp-theme-the-newspaper #page .widgettitle,
html body.wp-theme-the-newspaper #page .dt-footer-heading {
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

html body.wp-theme-the-newspaper .dt-homefront-v3 .dt-home-all-posts > a {
	border-color: var(--dt-teal-a11y);
}

/* CR-8: native CMSMasters Sidebar/Archive Sidebar widget presentation. */
html body.wp-theme-the-newspaper #page .sidebar {
	background: var(--dt-surface) !important;
}

html body.wp-theme-the-newspaper #page .sidebar .widget {
	padding: 24px !important;
	border: 0 !important;
	background: var(--dt-surface) !important;
	box-shadow: none !important;
}

html body.wp-theme-the-newspaper #page .sidebar .widget + .widget {
	padding-top: 8px !important;
}

html body.wp-theme-the-newspaper #page .sidebar .widgettitle {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--dt-ink) !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
}

html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-recent,
html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-categories {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-recent li,
html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-categories li {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-recent a,
html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-categories a {
	border: 0 !important;
	background: transparent !important;
	color: var(--dt-teal-a11y) !important;
	font-family: var(--dt-font-body) !important;
	font-weight: 400 !important;
	text-decoration: none !important;
}

html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-recent a:hover,
html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-recent a:focus-visible,
html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-categories a:hover,
html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-categories a:focus-visible {
	color: var(--dt-teal-a11y-hover) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-recent time {
	display: block;
	margin-top: 4px;
	color: var(--dt-text-soft);
	font-family: var(--dt-font-body);
	font-size: 12px;
	line-height: 1.45;
}

html body.wp-theme-the-newspaper #page .sidebar .dt-sidebar-categories a {
	font-size: 11px !important;
	line-height: 1.6 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

body,
#page,
#main,
#middle {
	background: var(--dt-bg);
	color: var(--dt-text);
}

/*
 * CMSMasters theme-options CSS and the live custom CSS set these surfaces and
 * button colors with !important. Scope the required overrides to the active
 * theme rather than applying blanket flags.
 */
html body.wp-theme-the-newspaper,
html body.wp-theme-the-newspaper #page,
html body.wp-theme-the-newspaper #page #main,
html body.wp-theme-the-newspaper #page #main #middle {
	background: var(--dt-bg) !important;
	color: var(--dt-text) !important;
}

.content.entry,
.cmsmasters_post_content {
	background: var(--dt-surface);
}

.content.entry a,
.cmsmasters_post_content a {
	color: var(--dt-teal-a11y);
}

.content.entry a:hover,
.content.entry a:focus-visible,
.cmsmasters_post_content a:hover,
.cmsmasters_post_content a:focus-visible {
	color: var(--dt-ink);
	text-decoration-color: var(--dt-teal-a11y);
}

html body.wp-theme-the-newspaper #page .content.entry,
html body.wp-theme-the-newspaper #page .cmsmasters_post_content {
	background: var(--dt-surface) !important;
}

html body.wp-theme-the-newspaper #page .content.entry a,
html body.wp-theme-the-newspaper #page .cmsmasters_post_content a {
	color: var(--dt-teal-a11y) !important;
}

html body.wp-theme-the-newspaper #page .content.entry a:hover,
html body.wp-theme-the-newspaper #page .content.entry a:focus-visible,
html body.wp-theme-the-newspaper #page .cmsmasters_post_content a:hover,
html body.wp-theme-the-newspaper #page .cmsmasters_post_content a:focus-visible {
	color: var(--dt-ink) !important;
}

.cmsmasters_button,
.cmsmasters_post_read_more,
.wpcf7-submit,
.comment-respond input[type="submit"],
.content input[type="submit"] {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--dt-teal-a11y);
	border-radius: 6px;
	background: var(--dt-teal-a11y);
	color: var(--dt-surface);
}

html body.wp-theme-the-newspaper #page .cmsmasters_button,
html body.wp-theme-the-newspaper #page .cmsmasters_post_read_more,
html body.wp-theme-the-newspaper #page .wpcf7-submit,
html body.wp-theme-the-newspaper #page .comment-respond input[type="submit"],
html body.wp-theme-the-newspaper #page .content input[type="submit"] {
	border: 1px solid var(--dt-teal-a11y) !important;
	background: var(--dt-teal-a11y) !important;
	color: var(--dt-surface) !important;
}

.cmsmasters_button:hover,
.cmsmasters_button:focus-visible,
.cmsmasters_post_read_more:hover,
.cmsmasters_post_read_more:focus-visible,
.wpcf7-submit:hover,
.wpcf7-submit:focus-visible,
.comment-respond input[type="submit"]:hover,
.comment-respond input[type="submit"]:focus-visible,
.content input[type="submit"]:hover,
.content input[type="submit"]:focus-visible {
	border-color: var(--dt-teal-a11y-hover);
	background: var(--dt-teal-a11y-hover);
	color: var(--dt-surface);
}

html body.wp-theme-the-newspaper #page .cmsmasters_button:hover,
html body.wp-theme-the-newspaper #page .cmsmasters_button:focus-visible,
html body.wp-theme-the-newspaper #page .cmsmasters_post_read_more:hover,
html body.wp-theme-the-newspaper #page .cmsmasters_post_read_more:focus-visible,
html body.wp-theme-the-newspaper #page .wpcf7-submit:hover,
html body.wp-theme-the-newspaper #page .wpcf7-submit:focus-visible,
html body.wp-theme-the-newspaper #page .comment-respond input[type="submit"]:hover,
html body.wp-theme-the-newspaper #page .comment-respond input[type="submit"]:focus-visible,
html body.wp-theme-the-newspaper #page .content input[type="submit"]:hover,
html body.wp-theme-the-newspaper #page .content input[type="submit"]:focus-visible {
	border-color: var(--dt-teal-a11y-hover) !important;
	background: var(--dt-teal-a11y-hover) !important;
	color: var(--dt-surface) !important;
}

.cmsmasters_post_category .cmsmasters_cat_color,
.cmsmasters_archive_item_category .cmsmasters_cat_color {
	display: inline;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--dt-teal-a11y);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

html body.wp-theme-the-newspaper #page .cmsmasters_post_category .cmsmasters_cat_color,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_category .cmsmasters_cat_color {
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--dt-teal-a11y) !important;
	font-family: var(--dt-font-body) !important;
	font-weight: 400 !important;
}

html body.wp-theme-the-newspaper #page .cmsmasters_post_category .cmsmasters_cat_color:hover,
html body.wp-theme-the-newspaper #page .cmsmasters_post_category .cmsmasters_cat_color:focus-visible,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_category .cmsmasters_cat_color:hover,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_category .cmsmasters_cat_color:focus-visible {
	color: var(--dt-teal-a11y-hover) !important;
}

.cmsmasters_post_date,
.cmsmasters_archive_item_date,
.cmsmasters_archive_item_user_name,
.cmsmasters_post_author,
.cmsmasters_post_cont_info,
.cmsmasters_archive_item_info {
	color: var(--dt-text-soft);
}

html body.wp-theme-the-newspaper #page .cmsmasters_post_date,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_date,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_user_name,
html body.wp-theme-the-newspaper #page .cmsmasters_post_author,
html body.wp-theme-the-newspaper #page .cmsmasters_post_cont_info,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_info {
	color: var(--dt-text-soft) !important;
}

.widgettitle,
.dt-home-kicker {
	color: var(--dt-teal-a11y);
}

html body.wp-theme-the-newspaper #page .widgettitle,
html body.wp-theme-the-newspaper #page .dt-home-kicker {
	color: var(--dt-teal-a11y) !important;
}

.dt-home-section-rule {
	border: 0;
	border-top: 1px solid var(--dt-hairline);
	background: transparent;
}

.cmsmasters_wrap_pagination li > .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--dt-hairline);
	background: var(--dt-surface);
	color: var(--dt-teal-a11y);
}

.cmsmasters_wrap_pagination li > .page-numbers:hover,
.cmsmasters_wrap_pagination li > .page-numbers:focus-visible,
.cmsmasters_wrap_pagination li > .page-numbers.current {
	border-color: var(--dt-teal-a11y);
	background: var(--dt-teal-a11y);
	color: var(--dt-surface);
}

html body.wp-theme-the-newspaper #page .cmsmasters_wrap_pagination li > .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 44px !important;
	min-height: 44px !important;
	background: var(--dt-surface) !important;
	color: var(--dt-teal-a11y) !important;
}

html body.wp-theme-the-newspaper #page .cmsmasters_wrap_pagination li > .page-numbers:hover,
html body.wp-theme-the-newspaper #page .cmsmasters_wrap_pagination li > .page-numbers:focus-visible,
html body.wp-theme-the-newspaper #page .cmsmasters_wrap_pagination li > .page-numbers.current {
	border-color: var(--dt-teal-a11y) !important;
	background: var(--dt-teal-a11y) !important;
	color: var(--dt-surface) !important;
}

#slide_top.cmsmasters_theme_icon_slide_top {
	box-sizing: border-box !important;
	width: 46px !important;
	height: 46px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--dt-teal-a11y) !important;
	box-shadow: 0 6px 18px rgb(17 17 17 / 18%) !important;
	color: var(--dt-surface) !important;
	line-height: 46px !important;
}

#slide_top.cmsmasters_theme_icon_slide_top:hover,
#slide_top.cmsmasters_theme_icon_slide_top:focus-visible {
	background: var(--dt-teal-a11y-hover) !important;
	color: var(--dt-surface) !important;
}

#slide_top.cmsmasters_theme_icon_slide_top::before {
	display: block !important;
	width: 46px !important;
	height: 46px !important;
	font-size: 14px !important;
	line-height: 46px !important;
	text-align: center !important;
}

#slide_top.cmsmasters_theme_icon_slide_top > span {
	display: none !important;
}

body.dt-slide-top-occluded #slide_top.cmsmasters_theme_icon_slide_top {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.content input[type="text"],
.content input[type="email"],
.content textarea,
.content select {
	border: 1px solid var(--dt-hairline);
	background: var(--dt-surface);
	color: var(--dt-text);
}

.content input[type="text"]:focus,
.content input[type="email"]:focus,
.content textarea:focus,
.content select:focus {
	border-color: var(--dt-teal-a11y);
	outline: 0;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dt-teal-a11y) 22%, transparent);
}

.cmsmasters_button:focus-visible,
.cmsmasters_post_read_more:focus-visible,
.wpcf7-submit:focus-visible,
.content input[type="submit"]:focus-visible,
.cmsmasters_wrap_pagination li > .page-numbers:focus-visible,
#slide_top.cmsmasters_theme_icon_slide_top:focus-visible {
	outline: 3px solid var(--dt-teal-a11y);
	outline-offset: 2px;
}

.dt-home-intro-v3,
.cmsmasters_post_masonry,
.cmsmasters_archive_item_cont_wrap,
.cmsmasters_open_post,
.sidebar .widget,
.comment-respond {
	background: var(--dt-surface);
	border: 0;
	box-shadow: 0 1px 3px rgba(17, 17, 17, 0.06);
}

/* --------------------------------------------------------------------------
   Structural de-bordering
   -------------------------------------------------------------------------- */

/*
 * Several live homepage rules are emitted after the theme stylesheet with
 * !important dark dividers. These verified structural selectors require the
 * same flag to enforce the PRD's single-hairline rule.
 */
html body #page .dt-home-section-rule {
	border: 0 !important;
	border-top: 1px solid var(--dt-hairline) !important;
}

html body #page .cmsmasters_post_masonry,
html body #page .cmsmasters_archive_item_cont_wrap,
html body #page .cmsmasters_open_post,
html body #page .cmsmasters_img_wrap,
html body #page .sidebar .widget,
html body #page .comment-form,
html body #page .comment-respond,
html body #page .cmsmasters_wrap_more_items {
	border: 0 !important;
}

html body #page .cmsmasters_wrap_pagination {
	border: 0 !important;
	border-top: 1px solid var(--dt-hairline) !important;
}

/* --------------------------------------------------------------------------
   Desktop container width
   -------------------------------------------------------------------------- */

@media (min-width: 1140px) {
	html body #page #middle .middle_inner {
		width: 100%;
		max-width: none;
	}

	html body #page #middle .content_wrap {
		box-sizing: border-box;
		width: min(calc(100% - 48px), 1280px);
		margin-inline: auto;
		padding-inline: 24px;
	}

	html body.home #page .dt-homefront-v3 {
		box-sizing: border-box;
		left: 50%;
		width: min(calc(100vw - 48px), 1280px) !important;
		max-width: 1280px !important;
		transform: translateX(-50%);
	}

	html body.single #page .cmsmasters_post_content {
		max-width: 72ch;
	}
}

/* --------------------------------------------------------------------------
   Responsive header, navigation, media, and touch targets
   -------------------------------------------------------------------------- */

.content img,
.dt-homefront-v3 img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 1024px) {
	/*
	 * The verified #dt-single-line-header-css mobile block is emitted later
	 * with !important declarations, so these CMSMasters selectors match and
	 * outspecify only that block.
	 */
	html body.wp-theme-the-newspaper #page.site.fixed_header #header {
		left: 50% !important;
		right: auto !important;
		width: 100vw !important;
		height: 88px !important;
		transform: translateX(-50%) !important;
		background: var(--dt-teal) !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid .header_mid_outer,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid .header_mid_inner,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid .header_mid_inner .header_mid_inner_cont {
		left: 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: 88px !important;
		min-height: 88px !important;
		transform: none !important;
		background: var(--dt-teal) !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid .header_mid_inner .header_mid_inner_cont {
		box-sizing: border-box !important;
		justify-content: center !important;
		padding: 0 96px !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid_inner_cont .logo_wrap,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid_inner_cont .logo {
		position: relative !important;
		inset: auto !important;
		width: 120px !important;
		height: 53px !important;
		margin: 0 auto !important;
		transform: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid_inner_cont .logo img,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid_inner_cont .logo img.logo_retina {
		width: 120px !important;
		height: 53px !important;
		max-height: 53px !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot_outer,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot_inner,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot_inner_cont {
		inset: 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: 88px !important;
		min-height: 88px !important;
		transform: none !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	/*
	 * Compact/Center Navigation emits .header_bot after the 88px logo row.
	 * Overlay that verified wrapper on the mobile brand band; otherwise the
	 * 88px-tall #header clips both responsive controls below its bottom edge.
	 */
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: 0 !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot_inner_cont {
		box-sizing: border-box !important;
		justify-content: space-between !important;
		padding: 0 16px !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .resp_bot_nav_wrap,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_search_but_wrap {
		display: flex !important;
		align-items: center !important;
		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .resp_bot_nav_wrap {
		position: absolute !important;
		top: 22px !important;
		right: 16px !important;
		left: auto !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_search_but_wrap {
		position: absolute !important;
		top: 22px !important;
		right: auto !important;
		left: 16px !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_search_but {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		margin: 0 !important;
		color: var(--dt-surface) !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 6px !important;
		box-shadow: none !important;
	}

	/*
	 * A later, verified #dt-single-line-header-css block resets this exact
	 * anchor to width:auto/min-width:0. The extra specificity here preserves
	 * the required 44px touch target as well as the white-on-teal treatment.
	 */
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .resp_bot_nav_wrap a.responsive_nav.resp_bot_nav.cmsmasters_theme_icon_resp_nav {
		display: inline-flex !important;
		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		background-color: transparent !important;
		color: var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav::before {
		background: var(--dt-surface) !important;
		box-shadow: 0 7px 0 var(--dt-surface), 0 14px 0 var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav::after {
		color: var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav .dt-menu-icon,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav .dt-menu-icon::before,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav .dt-menu-icon::after {
		background: var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav .dt-menu-label,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav:hover .dt-menu-label,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav:focus-visible .dt-menu-label {
		display: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header.dt-menu-open .responsive_nav::before {
		background: var(--dt-surface) !important;
		box-shadow: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header.dt-menu-open .responsive_nav .dt-menu-icon {
		background: transparent !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .responsive_nav:focus-visible,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_search_but:focus-visible {
		outline: 2px solid var(--dt-surface) !important;
		outline-offset: 2px !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap {
		position: fixed !important;
		inset: 88px 0 auto !important;
		width: auto !important;
		max-height: calc(100dvh - 88px) !important;
		padding: 12px 18px 18px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		background: var(--dt-surface) !important;
		border: 0 !important;
		box-shadow: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateY(-8px) !important;
	}

	body.admin-bar.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap {
		top: 134px !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header:not(.dt-menu-open) .bot_nav_wrap {
		display: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header.dt-menu-open .bot_nav_wrap {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation {
		width: 100% !important;
		margin: 0 !important;
		background: var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li {
		width: 100% !important;
		margin: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid var(--dt-hairline) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li:last-child {
		border-bottom: 0 !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li > a {
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-height: 44px !important;
		padding: 11px 10px !important;
		border: 0 !important;
		border-radius: 6px !important;
		background: transparent !important;
		color: var(--dt-text) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li > a:hover,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li > a:focus-visible {
		background: var(--dt-teal-tint) !important;
		color: var(--dt-ink) !important;
		box-shadow: inset 0 -2px 0 var(--dt-teal-a11y) !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li.current-menu-item > a,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .bot_nav_wrap ul#navigation > li.current_page_item > a {
		background: var(--dt-teal-a11y) !important;
		color: var(--dt-surface) !important;
	}

	html body.wp-theme-the-newspaper #page #middle {
		padding-top: 104px !important;
	}

	/*
	 * CR-1: the fixed mobile band ends at 88px. Home has a verified 40px
	 * internal lead-in, so 72px on #middle places its first block at 112px.
	 * CMSMasters headline templates already start at 88px; an 8px inset moves
	 * their first visible heading from 109px to 117px (a 29px clear gap).
	 */
	html body.home.wp-theme-the-newspaper #page.site.fixed_header #main #middle {
		padding-top: 72px !important;
	}

	html body:not(.home).wp-theme-the-newspaper #page.site.fixed_header #main #middle .headline_outer .headline_inner {
		box-sizing: border-box !important;
		padding-top: 8px !important;
	}
}

@media (max-width: 767px) {
	html body.wp-theme-the-newspaper #page .sidebar {
		display: none !important;
	}

	html body.wp-theme-the-newspaper #page .cmsmasters_open_post .cmsmasters_post_title {
		font-size: clamp(26px, 8vw, 30px) !important;
	}

	#slide_top.cmsmasters_theme_icon_slide_top {
		right: 16px !important;
		bottom: calc(18px + env(safe-area-inset-bottom)) !important;
	}

	html body.wp-theme-the-newspaper #page .cmsmasters_post_cont_info,
	html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_info {
		align-items: baseline !important;
		flex-wrap: wrap !important;
		gap: 4px 8px !important;
	}

	html body.wp-theme-the-newspaper #page .cmsmasters_post_category,
	html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_category {
		display: inline !important;
		flex: 1 1 180px !important;
		min-width: 0 !important;
		line-height: 1.65 !important;
	}

	html body #page #footer .dt-footer-shell {
		width: min(calc(100% - 36px), 1280px) !important;
		padding: 44px 0 20px !important;
	}
}

/* --------------------------------------------------------------------------
   Iteration 3: live-review corrections (CR-10 through CR-16)
   -------------------------------------------------------------------------- */

/* CR-11: brand-teal active navigation is paired with ink, never white. */
html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li.current-menu-item > a,
html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_bot .bot_nav_wrap ul#navigation > li.current_page_item > a {
	background: var(--dt-teal) !important;
	color: var(--dt-ink) !important;
}

/* CR-13: verified public selectors that remained outside the two-font sweep. */
html body.wp-theme-the-newspaper .chaty,
html body.wp-theme-the-newspaper .chaty *,
html body.wp-theme-the-newspaper .chaty-widget,
html body.wp-theme-the-newspaper .chaty-widget *,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_type {
	font-family: var(--dt-font-body) !important;
}

html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_type,
html body.wp-theme-the-newspaper #page .cmsmasters_archive_item_type * {
	font-family: var(--dt-font-heading) !important;
	font-weight: 600 !important;
}

/* CR-14: one crisp footer-heading treatment on every template. */
html body.wp-theme-the-newspaper #page.site #footer .dt-footer-heading {
	color: var(--dt-surface) !important;
	font-family: var(--dt-font-heading) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.09em !important;
	opacity: 1 !important;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	text-transform: uppercase !important;
}

/* CR-12: newspaper-style About page without changing page content. */
html body.page-id-4400.wp-theme-the-newspaper #page .middle_content.entry {
	display: flow-root;
}

html body.page-id-4400.wp-theme-the-newspaper #page .middle_content.entry > p {
	margin: 0 0 1.25em !important;
	font-family: var(--dt-font-body) !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
}

html body.page-id-4400.wp-theme-the-newspaper #page .middle_content.entry > .doctor-tanaka-about-intro {
	color: var(--dt-ink) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;
}

html body.page-id-4400.wp-theme-the-newspaper #page .doctor-tanaka-about-portrait {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

html body.page-id-4400.wp-theme-the-newspaper #page .doctor-tanaka-about-portrait img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 6px !important;
}

html body.page-id-4400.wp-theme-the-newspaper #page .doctor-tanaka-about-portrait figcaption {
	margin: 0 !important;
	padding: 8px 0 0 !important;
	color: var(--dt-text-soft) !important;
	font-family: var(--dt-font-body) !important;
	font-size: 14px !important;
	font-style: italic !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

@media (min-width: 768px) {
	html body.page-id-4400.wp-theme-the-newspaper #page .doctor-tanaka-about-portrait {
		float: right !important;
		width: 42% !important;
		margin: 0 0 28px 40px !important;
	}
}

@media (max-width: 1024px) {
	/*
	 * CR-10 root cause: CMSMasters opens the verified panel and the child
	 * adds .dt-menu-open, but both fixed ancestors clipped it at 88px.
	 */
	html body.wp-theme-the-newspaper #page.site.fixed_header #header {
		left: 0 !important;
		width: 100% !important;
		transform: none !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header.dt-menu-open,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header.dt-menu-open .header_bot {
		overflow: visible !important;
	}

	html body.wp-theme-the-newspaper #page.site.fixed_header #header.dt-menu-open .bot_nav_wrap {
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		max-height: calc(100dvh - 88px) !important;
		z-index: 10001 !important;
	}

	html {
		scroll-padding-top: 104px;
	}
}

@media (max-width: 767px) {
	/* CR-12: portrait leads, then copy, with no float on phones. */
	html body.page-id-4400.wp-theme-the-newspaper #page .doctor-tanaka-about-portrait {
		float: none !important;
		width: 100% !important;
		margin: 0 0 24px !important;
	}

	html body.page-id-4400.wp-theme-the-newspaper #page .middle_content.entry > .doctor-tanaka-about-intro {
		font-size: 19px !important;
	}

	/* CR-15: archive, category, and search cards become one clean column. */
	html body.wp-theme-the-newspaper #page article.cmsmasters_archive_type {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	html body.wp-theme-the-newspaper #page article.cmsmasters_archive_type .cmsmasters_archive_item_img_wrap {
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 0 18px !important;
		border: 0 !important;
	}

	html body.wp-theme-the-newspaper #page article.cmsmasters_archive_type .cmsmasters_archive_item_img_wrap .preloader {
		box-sizing: border-box !important;
		display: block !important;
		width: 100% !important;
		height: 0 !important;
		padding: 0 0 56.25% !important;
		overflow: hidden !important;
		border: 0 !important;
		border-radius: 6px !important;
	}

	html body.wp-theme-the-newspaper #page article.cmsmasters_archive_type .cmsmasters_archive_item_img_wrap img {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		object-fit: cover !important;
		border: 0 !important;
		border-radius: 6px !important;
	}

	html body.wp-theme-the-newspaper #page article.cmsmasters_archive_type .cmsmasters_archive_item_cont_wrap {
		position: relative !important;
		inset: auto !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	html body.wp-theme-the-newspaper #page article.cmsmasters_archive_type:not(.has-post-thumbnail) .cmsmasters_archive_item_cont_wrap {
		padding-top: 0 !important;
	}
}

/* --------------------------------------------------------------------------
   Iteration 4: final polish (CR-17 through CR-20)
   -------------------------------------------------------------------------- */

/* CR-17: one outlined language for card actions; solid teal stays primary. */
html body.wp-theme-the-newspaper #page a.cmsmasters_post_read_more,
html body.wp-theme-the-newspaper #page .dt-home-all-posts > a {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 12px 26px !important;
	border: 1px solid var(--dt-teal-a11y) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--dt-teal-a11y) !important;
	font-family: var(--dt-font-body) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.12em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	vertical-align: middle !important;
}

/*
 * The existing CMSMasters homepage layout intentionally replaces the first
 * card's "Read More" label with "READ THE ARTICLE →" via ::before. Preserve
 * that hero label while neutralizing its former Helvetica/offset styling.
 */
html body.wp-theme-the-newspaper #page .dt-home-articles .blog.columns article.post:first-child a.cmsmasters_post_read_more {
	font-size: 0 !important;
}

html body.wp-theme-the-newspaper #page .dt-home-articles .blog.columns article.post:first-child a.cmsmasters_post_read_more::before {
	display: inline !important;
	position: static !important;
	content: "READ THE ARTICLE →" !important;
	color: inherit !important;
	font-family: var(--dt-font-body) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.12em !important;
	text-align: center !important;
}

html body.wp-theme-the-newspaper #page a.cmsmasters_post_read_more:hover,
html body.wp-theme-the-newspaper #page a.cmsmasters_post_read_more:focus-visible,
html body.wp-theme-the-newspaper #page .dt-home-all-posts > a:hover,
html body.wp-theme-the-newspaper #page .dt-home-all-posts > a:focus-visible {
	border-color: var(--dt-teal-a11y-hover) !important;
	background: var(--dt-teal-a11y-hover) !important;
	color: var(--dt-surface) !important;
}

/* CR-20: remove CMSMasters' mobile-only title frame and use one title offset. */
html body.wp-theme-the-newspaper #page .headline_inner_cont {
	border: 0 !important;
	box-shadow: none !important;
}

/* Regression guard: the single-post navigation inherited a 2px ink rule. */
html body.wp-theme-the-newspaper #page .post_nav {
	border: 0 !important;
	box-shadow: none !important;
}

html body.wp-theme-the-newspaper #page .headline_inner {
	padding-top: 4px !important;
}

@media (min-width: 1025px) {
	/* Match the standard headline's first visible title gap to the homepage's 56px. */
	html body.wp-theme-the-newspaper #page .headline_inner {
		padding-top: 0 !important;
		transform: translateY(-4px) !important;
	}
}

@media (max-width: 1024px) {
	/* CR-18: place logo and both 44px controls on the same 44px centerline. */
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid_inner_cont .logo_wrap,
	html body.wp-theme-the-newspaper #page.site.fixed_header #header .header_mid_inner_cont .logo {
		position: absolute !important;
		top: 50% !important;
		right: auto !important;
		bottom: auto !important;
		left: 50% !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translate(-50%, -50%) !important;
	}

	html body:not(.home).wp-theme-the-newspaper #page.site.fixed_header #main #middle .headline_outer .headline_inner {
		padding-top: 4px !important;
	}
}
