/*
 * MyConnectCard layouts: STRUCTURE ONLY.
 * Loaded after card.css and before the skin. Every rule is scoped to a
 * layout (.mcc-l-<slug>), a hero type (.mcc-hero--<type>), a body type
 * (.mcc-body--<type>) or a component variant, all named in the allowlisted
 * registry (inc/layouts.php). Colors and fonts come from tokens set by the
 * editor and the skin; nothing here names a member.
 * Phone first; 48em and 64em add the wide compositions.
 */

/* ---------- Shared pieces used by several layouts ---------- */

/* Header monogram: when the brand is the person's name, phones show the
   initials only, so the name is never set twice above the fold. */
.mcc-brand--name {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.mcc-monogram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--mcc-line-strong);
	border-radius: 50%;
	font-family: var(--mcc-serif);
	font-size: 15px;
	letter-spacing: 0.06em;
	color: var(--mcc-primary);
}

.mcc-brand__name {
	display: none;
}

/* Light heroes: every hero except the classic portrait band and the split
   hero sits on the card paper, whatever the skin. */
.mcc .mcc-hero--light {
	display: block;
	min-height: 0;
	background: var(--mcc-paper);
	color: var(--mcc-ink);
}

.mcc .mcc-hero--light::before {
	display: none;
}

.mcc .mcc-hero--light .mcc-eyebrow {
	color: var(--mcc-primary);
}

.mcc .mcc-hero--light .mcc-name {
	color: var(--mcc-primary);
}

.mcc .mcc-hero--light .mcc-name__last {
	color: var(--mcc-accent);
}

.mcc .mcc-hero--light .mcc-role,
.mcc .mcc-hero--light .mcc-lead {
	color: var(--mcc-ink);
}

.mcc .mcc-hero--light .mcc-firm,
.mcc .mcc-hero--light .mcc-summary {
	color: var(--mcc-muted);
}

.mcc .mcc-hero--light .mcc-primary,
.mcc .mcc-hero--light .mcc-primary:visited,
.mcc .mcc-hero--light .mcc-primary:hover,
.mcc .mcc-hero--light .mcc-primary:focus {
	background: var(--mcc-primary);
	color: var(--mcc-paper);
	box-shadow: none;
}

.mcc .mcc-hero--light .mcc-identity,
.mcc .mcc-hero--light .mcc-pitch,
.mcc .mcc-aside .mcc-identity,
.mcc .mcc-aside .mcc-pitch {
	max-width: none;
	padding: 0;
}

.mcc .mcc-hero--light .mcc-pitch > :first-child,
.mcc .mcc-hero--split .mcc-pitch > :first-child,
.mcc .mcc-aside .mcc-pitch > :first-child {
	margin-top: 0;
}

/* Round portrait (avatar / panel). */
.mcc-avatar {
	display: block;
	overflow: hidden;
	border-radius: 50%;
	background: var(--mcc-tint);
}

.mcc-avatar__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
}

/* Framing of round portraits (member setting media.portrait_focus). */
.mcc-avatar--focus-upper .mcc-avatar__img {
	transform: scale(1.7);
	transform-origin: 50% 16%;
}

.mcc-avatar--focus-face .mcc-avatar__img {
	transform: scale(2.6);
	transform-origin: 51% 15%;
}

.mcc-avatar--panel {
	width: 100%;
	max-width: 260px;
	aspect-ratio: 4 / 5;
	margin: 0 auto;
	border-radius: 999px 999px 10px 10px;
}

/* Action treatments. All share .mcc-action; layouts change arrangement. */
.mcc .mcc-actions--bar,
.mcc .mcc-actions--grid,
.mcc .mcc-actions--pills,
.mcc .mcc-actions--list,
.mcc .mcc-actions--panel {
	border: 0;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}

.mcc .mcc-contact.mcc-contact--bar,
.mcc .mcc-contact.mcc-contact--grid,
.mcc .mcc-contact.mcc-contact--pills,
.mcc .mcc-contact.mcc-contact--panel {
	padding: 0;
	border-top: 0;
}

/* Bar: round icon buttons with a short label, rows centered. */
.mcc .mcc-actions--bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px 6px;
}

.mcc .mcc-actions--bar .mcc-action {
	flex: 0 0 calc(33.333% - 6px);
	max-width: 92px;
	min-height: 0;
	padding: 0;
	align-items: center;
	text-align: center;
	background: transparent;
	box-shadow: none;
}

.mcc .mcc-actions--bar .mcc-action__icon {
	position: static;
	transform: none;
	width: 52px;
	height: 52px;
	margin: 0 auto 7px;
	border-radius: 50%;
}

.mcc .mcc-actions--bar .mcc-action__icon svg {
	width: 21px;
	height: 21px;
}

.mcc .mcc-actions--bar .mcc-action__label {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
}

/* Grid: 3 × 2 square tiles. */
.mcc .mcc-actions--grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-flow: row;
	grid-auto-columns: auto;
	gap: 10px;
}

.mcc .mcc-actions--grid .mcc-action {
	align-items: center;
	justify-content: center;
	min-height: 92px;
	padding: 14px 6px 12px;
	text-align: center;
	border-radius: 14px;
	box-shadow: inset 0 0 0 1px var(--mcc-line);
}

.mcc .mcc-actions--grid .mcc-action__icon {
	position: static;
	transform: none;
	margin: 0 auto 8px;
}

.mcc .mcc-actions--grid .mcc-action__label {
	margin: 0;
	font-size: 13px;
}

/* Pills: full-width stacked buttons, the first one filled. */
.mcc .mcc-actions--pills {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mcc .mcc-actions--pills .mcc-action {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 54px;
	padding: 12px 20px;
	border-radius: 999px;
	text-align: center;
	box-shadow: inset 0 0 0 1px var(--mcc-line-strong);
}

.mcc .mcc-actions--pills .mcc-action:first-child {
	background: var(--mcc-primary);
	box-shadow: none;
}

.mcc .mcc-actions--pills .mcc-action:first-child .mcc-action__label,
.mcc .mcc-actions--pills .mcc-action:first-child .mcc-action__icon {
	color: var(--mcc-paper);
	background: transparent;
}

.mcc .mcc-actions--pills .mcc-action__icon {
	position: static;
	transform: none;
	width: 22px;
	height: 22px;
	margin: 0;
	background: transparent;
	box-shadow: none;
}

.mcc .mcc-actions--pills .mcc-action__label {
	margin: 0;
	font-size: 15px;
}

.mcc .mcc-actions--pills .mcc-action__sub {
	display: none;
}

/* List: rows with hairlines (sidebars). */
.mcc .mcc-actions--list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--mcc-line);
}

