:root {
	--afiovana-ink: #111114;
	--afiovana-paper: #f2ede3;
	--afiovana-cobalt: #4b5cff;
	--afiovana-coral: #ff5a3d;
	--afiovana-lime: #d8ff3e;
	--afiovana-white: #fffdf8;
	--afiovana-line: rgba(17, 17, 20, 0.18);
	--afiovana-radius: 2.4rem;
	--afiovana-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia, serif;
	--afiovana-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html {
	scroll-behavior: smooth;
}

body.afiovana-precision-pulse {
	background: var(--afiovana-paper);
	color: var(--afiovana-ink);
	font-family: var(--afiovana-sans);
}

body.afiovana-precision-pulse .mkdf-content,
body.afiovana-precision-pulse .mkdf-content-inner {
	background: var(--afiovana-paper);
}

.afiovana-pp-home,
.afiovana-service-page {
	color: var(--afiovana-ink);
	font-family: var(--afiovana-sans);
	overflow: hidden;
}

.afiovana-pp-home *,
.afiovana-service-page * {
	box-sizing: border-box;
}

.afiovana-pp-home a,
.afiovana-service-page a {
	color: inherit;
	text-decoration: none;
}

.afiovana-pp-eyebrow {
	font-family: var(--afiovana-sans);
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
	margin: 0 0 1.4rem;
	text-transform: uppercase;
}

.afiovana-pp-hero {
	align-items: end;
	background: var(--afiovana-paper);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 34vw);
	min-height: min(880px, 92vh);
	overflow: hidden;
	padding: clamp(7rem, 12vw, 11rem) clamp(1.4rem, 6vw, 7rem) clamp(3rem, 7vw, 6.5rem);
	position: relative;
}

.afiovana-pp-hero::after {
	background: var(--afiovana-cobalt);
	bottom: 0;
	content: "";
	height: 0.55rem;
	left: 0;
	position: absolute;
	width: 64%;
}

.afiovana-pp-hero-copy {
	max-width: 78rem;
	position: relative;
	z-index: 2;
}

.afiovana-pp-hero h1 {
	font-family: var(--afiovana-serif);
	font-size: clamp(3.45rem, 8.7vw, 9.4rem);
	font-weight: 400;
	letter-spacing: -0.065em;
	line-height: 0.86;
	margin: 0;
	max-width: 13ch;
	text-wrap: balance;
}

.afiovana-pp-hero h1 em {
	color: var(--afiovana-cobalt);
	display: block;
	font-weight: 400;
}

.afiovana-pp-intro {
	font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	line-height: 1.55;
	margin: clamp(2rem, 4vw, 3.5rem) 0 0;
	max-width: 47rem;
}

.afiovana-pp-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2rem;
	margin-top: 2.2rem;
}

.afiovana-pp-button {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 700;
	gap: 2.5rem;
	justify-content: space-between;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 1.25rem 1.5rem;
	text-transform: uppercase;
	transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.afiovana-pp-button:hover,
.afiovana-pp-button:focus-visible {
	transform: translateY(-3px);
}

.afiovana-pp-button--ink {
	background: var(--afiovana-ink);
	border-color: var(--afiovana-ink);
	color: var(--afiovana-paper) !important;
}

.afiovana-pp-button--ink:hover,
.afiovana-pp-button--ink:focus-visible {
	background: var(--afiovana-cobalt);
	border-color: var(--afiovana-cobalt);
}

.afiovana-pp-button--paper {
	background: var(--afiovana-paper);
	border-color: var(--afiovana-paper);
	color: var(--afiovana-ink) !important;
}

.afiovana-pp-text-link {
	border-bottom: 1px solid currentColor;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 700;
	gap: 0.8rem;
	letter-spacing: 0.08em;
	padding-bottom: 0.35rem;
	text-transform: uppercase;
}

.afiovana-pp-orbit {
	aspect-ratio: 1;
	background: var(--afiovana-coral);
	border-radius: 50%;
	bottom: 8%;
	justify-self: end;
	max-width: 34rem;
	position: relative;
	width: 100%;
}

.afiovana-pp-orbit i {
	border: 1px solid var(--afiovana-ink);
	border-radius: 50%;
	inset: 12%;
	position: absolute;
}

.afiovana-pp-orbit i:nth-child(2) {
	inset: 27%;
}

.afiovana-pp-orbit i:nth-child(3) {
	inset: 42%;
}

.afiovana-pp-orbit span {
	animation: afiovana-orbit 9s linear infinite;
	background: var(--afiovana-lime);
	border: 1px solid var(--afiovana-ink);
	border-radius: 50%;
	height: 20%;
	left: 40%;
	position: absolute;
	top: -10%;
	transform-origin: 50% 300%;
	width: 20%;
}

.afiovana-pp-hero-index {
	align-items: flex-end;
	bottom: 2rem;
	display: flex;
	font-size: 0.7rem;
	font-weight: 700;
	gap: 0.6rem;
	letter-spacing: 0.12em;
	position: absolute;
	right: clamp(1.4rem, 6vw, 7rem);
	z-index: 2;
}

.afiovana-pp-hero-index span {
	background: var(--afiovana-lime);
	border-radius: 50%;
	display: grid;
	height: 2.8rem;
	place-items: center;
	width: 2.8rem;
}

.afiovana-pp-proof {
	background: var(--afiovana-ink);
	color: var(--afiovana-paper);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 1.4rem clamp(1.4rem, 6vw, 7rem);
}

.afiovana-pp-proof p {
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0;
	padding: 0.25rem 1.4rem;
	text-align: center;
	text-transform: uppercase;
}

.afiovana-pp-proof p:last-child {
	border: 0;
}

.afiovana-pp-proof span {
	color: var(--afiovana-lime);
	margin-right: 0.65rem;
}

.afiovana-pp-section {
	padding: clamp(5rem, 10vw, 10rem) clamp(1.4rem, 6vw, 7rem);
}

.afiovana-pp-section-head {
	display: grid;
	gap: 1rem 3rem;
	grid-template-columns: minmax(0, 1.8fr) minmax(15rem, 0.7fr);
	margin-bottom: clamp(3rem, 6vw, 6rem);
}

.afiovana-pp-section-head .afiovana-pp-eyebrow {
	grid-column: 1 / -1;
	margin-bottom: 0.4rem;
}

.afiovana-pp-section-head h2,
.afiovana-pp-client-proof h2,
.afiovana-pp-contact h2,
.afiovana-service-page h1,
.afiovana-answer-block h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2.8rem, 6vw, 6.8rem);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.94;
	margin: 0;
	text-wrap: balance;
}

