:root {
	--zmd-black: #1d1d1f;
	--zmd-gray: #6e6e73;
	--zmd-surface: #f5f5f7;
	--zmd-line: rgba(0, 0, 0, 0.12);
	--zmd-accent: #0071e3;
	--zmd-nav-color: #08a9ca;
	--zmd-feature-x: 50%;
	--zmd-feature-y: 50%;
	--zmd-feature-scale: 1.1;
	--zmd-small-x: 50%;
	--zmd-small-y: 50%;
	--zmd-logo-height: 24px;
	--zmd-card-light-bg: #f5f5f7;
	--zmd-card-dark-bg: #09090b;
	--zmd-card-accent-bg: #086fd2;
	--zmd-card-warm-bg: #f7ede3;
	--zmd-card-cool-bg: #e6f3fc;
}

html {
	scroll-behavior: smooth;
}

body.zmd-page {
	margin: 0;
	overflow-x: clip;
	background: #fff;
	color: var(--zmd-black);
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
}

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

.zmd-page img {
	display: block;
	max-width: 100%;
}

.zmd-page a {
	color: inherit;
}

.zmd-skip-link {
	position: fixed;
	top: -100px;
	left: 16px;
	z-index: 10000;
	background: #fff;
	color: #000;
	padding: 10px 14px;
	border-radius: 8px;
}

.zmd-skip-link:focus {
	top: 10px;
}

.zmd-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: 50px;
	background: var(--zmd-nav-color);
	background: color-mix(in srgb, var(--zmd-nav-color) 88%, transparent);
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
}

.admin-bar .zmd-site-header {
	top: 32px;
}

.zmd-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(28px, 4vw, 62px);
	width: min(1180px, calc(100% - 40px));
	height: 100%;
	margin: 0 auto;
}

.zmd-site-header .zmd-brand {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.zmd-brand-logo {
	display: block;
	width: auto;
	height: var(--zmd-logo-height);
	max-width: 92px;
	object-fit: contain;
}

.zmd-brand-logo-rounded {
	border-radius: 6px;
}

.zmd-brand-logo-circle {
	width: var(--zmd-logo-height);
	max-width: none;
	border-radius: 50%;
	object-fit: cover;
}

.zmd-navigation {
	flex: 0 1 auto;
}

.zmd-menu {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.2vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.zmd-menu a {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: #fff;
	line-height: 50px;
	text-decoration: none;
	opacity: 0.86;
	transition: opacity 180ms ease, color 180ms ease;
}

.zmd-menu a:hover,
.zmd-menu a:focus-visible {
	color: #fff;
	opacity: 1;
}

.zmd-menu .current-menu-item > a,
.zmd-menu .current_page_item > a {
	background: rgba(255, 255, 255, 0.18);
	box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0.9);
}

.zmd-menu-toggle {
	display: none;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 12px;
	cursor: pointer;
}

.zmd-hero {
	position: relative;
	display: grid;
	min-height: clamp(620px, 88vh, 900px);
	place-items: start center;
	overflow: hidden;
	background: linear-gradient(145deg, #0a0a0c 15%, #263b54 68%, #8ca9c5);
	color: #fff;
}

.zmd-hero-image,
.zmd-hero-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zmd-hero-image {
	object-fit: cover;
	object-position: center;
	transform: scale(1.015);
}

.zmd-hero-shade {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.25) 56%, rgba(0, 0, 0, 0.78) 100%);
}

.zmd-hero-content {
	position: relative;
	z-index: 1;
	width: min(980px, calc(100% - 40px));
	padding: clamp(104px, 8vw, 138px) 0 44px;
	text-align: center;
}

.zmd-hero-kicker {
	margin: 0 0 12px;
	font-size: clamp(17px, 2vw, 24px);
	font-weight: 600;
}

.zmd-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(44px, 5.4vw, 76px);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 1.02;
}

.zmd-hero-copy {
	max-width: 760px;
	margin: 24px auto 0;
	font-size: clamp(17px, 2vw, 23px);
	line-height: 1.55;
}

.zmd-hero-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 30px;
}