.mcc .mcc-actions--list .mcc-action {
	min-height: 64px;
	padding: 12px 8px 12px 58px;
	border-radius: 0;
	background: transparent;
	box-shadow: 0 1px 0 var(--mcc-line);
}

/* List and panel keep a side icon at every width (the base desktop rule
   stacks icons above labels for the classic tiles). */
.mcc .mcc-actions--list .mcc-action__icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}

.mcc .mcc-contact--list .mcc-section-heading {
	display: block;
	margin-bottom: 8px;
}

.mcc .mcc-contact--list .mcc-section-heading .mcc-eyebrow {
	margin: 0 0 4px;
}

/* Panel: four large primary actions, the rest as a quiet row. */
.mcc .mcc-actions--panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-flow: row;
	grid-auto-columns: auto;
	gap: 10px;
}

.mcc .mcc-actions--panel .mcc-action {
	min-height: 104px;
	padding: 16px 14px;
	justify-content: flex-end;
	border-radius: 16px;
	background: var(--mcc-paper);
	box-shadow: inset 0 0 0 1px var(--mcc-line);
}

.mcc .mcc-actions--panel .mcc-action__icon {
	position: absolute;
	left: 14px;
	top: 16px;
	transform: none;
	margin: 0;
}

.mcc .mcc-actions--panel .mcc-action--save,
.mcc .mcc-actions--panel .mcc-action--share {
	min-height: 56px;
	padding: 10px 12px 10px 54px;
	justify-content: center;
}

.mcc .mcc-actions--panel .mcc-action--save .mcc-action__icon,
.mcc .mcc-actions--panel .mcc-action--share .mcc-action__icon {
	top: 50%;
	transform: translateY(-50%);
}

.mcc .mcc-actions--panel .mcc-action--save .mcc-action__sub,
.mcc .mcc-actions--panel .mcc-action--share .mcc-action__sub {
	display: none;
}

.mcc-contact--bar .mcc-share-status,
.mcc-contact--grid .mcc-share-status,
.mcc-contact--pills .mcc-share-status {
	text-align: center;
}

/* Sticky section menu (Studio). */
.mcc-sectionnav {
	position: sticky;
	top: 0;
	z-index: 20;
	background: var(--mcc-paper);
	border-bottom: 1px solid var(--mcc-line);
}

.admin-bar .mcc-sectionnav {
	top: 46px;
}

.mcc-sectionnav ul {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 10px 16px;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.mcc-sectionnav ul::-webkit-scrollbar {
	display: none;
}

.mcc-sectionnav a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--mcc-line-strong);
	font-size: 13px;
	white-space: nowrap;
	color: var(--mcc-primary);
}

.mcc-sectionnav a:hover {
	background: var(--mcc-hover);
}

.mcc [id^="mcc-feed-"],
.mcc #mcc-about,
.mcc #mcc-press,
.mcc #mcc-testimonials,
.mcc #mcc-people,
.mcc #mcc-contact,
.mcc #mcc-video {
	scroll-margin-top: 72px;
}

/* Phone dock (Cinema, Showcase): Watch, Call, Text, Email. */
.mcc-dock {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	z-index: 50;
	display: flex;
	justify-content: space-around;
	padding: 6px;
	border-radius: 999px;
	background: var(--mcc-primary);
	box-shadow: 0 14px 34px rgba(20, 16, 20, 0.28);
	transition: transform 0.25s ease, opacity 0.25s ease, visibility 0s linear 0s;
}

.mcc-dock[data-mcc-dock-ready]:not(.is-visible) {
	transform: translateY(140%);
	opacity: 0;
	visibility: hidden;
	transition: transform 0.25s ease, opacity 0.25s ease, visibility 0s linear 0.25s;
}

.mcc-dock__item {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-height: 52px;
	border-radius: 999px;
	color: var(--mcc-paper);
	font-size: 11px;
	letter-spacing: 0.3px;
}

.mcc .mcc-dock__item,
.mcc .mcc-dock__item:visited {
	color: var(--mcc-paper);
}

.mcc-dock__item:hover {
	background: rgba(255, 255, 255, 0.1);
}

.mcc-dock__icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.mcc--has-dock {
	padding-bottom: 92px;
}

/* Feed presentations. */
.mcc .mcc-tiles--rails {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 74%;
	grid-template-columns: none;
	gap: 14px;
	margin-right: -20px;
	padding: 2px 20px 8px 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-left: 0;
	overscroll-behavior-x: contain;
}

.mcc .mcc-tiles--rails > li {
	scroll-snap-align: start;
}

.mcc .mcc-tiles--list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.mcc .mcc-tiles--list .mcc-tile__link {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--mcc-line);
	border-radius: 0;
	background: transparent;
}

.mcc .mcc-tiles--list .mcc-tile__media {
	aspect-ratio: 1 / 1;
	border-radius: 10px;
}

.mcc .mcc-tiles--list .mcc-tile__play {
	left: 50%;
	top: 50%;
	bottom: auto;
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
}

.mcc .mcc-tiles--list .mcc-tile__body {
	padding: 0;
}

.mcc .mcc-tiles--list .mcc-tile__title {
	font-size: 16px;
}

.mcc .mcc-tiles--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 12px;
}

.mcc .mcc-tiles--compact .mcc-tile__media {
	aspect-ratio: 4 / 3;
}

.mcc .mcc-tiles--compact .mcc-tile__body {
	padding: 10px 2px 0;
}

.mcc .mcc-tiles--compact .mcc-tile__title {
	font-size: 15px;
	line-height: 1.3;
}