.afiovana-pp-section-head > p:last-child {
	align-self: end;
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0;
}

.afiovana-project-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 2.5rem;
}

.afiovana-project-card {
	border: 1px solid var(--afiovana-ink);
	border-radius: var(--afiovana-radius);
	min-height: 34rem;
	overflow: hidden;
}

.afiovana-project-card > a {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.afiovana-project-media {
	background: var(--afiovana-cobalt);
	display: grid;
	flex: 1;
	min-height: 23rem;
	overflow: hidden;
	place-items: center;
	position: relative;
}

.afiovana-project-media::after {
	background: linear-gradient(135deg, transparent 35%, rgba(17, 17, 20, 0.18));
	content: "";
	inset: 0;
	position: absolute;
}

.afiovana-project-media img {
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.2, 0.75, 0.25, 1);
	width: 100%;
}

.afiovana-project-media > span {
	color: var(--afiovana-ink);
	font-family: var(--afiovana-serif);
	font-size: clamp(6rem, 14vw, 13rem);
	line-height: 1;
}

.afiovana-project-card a:hover img,
.afiovana-project-card a:focus-visible img {
	transform: scale(1.035);
}

.afiovana-project-card--coral .afiovana-project-media {
	background: var(--afiovana-coral);
}

.afiovana-project-card--lime .afiovana-project-media {
	background: var(--afiovana-lime);
}

.afiovana-project-card--paper .afiovana-project-media {
	background: var(--afiovana-white);
}

.afiovana-project-copy {
	background: var(--afiovana-white);
	display: grid;
	gap: 0.65rem;
	grid-template-columns: 1fr auto;
	padding: 1.7rem;
	position: relative;
}

.afiovana-project-copy p,
.afiovana-project-copy span {
	font-size: 0.68rem;
	font-weight: 700;
	grid-column: 1;
	letter-spacing: 0.11em;
	margin: 0;
	text-transform: uppercase;
}

.afiovana-project-copy h3 {
	font-family: var(--afiovana-serif);
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	font-weight: 400;
	grid-column: 1;
	line-height: 1;
	margin: 0.2rem 0 0.5rem;
}

.afiovana-project-copy span {
	color: rgba(17, 17, 20, 0.66);
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-transform: none;
}

.afiovana-project-copy b {
	font-size: 1.5rem;
	grid-column: 2;
	grid-row: 1 / 4;
}

.afiovana-pp-client-proof {
	background: var(--afiovana-cobalt);
	color: var(--afiovana-white);
	padding: clamp(5rem, 10vw, 9rem) clamp(1.4rem, 12vw, 14rem);
}

.afiovana-pp-client-proof h2 {
	max-width: 12ch;
}

.afiovana-pp-client-proof > p:not(.afiovana-pp-eyebrow) {
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
	line-height: 1.65;
	margin: 2rem 0;
	max-width: 48rem;
}

.afiovana-pp-client-proof a {
	border-bottom: 1px solid currentColor;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding-bottom: 0.35rem;
	text-transform: uppercase;
}

.afiovana-capability-grid {
	border-top: 1px solid var(--afiovana-ink);
}