.zmd-button {
	padding: 12px 22px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.zmd-button-primary {
	border-color: var(--zmd-accent);
	background: var(--zmd-accent);
}

.zmd-button-secondary {
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(10px);
}

.zmd-button:hover,
.zmd-button:focus-visible {
	transform: translateY(-2px);
	background: #fff;
	border-color: #fff;
	color: #000;
}

.zmd-content {
	padding: 12px 0 0;
	background: #fff;
}

.zmd-entry {
	width: min(1320px, calc(100% - 24px));
	margin: 0 auto;
}

.zmd-entry > * {
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
}

.zmd-entry > .zmd-promo-row {
	max-width: 1320px;
}

.zmd-entry > .zmd-feature-card,
.zmd-entry > .zmd-home-news-card,
.zmd-entry > .zmd-promo-card {
	max-width: 1320px;
	margin-top: 12px;
	margin-bottom: 0;
}

.zmd-section {
	padding: clamp(72px, 9vw, 130px) 24px;
}

.zmd-section-intro {
	padding-top: clamp(48px, 5vw, 76px);
	padding-bottom: clamp(38px, 4vw, 56px);
}

.zmd-section-intro,
.zmd-latest {
	text-align: center;
}

.zmd-eyebrow {
	margin: 0 0 10px;
	color: var(--zmd-accent);
	font-size: 16px;
	font-weight: 700;
}

.zmd-section-title {
	margin: 0;
	color: #000;
	font-size: clamp(38px, 5.3vw, 68px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.zmd-section-copy {
	max-width: 760px;
	margin: 24px auto 0;
	color: var(--zmd-gray);
	font-size: clamp(17px, 2vw, 22px);
	line-height: 1.65;
}

.zmd-home-news-card {
	width: 100%;
	max-width: 1320px;
	margin: 12px auto 0;
	overflow: hidden;
	border-radius: 28px;
	background: #151516;
	color: #fff;
}

.zmd-home-news-card > a {
	display: grid;
	grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
	height: clamp(620px, 65vw, 820px);
	min-height: 0;
	max-height: 820px;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.zmd-home-news-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(38px, 5vw, 68px);
}

.zmd-home-news-kicker {
	font-size: 15px;
	font-weight: 700;
	opacity: 0.68;
}

.zmd-home-news-copy h2 {
	margin: 14px 0 0;
	color: #fff;
	font-size: clamp(38px, 4.5vw, 66px);
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.zmd-home-news-copy time {
	margin-top: 22px;
	font-size: 14px;
	font-weight: 600;
	opacity: 0.66;
}

.zmd-home-news-copy p {
	margin: 14px 0 0;
	font-size: 16px;
	line-height: 1.65;
	opacity: 0.76;
}

.zmd-home-news-more {
	align-self: flex-start;
	margin-top: 24px;
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
}

.zmd-home-news-image {
	display: grid;
	min-width: 0;
	height: 100%;
	min-height: 0;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(145deg, #08384a, #04afd0);
	font-size: clamp(60px, 10vw, 130px);
	font-weight: 750;
}

.zmd-home-news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--zmd-feature-x) var(--zmd-feature-y);
	transition: transform 700ms cubic-bezier(.2,.8,.2,1);
}

.zmd-home-news-card:hover .zmd-home-news-image img {
	transform: scale(1.02);
}

.zmd-home-news-empty {
	display: flex !important;
	min-height: 330px !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 40px 24px;
	background: linear-gradient(145deg, #082b38, #08a9ca);
	text-align: center;
}

.zmd-home-news-empty strong {
	font-size: clamp(38px, 5vw, 64px);
	line-height: 1.05;
}

.zmd-promo-row.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 12px;
	margin-bottom: 0;
}

.zmd-promo-row > .wp-block-column {
	min-width: 0;
}

.zmd-promo-card {
	position: relative;
	min-height: clamp(480px, 48vw, 650px);
	padding: clamp(42px, 5vw, 72px) clamp(22px, 4vw, 54px) 0;
	overflow: hidden;
	border-radius: 28px;
	background: var(--zmd-surface);
	color: #000;
	text-align: center;
	transition: transform 350ms cubic-bezier(.2,.8,.2,1), box-shadow 350ms ease;
}

.zmd-feature-card,
.zmd-entry > .zmd-promo-card {
	min-height: clamp(650px, 65vw, 820px);
	padding-top: clamp(56px, 7vw, 94px);
}

.zmd-feature-card:not(:has(.wp-block-image)):not(:has(.zmd-card-image-placeholder)),
.zmd-entry > .zmd-promo-card:not(:has(.wp-block-image)):not(:has(.zmd-card-image-placeholder)) {
	min-height: 430px;
	padding-bottom: clamp(50px, 6vw, 76px);
}

.zmd-feature-card .zmd-card-image-placeholder,
.zmd-entry > .zmd-promo-card .zmd-card-image-placeholder {
	min-height: clamp(300px, 34vw, 470px);
}

.zmd-promo-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.12);
}

.zmd-promo-card h2 {
	margin: 0;
	color: inherit;
	font-size: clamp(34px, 3.2vw, 52px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1.05;
	text-wrap: balance;
	word-break: keep-all;
	overflow-wrap: normal;
}

.zmd-feature-card h2,
.zmd-entry > .zmd-promo-card h2 {
	font-size: clamp(48px, 7vw, 90px);
}

.zmd-promo-card > p:not(.zmd-card-kicker):not(.zmd-card-image-placeholder) {
	max-width: 520px;
	margin: 16px auto 0;
	color: inherit;
	font-size: clamp(16px, 1.7vw, 21px);
	line-height: 1.55;
	opacity: 0.82;
}

.zmd-card-kicker {
	margin: 0 0 8px;
	color: inherit;
	font-size: 15px;
	font-weight: 700;
	opacity: 0.68;
}

.zmd-promo-card .wp-block-buttons {
	margin-top: 22px;
}

.zmd-promo-card .wp-block-button__link {
	padding: 9px 17px;
	border-color: currentColor;
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font-size: 14px;
	text-decoration: none;
}

.zmd-card-image-placeholder {
	display: grid;
	min-height: 210px;
	margin: clamp(38px, 5vw, 70px) calc(clamp(22px, 4vw, 54px) * -1) 0;
	place-items: center;
	background: linear-gradient(145deg, rgba(0, 113, 227, 0.1), rgba(0, 0, 0, 0.04));
	color: inherit;
	font-size: 13px;
	font-weight: 600;
	opacity: 0.65;
}

.zmd-promo-card .wp-block-image {
	width: min(92%, 560px);
	margin: clamp(30px, 4vw, 54px) auto -1px;
	background: transparent;
}

.zmd-promo-card .wp-block-image img {
	width: 100%;
	height: auto;
	max-height: 330px;
	object-fit: contain;
	object-position: var(--zmd-small-x) var(--zmd-small-y);
	transition: transform 700ms cubic-bezier(.2,.8,.2,1);
}

.zmd-feature-card .wp-block-image,
.zmd-entry > .zmd-promo-card .wp-block-image {
	width: min(94%, 1120px);
	margin-top: clamp(24px, 3.5vw, 46px);
}

.zmd-feature-card .wp-block-image img,
.zmd-entry > .zmd-promo-card .wp-block-image img {
	margin: 0 auto;
	max-height: clamp(380px, 43vw, 570px);
	object-position: var(--zmd-feature-x) var(--zmd-feature-y);
}

.zmd-page:not(.zmd-small-mode-fill) .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fill) .wp-block-image img,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fade .wp-block-image img {
	-webkit-mask-image: radial-gradient(ellipse 92% 94% at 50% 50%, #000 62%, rgba(0, 0, 0, 0.95) 73%, transparent 100%);
	mask-image: radial-gradient(ellipse 92% 94% at 50% 50%, #000 62%, rgba(0, 0, 0, 0.95) 73%, transparent 100%);
}

.zmd-feature-mode-fade .zmd-feature-card:not(.is-style-zmd-card-image-fill) .wp-block-image img,
.zmd-feature-mode-fade .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fill) .wp-block-image img,
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fade .wp-block-image img,
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fade .wp-block-image img {
	-webkit-mask-image: radial-gradient(ellipse 94% 92% at 50% 50%, #000 66%, rgba(0, 0, 0, 0.98) 76%, transparent 100%);
	mask-image: radial-gradient(ellipse 94% 92% at 50% 50%, #000 66%, rgba(0, 0, 0, 0.98) 76%, transparent 100%);
}

.zmd-promo-card:hover .wp-block-image img {
	transform: scale(1.025);
}

/* Global defaults can be overridden on each card with the Group block styles. */
.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade):has(.wp-block-image),
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade):has(.wp-block-image),
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill:has(.wp-block-image),
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill:has(.wp-block-image),
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade),
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill {
	color: #fff;
}

.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) .wp-block-image,
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image,
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill .wp-block-image,
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image,
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image {
	position: absolute;
	inset: 0 !important;
	z-index: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

/* OnePress inserts this wrapper and makes it positioned. Keep the card itself as the image's containing block. */
.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) > .wp-block-group__inner-container,
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) > .wp-block-group__inner-container,
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill > .wp-block-group__inner-container,
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill > .wp-block-group__inner-container,
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) > .wp-block-group__inner-container,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill > .wp-block-group__inner-container {
	position: static !important;
	z-index: auto !important;
}