.mcc .mcc-tiles--compact .mcc-tile__desc {
	display: none;
}

.mcc .mcc-tiles--compact .mcc-tile__play {
	width: 30px;
	height: 30px;
	left: 8px;
	bottom: 8px;
}

/* Drawers (Pocket Card). */
.mcc-fold {
	margin: 0 20px;
	border-top: 1px solid var(--mcc-line);
}

.mcc-fold:last-of-type {
	border-bottom: 1px solid var(--mcc-line);
}

.mcc-fold__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	cursor: pointer;
	list-style: none;
	font-family: var(--mcc-serif);
	font-size: 21px;
	color: var(--mcc-primary);
}

.mcc-fold__title::-webkit-details-marker {
	display: none;
}

.mcc-fold__title::after {
	content: "+";
	font-family: var(--mcc-sans);
	font-size: 22px;
	color: var(--mcc-accent);
}

.mcc-fold[open] .mcc-fold__title::after {
	content: "\2212";
}

.mcc .mcc-fold__body > .mcc-module {
	padding: 0 0 22px;
}

.mcc-fold__body > .mcc-module > .mcc-module__head,
.mcc-fold__body > .mcc-about > .mcc-h2,
.mcc-fold__body > .mcc-people .mcc-h2 {
	display: none;
}

.mcc-fold__body > .mcc-people .mcc-h2 + .mcc-people__sub {
	margin-top: 0;
}

/* ---------- Hero types ---------- */

/* Split (Spotlight, Studio): video cover, identity, then pitch/actions.
   Phones: one centered axis. Wide: cover left, identity right. */
.mcc .mcc-hero--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"video"
		"identity"
		"after";
	min-height: 0;
	text-align: center;
}

.mcc .mcc-hero--split .mcc-hero-video {
	grid-area: video;
	display: block;
	padding: 18px 16px 0;
}

.mcc .mcc-hero--split .mcc-identity {
	grid-area: identity;
	padding: 26px 20px 0;
}

.mcc .mcc-hero--split .mcc-hero__after {
	grid-area: after;
	padding: 0 20px 28px;
}

.mcc .mcc-hero--split .mcc-pitch {
	padding: 16px 0 0;
}

.mcc .mcc-hero--split .mcc-eyebrow--dot,
.mcc .mcc-hero--light .mcc-eyebrow--dot {
	justify-content: center;
}

.mcc .mcc-hero--split .mcc-contact--bar {
	margin-top: 22px;
}

.mcc .mcc-hero--split .mcc-name {
	font-size: clamp(44px, 13vw, 60px);
}

.mcc-hero-video__text {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 4px 10px;
	margin-top: 12px;
}

.mcc-hero-video__text .mcc-eyebrow {
	margin: 0;
}

.mcc-hero-video__time {
	font-size: 12px;
	color: var(--mcc-muted);
}

/* Cover (Cinema): edge-to-edge cover with a centered card overlapping it. */
.mcc .mcc-hero--cover {
	padding: 0 0 8px;
}

.mcc .mcc-hero-video--cover {
	padding: 0;
}

.mcc .mcc-hero-video--cover .mcc-video__frame {
	aspect-ratio: 5 / 4;
	height: auto;
	padding-top: 0;
	border-radius: 0;
	box-shadow: none;
}

.mcc .mcc-hero-video--cover .mcc-video__frame.is-playing {
	aspect-ratio: 16 / 9;
}

.mcc .mcc-hero-video--cover .mcc-video__poster {
	object-position: 62% 30%;
}

.mcc .mcc-hero-video--cover .mcc-video__button {
	left: 50%;
	top: 38%;
	bottom: auto;
	transform: translate(-50%, -50%);
}

.mcc .mcc-hero-video--cover .mcc-video__play:hover .mcc-video__button,
.mcc .mcc-hero-video--cover .mcc-video__play:focus-visible .mcc-video__button {
	transform: translate(-50%, -50%) scale(1.06);
}

.mcc .mcc-hero-video--cover .mcc-video__duration {
	top: 16px;
	right: 16px;
	bottom: auto;
}

.mcc .mcc-hero-video--cover .mcc-hero-video__text {
	display: none;
}

.mcc .mcc-hero--cover .mcc-identity {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.mcc .mcc-hero--cover .mcc-identity .mcc-eyebrow {
	order: 9;
	margin: 12px 0 0;
}

.mcc .mcc-hero--cover .mcc-credential {
	order: 8;
}

.mcc .mcc-hero__card {
	position: relative;
	z-index: 2;
	margin: -56px 14px 0;
	padding: 26px 18px 22px;
	border-radius: 22px;
	background: var(--mcc-paper);
	box-shadow: 0 22px 44px -26px rgba(20, 16, 20, 0.45);
	text-align: center;
}

.mcc .mcc-hero--cover.is-playing .mcc-hero__card {
	margin-top: 14px;
}

.mcc .mcc-hero--cover .mcc-name {
	margin-bottom: 8px;
	font-size: clamp(42px, 12vw, 64px);
	line-height: 0.96;
}

.mcc .mcc-hero--cover .mcc-role {
	margin-bottom: 0;
}

.mcc .mcc-hero--cover .mcc-identity .mcc-eyebrow {
	margin-bottom: 12px;
}

.mcc .mcc-hero--cover .mcc-contact--bar {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--mcc-line);
}

.mcc .mcc-hero--cover .mcc-pitch {
	margin-top: 18px;
}

.mcc .mcc-hero--cover .mcc-lead {
	margin-bottom: 8px;
}

/* Masthead (Editorial): centered, large, typographic. */
.mcc .mcc-hero--masthead {
	padding: 40px 22px 34px;
	text-align: center;
	border-bottom: 1px solid var(--mcc-line);
}

.mcc .mcc-hero--masthead .mcc-name {
	font-size: clamp(52px, 16vw, 112px);
	line-height: 0.92;
}

.mcc .mcc-hero--masthead .mcc-pitch {
	max-width: 34em;
	margin: 20px auto 0;
}

.mcc .mcc-hero--masthead .mcc-cta {
	align-items: center;
}

.mcc .mcc-hero--masthead .mcc-primary {
	width: auto;
	min-width: 260px;
}