.afiovana-capability-grid > a {
	align-items: center;
	border-bottom: 1px solid var(--afiovana-ink);
	display: grid;
	gap: 1rem 2rem;
	grid-template-columns: 3rem minmax(13rem, 0.8fr) minmax(16rem, 1fr) auto;
	padding: 2.25rem 0;
	transition: background-color 220ms ease, padding 220ms ease;
}

.afiovana-capability-grid > a:hover,
.afiovana-capability-grid > a:focus-visible {
	background: var(--afiovana-lime);
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.afiovana-capability-grid span {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.afiovana-capability-grid h3 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2rem, 4vw, 4.2rem);
	font-weight: 400;
	line-height: 1;
	margin: 0;
}

.afiovana-capability-grid p {
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
}

.afiovana-capability-grid b {
	font-size: 1.7rem;
}

.afiovana-pp-process {
	background: var(--afiovana-white);
}

.afiovana-pp-process ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.afiovana-pp-process li {
	border-top: 1px solid var(--afiovana-line);
	display: grid;
	gap: 1rem 3rem;
	grid-template-columns: 4rem 1fr;
	padding: 2.4rem 0;
}

.afiovana-pp-process li > span {
	background: var(--afiovana-coral);
	border-radius: 50%;
	display: grid;
	font-size: 0.7rem;
	font-weight: 700;
	height: 3.2rem;
	place-items: center;
	width: 3.2rem;
}

.afiovana-pp-process li:nth-child(2) > span {
	background: var(--afiovana-cobalt);
	color: white;
}

.afiovana-pp-process li:nth-child(3) > span {
	background: var(--afiovana-lime);
}

.afiovana-pp-process h3 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2rem, 3.5vw, 3.8rem);
	font-weight: 400;
	line-height: 1;
	margin: 0 0 0.7rem;
}

.afiovana-pp-process li p {
	line-height: 1.6;
	margin: 0;
	max-width: 48rem;
}

.afiovana-pp-insights {
	background: var(--afiovana-ink);
	color: var(--afiovana-white);
}

.afiovana-pp-insights .afiovana-pp-section-head h2 {
	color: var(--afiovana-white);
}

.afiovana-insight-card {
	background: var(--afiovana-lime);
	border-radius: var(--afiovana-radius);
	color: var(--afiovana-ink) !important;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 0.7fr) minmax(18rem, 1.6fr);
	padding: clamp(2rem, 5vw, 5rem);
	transition: background-color 220ms ease, transform 220ms ease;
}

.afiovana-insight-card:hover,
.afiovana-insight-card:focus-visible {
	background: var(--afiovana-coral);
	transform: translateY(-4px);
}

.afiovana-insight-card > span,
.afiovana-insight-card > b {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.afiovana-insight-card h3 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2.8rem, 6vw, 6.4rem);
	font-weight: 400;
	grid-column: 2;
	letter-spacing: -0.055em;
	line-height: 0.93;
	margin: 0;
	text-wrap: balance;
}

.afiovana-insight-card p {
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	grid-column: 2;
	line-height: 1.6;
	margin: 0;
	max-width: 48rem;
}

.afiovana-insight-card > b {
	align-self: end;
	grid-column: 1;
	grid-row: 2 / 4;
}

body.afiovana-pp-insight .mkdf-sidebar,
body.afiovana-pp-insight .mkdf-post-info-bottom {
	display: none;
}

body.afiovana-pp-insight .mkdf-page-content-holder.mkdf-grid-col-9 {
	float: none;
	width: 100%;
}

body.afiovana-pp-insight .mkdf-blog-single .mkdf-post-text-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 58rem;
}

body.afiovana-pp-insight .mkdf-blog-single h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2.2rem, 5vw, 4.6rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 1;
	margin-top: clamp(3.5rem, 7vw, 6rem);
}

body.afiovana-pp-insight .mkdf-blog-single h3 {
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.2;
	margin-top: 2.75rem;
}

body.afiovana-pp-insight .mkdf-blog-single p,
body.afiovana-pp-insight .mkdf-blog-single li {
	font-size: clamp(1rem, 1.2vw, 1.14rem);
	line-height: 1.78;
}

body.afiovana-pp-insight .mkdf-blog-single a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.afiovana-pp-faq {
	background: var(--afiovana-paper);
}

.afiovana-pp-faq details {
	border-top: 1px solid var(--afiovana-ink);
	padding: 0;
}

.afiovana-pp-faq details:last-child {
	border-bottom: 1px solid var(--afiovana-ink);
}

.afiovana-pp-faq summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-family: var(--afiovana-serif);
	font-size: clamp(1.45rem, 2.5vw, 2.4rem);
	justify-content: space-between;
	list-style: none;
	padding: 1.6rem 0;
}

.afiovana-pp-faq summary::-webkit-details-marker {
	display: none;
}

.afiovana-pp-faq summary span {
	font-family: var(--afiovana-sans);
	transition: transform 180ms ease;
}

.afiovana-pp-faq details[open] summary span {
	transform: rotate(45deg);
}