.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) .wp-block-image::after,
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image::after,
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill .wp-block-image::after,
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image::after,
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image::after,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.2) 46%, rgba(0, 0, 0, 0.46) 100%);
	pointer-events: none;
}

.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill .wp-block-image img,
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image img,
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	min-width: 100%;
	height: 100% !important;
	min-height: 100%;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	aspect-ratio: auto !important;
	transform: scale(var(--zmd-feature-scale)) !important;
	transform-origin: var(--zmd-feature-x) var(--zmd-feature-y);
	-webkit-mask-image: none;
	mask-image: none;
}

.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image img {
	transform: scale(1.04) !important;
	transform-origin: var(--zmd-small-x) var(--zmd-small-y);
}

.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill .wp-block-image img,
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image img {
	object-position: var(--zmd-feature-x) var(--zmd-feature-y);
}

.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) .wp-block-image img,
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill .wp-block-image img {
	object-position: var(--zmd-small-x) var(--zmd-small-y);
}

.zmd-promo-card .wp-block-image.is-style-zmd-focus-top img {
	object-position: 50% 0% !important;
	transform-origin: 50% 0% !important;
}

.zmd-promo-card .wp-block-image.is-style-zmd-focus-bottom img {
	object-position: 50% 100% !important;
	transform-origin: 50% 100% !important;
}

.zmd-promo-card .wp-block-image.is-style-zmd-focus-left img {
	object-position: 0% 50% !important;
	transform-origin: 0% 50% !important;
}

.zmd-promo-card .wp-block-image.is-style-zmd-focus-center img {
	object-position: 50% 50% !important;
	transform-origin: 50% 50% !important;
}

.zmd-promo-card .wp-block-image.is-style-zmd-focus-right img {
	object-position: 100% 50% !important;
	transform-origin: 100% 50% !important;
}

/* This explicit image style restores the values from the plugin settings after another focus style was used. */
.zmd-feature-card .wp-block-image.is-style-zmd-focus-settings img,
.zmd-entry > .zmd-promo-card .wp-block-image.is-style-zmd-focus-settings img {
	object-position: var(--zmd-feature-x) var(--zmd-feature-y) !important;
	transform-origin: var(--zmd-feature-x) var(--zmd-feature-y) !important;
}

.zmd-promo-row .zmd-promo-card .wp-block-image.is-style-zmd-focus-settings img {
	object-position: var(--zmd-small-x) var(--zmd-small-y) !important;
	transform-origin: var(--zmd-small-x) var(--zmd-small-y) !important;
}

.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) > :not(.wp-block-image):not(.wp-block-group__inner-container),
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) > :not(.wp-block-image):not(.wp-block-group__inner-container),
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill > :not(.wp-block-image):not(.wp-block-group__inner-container),
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill > :not(.wp-block-image):not(.wp-block-group__inner-container),
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) > :not(.wp-block-image):not(.wp-block-group__inner-container),
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill > :not(.wp-block-image):not(.wp-block-group__inner-container),
.zmd-page:not(.zmd-feature-mode-fade) .zmd-feature-card:not(.is-style-zmd-card-image-fade) > .wp-block-group__inner-container > :not(.wp-block-image),
.zmd-page:not(.zmd-feature-mode-fade) .zmd-entry > .zmd-promo-card:not(.is-style-zmd-card-image-fade) > .wp-block-group__inner-container > :not(.wp-block-image),
.zmd-page .zmd-feature-card.is-style-zmd-card-image-fill > .wp-block-group__inner-container > :not(.wp-block-image),
.zmd-page .zmd-entry > .zmd-promo-card.is-style-zmd-card-image-fill > .wp-block-group__inner-container > :not(.wp-block-image),
.zmd-small-mode-fill .zmd-promo-row .zmd-promo-card:not(.is-style-zmd-card-image-fade) > .wp-block-group__inner-container > :not(.wp-block-image),
.zmd-page .zmd-promo-row .zmd-promo-card.is-style-zmd-card-image-fill > .wp-block-group__inner-container > :not(.wp-block-image) {
	position: relative;
	z-index: 2;
}

.zmd-card-light {
	background: var(--zmd-card-light-bg);
}

.zmd-card-dark {
	background: var(--zmd-card-dark-bg);
	color: #fff;
}

.zmd-card-accent {
	background: var(--zmd-card-accent-bg);
	color: #fff;
}

.zmd-card-warm {
	background: var(--zmd-card-warm-bg);
}

.zmd-card-cool {
	background: var(--zmd-card-cool-bg);
}

.zmd-page-hero {
	position: relative;
	display: grid;
	min-height: clamp(330px, 43vw, 580px);
	padding-top: 50px;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(145deg, #f5f5f7, #d9eef4);
	color: #000;
}

.zmd-page-hero-image,
.zmd-page-hero-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zmd-page-hero-image {
	object-fit: cover;
	object-position: center;
}

.zmd-page-hero-shade {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.62));
}

.zmd-page-hero-content {
	position: relative;
	z-index: 1;
	width: min(1080px, calc(100% - 40px));
	text-align: center;
}

.zmd-page-hero-content p {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
}

.zmd-page-hero-content h1 {
	margin: 0;
	color: inherit;
	font-size: clamp(46px, 7vw, 88px);
	letter-spacing: -0.05em;
	line-height: 1.04;
}

.zmd-page-hero.has-image {
	color: #fff;
}

.zmd-page-content {
	background: #fff;
	color: #000;
}

.zmd-page-entry {
	width: min(980px, calc(100% - 40px));
	min-height: 360px;
	margin: 0 auto;
	padding: clamp(64px, 8vw, 112px) 0;
	font-size: 17px;
	line-height: 1.85;
}

.zmd-page-entry h2,
.zmd-page-entry h3,
.zmd-page-entry h4,
.zmd-page-entry p,
.zmd-page-entry li {
	color: #000;
}

.zmd-page-entry h2 {
	font-size: clamp(34px, 4vw, 52px);
	letter-spacing: -0.035em;
}