/* Avatar (Link Stack) and Pocket: one centered column. */
.mcc-l-linkstack,
.mcc-l-pocket {
	max-width: 640px;
}

.mcc .mcc-hero--avatar,
.mcc .mcc-hero--pocket {
	padding: 30px 22px 26px;
	text-align: center;
}

.mcc .mcc-hero--avatar .mcc-avatar,
.mcc .mcc-hero--pocket .mcc-avatar {
	width: 116px;
	height: 116px;
	margin: 0 auto 18px;
	box-shadow: 0 0 0 4px var(--mcc-paper), 0 0 0 5px var(--mcc-line-strong);
}

.mcc .mcc-hero--pocket .mcc-avatar {
	width: 92px;
	height: 92px;
}

.mcc .mcc-hero--avatar .mcc-name,
.mcc .mcc-hero--pocket .mcc-name {
	font-size: clamp(38px, 11vw, 52px);
}

.mcc .mcc-hero--avatar .mcc-contact--pills {
	margin-top: 22px;
}

.mcc .mcc-hero--avatar .mcc-pitch {
	margin: 24px 0 0;
}

.mcc .mcc-hero--pocket .mcc-contact--grid {
	margin-top: 20px;
}

.mcc .mcc-hero--pocket .mcc-pitch {
	margin-top: 18px;
}

.mcc .mcc-hero--pocket .mcc-summary {
	display: none;
}

/* Bar (Showcase): compact identity strip. */
.mcc .mcc-hero--bar {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	grid-template-areas:
		"avatar identity"
		"actions actions"
		"pitch pitch";
	align-items: center;
	gap: 0 16px;
	padding: 22px 20px 20px;
}

.mcc .mcc-hero--bar .mcc-avatar {
	grid-area: avatar;
	width: 72px;
	height: 72px;
}

.mcc .mcc-hero--bar .mcc-identity {
	grid-area: identity;
	text-align: left;
}

.mcc .mcc-hero--bar .mcc-identity .mcc-eyebrow {
	display: none;
}

.mcc .mcc-hero--bar .mcc-name {
	margin-bottom: 4px;
	font-size: clamp(30px, 8.6vw, 44px);
}

.mcc .mcc-hero--bar .mcc-credential {
	margin-top: 6px;
	padding-top: 0;
	border-top: 0;
}

.mcc .mcc-hero--bar .mcc-contact--bar {
	grid-area: actions;
	margin-top: 20px;
}

.mcc .mcc-hero--bar .mcc-pitch {
	grid-area: pitch;
	margin-top: 16px;
	text-align: center;
}

.mcc .mcc-hero--bar .mcc-summary {
	display: none;
}

/* Concierge: intro, then the action panel. */
.mcc .mcc-hero--concierge {
	padding: 28px 18px 26px;
}

.mcc .mcc-hero__intro {
	text-align: center;
}

.mcc .mcc-hero--concierge .mcc-avatar {
	width: 84px;
	height: 84px;
	margin: 0 auto 14px;
}

.mcc .mcc-hero--concierge .mcc-name {
	font-size: clamp(40px, 11.6vw, 64px);
}

.mcc .mcc-hero--concierge .mcc-pitch {
	margin-top: 22px;
	text-align: center;
}

.mcc .mcc-hero--concierge .mcc-contact--panel {
	margin-top: 22px;
	padding: 12px;
	border-radius: 22px;
	background: var(--mcc-hover);
}

.mcc .mcc-hero--light .mcc-cta {
	align-items: stretch;
}

/* Centered heroes keep the pitch and its button on the same axis. */
.mcc .mcc-hero--cover .mcc-lead,
.mcc .mcc-hero--cover .mcc-summary,
.mcc .mcc-hero--masthead .mcc-lead,
.mcc .mcc-hero--masthead .mcc-summary,
.mcc .mcc-hero--avatar .mcc-lead,
.mcc .mcc-hero--avatar .mcc-summary,
.mcc .mcc-hero--pocket .mcc-lead {
	max-width: 34em;
	margin-left: auto;
	margin-right: auto;
}

.mcc .mcc-hero--cover .mcc-cta,
.mcc .mcc-hero--masthead .mcc-cta,
.mcc .mcc-hero--avatar .mcc-cta,
.mcc .mcc-hero--pocket .mcc-cta {
	align-items: center;
}

.mcc .mcc-hero--cover .mcc-primary,
.mcc .mcc-hero--avatar .mcc-primary,
.mcc .mcc-hero--pocket .mcc-primary {
	width: 100%;
	max-width: 460px;
}

/* ---------- Body types ---------- */

/* Sidebar (Editorial, Profile Sheet): phones show the aside first. */
.mcc-body--sidebar .mcc-aside {
	padding: 26px 20px 4px;
}

.mcc-body--sidebar .mcc-aside > .mcc-avatar--round {
	width: 96px;
	height: 96px;
	margin: 0 auto 18px;
}

.mcc-aside__profile {
	text-align: center;
}

.mcc-aside__profile .mcc-identity {
	padding: 18px 0 0;
}

.mcc .mcc-aside__profile .mcc-pitch {
	padding: 18px 0 18px;
}

.mcc-aside__profile .mcc-name {
	font-size: clamp(40px, 11vw, 52px);
}

.mcc .mcc-body--sidebar .mcc-contact.mcc-contact--list {
	padding: 6px 0 0;
	border-top: 0;
}

.mcc-body--sidebar .mcc-contact--list .mcc-section-heading .mcc-h2 {
	font-size: 24px;
}

.mcc-social--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	padding: 16px 0 0;
}

/* Mosaic (Showcase). */
.mcc-mosaic .mcc-hero-video {
	margin-bottom: 18px;
	padding: 0;
}

.mcc .mcc-tiles--mosaic {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 12px;
}

.mcc .mcc-tiles--mosaic .mcc-tile__media {
	aspect-ratio: 1 / 1;
}

.mcc .mcc-tiles--mosaic .mcc-tile__body {
	padding: 8px 2px 0;
}

.mcc .mcc-tiles--mosaic .mcc-tile__title {
	font-size: 14px;
	line-height: 1.3;
}