.afiovana-pp-faq details p {
	font-size: 1.05rem;
	line-height: 1.65;
	margin: -0.5rem 0 1.8rem;
	max-width: 52rem;
}

.afiovana-pp-contact {
	background: var(--afiovana-ink);
	color: var(--afiovana-paper);
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 0.7fr);
	padding: clamp(5rem, 10vw, 10rem) clamp(1.4rem, 6vw, 7rem);
}

.afiovana-pp-contact h2 {
	color: var(--afiovana-paper);
}

.afiovana-pp-contact > div > p:last-child {
	font-size: 1.1rem;
	line-height: 1.65;
	margin-top: 2rem;
	max-width: 40rem;
}

.afiovana-pp-form input:not([type="submit"]),
.afiovana-pp-form textarea {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
	border-radius: 0 !important;
	color: var(--afiovana-paper) !important;
	font-family: var(--afiovana-sans) !important;
	font-size: 1rem !important;
	padding: 1rem 0 !important;
	width: 100% !important;
}

.afiovana-pp-form textarea {
	min-height: 8rem;
}

.afiovana-pp-form ::placeholder {
	color: rgba(242, 237, 227, 0.7);
}

.afiovana-pp-form input[type="submit"],
.afiovana-pp-form button {
	background: var(--afiovana-lime) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--afiovana-ink) !important;
	cursor: pointer;
	font-size: 0.76rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em;
	padding: 1.25rem 1.5rem !important;
	text-transform: uppercase;
}

.afiovana-service-page {
	margin: 0 auto;
	max-width: 100rem;
	padding: clamp(7rem, 12vw, 12rem) clamp(1.4rem, 8vw, 9rem);
}

body.afiovana-pp-service .mkdf-title-holder {
	display: none !important;
}

.afiovana-service-page > h1 {
	font-size: clamp(3.5rem, 8vw, 8.5rem);
	max-width: 13ch;
}

.afiovana-service-lead {
	font-size: clamp(1.1rem, 1.7vw, 1.5rem);
	line-height: 1.6;
	margin: 3rem 0 5rem;
	max-width: 55rem;
}

.afiovana-service-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, 1fr);
}

.afiovana-service-grid article {
	background: var(--afiovana-white);
	border: 1px solid var(--afiovana-ink);
	border-radius: 1.8rem;
	min-height: 22rem;
	padding: 2rem;
}

.afiovana-service-grid article:nth-child(1) {
	border-top: 0.7rem solid var(--afiovana-cobalt);
}

.afiovana-service-grid article:nth-child(2) {
	border-top: 0.7rem solid var(--afiovana-coral);
}

.afiovana-service-grid article:nth-child(3) {
	border-top: 0.7rem solid var(--afiovana-lime);
}

.afiovana-service-grid span {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.afiovana-service-grid h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(1.8rem, 3vw, 3rem);
	font-weight: 400;
	line-height: 1;
	margin: 4rem 0 1rem;
}

.afiovana-service-grid p {
	line-height: 1.6;
}

.afiovana-answer-block {
	background: var(--afiovana-cobalt);
	border-radius: var(--afiovana-radius);
	color: var(--afiovana-white);
	margin: clamp(4rem, 8vw, 8rem) 0 3rem;
	padding: clamp(2.2rem, 5vw, 5rem);
}

.afiovana-answer-block h2 {
	font-size: clamp(2.5rem, 5vw, 5.5rem);
	max-width: 14ch;
}

.afiovana-answer-block > p:last-child {
	font-size: clamp(1rem, 1.45vw, 1.3rem);
	line-height: 1.65;
	margin: 2rem 0 0;
	max-width: 52rem;
}

/* Hide only the supplied demo-theme profile links. Real future accounts are unaffected. */
a[href="https://www.facebook.com/Mikado-Themes-884182241781117"],
a[href="https://www.linkedin.com/"],
a[href="https://twitter.com/MikadoThemes?lang=en"],
a[href="https://www.behance.net/mikadothemd299"] {
	display: none !important;
}

.afiovana-social-placeholder-hidden {
	display: none !important;
}

.afiovana-consent {
	align-items: end;
	background: var(--afiovana-paper);
	border: 1px solid var(--afiovana-ink);
	border-radius: 1.4rem;
	bottom: 1rem;
	box-shadow: 0 1.2rem 4rem rgba(16, 18, 22, 0.18);
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
	left: 1rem;
	margin: 0 auto;
	max-width: 76rem;
	padding: clamp(1.3rem, 3vw, 2.2rem);
	position: fixed;
	right: 1rem;
	z-index: 100000;
}

.afiovana-consent[hidden] {
	display: none;
}

.afiovana-consent h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 400;
	line-height: 1;
	margin: 0.35rem 0 0.8rem;
}

.afiovana-consent p {
	line-height: 1.55;
	margin: 0;
	max-width: 50rem;
}

.afiovana-consent a {
	color: inherit;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 700;
	margin-top: 0.8rem;
	text-decoration: underline;
	text-underline-offset: 0.25rem;
}

