/*
Theme Name: Michael Perry Professional
Template: astra
Text Domain: mp-professional
*/

/* Homepage */
.mp-home {
	--mp-ink: #172333;
	--mp-muted: #526170;
	--mp-accent: #b85c38;
	--mp-paper: #f4f1eb;
	flex: 0 0 100vw;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: 0;
	color: var(--mp-ink);
	overflow: hidden;
}

.mp-home__inner {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}

.mp-hero {
	position: relative;
	padding: clamp(84px, 11vw, 150px) 0 clamp(76px, 9vw, 124px);
	background: var(--mp-ink);
	color: #fff;
}

.mp-hero::after {
	position: absolute;
	right: max(24px, calc((100vw - 1180px) / 2));
	bottom: 0;
	width: min(34vw, 390px);
	height: 5px;
	background: var(--mp-accent);
	content: "";
}

.mp-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: clamp(52px, 8vw, 112px);
	align-items: end;
}

.mp-hero__eyebrow,
.mp-section-label {
	margin: 0 0 24px;
	color: var(--mp-accent);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.mp-hero__title {
	margin: 0;
	color: #fff;
	font-size: clamp(2.45rem, 5.4vw, 4.9rem);
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1.02;
}

.mp-hero__title span {
	display: block;
}

.mp-hero__title span + span {
	margin-top: 0.18em;
}

@media (min-width: 821px) {
	.mp-hero__title {
		font-size: clamp(2.25rem, 3.4vw, 3.45rem);
		letter-spacing: -0.035em;
		line-height: 1.08;
	}
}

.mp-hero__statement {
	padding: 2px 0 6px clamp(24px, 3vw, 42px);
	border-left: 1px solid rgb(255 255 255 / 28%);
}

.mp-hero__tagline {
	margin: 0 0 22px;
	color: #fff;
	font-size: clamp(1.3rem, 2vw, 1.75rem);
	font-weight: 600;
	line-height: 1.3;
}

.mp-hero__lead {
	margin: 0;
	color: #cbd2d8;
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.65;
}

.mp-introduction {
	padding: clamp(76px, 10vw, 140px) 0;
	background: #fff;
}

.mp-introduction__grid {
	display: grid;
	grid-template-columns: minmax(230px, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(54px, 9vw, 130px);
}

.mp-introduction__heading {
	align-self: start;
	position: sticky;
	top: 48px;
}

.mp-introduction__heading h2 {
	margin: 0;
	color: var(--mp-ink);
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.mp-introduction__body {
	color: var(--mp-muted);
	font-size: clamp(1.03rem, 1.2vw, 1.16rem);
	line-height: 1.82;
}

.mp-introduction__body p {
	margin: 0 0 1.5em;
}

.mp-introduction__body .mp-introduction__closing {
	margin: 2.5em 0 0;
	padding: clamp(24px, 4vw, 38px);
	border-left: 4px solid var(--mp-accent);
	background: var(--mp-paper);
	color: var(--mp-ink);
	font-size: clamp(1.12rem, 1.5vw, 1.3rem);
	font-weight: 600;
	line-height: 1.6;
}

@media (max-width: 820px) {
	.mp-hero__grid,
	.mp-introduction__grid {
		grid-template-columns: 1fr;
	}

	.mp-hero__grid {
		gap: 48px;
	}

	.mp-hero__statement {
		max-width: 620px;
	}

	.mp-introduction__grid {
		gap: 42px;
	}

	.mp-introduction__heading {
		position: static;
	}
}

@media (max-width: 544px) {
	.mp-home__inner {
		width: min(100% - 32px, 1180px);
	}

	.mp-hero {
		padding-block: 68px 72px;
	}

	.mp-hero::after {
		right: 16px;
		width: 42vw;
	}

	.mp-hero__title {
		font-size: clamp(2.15rem, 11vw, 3rem);
	}

	.mp-hero__statement {
		padding-left: 20px;
	}

	.mp-introduction {
		padding-block: 68px;
	}
}

/* About page */
.page-id-51 {
	--mp-ink: #172333;
	--mp-muted: #526170;
	--mp-accent: #b85c38;
	--mp-paper: #f4f1eb;
}

.page-id-51 .entry-header,
.page-id-51 .entry-content {
	width: min(820px, 100%);
	margin-inline: auto;
}

.page-id-51 .entry-header {
	margin-bottom: clamp(42px, 6vw, 70px);
}

.page-id-51 .entry-title {
	color: var(--mp-ink);
	font-size: clamp(2.6rem, 5vw, 4.75rem);
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1.05;
}

.page-id-51 .entry-content {
	color: var(--mp-muted);
	font-size: clamp(1.03rem, 1.2vw, 1.16rem);
	line-height: 1.82;
}

.page-id-51 .entry-content > p {
	margin-bottom: 1.5em;
}

.page-id-51 .mp-about-introduction {
	margin-bottom: clamp(42px, 6vw, 66px);
	color: var(--mp-ink);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.42;
}

.page-id-51 .mp-about-introduction p {
	margin: 0;
}

.page-id-51 .mp-about-introduction p + p {
	margin-top: 1em;
}

.page-id-51 .mp-about-closing {
	margin-top: clamp(46px, 6vw, 76px);
	padding: clamp(28px, 4vw, 44px);
	border-left: 4px solid var(--mp-accent);
	background: var(--mp-paper);
	color: var(--mp-ink);
}

.page-id-51 .mp-about-closing p {
	margin: 0 0 1.25em;
}

.page-id-51 .mp-about-closing p:first-child {
	font-size: clamp(1.15rem, 1.5vw, 1.32rem);
	font-weight: 600;
	line-height: 1.6;
}

.page-id-51 .mp-about-closing p:last-child {
	margin-bottom: 0;
}

@media (max-width: 544px) {
	.page-id-51 .entry-title {
		font-size: clamp(2.35rem, 12vw, 3.2rem);
	}
}

/* Resume page */
.mp-resume {
	--mp-ink: #172333;
	--mp-muted: #526170;
	--mp-accent: #b85c38;
	--mp-paper: #f4f1eb;
	flex: 0 0 100vw;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	color: var(--mp-ink);
}

.mp-resume__inner {
	width: min(920px, calc(100% - 48px));
	margin-inline: auto;
}

.mp-resume__hero {
	padding: clamp(68px, 9vw, 116px) 0 clamp(58px, 7vw, 88px);
	background: var(--mp-ink);
	color: #fff;
}

.mp-resume__eyebrow {
	margin: 0 0 18px;
	color: var(--mp-accent);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.mp-resume__hero h1 {
	margin: 0 0 20px;
	color: #fff;
	font-size: clamp(2.8rem, 6vw, 5.2rem);
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1;
}

.mp-resume__headline {
	max-width: 850px;
	margin: 0 0 22px;
	color: #fff;
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	font-weight: 600;
	line-height: 1.45;
}

.mp-resume__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0 0 34px;
	color: #cbd2d8;
	font-size: 0.96rem;
}

.mp-resume__contact a {
	color: #cbd2d8;
	text-decoration-color: rgb(203 210 216 / 45%);
}

.mp-resume__contact a:hover,
.mp-resume__contact a:focus {
	color: #fff;
}

.mp-resume__download {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 13px 24px;
	border: 2px solid var(--mp-accent);
	background: var(--mp-accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}

.mp-resume__download:hover,
.mp-resume__download:focus {
	background: transparent;
	color: #fff;
}

.mp-resume__body {
	padding-block: clamp(64px, 9vw, 112px);
}

.mp-resume__section + .mp-resume__section {
	margin-top: clamp(52px, 7vw, 78px);
}

.mp-resume__section h2 {
	margin: 0 0 24px;
	padding-bottom: 13px;
	border-bottom: 2px solid var(--mp-accent);
	color: var(--mp-ink);
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	font-weight: 650;
	letter-spacing: -0.025em;
}

.mp-resume__section p,
.mp-resume__section li {
	color: var(--mp-muted);
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.72;
}

.mp-resume__section > p,
.mp-resume__expertise p {
	margin: 0 0 1em;
}

.mp-resume__section ul {
	margin: 0;
	padding-left: 1.25em;
}

.mp-resume__section li {
	padding-left: 0.35em;
}

.mp-resume__section li + li {
	margin-top: 0.72em;
}

.mp-resume__expertise {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 32px;
}

.mp-resume__expertise strong {
	color: var(--mp-ink);
}

.mp-resume__role + .mp-resume__role {
	margin-top: 42px;
	padding-top: 38px;
	border-top: 1px solid #d9dde1;
}

.mp-resume__role header {
	margin-bottom: 18px;
}

.mp-resume__role h3 {
	margin: 0 0 4px;
	color: var(--mp-ink);
	font-size: clamp(1.16rem, 1.8vw, 1.38rem);
	font-weight: 700;
}

.mp-resume__role header p {
	margin: 0;
	color: var(--mp-accent);
	font-weight: 700;
}

.mp-resume__philosophy {
	padding: clamp(28px, 4vw, 42px);
	border-left: 4px solid var(--mp-accent);
	background: var(--mp-paper);
}

.mp-resume__philosophy h2 {
	padding: 0;
	border: 0;
}

.mp-resume__philosophy p:last-child {
	margin-bottom: 0;
}

@media (max-width: 680px) {
	.mp-resume__inner {
		width: min(100% - 32px, 920px);
	}

	.mp-resume__expertise {
		grid-template-columns: 1fr;
	}

	.mp-resume__contact {
		flex-direction: column;
	}

	.mp-resume__philosophy {
		padding: 26px 24px;
	}
}

/* Footer easter egg */
.ast-footer-copyright .mp-pc-relics-link,
.ast-footer-copyright .mp-pc-relics-link:hover,
.ast-footer-copyright .mp-pc-relics-link:focus,
.ast-footer-copyright .mp-pc-relics-link:active,
.ast-footer-copyright .mp-pc-relics-link:visited {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

.ast-footer-copyright .mp-pc-relics-link {
	cursor: pointer;
}