.zmd-page-entry a:not(.wp-block-button__link) {
	color: var(--zmd-accent);
}

.zmd-hub-page {
	background: var(--zmd-surface);
}

.zmd-hub-title {
	padding: clamp(66px, 6vw, 94px) 24px 30px;
	background: #fff;
	color: #000;
	text-align: left;
}

.zmd-hub-title > * {
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
}

.zmd-hub-title > p {
	margin-top: 0;
	margin-bottom: 10px;
	color: var(--zmd-accent);
	font-size: 16px;
	font-weight: 700;
}

.zmd-hub-title h1 {
	margin-top: 0;
	margin-bottom: 0;
	color: #000;
	font-size: clamp(56px, 6vw, 84px);
	letter-spacing: -0.06em;
	line-height: 0.98;
}

.zmd-hub-title > div {
	margin-top: 24px;
	color: var(--zmd-gray);
	font-size: clamp(17px, 2vw, 23px);
}

.zmd-news-subbar {
	padding-top: 50px;
	background: #4b4b4d;
	color: #fff;
}

.admin-bar .zmd-news-subbar {
	padding-top: 82px;
}

.zmd-news-subbar > div {
	display: flex;
	align-items: center;
	width: min(1180px, calc(100% - 48px));
	height: 54px;
	margin: 0 auto;
}

.zmd-news-subbar h1 {
	margin: 0;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
}

.zmd-hub-content {
	background: var(--zmd-surface);
	color: #000;
}

.zmd-hub-entry {
	width: min(1320px, 100%);
	margin: 0 auto;
}

.zmd-hub-entry > *:not(.zmd-category-rail):not(.zmd-category-showcases):not(.zmd-video-showcase):not(.zmd-manual-rail) {
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
}

.zmd-category-rail {
	position: sticky;
	top: 50px;
	z-index: 90;
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	overflow-x: auto;
	overflow-y: hidden;
	background: rgba(255, 255, 255, 0.92);
	border-bottom: 1px solid var(--zmd-line);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	scrollbar-width: thin;
}

.admin-bar .zmd-category-rail {
	top: 82px;
}

.zmd-category-rail-inner {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: clamp(18px, 3vw, 44px);
	width: max-content;
	min-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 26px max(24px, calc((100vw - 1320px) / 2 + 24px)) 30px;
}

.zmd-category-chip {
	display: flex;
	flex: 0 0 100px;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	color: #000;
	text-align: center;
	text-decoration: none;
}

.zmd-category-symbol {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	border-radius: 18px;
	background: var(--zmd-category-bg, linear-gradient(145deg, #effbff, #b9eaf4));
	color: #087f9b;
	font-size: 25px;
	font-weight: 750;
	transition: transform 220ms ease, box-shadow 220ms ease;
	overflow: hidden;
}

.zmd-category-symbol img {
	width: 100%;
	height: 100%;
	object-position: var(--zmd-category-x, 50%) var(--zmd-category-y, 50%);
}

.zmd-category-fit-cover .zmd-category-symbol img,
.zmd-category-fit-cover .zmd-category-cover {
	object-fit: cover;
}

.zmd-category-fit-contain .zmd-category-symbol img,
.zmd-category-fit-contain .zmd-category-cover {
	object-fit: contain;
}

.zmd-category-chip.is-all .zmd-category-symbol {
	background: #111;
	color: #fff;
	font-size: 12px;
}

.zmd-category-chip strong {
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.zmd-category-chip:hover .zmd-category-symbol,
.zmd-category-chip:focus-visible .zmd-category-symbol {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.13);
}

.zmd-hub-section {
	padding: clamp(76px, 9vw, 125px) 24px;
}

.zmd-hub-section > .zmd-eyebrow,
.zmd-hub-section > h2,
.zmd-photo-intro > p {
	text-align: center;
}

.zmd-hub-section > h2,
.zmd-photo-intro > h2 {
	margin: 0;
	color: #000;
	font-size: clamp(42px, 6vw, 76px);
	letter-spacing: -0.05em;
	line-height: 1.05;
}

.zmd-photo-intro > p:not(.zmd-eyebrow) {
	max-width: 740px;
	margin: 24px auto 0;
	color: var(--zmd-gray);
	font-size: 20px;
	line-height: 1.65;
}

.zmd-feature-posts {
	margin-top: 54px;
}

.zmd-feature-posts .zmd-lineup-card > a {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
	min-height: 560px;
}

.zmd-feature-posts .zmd-lineup-image {
	height: 100%;
}

.zmd-feature-posts .zmd-lineup-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(34px, 5vw, 70px);
}

.zmd-feature-posts .zmd-lineup-body h3 {
	font-size: clamp(31px, 4vw, 50px);
}

.zmd-lineup-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 54px;
}

.zmd-lineup-card {
	overflow: hidden;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
	transition: transform 280ms ease, box-shadow 280ms ease;
}

.zmd-lineup-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.12);
}

.zmd-lineup-card > a {
	display: block;
	height: 100%;
	color: #000;
	text-decoration: none;
}

.zmd-lineup-image {
	display: grid;
	height: 245px;
	place-items: center;
	overflow: hidden;
	background: #dfe3e6;
	color: var(--zmd-gray);
	font-size: 12px;
	font-weight: 700;
}

.zmd-lineup-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(.2,.8,.2,1);
}

.zmd-lineup-card:hover .zmd-lineup-image img {
	transform: scale(1.035);
}

.zmd-lineup-body {
	display: block;
	padding: 25px 25px 30px;
}

.zmd-lineup-category,
.zmd-lineup-body time {
	display: block;
	font-size: 12px;
}

.zmd-lineup-category {
	margin-bottom: 5px;
	color: var(--zmd-accent);
	font-weight: 700;
}

.zmd-lineup-body time {
	color: var(--zmd-gray);
}

.zmd-lineup-body h3 {
	margin: 11px 0 0;
	color: #000;
	font-size: 23px;
	letter-spacing: -0.025em;
	line-height: 1.35;
}

.zmd-lineup-body p {
	margin: 12px 0 0;
	color: var(--zmd-gray);
	font-size: 14px;
	line-height: 1.65;
}

.zmd-lineup-more {
	display: block;
	margin-top: 20px;
	color: var(--zmd-accent);
	font-size: 14px;
	font-weight: 600;
}

.zmd-category-showcases {
	padding: 0 8px 8px;
}