.mcc .mcc-tiles--mosaic .mcc-tile__play {
	width: 30px;
	height: 30px;
	left: 8px;
	bottom: 8px;
}

.mcc-tile__type {
	position: absolute;
	top: 8px;
	left: 8px;
	max-width: calc(100% - 16px);
	padding: 4px 9px;
	border-radius: 999px;
	background: rgba(251, 247, 241, 0.92);
	color: var(--mcc-primary);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* List body (Link Stack): narrower module rhythm. */
.mcc .mcc-body--list .mcc-module,
.mcc .mcc-body--list .mcc-quote {
	padding-top: 30px;
}

.mcc-body--list .mcc-video {
	padding-top: 6px;
}

.mcc-body--list .mcc-testimonials__list,
.mcc-body--list .mcc-people__list {
	grid-template-columns: minmax(0, 1fr);
}

/* Accordion body (Pocket Card). */
.mcc-body--accordion {
	padding-bottom: 24px;
}

.mcc-body--accordion > .mcc-video {
	padding-bottom: 22px;
}

/* ---------- Wide screens ---------- */

@media (min-width: 48em) {
	/* Hero and mosaic video wrappers also carry .mcc-video: never inherit
	   the two-column grid of the portrait-led video section. */
	.mcc .mcc-hero-video {
		display: block;
	}

	.mcc .mcc-hero-video--cover,
	.mcc-mosaic .mcc-hero-video {
		padding: 0;
	}

	.mcc-mosaic .mcc-hero-video {
		max-width: 860px;
		margin: 0 auto 28px;
	}

	.mcc-brand__name {
		display: inline;
	}

	.mcc .mcc-actions--bar {
		flex-wrap: nowrap;
		gap: 10px;
	}

	.mcc .mcc-actions--bar .mcc-action {
		flex: 1 1 0;
	}

	.mcc-dock {
		display: none;
	}

	.mcc--has-dock {
		padding-bottom: 0;
	}

	.mcc .mcc-tiles--rails {
		grid-auto-columns: calc((100% - 28px) / 3);
		margin-right: 0;
		padding-right: 0;
	}

	.mcc .mcc-tiles--compact {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mcc .mcc-tiles--mosaic {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-flow: dense;
		gap: 18px 16px;
	}

	.mcc .mcc-tiles--mosaic > li:nth-child(7n + 1) {
		grid-column: span 2;
		grid-row: span 2;
	}

	.mcc .mcc-tiles--mosaic > li:nth-child(7n + 1) .mcc-tile__title {
		font-size: 20px;
	}

	.mcc-fold {
		margin: 0 54px;
	}

	/* Split. */
	.mcc .mcc-hero--split {
		grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		grid-template-areas:
			"video identity"
			"video after";
		column-gap: 8px;
		padding: 46px 0 50px;
		text-align: left;
	}

	.mcc .mcc-hero--split .mcc-hero-video {
		align-self: center;
		padding: 0 0 0 54px;
	}

	.mcc .mcc-hero--split .mcc-identity {
		align-self: end;
		padding: 10px 54px 0 40px;
	}

	.mcc .mcc-hero--split .mcc-hero__after {
		align-self: start;
		padding: 0 54px 0 40px;
	}

	.mcc .mcc-hero--split .mcc-eyebrow--dot {
		justify-content: flex-start;
	}

	.mcc .mcc-hero--split .mcc-hero-video__text {
		justify-content: flex-start;
	}

	.mcc .mcc-hero--split .mcc-name {
		font-size: clamp(60px, 6.4vw, 92px);
	}

	.mcc .mcc-hero--split .mcc-actions--bar {
		justify-content: flex-start;
	}

	/* Cover. */
	.mcc .mcc-hero-video--cover .mcc-video__frame {
		aspect-ratio: 21 / 9;
	}

	.mcc .mcc-hero-video--cover .mcc-video__poster {
		object-position: 60% 32%;
	}

	.mcc .mcc-hero-video--cover .mcc-video__button {
		top: 46%;
	}

	.mcc .mcc-hero__card {
		width: min(720px, calc(100% - 108px));
		margin: -110px auto 0;
		padding: 40px 48px 34px;
	}

	.mcc .mcc-hero--cover .mcc-name {
		font-size: clamp(64px, 7vw, 96px);
	}

	.mcc .mcc-hero--cover.is-playing .mcc-hero__card {
		margin-top: 24px;
	}

	.mcc .mcc-hero--cover .mcc-pitch {
		max-width: 32em;
		margin-left: auto;
		margin-right: auto;
	}

	/* Masthead. */
	.mcc .mcc-hero--masthead {
		padding: 72px 54px 56px;
	}

	/* Avatar / pocket. */
	.mcc .mcc-hero--avatar,
	.mcc .mcc-hero--pocket {
		padding: 48px 54px 34px;
	}

	.mcc .mcc-actions--pills {
		max-width: 460px;
		margin: 0 auto;
	}

	/* Bar. */
	.mcc .mcc-hero--bar {
		grid-template-columns: 96px minmax(0, 1fr) auto;
		grid-template-areas:
			"avatar identity actions"
			"pitch pitch pitch";
		gap: 0 26px;
		padding: 34px 54px 26px;
	}

	.mcc .mcc-hero--bar .mcc-avatar {
		width: 96px;
		height: 96px;
	}

	.mcc .mcc-hero--bar .mcc-contact--bar {
		margin-top: 0;
	}

	.mcc .mcc-hero--bar .mcc-actions--bar .mcc-action {
		flex: 0 0 76px;
	}

	.mcc .mcc-hero--bar .mcc-pitch {
		text-align: left;
	}

	/* Concierge. */
	.mcc .mcc-hero--concierge {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		grid-template-areas:
			"intro panel"
			"pitch panel";
		align-items: center;
		gap: 0 44px;
		padding: 54px;
	}

	.mcc .mcc-hero--concierge .mcc-hero__intro {
		grid-area: intro;
		align-self: end;
	}

	.mcc .mcc-hero--concierge .mcc-contact--panel {
		grid-area: panel;
	}

	.mcc .mcc-hero--concierge .mcc-pitch {
		grid-area: pitch;
		align-self: start;
	}

	.mcc .mcc-hero--concierge .mcc-hero__intro,
	.mcc .mcc-hero--concierge .mcc-pitch {
		text-align: left;
	}

	.mcc .mcc-hero--concierge .mcc-avatar {
		margin: 0 0 18px;
	}

	.mcc .mcc-hero--concierge .mcc-eyebrow--dot {
		justify-content: flex-start;
	}

	.mcc .mcc-hero--concierge .mcc-contact--panel {
		margin-top: 0;
		padding: 16px;
	}

	.mcc .mcc-actions--panel .mcc-action {
		min-height: 128px;
	}

	/* Sidebar. */
	.mcc-body--sidebar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 0 8px;
		align-items: start;
	}

	.mcc-body--sidebar .mcc-aside {
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: 24px;
		padding: 46px 54px 24px 8px;
	}

	.mcc-body--sidebar .mcc-main-col {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.mcc-l-profile .mcc-body--sidebar {
		grid-template-columns: 340px minmax(0, 1fr);
	}

	.mcc-l-profile .mcc-body--sidebar .mcc-aside {
		grid-column: 1;
		padding: 46px 8px 24px 54px;
	}

	.mcc-l-profile .mcc-body--sidebar .mcc-main-col {
		grid-column: 2;
	}

	.mcc-l-profile .mcc-main-col .mcc-video {
		display: block;
	}

	.mcc-body--sidebar .mcc-main-col .mcc-video {
		display: block;
		padding: 46px 40px 0 54px;
	}

	.mcc-body--sidebar .mcc-main-col .mcc-module,
	.mcc-body--sidebar .mcc-main-col .mcc-quote {
		padding-left: 54px;
		padding-right: 40px;
	}

	.mcc-l-profile .mcc-main-col .mcc-video,
	.mcc-l-profile .mcc-main-col .mcc-module,
	.mcc-l-profile .mcc-main-col .mcc-quote {
		padding-left: 40px;
		padding-right: 54px;
	}

	.admin-bar .mcc-body--sidebar .mcc-aside {
		top: 56px;
	}

	.mcc-body--list .mcc-module,
	.mcc-body--list .mcc-quote,
	.mcc-body--list .mcc-video {
		padding-left: 54px;
		padding-right: 54px;
	}

	.mcc-body--list .mcc-video {
		display: block;
	}
}

/* Content grids in the full-width flow body (moved from the 1.4 skin so
   every skin gets the same structure). */
@media (min-width: 37.5em) {
	.mcc .mcc-actions--tiles:has(> :nth-child(5)) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 48em) {
	.mcc-body--flow .mcc-about {
		display: grid;
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 2fr);
		gap: 40px;
	}

	.mcc-body--flow .mcc-tiles--grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mcc .mcc-tiles--wide.mcc-tiles--grid,
	.mcc .mcc-tiles--wide.mcc-tiles--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mcc-body--flow .mcc-people,
	.mcc-body--mosaic .mcc-people {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		gap: 40px;
	}

	.mcc-body--flow .mcc-people__group + .mcc-people__group,
	.mcc-body--mosaic .mcc-people__group + .mcc-people__group {
		margin-top: 0;
	}

	.mcc-body--flow .mcc-people__group--partners .mcc-people__list,
	.mcc-body--mosaic .mcc-people__group--partners .mcc-people__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.mcc-l-editorial .mcc-tiles--list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 28px;
	}
}

