/*
Theme Name: MTK Corporate
Theme URI: https://mtktechnologies.com/
Author: MTK Technologies
Description: Accessible hybrid WordPress theme implementing the approved MTK Technologies V4 corporate website.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: mtk-corporate
*/

.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; }
.wpcf7-form .wpcf7-not-valid-tip { color: #a31018; display: block; font-size: .875rem; margin-top: .45rem; }
.wpcf7-form .wpcf7-response-output { border: 1px solid #c61721; border-radius: .75rem; margin: 1.25rem 0 0; padding: .9rem 1rem; }
.wpcf7-form.sent .wpcf7-response-output { border-color: #167c4b; }
.mtk-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.mtk-cf7-form-slot > p:empty, .mtk-dynamic-section > p:empty, .mtk-dynamic-whatsapp > p:empty { display: none; }
.catalog-pagination { margin-top: 2rem; }
.catalog-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.catalog-pagination a, .catalog-pagination span { align-items: center; border: 1px solid rgba(16,16,16,.16); border-radius: 999px; display: inline-flex; min-height: 2.75rem; padding: .5rem 1rem; }
.catalog-pagination .current { background: #c61721; border-color: #c61721; color: #fff; }
.search-results-list { display: grid; gap: 1rem; margin-top: 2rem; }
.search-result-card { border: 1px solid rgba(16,16,16,.13); border-radius: 1rem; padding: 1.5rem; }
.search-result-card h2 { font-size: clamp(1.35rem,2vw,2rem); margin: .35rem 0 .7rem; }
.job-list { display: grid; gap: 1rem; }
.job-card { border: 1px solid rgba(16,16,16,.13); border-radius: 1rem; padding: 1.5rem; }
@media (max-width: 48rem) { .wpcf7-form .form-row--two { grid-template-columns: 1fr; } }

/* Client workflow: persistent enquiry route without a WhatsApp dependency. */
.sticky-enquiry {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 90;
	display: inline-flex;
	width: 3.35rem;
	min-height: 9rem;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	padding: .8rem .65rem;
	border: 1px solid #ffffff5c;
	border-right: 0;
	border-radius: 1rem 0 0 1rem;
	background: linear-gradient(135deg, #b7171f, #8d1118);
	box-shadow: 0 1rem 2.5rem #0b0b0c40;
	color: #fff;
	font-size: .88rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-decoration: none;
	transform: translateY(-50%);
	transition: width var(--duration-base) var(--ease), background-color var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease);
}
.sticky-enquiry span { writing-mode: vertical-rl; transform: rotate(180deg); }
.sticky-enquiry svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transform: rotate(90deg); }
.sticky-enquiry:hover,
.sticky-enquiry:focus-visible { width: 3.6rem; background: var(--red-800); color: #fff; box-shadow: 0 1.2rem 3rem #0b0b0c52; }
.sticky-enquiry:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
html.is-embedded .sticky-enquiry { display: none; }
.site-header .header-actions .button { min-width: 7.4rem; white-space: nowrap; }

/* Contact page and reusable contact directory. */
.contact-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.contact-service-grid article { position: relative; min-height: 13rem; padding: clamp(1.35rem, 2.5vw, 2rem); overflow: hidden; border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: linear-gradient(150deg, #fff, var(--warm-50)); box-shadow: 0 .8rem 2.3rem #0b0b0c0d; }
.contact-service-grid article::before { display: block; width: 2.4rem; height: 3px; margin-bottom: 1.35rem; border-radius: var(--radius-pill); background: var(--red-600); content: ""; }
.contact-service-grid h3 { margin: 0 0 .8rem; font-size: clamp(1.35rem, 2vw, 1.75rem); }
.contact-service-grid p { color: var(--slate-600); line-height: 1.65; }
.contact-enquiry-layout { display: grid; grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(2rem, 6vw, 6rem); }
.contact-enquiry-copy { min-width: 0; }
.contact-enquiry-copy > h2 { max-width: 13ch; }
.contact-enquiry-copy > p { max-width: 40rem; }
.contact-directory { margin-top: 2rem; }
.contact-directory__grid { display: grid; gap: .8rem; }
.contact-directory__card { display: grid; grid-template-columns: 2.65rem minmax(0, 1fr); column-gap: .9rem; padding: 1rem; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); background: #ffffffd9; color: var(--ink-900); }
.contact-directory__icon { grid-row: 1 / span 3; display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border-radius: .8rem; background: var(--red-50); color: var(--red-700); font-size: .7rem; font-weight: 900; letter-spacing: .04em; }
.contact-directory__card h3 { margin: 0; font-size: 1rem; }
.contact-directory__card a { overflow-wrap: anywhere; color: var(--red-700); font-weight: 800; }
.contact-directory__card p { margin: .25rem 0 0; color: var(--slate-600); font-size: .88rem; line-height: 1.5; }
.section--navy .contact-enquiry-copy h2,
.section--navy .contact-enquiry-copy p { color: #fff; }
.section--navy .contact-enquiry-copy .eyebrow { color: var(--coral-300); }
.form-card { min-width: 0; }
.office-map-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.office-map-card { min-width: 0; overflow: hidden; border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-card); }
.office-map-card__frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--slate-100); }
.office-map-card__frame iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.office-map-card__body { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.office-map-card__body .eyebrow { margin-bottom: .65rem; }
.office-map-card__body h3 { max-width: 27ch; margin: 0; font-size: clamp(1.2rem, 1.7vw, 1.5rem); line-height: 1.35; }
.office-map-card__body .text-link { flex: none; }

/* Course hero: credential organization mapping. */
.course-detail-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(19rem, 23.5rem);
	align-items: end;
	gap: clamp(2rem, 4vw, 4.5rem);
}
.course-detail-hero__copy { min-width: 0; }
.course-credential-card {
	position: relative;
	display: grid;
	gap: .8rem;
	padding: clamp(1.25rem, 2.2vw, 1.65rem);
	overflow: hidden;
	border: 1px solid #ffffff38;
	border-radius: var(--radius-xl);
	background: linear-gradient(145deg, #111113e8, #351216dd);
	box-shadow: 0 1.6rem 4rem #0000004d;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}
.course-credential-card::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--red-500, #d52b35), var(--coral-300), transparent 82%);
	content: "";
}
.course-credential-card__label {
	margin: 0;
	color: var(--coral-300);
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.course-credential-card__logo {
	display: grid;
	width: 100%;
	min-height: 5.25rem;
	place-items: center;
	padding: .85rem 1rem;
	border: 1px solid #ffffff5c;
	border-radius: 1rem;
	background: #fff;
}
.course-credential-card__logo img {
	display: block;
	width: auto;
	max-width: min(100%, 14rem);
	height: auto;
	max-height: 3.55rem;
	object-fit: contain;
}
.course-credential-card__name {
	margin: .15rem 0 0;
	color: #fff;
	font-size: clamp(1.12rem, 1.4vw, 1.32rem);
	font-weight: 820;
	line-height: 1.25;
}
.course-credential-card__role {
	margin: 0;
	color: #ffffffe0;
	font-size: .9rem;
	line-height: 1.55;
}
.course-credential-card__boundary {
	margin: .1rem 0 0;
	padding-top: .8rem;
	border-top: 1px solid #ffffff26;
	color: #ffffffad;
	font-size: .78rem;
	line-height: 1.55;
}

/* Multi-step training and career forms. */
.training-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 0 2rem; padding: 0; list-style: none; }
.training-progress li { position: relative; display: grid; justify-items: center; gap: .45rem; color: var(--slate-500); font-size: .7rem; font-weight: 800; text-align: center; }
.training-progress li::before { position: absolute; top: .92rem; right: 50%; left: -50%; z-index: 0; height: 2px; background: var(--slate-200); content: ""; }
.training-progress li:first-child::before { display: none; }
.training-progress span { position: relative; z-index: 1; display: grid; width: 1.85rem; height: 1.85rem; place-items: center; border: 2px solid var(--slate-200); border-radius: 50%; background: #fff; font-size: .72rem; }
.training-progress .is-active,
.training-progress .is-complete { color: var(--red-700); }
.training-progress .is-active span,
.training-progress .is-complete span { border-color: var(--red-600); background: var(--red-600); color: #fff; }
.training-progress .is-complete::before,
.training-progress .is-active::before { background: var(--red-600); }
.training-start-over { display: block; min-height: 2.75rem; margin: -1.4rem 0 1.25rem auto; padding: .35rem .2rem; border: 0; background: transparent; color: var(--red-700); font: 750 .82rem/1 var(--font-body); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.training-start-over[hidden] { display: none; }
.training-step__kicker { margin: 0 0 .45rem; color: var(--red-700); font-size: .76rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.training-step h3 { margin-bottom: .55rem; font-size: clamp(1.5rem, 2.4vw, 2.15rem); }
.training-step h3:focus { outline: 0; }
.training-step__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; margin-top: 1.5rem; }
.choice-field { margin: 1.25rem 0; padding: 0; border: 0; }
.choice-field legend { margin-bottom: .7rem; color: var(--ink-900); font-size: .92rem; font-weight: 800; }
.choice-field .wpcf7-form-control { display: flex; flex-wrap: wrap; gap: .65rem; }
.choice-field .wpcf7-list-item { margin: 0; }
.choice-field .wpcf7-list-item label { display: inline-flex; min-height: 2.8rem; align-items: center; gap: .55rem; padding: .65rem .85rem; border: 1px solid var(--slate-200); border-radius: .8rem; background: #fff; cursor: pointer; font-size: .9rem; font-weight: 700; }
.choice-field input { width: 1.05rem; height: 1.05rem; min-height: 0; accent-color: var(--red-600); }
.prototype-form input[type="file"] { width: 100%; padding: .75rem; border: 1px dashed var(--slate-300); border-radius: .75rem; background: var(--warm-50); }
.prototype-form input[type="file"]::file-selector-button {
	min-height: 2.75rem;
	margin: -.3rem .8rem -.3rem -.3rem;
	padding: .65rem 1rem;
	border: 0;
	border-radius: .6rem;
	background: var(--ink-900);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
	transition: background-color var(--duration-base) var(--ease);
}
.prototype-form input[type="file"]:hover::file-selector-button { background: var(--red-700); }
.prototype-form input[type="file"]:focus-visible::file-selector-button { background: var(--red-700); }

/* Careers form: preserve the dark editorial section while presenting the application as a clear, accessible task. */
#application .form-card { width: 100%; }
#application .prototype-form {
	width: 100%;
	max-width: none;
	gap: 0;
	padding: clamp(1.4rem, 2.8vw, 2.35rem);
	border: 1px solid #ffffff52;
	border-radius: var(--radius-xl);
	background: radial-gradient(circle at 100% 0, #f9dadd7a, transparent 18rem), #fff;
	color: var(--ink-950);
	box-shadow: 0 1.8rem 5rem #00000052;
}
#application .prototype-form > [data-careers-fields],
#application .prototype-form > [data-contact-step] { display: grid; gap: 1rem; }
#application .prototype-form > [data-contact-step] {
	margin-top: clamp(1.8rem, 3vw, 2.4rem);
	padding-top: clamp(1.6rem, 2.5vw, 2rem);
	border-top: 1px solid var(--slate-200);
}
#application .career-application-fields h3,
#application .training-step--contact h3 {
	max-width: 18ch;
	margin: 0 0 .4rem;
	color: var(--ink-950);
	font-size: clamp(1.55rem, 2.3vw, 2rem);
}
#application .prototype-form .training-step__kicker { margin-bottom: 0; }
#application .prototype-form .field { gap: .5rem; }
#application .prototype-form .field label,
#application .prototype-form .field legend {
	color: var(--ink-900);
	font-size: .86rem;
	line-height: 1.35;
}
#application .prototype-form .field input,
#application .prototype-form .field select,
#application .prototype-form .field textarea {
	min-height: 3.35rem;
	border-color: #8b8d93;
	background: #fff;
	color: var(--ink-950);
}
#application .prototype-form .field input::placeholder,
#application .prototype-form .field textarea::placeholder { color: var(--slate-500); }
#application .prototype-form .field textarea { height: 8.75rem; min-height: 8.75rem; }
#application .prototype-form .field small {
	color: var(--slate-600);
	font-size: .78rem;
	line-height: 1.45;
}
#application .prototype-form .field--consent {
	margin-top: .25rem;
	border-color: var(--slate-200);
	background: var(--warm-50);
}
#application .prototype-form .training-step__actions {
	justify-content: stretch;
	margin-top: .4rem;
}
#application .prototype-form .training-step__actions > p { width: 100%; margin: 0; }
#application .prototype-form .wpcf7-submit { width: 100%; min-height: 3.35rem; }
#application .prototype-form .wpcf7-response-output { margin: 1rem 0 0; color: var(--ink-900); }

@media (width >= 30rem) {
	#application .prototype-form .form-row--phone { grid-template-columns: minmax(9rem, .45fr) minmax(0, 1.55fr); }
}
.form-success-panel { display: grid; justify-items: start; gap: .55rem; padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid #2f865f52; border-radius: var(--radius-xl); background: linear-gradient(145deg, #fff, #edf9f2); color: var(--ink-900); box-shadow: var(--shadow-card); }
.form-success-panel__icon { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border-radius: 50%; background: var(--success-700); color: #fff; font-size: 1.5rem; font-weight: 900; }
.form-success-panel h3 { margin: .2rem 0; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.form-success-panel p:not(.eyebrow) { max-width: 44rem; color: var(--slate-700); }

/* Careers and CEIPAL integration. */
.career-region-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.career-region-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-height: 8rem; padding: 1.35rem; border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: #fff; color: var(--ink-900); text-decoration: none; box-shadow: var(--shadow-card); transition: transform var(--duration-base) var(--ease), border-color var(--duration-base) var(--ease); }
.career-region-card:hover,
.career-region-card:focus-visible { border-color: var(--red-600); transform: translateY(-3px); }
.career-region-card__flag { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 1rem; background: var(--red-50); color: var(--red-700); font-weight: 900; }
.career-region-card > span:nth-child(2) { display: grid; gap: .3rem; }
.career-region-card strong { font-size: 1.2rem; }
.career-region-card small { color: var(--slate-600); line-height: 1.45; }
.career-region-card svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: var(--red-700); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.job-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.job-card { display: flex; min-height: 21rem; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); background: #fff; box-shadow: 0 .8rem 2.3rem #0b0b0c0d; }
.job-card h3 { margin: .7rem 0 .8rem; font-size: clamp(1.4rem, 2vw, 1.8rem); }
.job-card h3 a { color: inherit; text-decoration: none; }
.job-card > p:not(.eyebrow) { color: var(--slate-600); line-height: 1.65; }
.job-card__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1.25rem; }
.ceipal-jobs { min-height: 18rem; padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-card); }
#example-widget-container { min-height: 12rem; }
.usa-careers-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(18rem, .45fr); align-items: start; gap: clamp(1.5rem, 4vw, 3.5rem); }
.usa-careers-main { min-width: 0; }
.section-heading--stacked { display: block; }
.section-heading--stacked .lead { margin-top: 1rem; }
.usa-careers-guide { position: sticky; top: 8rem; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: linear-gradient(145deg, var(--ink-950), #3d1014); color: #fff; box-shadow: var(--shadow-card); }
.usa-careers-guide h2 { color: #fff; font-size: clamp(1.55rem, 2.3vw, 2.15rem); }
.usa-careers-guide .eyebrow { color: var(--coral-300); }
.usa-careers-guide p { color: #ffffffc4; }
.usa-careers-guide a { color: #fff; font-weight: 800; text-underline-offset: .2em; }
.usa-careers-guide .check-list { margin: 1.25rem 0; }
.usa-careers-guide .check-list li { color: #fff; }

/* Blog index and article pages. */
.hero--insights { --page-banner-image: url("assets/media/learning-workshop-1586.webp"); --page-banner-position: 62% center; }
.insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.insight-card { display: flex; min-width: 0; min-height: 24rem; flex-direction: column; overflow: hidden; border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-card); }
.insight-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink-900); }
.insight-card__image img { width: 100%; height: 100%; object-fit: cover; }
.insight-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); }
.insight-card h3 { margin: .6rem 0 .8rem; font-size: clamp(1.45rem, 2.3vw, 2rem); }
.insight-card h3 a { color: inherit; text-decoration: none; }
.insight-card p:not(.eyebrow) { color: var(--slate-600); }
.insight-card .text-link { margin-top: auto; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .34fr); align-items: start; gap: clamp(2rem, 6vw, 6rem); }
.article-content { max-width: 52rem; }
.article-content > p,
.article-content > ul,
.article-content > ol { color: var(--slate-700); font-size: 1.08rem; line-height: 1.8; }
.article-content h2 { margin-top: 2.7rem; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.article-featured { overflow: hidden; margin: 0 0 2rem; border-radius: var(--radius-xl); }
.article-featured img { width: 100%; height: auto; }
.article-aside { position: sticky; top: 8rem; display: grid; justify-items: start; padding: 1.5rem; border-radius: var(--radius-xl); background: linear-gradient(145deg, var(--ink-950), #3d1014); color: #fff; }
.article-aside h2 { color: #fff; font-size: 1.65rem; }
.article-aside p:not(.eyebrow) { color: #ffffffbd; }
.article-aside .eyebrow { color: var(--coral-300); }
.article-aside .text-link { margin-top: .7rem; color: #fff; }

@media (width <= 74rem) {
	.course-detail-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem); gap: 2rem; }
	.contact-enquiry-layout { grid-template-columns: 1fr; }
	.usa-careers-layout { grid-template-columns: 1fr; }
	.usa-careers-guide { position: static; }
	.contact-enquiry-copy > h2 { max-width: 18ch; }
	.contact-directory__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.contact-directory__card { grid-template-columns: 2.4rem minmax(0, 1fr); }
	.contact-directory__icon { width: 2.4rem; height: 2.4rem; }
	.office-map-card__body { align-items: start; flex-direction: column; gap: .75rem; }
}

@media (width <= 47.99rem) {
	.course-detail-hero { min-height: 0; }
	.course-detail-hero__inner { padding-block: 3.5rem 3rem; }
	.course-detail-hero__layout { grid-template-columns: 1fr; gap: 2rem; }
	.course-detail-hero h1 { font-size: clamp(2.35rem, 11vw, 3.25rem); }
	.course-credential-card { padding: 1.2rem; }
	.course-credential-card__logo { min-height: 4.75rem; }
	.sticky-enquiry { top: 48%; width: 2.75rem; min-height: 7.5rem; padding: .6rem .45rem; font-size: .7rem; }
	.sticky-enquiry svg { display: none; }
	.contact-page #enquiry .prototype-form,
	#application .prototype-form { padding-right: 3.25rem; }
	.contact-service-grid,
	.contact-directory__grid,
	.career-region-grid,
	.job-list,
	.insight-grid,
	.article-layout { grid-template-columns: 1fr; }
	.contact-service-grid article { min-height: 0; }
	.training-progress li { font-size: .58rem; }
	.training-progress span { width: 1.6rem; height: 1.6rem; }
	.training-progress li::before { top: .8rem; }
	.choice-field .wpcf7-form-control { display: grid; grid-template-columns: 1fr; }
	.choice-field .wpcf7-list-item label { width: 100%; }
	.training-step__actions .button { flex: 1 1 auto; }
	.job-card { min-height: 0; }
	.article-aside { position: static; }
	.office-map-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.sticky-enquiry,
	.career-region-card,
}

/* Database-backed site search. */
.site-search-results[aria-busy="true"] {
	min-height: 5rem;
}
.site-search-results[aria-busy="true"]::before {
	display: block;
	width: 1.4rem;
	height: 1.4rem;
	margin: 1.4rem auto;
	border: 2px solid var(--slate-200);
	border-top-color: var(--red-600);
	border-radius: 50%;
	content: "";
	animation: mtk-search-progress .7s linear infinite;
}
.site-search-all {
	margin: .45rem 0 .2rem;
}
.search-page-shell {
	max-width: 68rem;
}
.search-page-shell .learning-search {
	display: grid;
	gap: .6rem;
	margin-bottom: 2rem;
}
.search-page-shell .learning-search > label {
	font-size: .88rem;
	font-weight: 800;
}
.search-page-field {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
}
.search-page-field input {
	width: 100%;
	min-height: 3.4rem;
	padding: .8rem 1rem;
	border: 1px solid var(--slate-500);
	border-radius: var(--radius-md);
	background: #fff;
}
.search-page-shell > .result-status {
	margin-bottom: 1rem;
}
.search-results-list {
	display: grid;
	gap: .9rem;
}
.search-result-card {
	padding: clamp(1.35rem, 2.5vw, 2rem);
	border: 1px solid var(--slate-200);
	border-radius: var(--radius-lg);
	background: #fff;
	box-shadow: 0 .75rem 2.2rem #0b0b0c0a;
}
.search-result-card .eyebrow {
	margin-bottom: .65rem;
}
.search-result-card h2 {
	max-width: 30ch;
	margin-bottom: .8rem;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
}
.search-result-card h2 a {
	text-decoration: none;
}
.search-result-card > p:not(.eyebrow) {
	color: var(--slate-600);
}

@keyframes mtk-search-progress {
	to { transform: rotate(360deg); }
}

@media (width <= 37.99rem) {
	.search-page-field { grid-template-columns: 1fr; }
	.search-page-field .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.site-search-results[aria-busy="true"]::before { animation: none; }
}

/* D-089: compact, collision-free live search dialog. */
.site-search-overlay {
	place-items: center;
	padding: clamp(.75rem, 2vw, 1.5rem) var(--page-gutter);
}
.site-search-panel {
	width: min(100%, 62rem);
	max-height: calc(100svh - clamp(1.5rem, 4vw, 3rem));
	grid-template-rows: auto auto auto minmax(0, 1fr);
}
body.admin-bar .site-search-overlay {
	inset-block-start: 32px;
}
.site-search-panel__top {
	align-items: center;
	padding: 1.35rem clamp(1.25rem, 2.4vw, 1.75rem) 1.15rem;
}
.site-search-panel__top .eyebrow {
	margin-bottom: .55rem;
}
.site-search-panel h2 {
	max-width: 27ch;
	margin: 0;
	font-size: clamp(1.65rem, 2.45vw, 2.15rem);
	line-height: 1.08;
	text-wrap: balance;
}
.site-search-form {
	padding: 1.05rem clamp(1.25rem, 2.4vw, 1.75rem) .8rem;
}
.site-search-form > label {
	display: inline-block;
	margin-bottom: .4rem;
	font-size: .88rem;
	font-weight: 750;
}
.site-search-field {
	gap: .6rem;
}
.site-search-field input,
.site-search-field .button {
	min-height: 3.45rem;
}
.site-search-suggestions {
	gap: .4rem;
	margin-top: .65rem;
}
.site-search-suggestions[hidden] {
	display: none;
}
.site-search-suggestions button {
	min-height: 2.25rem;
	padding: .35rem .7rem;
}
.site-search-status {
	padding: .15rem clamp(1.25rem, 2.4vw, 1.75rem) .7rem;
}
.site-search-results {
	grid-auto-rows: max-content;
	align-content: start;
	align-items: stretch;
	gap: .7rem;
	padding: 0 clamp(1.25rem, 2.4vw, 1.75rem) 1.35rem;
	overflow-x: hidden;
	overflow-y: auto;
}
.search-result {
	grid-template-columns: minmax(4.25rem, auto) minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-content: start;
	align-self: start;
	height: max-content;
	min-height: 0;
	gap: .35rem 1rem;
	padding: 1rem 1.05rem;
	overflow: hidden;
}
.search-result strong {
	min-width: 0;
	font-size: 1rem;
	line-height: 1.35;
}
.search-result > span:not(.search-result__type) {
	display: -webkit-box;
	margin-top: 0;
	overflow: hidden;
	font-size: .84rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.search-result__type {
	grid-row: 1 / span 2;
	padding-top: .1rem;
}

@media (width <= 47.99rem) {
	.site-search-overlay {
		place-items: start center;
		padding: .5rem;
	}
	.site-search-panel {
		max-height: calc(100svh - 1rem);
		border-radius: 1.1rem;
	}
	.site-search-panel__top {
		align-items: flex-start;
		padding: 1rem 1rem .9rem;
	}
	.site-search-panel h2 {
		max-width: 20ch;
		font-size: clamp(1.35rem, 6vw, 1.6rem);
	}
	.site-search-form {
		padding: .85rem 1rem .7rem;
	}
	.site-search-field,
	.site-search-field .button {
		width: auto;
	}
	.site-search-field {
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.site-search-status {
		padding: .1rem 1rem .65rem;
	}
	.site-search-results {
		grid-template-columns: 1fr;
		padding: 0 1rem 1rem;
	}
	.search-result {
		grid-template-columns: 4rem minmax(0, 1fr);
	}
}

@media screen and (width <= 782px) {
	body.admin-bar .site-search-overlay {
		inset-block-start: 46px;
	}
	body.admin-bar .site-search-panel {
		max-height: calc(100svh - 47px - 1rem);
	}
}

/* D-087: shared breadcrumb and editorial Blog system. */
.internal-page .breadcrumbs {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-bottom: 1.65rem;
	padding: .38rem .52rem;
	border: 1px solid #ffffff2e;
	border-radius: 999px;
	background: #0b0b0c99;
	box-shadow: 0 .55rem 1.5rem #0000001f;
	backdrop-filter: blur(12px);
}
.internal-page .breadcrumbs ol {
	display: flex;
	min-width: 0;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	font-size: .76rem;
	line-height: 1;
}
.internal-page .breadcrumbs li {
	min-width: 0;
	min-height: 2rem;
	color: #ffffffb8;
	font-weight: 700;
}
.internal-page .breadcrumbs a {
	min-height: 2rem;
	padding-inline: .55rem;
	color: #fff;
	white-space: nowrap;
}
.internal-page .breadcrumbs li[aria-current="page"] {
	max-width: min(38ch, 46vw);
	padding-inline: .55rem .7rem;
	overflow: hidden;
	color: var(--coral-300);
	text-overflow: ellipsis;
	white-space: nowrap;
}
.internal-page .breadcrumbs li:not(:last-child)::after {
	width: .34rem;
	height: .34rem;
	margin: 0 .14rem;
	border-color: #ffffff70;
}

.blog-landing-hero {
	min-height: clamp(30rem, 63svh, 38rem);
}
.blog-landing-hero .hero-grid > div {
	max-width: 54rem;
}
.blog-landing-hero h1 {
	max-width: 15ch;
	font-size: clamp(2.8rem, 2.15rem + 2.2vw, 4.25rem);
}
.blog-index {
	background:
		radial-gradient(circle at 92% 8%, #fae4e64d, transparent 20rem),
		#fff;
}
.blog-index__heading {
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}
.insight-grid {
	gap: clamp(1.25rem, 2vw, 2rem);
}
.insight-card {
	min-height: 0;
	border-color: #d8d5cf;
	box-shadow: 0 1.25rem 3.25rem #1111110d;
	transition: transform var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease), border-color var(--duration-base) var(--ease);
}
.insight-card:hover,
.insight-card:focus-within {
	transform: translateY(-.3rem);
	border-color: #b7171f66;
	box-shadow: 0 1.6rem 3.8rem #11111117;
}
.insight-card__image {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--ink-950);
}
.insight-card__image::after {
	position: absolute;
	inset: auto 0 0;
	height: 34%;
	background: linear-gradient(transparent, #08080870);
	content: "";
	pointer-events: none;
}
.insight-card__image picture {
	display: block;
	width: 100%;
	height: 100%;
}
.insight-card__image img {
	transition: transform 520ms var(--ease);
}
.insight-card:hover .insight-card__image img,
.insight-card:focus-within .insight-card__image img {
	transform: scale(1.025);
}
.insight-card__body {
	padding: clamp(1.45rem, 2.5vw, 2.1rem);
}
.insight-card h3 {
	max-width: 25ch;
	margin: 1rem 0 .85rem;
	font-size: clamp(1.55rem, 2.2vw, 2.05rem);
	line-height: 1.14;
}
.insight-card h3 a:hover,
.insight-card h3 a:focus-visible {
	color: var(--red-700);
}
.insight-card p:not(.eyebrow) {
	max-width: 52ch;
	line-height: 1.7;
}
.insight-card .text-link {
	margin-top: 1.3rem;
}
.article-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem .75rem;
	color: var(--red-700);
	letter-spacing: .075em;
	text-transform: uppercase;
	font-size: .72rem;
	font-weight: 850;
}
.article-meta > * + *::before {
	display: inline-block;
	width: .28rem;
	height: .28rem;
	margin: 0 .7rem .12rem 0;
	border-radius: 50%;
	background: currentColor;
	content: "";
}

.blog-article-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3.25rem, 5vw, 5.25rem);
	background:
		radial-gradient(circle at 84% 12%, #b7171f38, transparent 24rem),
		linear-gradient(135deg, #080809, #211113 75%, #351014);
	color: #fff;
}
.blog-article-hero::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(118deg, transparent 0 68%, #ffffff0a 68% 68.08%, transparent 68.08%);
	content: "";
	pointer-events: none;
}
.blog-article-hero .container {
	position: relative;
}
.blog-article-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(24rem, .78fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 5.5rem);
}
.blog-article-hero__copy {
	min-width: 0;
}
.blog-article-hero h1 {
	max-width: 15ch;
	margin: 1.1rem 0 1.2rem;
	color: #fff;
	font-size: clamp(2.75rem, 2rem + 2.4vw, 4.5rem);
	line-height: 1.03;
	text-wrap: balance;
}
.blog-article-hero .lead {
	max-width: 58ch;
	margin-bottom: 0;
	color: #ffffffc7;
	font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem);
	line-height: 1.65;
}
.article-meta--light {
	color: var(--coral-300);
}
.blog-article-hero__media {
	position: relative;
	overflow: hidden;
	margin: 0;
	border: 1px solid #ffffff38;
	border-radius: clamp(1.25rem, 2vw, 2rem);
	background: #171719;
	box-shadow: 0 2rem 4.5rem #00000047;
}
.blog-article-hero__media::after {
	position: absolute;
	inset: 0;
	border: 1px solid #ffffff14;
	border-radius: inherit;
	box-shadow: inset 0 0 0 .5rem #00000014;
	content: "";
	pointer-events: none;
}
.blog-article-hero__media picture,
.blog-article-hero__media img {
	display: block;
	width: 100%;
}
.blog-article-hero__media img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.article-section {
	background: linear-gradient(180deg, #fff, #fbfaf7);
}
.article-layout {
	grid-template-columns: minmax(0, 46rem) minmax(17rem, 21rem);
	justify-content: space-between;
	gap: clamp(2.5rem, 6vw, 6rem);
}
.article-content {
	max-width: 46rem;
}
.article-content__label {
	margin: 0 0 1.75rem;
	color: var(--red-700);
	letter-spacing: .09em;
	text-transform: uppercase;
	font-size: .78rem !important;
	font-weight: 850;
}
.article-content > p,
.article-content > ul,
.article-content > ol {
	color: var(--slate-700);
	font-size: clamp(1.04rem, 1rem + .18vw, 1.15rem);
	line-height: 1.82;
}
.article-content > p:first-of-type:not(.article-content__label) {
	color: var(--ink-900);
	font-size: clamp(1.18rem, 1.1rem + .35vw, 1.35rem);
	line-height: 1.65;
}
.article-content h2 {
	position: relative;
	max-width: 24ch;
	margin: clamp(2.6rem, 5vw, 4rem) 0 1rem;
	padding-top: 1.05rem;
	font-size: clamp(1.75rem, 1.5rem + 1vw, 2.45rem);
	line-height: 1.16;
	text-wrap: balance;
}
.article-content h2::before {
	position: absolute;
	inset: 0 auto auto 0;
	width: 2.65rem;
	height: .18rem;
	border-radius: 999px;
	background: var(--red-600);
	content: "";
}
.article-content ul,
.article-content ol {
	display: grid;
	gap: .65rem;
	padding-inline-start: 1.35rem;
}
.article-content > p:last-child {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--slate-200);
}
.article-aside {
	top: 7.5rem;
	gap: .45rem;
	padding: clamp(1.4rem, 2.5vw, 1.9rem);
	border: 1px solid #d9d4cd;
	border-top: .28rem solid var(--red-600);
	border-radius: var(--radius-xl);
	background: linear-gradient(155deg, #fff, #fbf6f3);
	box-shadow: 0 1.2rem 3rem #1010100d;
	color: var(--ink-900);
}
.article-aside__icon {
	display: grid;
	width: 3.15rem;
	height: 3.15rem;
	margin-bottom: .65rem;
	place-items: center;
	border: 1px solid var(--red-100);
	border-radius: 1rem;
	background: var(--red-50);
	color: var(--red-700);
}
.article-aside__icon svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.article-aside h2 {
	margin: .25rem 0 .65rem;
	color: var(--ink-950);
	font-size: clamp(1.5rem, 2vw, 1.85rem);
	line-height: 1.16;
}
.article-aside p:not(.eyebrow) {
	margin-bottom: 1rem;
	color: var(--slate-650, var(--slate-600));
	line-height: 1.65;
}
.article-aside .eyebrow {
	color: var(--red-700);
}
.article-aside .button {
	width: 100%;
	margin-top: .3rem;
}
.article-aside .text-link {
	margin-top: .5rem;
	color: var(--red-700);
}

@media (width <= 63.99rem) {
	.blog-article-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, .72fr);
		gap: 2rem;
	}
	.article-layout {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 18rem);
		gap: 2.5rem;
	}
}

@media (width <= 47.99rem) {
	.internal-page .breadcrumbs {
		margin-bottom: 1.35rem;
		padding: .3rem .38rem;
	}
	.internal-page .breadcrumbs li[aria-current="page"] {
		max-width: 48vw;
	}
	.blog-landing-hero {
		min-height: auto;
	}
	.blog-landing-hero h1 {
		font-size: clamp(2.35rem, 10vw, 3.15rem);
	}
	.blog-index__heading {
		gap: 1rem;
	}
	.insight-card:hover,
	.insight-card:focus-within {
		transform: none;
	}
	.blog-article-hero {
		padding-block: 2.75rem 3.25rem;
	}
	.blog-article-hero__grid,
	.article-layout {
		grid-template-columns: 1fr;
	}
	.blog-article-hero__grid {
		gap: 2rem;
	}
	.blog-article-hero h1 {
		font-size: clamp(2.35rem, 10.8vw, 3.2rem);
	}
	.blog-article-hero__media {
		border-radius: 1.15rem;
	}
	.article-aside {
		position: static;
	}
}

@media (prefers-reduced-motion: reduce) {
	.insight-card,
	.insight-card__image img {
		transition: none;
	}
}