.zmd-category-showcase {
	position: relative;
	display: grid;
	min-height: clamp(600px, 72vw, 860px);
	margin-top: 8px;
	place-items: end center;
	overflow: hidden;
	border-radius: 30px;
	background: var(--zmd-category-bg, linear-gradient(145deg, #18232d, #020304));
	color: #fff;
}

.zmd-category-cover,
.zmd-category-showcase-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zmd-category-cover {
	object-position: var(--zmd-category-x, 50%) var(--zmd-category-y, 50%);
	transition: transform 900ms cubic-bezier(.2,.8,.2,1);
}

.zmd-category-showcase:hover .zmd-category-cover {
	transform: scale(1.018);
}

.zmd-category-showcase-shade {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 30%, rgba(0, 0, 0, 0.78) 100%);
}

.zmd-category-showcase-copy {
	position: relative;
	z-index: 1;
	width: min(850px, calc(100% - 40px));
	padding-bottom: clamp(58px, 8vw, 105px);
	text-align: center;
}

.zmd-category-showcase-copy > p:first-child {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	opacity: 0.8;
}

.zmd-category-showcase-copy h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(52px, 8vw, 102px);
	letter-spacing: -0.055em;
	line-height: 1;
}

.zmd-category-showcase-copy > div {
	margin-top: 18px;
	font-size: 18px;
	line-height: 1.6;
}