@media (max-width: 23em) {
	.mcc .mcc-actions--bar .mcc-action__icon {
		width: 46px;
		height: 46px;
	}

	.mcc .mcc-hero__card {
		margin-left: 10px;
		margin-right: 10px;
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mcc-dock,
	.mcc-dock[data-mcc-dock-ready]:not(.is-visible) {
		transition: none;
	}
}

@media print {
	.mcc-dock,
	.mcc-sectionnav {
		display: none;
	}

	.mcc--has-dock {
		padding-bottom: 0;
	}
}

/* ==========================================================================
   1.7.0 layouts: Manuscript, Magazine Cover, Timeline, Diptych, Reel, and
   the three chapter treatments (spread, columns, timeline). Structure only.
   ========================================================================== */

/* ----- Feature hero (Manuscript): full-bleed portrait, name card over it ----- */
.mcc .mcc-hero--feature {
	padding: 0 0 10px;
}

.mcc .mcc-hero--feature .mcc-hero__photo {
	position: relative;
	width: 100%;
	height: min(125vw, 52vh);
	height: min(125vw, 52svh);
	min-height: 260px;
	overflow: hidden;
	background: var(--mcc-tint);
}

.mcc .mcc-hero--feature .mcc-hero__photo-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 22%;
}

.mcc .mcc-hero--feature .mcc-hero__card {
	margin-top: -64px;
	padding-top: 20px;
}

.mcc .mcc-hero--feature .mcc-identity {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.mcc .mcc-hero--feature .mcc-eyebrow--dot {
	justify-content: center;
}

.mcc .mcc-hero--feature .mcc-eyebrow--dot::before {
	display: none;
}

.mcc .mcc-hero--feature .mcc-name {
	margin-bottom: 6px;
	font-size: clamp(44px, 13vw, 72px);
	line-height: 0.95;
}

.mcc .mcc-hero--feature .mcc-contact--bar {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--mcc-line);
}

.mcc .mcc-hero--feature .mcc-pitch {
	margin-top: 16px;
}

/* ----- Magazine hero: cover page ----- */
.mcc .mcc-hero--magazine,
.mcc .mcc-hero--diptych {
	display: block;
	padding: 0;
	overflow: hidden;
}

.mcc .mcc-hero--magazine::before,
.mcc .mcc-hero--diptych::before {
	display: none;
}

.mcc .mcc-hero__cover {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 68vh;
	min-height: 68svh;
	padding: 22px 20px 26px;
}

.mcc .mcc-hero__cover-img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
}

.mcc .mcc-hero__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0) 32%, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.72) 100%);
	pointer-events: none;
}

.mcc .mcc-hero__masthead,
.mcc .mcc-coverlines {
	position: relative;
	z-index: 2;
}