.afiovana-consent-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: end;
}

.afiovana-consent-actions button,
.afiovana-consent-manage {
	background: transparent;
	border: 1px solid var(--afiovana-ink);
	border-radius: 999px;
	color: var(--afiovana-ink);
	cursor: pointer;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 0.85rem 1.15rem;
}

.afiovana-consent-actions .is-primary {
	background: var(--afiovana-ink);
	color: var(--afiovana-white);
}

.afiovana-consent-manage {
	background: var(--afiovana-paper);
	bottom: 0.8rem;
	left: 0.8rem;
	padding: 0.6rem 0.85rem;
	position: fixed;
	z-index: 99990;
}

@keyframes afiovana-orbit {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 900px) {
	.afiovana-pp-hero {
		align-items: start;
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.afiovana-pp-orbit {
		margin-top: 5rem;
		max-width: 23rem;
		width: 70%;
	}

	.afiovana-pp-section-head,
	.afiovana-pp-contact {
		grid-template-columns: 1fr;
	}

	.afiovana-project-grid {
		grid-template-columns: 1fr;
	}

	.afiovana-capability-grid > a {
		grid-template-columns: 2.5rem 1fr auto;
	}

	.afiovana-capability-grid p {
		grid-column: 2 / -1;
	}

	.afiovana-service-grid {
		grid-template-columns: 1fr;
	}

	.afiovana-consent {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.afiovana-consent-actions {
		justify-content: stretch;
	}

	.afiovana-consent-actions button {
		flex: 1 1 15rem;
	}
}

@media (max-width: 600px) {
	.afiovana-pp-hero h1 {
		font-size: clamp(3.1rem, 16vw, 5.2rem);
	}

	.afiovana-pp-proof {
		grid-template-columns: 1fr;
	}

	.afiovana-pp-proof p {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		border-right: 0;
		padding: 0.9rem 0;
		text-align: left;
	}

	.afiovana-project-card {
		min-height: 29rem;
	}

	.afiovana-project-media {
		min-height: 19rem;
	}

	.afiovana-pp-hero-index {
		display: none;
	}

	.afiovana-pp-process li {
		grid-template-columns: 3.5rem 1fr;
	}

	.afiovana-insight-card {
		grid-template-columns: 1fr;
	}

	.afiovana-insight-card h3,
	.afiovana-insight-card p,
	.afiovana-insight-card > b {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.afiovana-pp-orbit span {
		animation: none;
	}

	.afiovana-project-media img,
	.afiovana-pp-button,
	.afiovana-capability-grid > a {
		transition: none;
	}
}

/* Pixel-class mobile refinement: lead with the proposition, then the decorative pulse. */
@media (max-width: 900px) {
	body.afiovana-pp-front .afiovana-pp-hero-copy {
		order: 1;
	}

	body.afiovana-pp-front .afiovana-pp-orbit {
		order: 2;
	}
}

@media (max-width: 600px) {
	body.afiovana-pp-front .afiovana-pp-hero {
		gap: 2.5rem;
		padding: 5.5rem 1.4rem 3.5rem;
	}

	body.afiovana-pp-front .afiovana-pp-hero h1 {
		font-size: clamp(3rem, 14vw, 4.25rem);
		letter-spacing: -0.055em;
		line-height: 0.9;
	}

	body.afiovana-pp-front .afiovana-pp-intro {
		font-size: 1rem;
		line-height: 1.5;
		margin-top: 1.5rem;
	}

	body.afiovana-pp-front .afiovana-pp-actions {
		gap: 1rem 1.25rem;
		margin-top: 1.5rem;
	}

	body.afiovana-pp-front .afiovana-pp-button {
		gap: 1.25rem;
		padding: 1.1rem 1.25rem;
	}

	body.afiovana-pp-front .afiovana-pp-orbit {
		bottom: auto;
		justify-self: end;
		margin: 0;
		max-width: 12rem;
		width: 52vw;
	}

	.afiovana-pp-section {
		padding: 4rem 1.4rem;
	}

	.afiovana-pp-section-head {
		margin-bottom: 2.5rem;
	}

	.afiovana-pp-section-head h2,
	.afiovana-pp-client-proof h2,
	.afiovana-pp-contact h2,
	.afiovana-answer-block h2 {
		font-size: clamp(2.55rem, 12.5vw, 4.2rem);
	}

	.afiovana-project-card {
		min-height: 0;
	}

	.afiovana-project-media {
		flex: none;
		height: clamp(15rem, 68vw, 18rem);
		min-height: 0;
	}

	.afiovana-project-copy {
		padding: 1.4rem;
	}

	.afiovana-pp-client-proof,
	.afiovana-pp-contact {
		padding-bottom: 4.5rem;
		padding-top: 4.5rem;
	}

	.afiovana-service-page {
		padding-bottom: 5rem;
		padding-top: 6rem;
	}

	.afiovana-service-page > h1 {
		font-size: clamp(3rem, 14vw, 4.6rem);
	}

	.afiovana-service-lead {
		margin: 2rem 0 3.5rem;
	}

	.afiovana-service-grid article {
		min-height: 0;
	}

	.afiovana-service-grid h2 {
		margin-top: 2.5rem;
	}
}

@supports (content-visibility: auto) {
	body.afiovana-pp-front .afiovana-pp-proof,
	body.afiovana-pp-front .afiovana-pp-section,
	body.afiovana-pp-front .afiovana-pp-client-proof,
	body.afiovana-pp-front .afiovana-pp-contact {
		contain-intrinsic-size: auto 900px;
		content-visibility: auto;
	}
}

/* Keep the proposition in the wide left column and the pulse in the right. */
@media (min-width: 901px) {
	body.afiovana-pp-front .afiovana-pp-hero-copy {
		grid-column: 1;
		grid-row: 1;
	}

	body.afiovana-pp-front .afiovana-pp-orbit {
		grid-column: 2;
		grid-row: 1;
	}
}

/* Keep the full wide-screen proposition and primary action above the fold. */
@media (min-width: 901px) {
	body.afiovana-pp-front .afiovana-pp-hero {
		padding-bottom: clamp(3rem, 4vw, 4rem);
		padding-top: clamp(8.5rem, 10.5vw, 9.5rem);
	}

	body.afiovana-pp-front .afiovana-pp-hero h1 {
		font-size: clamp(4.5rem, 6.25vw, 7rem);
		line-height: 0.88;
	}

	body.afiovana-pp-front .afiovana-pp-intro {
		margin-top: clamp(1.75rem, 2.5vw, 2.5rem);
	}

	body.afiovana-pp-front .afiovana-pp-actions {
		margin-top: 1.75rem;
	}

	body.afiovana-pp-front .afiovana-pp-orbit {
		max-width: 30rem;
	}
}


/* Afiovana logo system: exact supplied artwork, responsive site-palette lock-ups. */
body.afiovana-precision-pulse .mkdf-page-header .mkdf-logo-wrapper > a {
	height: 56px !important;
	max-height: 56px !important;
}

body.afiovana-precision-pulse .mkdf-page-header .mkdf-logo-wrapper img {
	height: auto !important;
	max-height: 56px !important;
	object-fit: contain;
	object-position: left center;
	width: 280px !important;
}

body.afiovana-precision-pulse .mkdf-sticky-header .mkdf-logo-wrapper > a {
	height: 44px !important;
	max-height: 44px !important;
}

body.afiovana-precision-pulse .mkdf-sticky-header .mkdf-logo-wrapper img {
	height: auto !important;
	max-height: 44px !important;
	width: 220px !important;
}

body.afiovana-precision-pulse footer .widget_media_image img {
	height: auto !important;
	max-width: 100%;
	width: 260px !important;
}

@media (max-width: 1024px) {
	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-position-left-inner {
		align-items: center;
	}

	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-mobile-logo-wrapper,
	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-mobile-logo-wrapper > a {
		display: flex !important;
		height: 44px !important;
		max-height: 44px !important;
		width: clamp(132px, 42vw, 185px) !important;
	}

	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-mobile-logo-wrapper > a {
		align-items: center;
	}

	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-mobile-logo-wrapper img {
		height: auto !important;
		max-height: 44px !important;
		object-fit: contain !important;
		object-position: left center;
		width: 100% !important;
	}
}

/* Protect the homepage enquiry fields at the narrowest supported viewport. */
@media (max-width: 340px) {
	body.home .wpcf7-form .wpcf7-form-control-wrap {
		display: block;
		max-width: 100%;
		width: 100%;
	}

	body.home .wpcf7-form input:not([type='submit']):not([type='checkbox']):not([type='radio']),
	body.home .wpcf7-form textarea,
	body.home .wpcf7-form select {
		box-sizing: border-box !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* Allow the contact grid to shrink below Contact Form 7's 300px min-content width. */
@media (max-width: 340px) {
	body.home .afiovana-pp-contact {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.home .afiovana-pp-form,
	body.home .afiovana-pp-form .wpcf7,
	body.home .afiovana-pp-form form,
	body.home .afiovana-pp-form .mkdf-cf-custom,
	body.home .afiovana-pp-form .mkdf-two-cols,
	body.home .afiovana-pp-form p {
		min-width: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* Keep the logo and 150px Holmes menu control on one row at every mobile width. */
@media (max-width: 1024px) {
	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-vertical-align-containers {
		margin-left: 16px !important;
		margin-right: 16px !important;
		max-width: none !important;
		width: calc(100% - 32px) !important;
	}
}

/* Expand the Holmes 300px mobile grid while retaining a 16px device-edge gutter. */
@media (max-width: 1024px) {
	body.afiovana-precision-pulse .mkdf-mobile-header-holder > .mkdf-grid {
		margin-left: 16px !important;
		margin-right: 16px !important;
		width: calc(100% - 32px) !important;
	}

	body.afiovana-precision-pulse .mkdf-mobile-header .mkdf-vertical-align-containers {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
	}
}


/* Phase 2: product-led navigation, qualified enquiry and owned proof. */
.afiovana-pp-client-proof--owned {
	background: var(--afiovana-coral);
	color: var(--afiovana-ink);
}

body.afiovana-pp-project .mkdf-title-holder,
body.afiovana-pp-case-study .mkdf-title-holder {
	display: none !important;
}

.afiovana-project-page,
.afiovana-case-study-page {
	color: var(--afiovana-ink);
	font-family: var(--afiovana-sans);
	overflow: hidden;
}

.afiovana-project-page *,
.afiovana-case-study-page * {
	box-sizing: border-box;
}

.afiovana-project-page a,
.afiovana-case-study-page a {
	color: inherit;
}

.afiovana-project-hero,
.afiovana-case-hero {
	background: var(--afiovana-paper);
	padding: clamp(8rem, 13vw, 13rem) clamp(1.4rem, 8vw, 9rem) clamp(5rem, 9vw, 8rem);
}

.afiovana-project-hero h1,
.afiovana-case-hero h1,
.afiovana-case-section > h2,
.afiovana-project-form-panel > h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(3.4rem, 8vw, 8.5rem);
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 0.92;
	margin: 0;
	max-width: 13ch;
	text-wrap: balance;
}

.afiovana-project-hero > p:last-child,
.afiovana-case-hero > p:last-child {
	font-size: clamp(1.1rem, 1.7vw, 1.5rem);
	line-height: 1.62;
	margin: 2.5rem 0 0;
	max-width: 58rem;
}

.afiovana-project-layout {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(18rem, 0.72fr) minmax(24rem, 1.15fr);
	padding: clamp(5rem, 9vw, 9rem) clamp(1.4rem, 8vw, 9rem);
}

.afiovana-project-context ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.afiovana-project-context li {
	border-top: 1px solid var(--afiovana-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 2.75rem 1fr;
	padding: 1.5rem 0;
}

.afiovana-project-context li > span,
.afiovana-case-summary span,
.afiovana-case-grid article > span {
	color: var(--afiovana-cobalt);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.afiovana-project-context h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(1.6rem, 2.5vw, 2.4rem);
	font-weight: 400;
	line-height: 1;
	margin: 0 0 0.6rem;
}

.afiovana-project-context p {
	line-height: 1.62;
	margin: 0;
}

.afiovana-project-investment {
	background: var(--afiovana-lime);
	border: 1px solid var(--afiovana-ink);
	border-radius: 1.8rem;
	margin-top: 2.5rem;
	padding: 1.6rem;
}

.afiovana-project-investment > p:not(.afiovana-pp-eyebrow) {
	align-items: baseline;
	border-top: 1px solid rgba(17,17,20,.25);
	display: flex;
	justify-content: space-between;
	padding: 0.9rem 0;
}

.afiovana-project-investment small {
	display: block;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.afiovana-project-form-panel {
	background: var(--afiovana-ink);
	border-radius: var(--afiovana-radius);
	color: var(--afiovana-paper);
	padding: clamp(2rem, 5vw, 5rem);
}

.afiovana-project-form-panel > h2 {
	color: var(--afiovana-paper);
	font-size: clamp(2.8rem, 5.6vw, 5.8rem);
}

.afiovana-project-form-panel > p:not(.afiovana-pp-eyebrow) {
	line-height: 1.62;
	margin: 1.6rem 0 2.5rem;
	max-width: 40rem;
}

.afiovana-project-form label {
	display: block;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.45;
	text-transform: uppercase;
}

.afiovana-form-grid {
	display: grid;
	gap: 1.3rem 1.5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.afiovana-project-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.35rem;
	min-width: 0;
}

.afiovana-project-form input:not([type="submit"]):not([type="checkbox"]),
.afiovana-project-form textarea,
.afiovana-project-form select {
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.55) !important;
	border-radius: 0 !important;
	color: var(--afiovana-paper) !important;
	font-family: var(--afiovana-sans) !important;
	font-size: 1rem !important;
	font-weight: 400;
	letter-spacing: 0;
	max-width: 100%;
	padding: 0.85rem 0 !important;
	text-transform: none;
	width: 100% !important;
}

.afiovana-project-form select option {
	background: var(--afiovana-ink);
	color: var(--afiovana-paper);
}

.afiovana-project-form textarea {
	min-height: 10rem;
	resize: vertical;
}

.afiovana-form-wide {
	margin-top: 1.4rem;
}

.afiovana-form-consent {
	font-size: 0.82rem;
	line-height: 1.55;
	margin: 1.5rem 0;
}

.afiovana-form-consent label {
	align-items: flex-start;
	display: flex;
	font-size: inherit;
	font-weight: 400;
	gap: 0.65rem;
	letter-spacing: 0;
	text-transform: none;
}

.afiovana-form-consent input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 0.25rem;
}

.afiovana-form-consent a,
.afiovana-project-other a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.afiovana-project-form input[type="submit"] {
	margin-top: 0.5rem;
}

.afiovana-project-form .wpcf7-not-valid-tip {
	color: var(--afiovana-coral);
	font-size: 0.82rem;
	letter-spacing: 0;
	text-transform: none;
}

.afiovana-project-form .wpcf7-response-output {
	border-color: var(--afiovana-lime) !important;
	line-height: 1.55;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.afiovana-project-other {
	background: var(--afiovana-coral);
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	line-height: 1.6;
	padding: 2.2rem clamp(1.4rem, 8vw, 9rem);
}

.afiovana-project-other p {
	margin: 0;
}

.afiovana-case-summary {
	background: var(--afiovana-ink);
	color: var(--afiovana-paper);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 2rem clamp(1.4rem, 8vw, 9rem);
}

.afiovana-case-summary p {
	border-right: 1px solid rgba(255,255,255,.22);
	display: grid;
	gap: 0.65rem;
	line-height: 1.5;
	margin: 0;
	padding: 0.5rem 1.8rem;
}

.afiovana-case-summary p:last-child {
	border-right: 0;
}

.afiovana-case-summary strong {
	font-family: var(--afiovana-serif);
	font-size: 1.7rem;
	font-weight: 400;
}

.afiovana-case-section {
	padding: clamp(5rem, 10vw, 10rem) clamp(1.4rem, 8vw, 9rem);
}

.afiovana-case-section > h2 {
	font-size: clamp(3rem, 6vw, 6.5rem);
}

.afiovana-case-section > p:not(.afiovana-pp-eyebrow) {
	font-size: clamp(1.05rem, 1.45vw, 1.3rem);
	line-height: 1.72;
	margin: 2.2rem 0 0;
	max-width: 58rem;
}

.afiovana-case-section--ink {
	background: var(--afiovana-ink);
	color: var(--afiovana-paper);
}

.afiovana-case-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.afiovana-case-grid article {
	background: var(--afiovana-white);
	border-radius: 1.8rem;
	color: var(--afiovana-ink);
	min-height: 22rem;
	padding: 2rem;
}

.afiovana-case-grid h2 {
	font-family: var(--afiovana-serif);
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	font-weight: 400;
	line-height: 1;
	margin: 5rem 0 1rem;
}

.afiovana-case-grid p {
	line-height: 1.65;
}

.afiovana-case-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.3rem 2rem;
	margin-top: 3rem;
}

body.afiovana-precision-pulse .afiovana-nav-cta > a .item_text {
	color: var(--afiovana-cobalt);
}

@media (max-width: 900px) {
	.afiovana-project-layout,
	.afiovana-case-summary,
	.afiovana-case-grid {
		grid-template-columns: 1fr;
	}

	.afiovana-case-summary p {
		border-bottom: 1px solid rgba(255,255,255,.22);
		border-right: 0;
		padding: 1.3rem 0;
	}

	.afiovana-case-summary p:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 600px) {
	.afiovana-project-hero,
	.afiovana-case-hero {
		padding: 6rem 1.4rem 4.5rem;
	}

	.afiovana-project-hero h1,
	.afiovana-case-hero h1 {
		font-size: clamp(3rem, 14vw, 4.5rem);
	}

	.afiovana-project-layout,
	.afiovana-case-section {
		padding: 4.5rem 1.4rem;
	}

	.afiovana-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.afiovana-project-form-panel {
		padding: 2rem 1.25rem;
	}

	.afiovana-project-investment > p:not(.afiovana-pp-eyebrow) {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.25rem;
	}

	.afiovana-case-grid article {
		min-height: 0;
	}

	.afiovana-case-grid h2 {
		margin-top: 3rem;
	}
}


/* Afiovana mobile consent hotfix */
.afiovana-project-form .wpcf7-acceptance,
.afiovana-project-form .wpcf7-list-item {
  display: block;
  margin: 0;
  width: 100%;
}
.afiovana-project-form .wpcf7-acceptance label {
  align-items: start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1rem minmax(0, 1fr);
  margin: 0;
  width: 100%;
}
.afiovana-project-form .wpcf7-acceptance input[type="checkbox"] {
  appearance: auto !important;
  height: 1rem !important;
  margin: 0.15rem 0 0 !important;
  max-width: 1rem !important;
  min-width: 1rem !important;
  padding: 0 !important;
  width: 1rem !important;
}
.afiovana-project-form .wpcf7-list-item-label {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  width: auto;
}
.afiovana-form-consent p {
  margin: 0;
}


/* Afiovana 320px form fit */
.afiovana-project-form-panel,
.afiovana-project-form,
.afiovana-project-form .wpcf7,
.afiovana-project-form form {
  min-width: 0;
  width: 100%;
}
@media (max-width: 40rem) {
  .afiovana-project-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