.zmd-category-showcase-copy > a {
	display: inline-block;
	margin-top: 24px;
	padding: 11px 19px;
	border-radius: 999px;
	background: var(--zmd-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.zmd-manual-rail.wp-block-buttons {
	display: flex;
	justify-content: flex-start;
	gap: 12px;
	width: 100vw;
	max-width: none;
	box-sizing: border-box;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: 28px max(24px, calc((100vw - 1320px) / 2 + 24px));
	overflow-x: auto;
	overflow-y: hidden;
	background: #fff;
	border-bottom: 1px solid var(--zmd-line);
}

.zmd-manual-rail .wp-block-button {
	flex: 0 0 auto;
}

.zmd-manual-rail .wp-block-button__link {
	border: 1px solid var(--zmd-line);
	border-radius: 999px;
	background: #fff;
	color: #000;
}

.zmd-video-showcase {
	min-height: clamp(590px, 68vw, 820px);
	margin-top: 8px;
	padding: clamp(60px, 8vw, 100px) 24px 0;
	overflow: hidden;
	border-radius: 30px;
	text-align: center;
}

.zmd-video-showcase > h2 {
	margin: 0;
	font-size: clamp(50px, 8vw, 96px);
	letter-spacing: -0.055em;
	line-height: 1;
}

.zmd-video-showcase > p:not(.zmd-eyebrow):not(.zmd-video-placeholder) {
	margin-top: 20px;
	font-size: 20px;
}

.zmd-video-placeholder {
	display: grid;
	width: min(950px, 100%);
	min-height: clamp(270px, 42vw, 520px);
	margin: 50px auto 0;
	place-items: center;
	border-radius: 24px 24px 0 0;
	background: rgba(255, 255, 255, 0.1);
	font-size: 13px;
	font-weight: 700;
}

.zmd-video-showcase > .wp-block-embed {
	width: min(950px, 100%);
	margin: 50px auto 0;
}

.zmd-showcase-dark {
	background: #09090b;
	color: #fff;
}

.zmd-showcase-light {
	background: #fff;
	color: #000;
}

.zmd-showcase-accent {
	background: linear-gradient(145deg, #007ea1, #03b8db);
	color: #fff;
}

.zmd-showcase-dark h2,
.zmd-showcase-accent h2 {
	color: #fff;
}

.zmd-archive-riko {
	background: linear-gradient(145deg, #e5f9ff, #bcecff);
	color: #082b3a;
}

.zmd-archive-kaho {
	background: linear-gradient(145deg, #fff8cf, #ffe99b);
	color: #271f05;
}

.zmd-archive-shinju {
	background: linear-gradient(145deg, #e9f9eb, #c5edcd);
	color: #10351a;
}

.zmd-archive-other {
	background: linear-gradient(145deg, #e7f6fb, #c9eaf5);
	color: #10272e;
}

.zmd-archive-showcase .zmd-video-placeholder {
	background: rgba(255, 255, 255, 0.52);
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.zmd-archive-showcase.zmd-showcase-dark .zmd-video-placeholder {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.12);
}

.zmd-newsroom-intro {
	max-width: 1180px;
	padding: clamp(36px, 4vw, 58px) 24px 28px;
}

.zmd-news-hub-page .zmd-newsroom-intro {
	display: none;
}

.zmd-newsroom-intro > h2 {
	margin: 0;
	color: #000;
	font-size: clamp(42px, 6vw, 72px);
	letter-spacing: -0.05em;
	line-height: 1.05;
}

.zmd-newsroom-intro > p:not(.zmd-eyebrow) {
	max-width: 720px;
	margin: 22px 0 0;
	color: var(--zmd-gray);
	font-size: 19px;
	line-height: 1.65;
}

.zmd-newsroom-feed {
	width: 100%;
	margin: 0 auto;
	padding-bottom: clamp(80px, 10vw, 140px);
}

.zmd-newsroom-feature-stage {
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: clamp(58px, 7vw, 94px) max(24px, calc((100vw - 1180px) / 2 + 24px));
	background: #151516;
}

.zmd-news-hub-page .zmd-newsroom-feature-stage {
	margin-top: 0;
}

.zmd-single-page {
	background: var(--zmd-surface);
}

.zmd-single-content {
	min-height: calc(100vh - 120px);
	padding: clamp(100px, 10vw, 148px) 24px clamp(72px, 9vw, 120px);
	background: var(--zmd-surface);
	color: #000;
}

.zmd-single-article {
	width: min(980px, 100%);
	margin: 0 auto;
	overflow: hidden;
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.zmd-single-header {
	padding: clamp(42px, 7vw, 82px) clamp(28px, 7vw, 84px) clamp(34px, 5vw, 58px);
	border-bottom: 1px solid var(--zmd-line);
}

.zmd-single-category {
	display: inline-block;
	margin-bottom: 18px;
	color: var(--zmd-accent);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.zmd-single-header h1 {
	max-width: 900px;
	margin: 0;
	color: #000;
	font-size: clamp(38px, 6vw, 68px);
	font-weight: 750;
	letter-spacing: -0.05em;
	line-height: 1.08;
	overflow-wrap: anywhere;
}

.zmd-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 26px;
	color: var(--zmd-gray);
	font-size: 14px;
	font-weight: 600;
}

.zmd-single-body {
	padding: clamp(42px, 7vw, 82px) clamp(28px, 7vw, 84px);
	color: #000;
	font-size: 17px;
	line-height: 1.9;
}

.zmd-single-body > :first-child {
	margin-top: 0;
}

.zmd-single-body > :last-child {
	margin-bottom: 0;
}

.zmd-single-body h2,
.zmd-single-body h3,
.zmd-single-body h4,
.zmd-single-body p,
.zmd-single-body li {
	color: #000;
}

.zmd-single-body h2 {
	margin-top: 2em;
	font-size: clamp(30px, 4vw, 46px);
	letter-spacing: -0.035em;
	line-height: 1.2;
}

.zmd-single-body h3 {
	margin-top: 1.8em;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.3;
}

.zmd-single-body a:not(.wp-block-button__link) {
	color: var(--zmd-accent);
}

.zmd-single-body img {
	height: auto;
	margin-right: auto;
	margin-left: auto;
	border-radius: 18px;
}

.zmd-single-body .alignwide {
	width: min(1120px, calc(100vw - 48px));
	max-width: none;
	margin-right: 50%;
	margin-left: 50%;
	transform: translateX(-50%);
}

.zmd-single-back {
	padding: 28px clamp(28px, 7vw, 84px) 34px;
	border-top: 1px solid var(--zmd-line);
}

.zmd-single-back a {
	color: var(--zmd-accent);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.zmd-newsroom-feature {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 30px;
	background: #0b0b0d;
	color: #fff;
}

.zmd-newsroom-feature > a {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	height: clamp(420px, 32vw, 530px);
	min-height: 0;
	color: inherit;
	text-decoration: none;
}

.zmd-newsroom-feature-image {
	display: grid;
	min-width: 0;
	min-height: 0;
	height: 100%;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(145deg, #1d2731, #050607);
	font-size: clamp(64px, 10vw, 126px);
	font-weight: 750;
	letter-spacing: -0.06em;
}

.zmd-newsroom-feature-image img {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 750ms cubic-bezier(.2,.8,.2,1);
}

.zmd-newsroom-feature:hover .zmd-newsroom-feature-image img {
	transform: scale(1.02);
}

.zmd-newsroom-feature-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(34px, 5vw, 64px);
}

.zmd-newsroom-label {
	font-size: 14px;
	font-weight: 700;
	opacity: 0.72;
}

.zmd-newsroom-feature-copy h2 {
	margin: 18px 0 0;
	color: #fff;
	font-size: clamp(32px, 4vw, 52px);
	letter-spacing: -0.04em;
	line-height: 1.12;
}

.zmd-newsroom-feature-copy p {
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.74);
	font-size: 16px;
	line-height: 1.7;
}

.zmd-newsroom-feature-copy time {
	margin-top: 30px;
	font-size: 14px;
	font-weight: 600;
	opacity: 0.72;
}

.zmd-newsroom-list {
	margin-top: 34px;
	overflow: hidden;
	border-radius: 26px;
	background: #fff;
}

.zmd-newsroom-latest {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding-top: clamp(62px, 8vw, 104px);
}

.zmd-newsroom-latest-header > p {
	margin: 0 0 8px;
	color: var(--zmd-accent);
	font-size: 14px;
	font-weight: 700;
}

.zmd-newsroom-latest-header > h2 {
	margin: 0;
	color: #000;
	font-size: clamp(36px, 5vw, 58px);
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.zmd-newsroom-item + .zmd-newsroom-item {
	border-top: 1px solid var(--zmd-line);
}

.zmd-newsroom-item > a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	min-height: 150px;
	padding: 26px 30px;
	color: #000;
	text-decoration: none;
	transition: background 220ms ease;
}

.zmd-newsroom-item > a:hover {
	background: #fafafa;
}

.zmd-newsroom-item-image {
	display: block;
	width: 180px;
	height: 110px;
	overflow: hidden;
	border-radius: 16px;
	background: #e7e7e9;
}

.zmd-newsroom-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zmd-newsroom-item-copy {
	display: block;
}

.zmd-newsroom-item-copy time {
	color: var(--zmd-gray);
	font-size: 13px;
}

.zmd-newsroom-item-copy h3 {
	margin: 8px 0 0;
	color: #000;
	font-size: clamp(22px, 2.5vw, 32px);
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.zmd-newsroom-item-copy p {
	margin: 10px 0 0;
	color: var(--zmd-gray);
	font-size: 14px;
	line-height: 1.6;
}

.zmd-newsroom-arrow {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: var(--zmd-surface);
	color: var(--zmd-accent);
	font-size: 18px;
}

.zmd-newsroom-empty,
.zmd-category-empty {
	width: min(1180px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
	padding: clamp(50px, 8vw, 90px) 30px;
	border-radius: 26px;
	background: #fff;
	text-align: center;
}

.zmd-newsroom-empty h2,
.zmd-category-empty h2 {
	margin: 0;
	color: #000;
	font-size: clamp(28px, 4vw, 44px);
}

.zmd-newsroom-empty p,
.zmd-category-empty p {
	margin: 16px 0 0;
	color: var(--zmd-gray);
}

.zmd-category-page {
	background: var(--zmd-surface);
}

.zmd-category-hero {
	position: relative;
	display: grid;
	width: min(1320px, calc(100% - 16px));
	min-height: clamp(430px, 56vw, 680px);
	margin: 58px auto 0;
	place-items: end start;
	overflow: hidden;
	border-radius: 0 0 30px 30px;
	background: linear-gradient(145deg, #fff, #e8eef2);
	color: #000;
}

.admin-bar .zmd-category-hero {
	margin-top: 90px;
}

.zmd-category-hero-image,
.zmd-category-hero-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zmd-category-hero-image {
	object-position: var(--zmd-category-x, 50%) var(--zmd-category-y, 50%);
	background: var(--zmd-category-bg, #000);
}

.zmd-category-hero.zmd-category-fit-cover .zmd-category-hero-image {
	object-fit: cover;
}

.zmd-category-hero.zmd-category-fit-contain .zmd-category-hero-image {
	object-fit: contain;
}

.zmd-category-hero-shade {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 24%, rgba(0, 0, 0, 0.76) 100%);
}

.zmd-category-hero-copy {
	position: relative;
	z-index: 1;
	width: min(900px, calc(100% - 48px));
	padding: clamp(48px, 8vw, 96px);
}

.zmd-category-hero.has-image .zmd-category-hero-copy {
	color: #fff;
}

.zmd-category-hero-copy > p {
	margin: 0 0 10px;
	color: var(--zmd-accent);
	font-size: 15px;
	font-weight: 700;
}

.zmd-category-hero.has-image .zmd-category-hero-copy > p {
	color: rgba(255, 255, 255, 0.78);
}

.zmd-category-hero-copy h1 {
	margin: 0;
	color: inherit;
	font-size: clamp(48px, 7vw, 88px);
	letter-spacing: -0.055em;
	line-height: 1;
}

.zmd-category-hero-copy > div {
	max-width: 700px;
	margin-top: 22px;
	font-size: 18px;
	line-height: 1.65;
}

.zmd-category-hero-copy > div p {
	margin: 0;
}

.zmd-category-content {
	background: var(--zmd-surface);
	color: #000;
}

.zmd-category-results {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding: clamp(72px, 9vw, 120px) 0;
}

.zmd-category-results > header h2 {
	margin: 0;
	color: #000;
	font-size: clamp(38px, 5vw, 62px);
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.zmd-category-results .navigation.pagination {
	margin-top: 48px;
}

.zmd-category-results .nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
}

.zmd-category-results .page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	place-items: center;
	border-radius: 999px;
	background: #fff;
	color: #000;
	text-decoration: none;
}

.zmd-category-results .page-numbers.current {
	background: #111;
	color: #fff;
}

.zmd-editor-hint {
	margin: 24px auto;
	padding: 16px 18px;
	border: 1px solid #f0b849;
	border-radius: 12px;
	background: #fff7df;
	color: #5d4309;
	font-size: 14px;
}

.zmd-latest {
	max-width: 1180px;
	margin-top: 30px;
}

.zmd-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 50px;
	text-align: left;
}

.zmd-post-card {
	overflow: hidden;
	border: 1px solid var(--zmd-line);
	border-radius: 22px;
	background: #fff;
	transition: transform 250ms ease, box-shadow 250ms ease;
}

.zmd-post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
}

.zmd-post-card > a {
	display: block;
	padding-bottom: 28px;
	color: #000;
	text-decoration: none;
}

.zmd-post-image {
	display: grid;
	height: 210px;
	margin-bottom: 24px;
	place-items: center;
	overflow: hidden;
	background: var(--zmd-surface);
	color: var(--zmd-gray);
}

.zmd-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.zmd-post-card:hover .zmd-post-image img {
	transform: scale(1.035);
}

.zmd-post-card time,
.zmd-post-card h3,
.zmd-post-card p {
	display: block;
	margin-right: 24px;
	margin-left: 24px;
}

.zmd-post-card time {
	color: var(--zmd-gray);
	font-size: 12px;
}

.zmd-post-card h3 {
	margin-top: 8px;
	margin-bottom: 0;
	color: #000;
	font-size: 21px;
	line-height: 1.35;
}

.zmd-post-card p {
	margin-top: 10px;
	margin-bottom: 0;
	color: var(--zmd-gray);
	font-size: 14px;
	line-height: 1.65;
}

.zmd-footer {
	padding: 34px 24px;
	background: var(--zmd-surface);
	color: var(--zmd-gray);
	font-size: 12px;
}

.zmd-footer > div {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	width: min(1180px, 100%);
	margin: 0 auto;
}

.zmd-footer strong {
	color: var(--zmd-black);
}

.zmd-motion-enabled.zmd-motion-ready .zmd-section-intro,
.zmd-motion-enabled.zmd-motion-ready .zmd-home-news-card,
.zmd-motion-enabled.zmd-motion-ready .zmd-promo-card,
.zmd-motion-enabled.zmd-motion-ready .zmd-latest,
.zmd-motion-enabled.zmd-motion-ready .zmd-post-card,
.zmd-motion-enabled.zmd-motion-ready .zmd-hub-section,
.zmd-motion-enabled.zmd-motion-ready .zmd-lineup-card,
.zmd-motion-enabled.zmd-motion-ready .zmd-category-showcase,
.zmd-motion-enabled.zmd-motion-ready .zmd-video-showcase,
.zmd-motion-enabled.zmd-motion-ready .zmd-newsroom-feature,
.zmd-motion-enabled.zmd-motion-ready .zmd-newsroom-item,
.zmd-motion-enabled.zmd-motion-ready .zmd-category-results {
	opacity: 0;
	transform: translateY(28px);
}

.zmd-motion-enabled.zmd-motion-ready .zmd-is-visible {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1), box-shadow 350ms ease;
}

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

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

@media (max-width: 782px) {
	.admin-bar .zmd-site-header {
		top: 46px;
	}

	.admin-bar .zmd-news-subbar {
		padding-top: 94px;
	}

	.admin-bar .zmd-category-rail {
		top: 94px;
	}
}

@media (max-width: 760px) {
	.zmd-site-header,
	.zmd-menu a {
		height: 48px;
		line-height: 48px;
	}

	.zmd-nav-inner {
		justify-content: space-between;
		gap: 16px;
		width: calc(100% - 32px);
	}

	.zmd-menu-toggle {
		position: relative;
		display: grid;
		width: 44px;
		height: 48px;
		padding: 0;
		place-items: center;
	}

	.zmd-menu-toggle-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.zmd-menu-icon {
		position: relative;
		display: block;
		width: 22px;
		height: 18px;
	}

	.zmd-menu-icon::before,
	.zmd-menu-icon::after {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 1.5px;
		border-radius: 999px;
		background: #fff;
		content: "";
		transform-origin: center;
		transition: transform 360ms cubic-bezier(.32,.72,0,1);
	}

	.zmd-menu-icon::before {
		transform: translateY(-5px);
	}

	.zmd-menu-icon::after {
		transform: translateY(5px);
	}

	.zmd-site-header.is-menu-open .zmd-menu-icon::before {
		transform: translateY(0) rotate(45deg);
	}

	.zmd-site-header.is-menu-open .zmd-menu-icon::after {
		transform: translateY(0) rotate(-45deg);
	}

	.zmd-navigation {
		position: absolute;
		top: 48px;
		left: 0;
		right: 0;
		height: calc(100vh - 48px);
		height: calc(100dvh - 48px);
		overflow-x: hidden;
		overflow-y: auto;
		background: var(--zmd-nav-color);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-12px);
		pointer-events: none;
		-webkit-overflow-scrolling: touch;
		transition: opacity 260ms ease, transform 420ms cubic-bezier(.32,.72,0,1), visibility 0s linear 420ms;
	}

	.admin-bar .zmd-navigation {
		top: 48px;
		height: calc(100vh - 94px);
		height: calc(100dvh - 94px);
	}

	.zmd-site-header.is-menu-open .zmd-navigation {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
		transition-delay: 0s;
	}

	body.zmd-menu-active {
		overflow: hidden;
	}

	.zmd-menu {
		display: block;
		width: min(100%, 520px);
		margin: 0 auto;
		padding: clamp(32px, 5.5vh, 54px) 34px 72px;
	}

	.zmd-menu li {
		opacity: 0;
		transform: translateY(-10px);
		transition: opacity 260ms ease, transform 400ms cubic-bezier(.32,.72,0,1);
	}

	.zmd-menu a {
		height: auto;
		padding: 8px 0;
		color: #fff;
		font-size: clamp(28px, 8vw, 40px);
		font-weight: 650;
		letter-spacing: -0.035em;
		line-height: 1.08;
		opacity: 1;
	}

	.zmd-site-header.is-menu-open .zmd-menu li {
		opacity: 1;
		transform: translateY(0);
	}

	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(1) { transition-delay: 70ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(2) { transition-delay: 100ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(3) { transition-delay: 130ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(4) { transition-delay: 160ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(5) { transition-delay: 190ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(6) { transition-delay: 220ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(7) { transition-delay: 250ms; }
	.zmd-site-header.is-menu-open .zmd-menu li:nth-child(8) { transition-delay: 280ms; }

	.zmd-menu .current-menu-item > a,
	.zmd-menu .current_page_item > a {
		background: transparent;
		box-shadow: none;
		opacity: 0.65;
	}

	.zmd-hero {
		min-height: 680px;
	}

	.zmd-hero-image {
		object-position: center;
	}

	.zmd-hero-content {
		width: calc(100% - 28px);
		padding: 88px 0 44px;
	}

	.zmd-hero h1 {
		font-size: clamp(32px, 10.4vw, 44px);
		letter-spacing: -0.04em;
		line-height: 1.08;
	}

	.zmd-hero-title-brand,
	.zmd-hero-title-name,
	.zmd-hero-title-page {
		display: block;
		white-space: nowrap;
	}

	.zmd-hero-copy {
		margin-top: 18px;
		font-size: 16px;
	}

	.zmd-hero-actions {
		margin-top: 24px;
	}

	.zmd-entry {
		width: calc(100% - 16px);
	}

	.zmd-section {
		padding-right: 12px;
		padding-left: 12px;
	}

	.zmd-section-intro {
		padding-top: 42px;
		padding-bottom: 34px;
	}

	.zmd-home-news-card {
		border-radius: 22px;
	}

	.zmd-home-news-card > a {
		display: flex;
		height: auto;
		min-height: 0;
		max-height: none;
		flex-direction: column;
	}

	.zmd-home-news-copy {
		padding: 42px 26px 36px;
	}

	.zmd-home-news-copy h2 {
		font-size: clamp(32px, 10vw, 44px);
	}

	.zmd-home-news-image {
		order: -1;
		height: 300px;
		min-height: 300px;
	}

	.zmd-promo-row.wp-block-columns {
		grid-template-columns: 1fr;
		gap: 8px;
		margin-top: 8px;
	}

	.zmd-promo-card {
		min-height: 530px;
		border-radius: 22px;
	}

	.zmd-feature-card,
	.zmd-entry > .zmd-promo-card {
		min-height: 650px;
	}

	.zmd-page-hero {
		min-height: 390px;
		padding-top: 48px;
	}

	.zmd-page-entry {
		width: calc(100% - 32px);
	}

	.zmd-post-grid {
		grid-template-columns: 1fr;
	}

	.zmd-hub-title {
		padding: 72px 20px 24px;
	}

	.zmd-news-subbar {
		padding-top: 48px;
	}

	.zmd-news-subbar > div {
		width: calc(100% - 32px);
		height: 50px;
	}

	.zmd-news-subbar h1 {
		font-size: 19px;
	}

	.zmd-single-content {
		padding: 76px 12px 60px;
	}

	.zmd-single-article {
		border-radius: 22px;
	}

	.zmd-single-header,
	.zmd-single-body {
		padding-right: 22px;
		padding-left: 22px;
	}

	.zmd-single-header h1 {
		font-size: clamp(34px, 10vw, 48px);
		line-height: 1.12;
	}

	.zmd-single-body {
		font-size: 16px;
		line-height: 1.85;
	}

	.zmd-category-rail {
		top: 48px;
	}

	.zmd-category-rail-inner {
		justify-content: flex-start;
	}

	.zmd-hub-section {
		padding-right: 16px;
		padding-left: 16px;
	}

	.zmd-feature-posts .zmd-lineup-card > a {
		display: block;
		min-height: 0;
	}

	.zmd-feature-posts .zmd-lineup-image {
		height: 330px;
	}

	.zmd-lineup-grid {
		grid-template-columns: 1fr;
	}

	.zmd-category-showcase {
		min-height: 620px;
		border-radius: 22px;
	}

	.zmd-manual-rail.wp-block-buttons {
		justify-content: flex-start;
		flex-wrap: nowrap;
	}

	.zmd-video-showcase {
		min-height: 620px;
		border-radius: 22px;
	}

	.zmd-newsroom-intro {
		padding-right: 20px;
		padding-left: 20px;
	}

	.zmd-category-results {
		width: calc(100% - 24px);
	}

	.zmd-newsroom-feed {
		width: 100%;
	}

	.zmd-newsroom-feature-stage {
		padding: 32px 12px;
	}

	.zmd-newsroom-feature {
		border-radius: 22px;
	}

	.zmd-newsroom-feature > a {
		display: block;
		height: auto;
		min-height: 0;
	}

	.zmd-newsroom-feature-image {
		height: 320px;
		min-height: 320px;
	}

	.zmd-newsroom-latest {
		width: calc(100% - 24px);
	}

	.zmd-newsroom-item > a {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 16px;
		padding: 22px 20px;
	}

	.zmd-newsroom-item-image {
		display: none;
	}

	.zmd-newsroom-item-copy p {
		display: none;
	}

	.zmd-category-hero {
		width: calc(100% - 8px);
		min-height: 520px;
		margin-top: 52px;
		border-radius: 0 0 22px 22px;
	}

	.admin-bar .zmd-category-hero {
		margin-top: 98px;
	}

	.zmd-category-hero-copy {
		width: calc(100% - 32px);
		padding: 38px 16px;
	}

	.zmd-footer > div {
		flex-direction: column;
		gap: 8px;
	}
}

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

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