.mcc .mcc-hero--magazine .mcc-identity {
	padding: 0;
}

.mcc .mcc-hero--magazine .mcc-name {
	margin: 0;
	font-size: clamp(64px, 22vw, 168px);
	line-height: 0.84;
	letter-spacing: -0.05em;
	color: #ffffff;
}

.mcc .mcc-hero--magazine .mcc-name__first {
	display: inline;
}

.mcc .mcc-hero--magazine .mcc-name__last::after {
	content: "";
}

.mcc .mcc-hero--magazine .mcc-name__last {
	display: block;
}

.mcc .mcc-hero--magazine .mcc-identity .mcc-eyebrow {
	color: #ffffff;
}

.mcc .mcc-coverlines ul {
	display: grid;
	gap: 10px;
	max-width: 30rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcc .mcc-coverlines a {
	display: block;
	padding-left: 14px;
	border-left: 2px solid var(--mcc-accent);
	font-family: var(--mcc-serif);
	font-size: 20px;
	line-height: 1.2;
	color: #ffffff;
	text-decoration: none;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
}

.mcc .mcc-hero--magazine .mcc-hero__after {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 22px 20px 30px;
}

/* ----- Diptych hero: portrait panel, actions grid under it on phones ----- */
.mcc .mcc-hero__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 76vh;
	min-height: 76svh;
	padding: 24px 20px;
}

.mcc .mcc-hero__panel-img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
}

.mcc .mcc-hero__panel::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 38%, rgba(0, 0, 0, 0.78) 100%);
}

.mcc .mcc-hero__panel-text {
	position: relative;
	z-index: 2;
}

.mcc .mcc-hero--diptych .mcc-identity,
.mcc .mcc-hero--diptych .mcc-pitch {
	padding: 0;
	max-width: none;
}

.mcc .mcc-hero--diptych .mcc-name,
.mcc .mcc-hero--diptych .mcc-name__last,
.mcc .mcc-hero--diptych .mcc-lead,
.mcc .mcc-hero--diptych .mcc-summary,
.mcc .mcc-hero--diptych .mcc-identity .mcc-eyebrow {
	color: #ffffff;
}

.mcc .mcc-hero--diptych .mcc-name {
	font-size: clamp(48px, 15vw, 88px);
	line-height: 0.92;
}

.mcc .mcc-hero--diptych .mcc-contact--grid {
	padding: 18px 16px 22px;
	background: var(--mcc-paper);
}

.mcc .mcc-hero--diptych .mcc-actions--grid .mcc-action {
	background: var(--mcc-paper);
}

/* ----- Reel hero: gallery first, slim identity strip ----- */
.mcc .mcc-hero--reel {
	padding: 0 0 22px;
}

.mcc .mcc-hero--reel .mcc-gallery--lead {
	padding: 0 0 18px;
	border-top: 0;
}

.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__head {
	padding: 22px 20px 12px;
}

.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-video__frame {
	border-radius: 0;
}

.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__now,
.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__list {
	padding-left: 14px;
	padding-right: 14px;
}

.mcc .mcc-hero--reel .mcc-gallery__list {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 6px;
}

.mcc .mcc-hero--reel .mcc-gallery__list li {
	flex: 0 0 min(64%, 240px);
	scroll-snap-align: start;
}

.mcc .mcc-hero--reel .mcc-gallery__item {
	grid-template-columns: 1fr;
	height: 100%;
}

.mcc .mcc-hero__strip {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 10px 14px;
	align-items: center;
	padding: 18px 20px 0;
	border-top: 1px solid var(--mcc-line);
}

.mcc .mcc-hero__strip .mcc-avatar--round {
	width: 56px;
	height: 56px;
}

.mcc .mcc-hero__strip .mcc-name {
	margin: 0;
	font-size: 30px;
}

.mcc .mcc-hero__strip .mcc-identity .mcc-eyebrow {
	margin-bottom: 4px;
}

.mcc .mcc-hero__strip .mcc-contact--bar {
	grid-column: 1 / -1;
}

.mcc .mcc-hero--reel > .mcc-pitch {
	padding: 16px 20px 0;
}

/* ----- Chapters: spread (Manuscript) ----- */
.mcc-chapters--spread .mcc-chapter__title {
	font-size: clamp(34px, 9.6vw, 56px);
}

.mcc-chapters--spread .mcc-chapter--media-none .mcc-chapter__text {
	margin: 0 auto;
}

.mcc-chapters--spread .mcc-chapter__figure,
.mcc-chapters--spread .mcc-chapter__video {
	margin-left: -20px;
	margin-right: -20px;
}

.mcc-chapters--spread .mcc-chapter__img,
.mcc-chapters--spread .mcc-chapter__figlink,
.mcc-chapters--spread .mcc-chapter__video .mcc-video__frame {
	border-radius: 0;
}

/* ----- Chapters: columns (Magazine) ----- */
.mcc-chapters--columns .mcc-chapter {
	border-top: 3px double var(--mcc-line-strong);
}

.mcc-chapters--columns .mcc-chapter__inner {
	grid-template-columns: minmax(0, 1fr);
}

.mcc-chapters--columns .mcc-chapter__text {
	max-width: none;
}

/* ----- Chapters: timeline ----- */
.mcc-chapters--timeline {
	position: relative;
	padding: 12px 0;
}

.mcc-chapters--timeline::before {
	content: "";
	position: absolute;
	left: 35px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: var(--mcc-line-strong);
}

.mcc-chapters--timeline .mcc-chapter {
	position: relative;
	padding: 28px 20px 28px 72px;
	border-top: 0;
	background: transparent;
	color: var(--mcc-ink);
}

.mcc-chapters--timeline .mcc-chapter__node {
	position: absolute;
	left: -52px;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 2px solid var(--mcc-accent);
	border-radius: 50%;
	background: var(--mcc-paper);
	font-size: 12px;
	font-weight: 700;
	color: var(--mcc-primary);
}

.mcc-chapters--timeline .mcc-chapter--dark .mcc-chapter__inner,
.mcc-chapters--timeline .mcc-chapter--accent .mcc-chapter__inner {
	padding: 22px 18px;
	border-radius: 10px;
}

