/* MTCC Team — matches the site: Astra Global Colors, Kudryashev headings, Open Sans text. */
.mtcc-team-page, .mtcc-team, .mtcc-hero, .mtcc-pop {
	--mtcc-blue: var(--ast-global-color-0, #26598c);
	--mtcc-red: var(--ast-global-color-1, #f11f21);
	--mtcc-navy: var(--ast-global-color-2, #11202a);
	--mtcc-text: var(--ast-global-color-3, #1d394b);
	--mtcc-line: rgba(17, 32, 42, .1);
	--mtcc-soft: #eef2f6;
}
.mtcc-team-page { width: 100%; overflow-x: clip; }
.mtcc-container { width: 100%; max-width: 1280px; margin: 0 auto; padding-left: 40px; padding-right: 40px; box-sizing: border-box; }
.mtcc-bleed { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: 0; }

/* ---------- Banner (same as the other MTCC pages) ---------- */
.mtcc-hero { position: relative; min-height: max(380px, 60vh); display: flex; align-items: flex-end; overflow: hidden; background: var(--mtcc-navy); color: #fff; }
.mtcc-hero--plain { background: linear-gradient(135deg, var(--mtcc-blue), var(--mtcc-navy)); }
.mtcc-hero__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; animation: mtcc-zoom 14s ease-out both; }
.mtcc-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, .2) 100%); }
.mtcc-hero--plain .mtcc-hero__overlay { background: linear-gradient(to top, rgba(0, 0, 0, .35), transparent 70%); }
.mtcc-hero__inner { position: relative; z-index: 1; padding-top: 140px; padding-bottom: 56px; }
.mtcc-hero__eyebrow { margin: 0 0 10px; font-size: .8em; letter-spacing: .22em; text-transform: uppercase; opacity: .85; color: #fff; }
.mtcc-hero .mtcc-hero__title { margin: 0; color: #fff; font-size: clamp(34px, 5vw, 68px); line-height: 1.08; }
.mtcc-hero__tagline { margin: 12px 0 0; max-width: 760px; font-size: clamp(17px, 1.6vw, 23px); opacity: .92; color: #fff; }
@keyframes mtcc-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }

/* Transparent header over the banner, solid blue once scrolled (the site's own scroll script). */
body.mtcc-team-transparent:not(.ast-theme-transparent-header) #masthead:not(.scrolled-header) { position: absolute; top: 0; left: 0; right: 0; width: 100%; z-index: 999; background: transparent !important; }
body.admin-bar.mtcc-team-transparent:not(.ast-theme-transparent-header) #masthead:not(.scrolled-header) { top: 32px; }
@media (max-width: 782px) { body.admin-bar.mtcc-team-transparent:not(.ast-theme-transparent-header) #masthead:not(.scrolled-header) { top: 46px; } }
body.mtcc-team-transparent #masthead:not(.scrolled-header) .main-header-bar,
body.mtcc-team-transparent #masthead:not(.scrolled-header) .ast-primary-header-bar,
body.mtcc-team-transparent #masthead:not(.scrolled-header) .ast-above-header-bar,
body.mtcc-team-transparent #masthead:not(.scrolled-header) .ast-below-header-bar,
body.mtcc-team-transparent #masthead:not(.scrolled-header) .ast-mobile-header-wrap .ast-primary-header-bar { background: transparent !important; background-color: transparent !important; }
body.mtcc-team-transparent:not(.ast-theme-transparent-header) #masthead:not(.scrolled-header) .menu-link,
body.mtcc-team-transparent:not(.ast-theme-transparent-header) #masthead:not(.scrolled-header) .site-title a,
body.mtcc-team-transparent:not(.ast-theme-transparent-header) #masthead:not(.scrolled-header) .menu-toggle { color: #fff !important; }
body.mtcc-team-tpl #content > .ast-container { max-width: none; padding: 0; display: block; }

/* ---------- Shared bits ---------- */
.mtcc-main { padding: 88px 0 110px; }
.mtcc-team, .mtcc-pop { color: var(--mtcc-text); }
.mtcc-team :is(h2, h3), .mtcc-pop :is(h2, h3) { color: var(--mtcc-navy); }
.mtcc-kicker { margin: 0 0 14px; font-family: 'Open Sans', sans-serif; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .22em; text-transform: uppercase; color: var(--mtcc-red); }
.mtcc-kicker--line { display: inline-flex; align-items: center; gap: 14px; }
.mtcc-kicker--line::after, .mtcc-kicker--lines::before, .mtcc-kicker--lines::after { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.mtcc-kicker--lines { display: inline-flex; align-items: center; gap: 14px; }
.mtcc-btn { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 15px 30px; background: var(--mtcc-blue); color: #fff; font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; line-height: 1.2; transition: filter .2s; }
.mtcc-btn:hover { filter: brightness(.9); color: #fff; }
.mtcc-btn:focus-visible, .mtcc-card__btn:focus-visible, .mtcc-lead__media:focus-visible { outline: 3px solid var(--mtcc-red); outline-offset: 3px; }

/* ---------- Intro ---------- */
.mtcc-intro { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.mtcc-intro .mtcc-intro__title { margin: 0 0 18px; font-size: clamp(30px, 4vw, 48px); line-height: 1.15; }
.mtcc-intro__text { margin: 0; font-size: 17px; line-height: 1.8; }

/* ---------- Featured member ---------- */
.mtcc-lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: #fff; margin-bottom: 80px; box-shadow: 0 18px 50px rgba(17, 32, 42, .08); }
.mtcc-lead__media { all: unset; box-sizing: border-box; display: block; cursor: zoom-in; aspect-ratio: 4 / 5; overflow: hidden; background: var(--mtcc-soft); }
.mtcc-lead__media .mtcc-photo { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform .6s; }
.mtcc-lead__media:hover .mtcc-photo { transform: scale(1.03); }
.mtcc-lead__body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 56px 64px; }
.mtcc-lead .mtcc-lead__name { margin: 0 0 20px; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.08; }
.mtcc-lead__text { margin: 0 0 30px; font-size: 16px; line-height: 1.85; }

/* ---------- Groups + grid ---------- */
.mtcc-group + .mtcc-group { margin-top: 72px; }
.mtcc-group__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--mtcc-line); }
.mtcc-group .mtcc-group__title { margin: 0; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.2; }
.mtcc-group__count { flex: none; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.mtcc-grid { display: grid; gap: 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mtcc-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.mtcc-card { background: #fff; transition: transform .3s, box-shadow .3s; }
.mtcc-card:hover, .mtcc-card:focus-within { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(17, 32, 42, .1); }
.mtcc-card__btn { all: unset; box-sizing: border-box; display: flex; flex-direction: column; justify-content: flex-start; width: 100%; height: 100%; cursor: pointer; }
.mtcc-card__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--mtcc-soft); }
.mtcc-card__media .mtcc-photo { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform .6s; }
.mtcc-card:hover .mtcc-photo { transform: scale(1.05); }
.mtcc-card__view { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px; background: var(--mtcc-blue); color: #fff; font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-align: center; transform: translateY(100%); transition: transform .3s; }
.mtcc-card:hover .mtcc-card__view, .mtcc-card__btn:focus-visible .mtcc-card__view { transform: none; }
.mtcc-card__body { display: block; padding: 20px 22px 24px; border-bottom: 3px solid transparent; transition: border-color .3s; }
.mtcc-card:hover .mtcc-card__body { border-color: var(--mtcc-red); }
.mtcc-card__name { display: block; font-family: var(--mtcc-heading-font, 'Kudryashev Headline', serif); font-size: 22px; font-weight: 500; line-height: 1.2; color: var(--mtcc-navy); }
.mtcc-card__job { display: block; margin-top: 8px; font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; color: var(--mtcc-red); }

/* Placeholder until a photo is added */
.mtcc-placeholder { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; background: linear-gradient(160deg, #e9eff5, #d5e0ea); }
.mtcc-placeholder__ini { display: flex; align-items: center; justify-content: center; width: 38%; aspect-ratio: 1; border-radius: 50%; background: #fff; color: var(--mtcc-blue); font-family: var(--mtcc-heading-font, 'Kudryashev Headline', serif); font-size: clamp(22px, 3vw, 40px); letter-spacing: .04em; box-shadow: 0 8px 24px rgba(17, 32, 42, .08); }

/* ---------- Pop-up ---------- */
.mtcc-pop { width: min(1080px, calc(100vw - 48px)); max-width: none; max-height: calc(100vh - 48px); padding: 0; border: 0; background: transparent; overflow: visible; }
.mtcc-pop::backdrop { background: rgba(17, 32, 42, .72); backdrop-filter: blur(3px); }
.mtcc-pop[open] { animation: mtcc-in .28s ease-out; }
@keyframes mtcc-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.mtcc-pop__box { position: relative; display: flex; flex-direction: column; max-height: calc(100vh - 48px); background: #fff; box-shadow: 0 30px 90px rgba(0, 0, 0, .35); }
.mtcc-pop__content { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 0; flex: 1; overflow: hidden; outline: none; }
.mtcc-pop__media { background: var(--mtcc-soft); min-height: 100%; }
.mtcc-pop__media .mtcc-photo { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.mtcc-pop__body { padding: 52px 56px 40px; overflow-y: auto; max-height: calc(100vh - 48px - 74px); }
.mtcc-pop .mtcc-pop__name { margin: 0 0 22px; font-size: clamp(28px, 3vw, 42px); line-height: 1.1; padding-right: 32px; }
.mtcc-pop__text { font-size: 16px; line-height: 1.85; }
.mtcc-pop__text p { margin: 0 0 14px; }
.mtcc-pop .mtcc-pop__sub { margin: 28px 0 12px; font-family: 'Open Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--mtcc-red); }
.mtcc-pop__quals { margin: 0; padding: 0; list-style: none; }
.mtcc-pop__quals li { position: relative; margin: 0; padding: 10px 0 10px 22px; border-bottom: 1px solid var(--mtcc-line); font-size: 15px; line-height: 1.55; }
.mtcc-pop__quals li:last-child { border-bottom: 0; }
.mtcc-pop__quals li::before { content: ""; position: absolute; left: 2px; top: 19px; width: 7px; height: 7px; background: var(--mtcc-red); }
.mtcc-pop__close { all: unset; position: absolute; top: 14px; right: 14px; z-index: 3; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--mtcc-navy); cursor: pointer; box-shadow: 0 4px 16px rgba(0, 0, 0, .15); }
.mtcc-pop__close:hover { background: var(--mtcc-blue); color: #fff; }
.mtcc-pop svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mtcc-pop__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--mtcc-line); background: #fff; }
.mtcc-pop__step { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 10px; max-width: 42%; padding: 8px 10px; cursor: pointer; color: var(--mtcc-navy); }
.mtcc-pop__step:hover { color: var(--mtcc-blue); }
.mtcc-pop__step[hidden] { visibility: hidden; display: inline-flex; }
.mtcc-pop__step span { display: flex; flex-direction: column; min-width: 0; }
.mtcc-pop__step--next span { text-align: right; }
.mtcc-pop__step small { font-family: 'Open Sans', sans-serif; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--mtcc-red); }
.mtcc-pop__step b { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtcc-pop__count { font-size: 13px; letter-spacing: .12em; opacity: .7; }
html.mtcc-lock { overflow: hidden; }
.mtcc-empty { text-align: center; padding: 40px 0; }

/* ---------- Tablet ---------- */
@media (max-width: 1100px) {
	.mtcc-grid, .mtcc-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
	.mtcc-lead__body { padding: 40px; }
}
@media (max-width: 921px) {
	.mtcc-container { padding-left: 20px; padding-right: 20px; }
	.mtcc-grid, .mtcc-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mtcc-lead { grid-template-columns: 1fr; }
	.mtcc-lead__media { aspect-ratio: 4 / 3.4; }
	.mtcc-pop__content { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
	.mtcc-pop__body { padding: 40px 32px 32px; }
}

/* ---------- Phones ---------- */
@media (max-width: 640px) {
	.mtcc-hero { min-height: max(260px, 45vh); }
	.mtcc-hero__inner { padding-top: 96px; padding-bottom: 24px; }
	.mtcc-hero__eyebrow { font-size: .7em; margin-bottom: 6px; }
	.mtcc-hero .mtcc-hero__title { font-size: clamp(28px, 8vw, 36px); }
	.mtcc-hero__tagline { margin-top: 6px; font-size: 15px; }
	.mtcc-main { padding: 48px 0 64px; }
	.mtcc-intro { margin-bottom: 40px; }
	.mtcc-intro__text { font-size: 15px; }
	.mtcc-lead { margin-bottom: 48px; }
	.mtcc-lead__body { padding: 28px 22px 32px; }
	.mtcc-lead__text { font-size: 15px; }
	.mtcc-btn { width: 100%; }
	.mtcc-group + .mtcc-group { margin-top: 48px; }
	.mtcc-group__head { margin-bottom: 18px; }
	.mtcc-grid, .mtcc-cols-3 { gap: 12px; }
	.mtcc-card__body { padding: 12px 12px 14px; }
	.mtcc-card__name { font-size: 17px; }
	.mtcc-card__job { font-size: 10px; letter-spacing: .1em; margin-top: 5px; }
	.mtcc-card__view { display: none; }

	.mtcc-pop { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; }
	.mtcc-pop__box { height: 100%; max-height: none; }
	.mtcc-pop__content { display: block; overflow-y: auto; }
	.mtcc-pop__media { aspect-ratio: 4 / 3.6; min-height: 0; }
	.mtcc-pop__body { max-height: none; overflow: visible; padding: 24px 20px 28px; }
	.mtcc-pop .mtcc-pop__name { padding-right: 0; font-size: 30px; }
	.mtcc-pop__nav { padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
	.mtcc-pop__step b { font-size: 13px; }
	.mtcc-pop__count { display: none; }
	.mtcc-pop__step { max-width: 50%; }
}

@media (prefers-reduced-motion: reduce) {
	.mtcc-hero__img, .mtcc-pop[open] { animation: none; }
	.mtcc-card, .mtcc-photo, .mtcc-card__view { transition: none !important; }
}