.mcc-chapters--timeline .mcc-chapter--dark .mcc-chapter__inner {
	background: var(--mcc-primary);
	color: var(--mcc-paper);
}

.mcc-chapters--timeline .mcc-chapter--accent .mcc-chapter__inner {
	background: var(--mcc-tone-accent, var(--mcc-tint));
	color: var(--mcc-tone-accent-ink, var(--mcc-ink));
}

.mcc-chapters--timeline .mcc-chapter--dark .mcc-chapter__node,
.mcc-chapters--timeline .mcc-chapter--accent .mcc-chapter__node {
	top: 22px;
}

.mcc-chapters--timeline .mcc-chapter__title {
	font-size: clamp(28px, 7.6vw, 40px);
}

@media (min-width: 48em) {
	/* Feature: portrait right, name card left over the paper. */
	.mcc .mcc-hero--feature {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		padding: 0;
	}

	.mcc .mcc-hero--feature .mcc-hero__photo {
		order: 2;
		height: min(86vh, 760px);
		min-height: 480px;
	}

	.mcc .mcc-hero--feature .mcc-hero__card {
		margin: 0 -80px 0 40px;
		padding: 40px 36px;
	}

	.mcc .mcc-hero--feature .mcc-identity {
		align-items: flex-start;
		text-align: left;
	}

	.mcc .mcc-hero--feature .mcc-hero__card {
		text-align: left;
	}

	.mcc .mcc-hero--feature .mcc-actions--bar {
		justify-content: flex-start;
	}

	.mcc-chapters--spread .mcc-chapter__figure,
	.mcc-chapters--spread .mcc-chapter__video {
		margin: 0;
	}

	.mcc-chapters--spread .mcc-chapter__img,
	.mcc-chapters--spread .mcc-chapter__figlink,
	.mcc-chapters--spread .mcc-chapter__video .mcc-video__frame {
		border-radius: 4px;
	}

	.mcc-chapters--spread .mcc-chapter--media-top .mcc-chapter__inner {
		justify-items: center;
	}

	.mcc-chapters--spread .mcc-chapter--media-top .mcc-chapter__media {
		width: 100%;
	}

	/* Magazine: cover lines to the right of the name. */
	.mcc .mcc-hero__cover {
		min-height: 88vh;
		padding: 36px 48px 44px;
	}

	.mcc .mcc-hero--magazine .mcc-hero__after .mcc-contact {
		order: 2;
	}

	.mcc .mcc-coverlines {
		align-self: flex-end;
	}

	.mcc .mcc-hero--magazine .mcc-hero__after {
		display: grid;
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		gap: 40px;
		align-items: start;
		padding: 40px 48px;
	}

	.mcc-chapters--columns .mcc-chapter--media-top .mcc-chapter__text .mcc-prose,
	.mcc-chapters--columns .mcc-chapter--media-none .mcc-chapter__text .mcc-prose {
		column-count: 2;
		column-gap: 40px;
		column-rule: 1px solid var(--mcc-line);
	}

	.mcc-chapters--columns .mcc-chapter--media-start .mcc-chapter__inner,
	.mcc-chapters--columns .mcc-chapter--media-end .mcc-chapter__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
		align-items: start;
	}

	/* Timeline: the line runs down the middle of the left gutter. */
	.mcc-chapters--timeline::before {
		left: 59px;
	}

	.mcc-chapters--timeline .mcc-chapter {
		padding: 36px 40px 36px 112px;
	}

	.mcc-chapters--timeline .mcc-chapter__node {
		left: -70px;
		width: 42px;
		height: 42px;
		font-size: 13px;
	}


	/* Reel: list beside the stage. */
	.mcc .mcc-hero--reel .mcc-gallery--lead {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		grid-template-areas:
			"head head"
			"stage list"
			"now list";
		column-gap: 20px;
		padding: 0 24px 22px;
	}

	.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__head {
		grid-area: head;
		padding: 28px 0 14px;
	}

	.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__stage {
		grid-area: stage;
		max-width: none;
		margin: 0;
	}

	.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-video__frame {
		border-radius: 6px;
	}

	.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__now {
		grid-area: now;
		padding: 0;
	}

	.mcc .mcc-hero--reel .mcc-gallery--lead .mcc-gallery__list {
		grid-area: list;
		display: grid;
		grid-template-columns: 1fr;
		align-content: start;
		max-height: 560px;
		margin: 0;
		padding: 0 4px 0 0;
		overflow-y: auto;
	}

	.mcc .mcc-hero--reel .mcc-gallery__item {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	.mcc .mcc-hero__strip {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		padding: 22px 24px 0;
	}

	.mcc .mcc-hero__strip .mcc-contact--bar {
		grid-column: auto;
	}
}

/* Diptych: on wide screens the portrait panel stays fixed on the left
   while the story scrolls on the right. */
@media (min-width: 64em) {
	.mcc-l-diptych {
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		max-width: none;
	}

	.mcc-l-diptych > * {
		grid-column: 2;
		min-width: 0;
	}

	.mcc-l-diptych > .mcc-header,
	.mcc-l-diptych > .mcc-footer {
		grid-column: 1 / -1;
	}

	.mcc-l-diptych > .mcc-hero--diptych {
		grid-column: 1;
		grid-row: 2 / span 40;
		align-self: start;
		position: sticky;
		top: 0;
		display: flex;
		flex-direction: column;
		height: 100vh;
	}

	.admin-bar .mcc-l-diptych > .mcc-hero--diptych {
		top: 32px;
		height: calc(100vh - 32px);
	}

	.mcc-l-diptych .mcc-hero__panel {
		flex: 1 1 auto;
		min-height: 0;
		padding: 40px;
	}

	.mcc-l-diptych .mcc-hero--diptych .mcc-contact--grid {
		padding: 18px 24px 24px;
	}

	.mcc-l-diptych .mcc-chapter__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.mcc-l-diptych .mcc-chapter__media {
		order: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mcc .mcc-hero--reel .mcc-gallery__list {
		scroll-behavior: auto;
	}
}
