/**
 * Reusable component styles.
 */

.c-button {
	display: inline-flex;
	min-height: 2.75rem;
	padding: 0.6875rem var(--space-6);
	border: 0.125rem solid transparent;
	border-radius: var(--radius-2);
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	cursor: pointer;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.c-button:hover {
	transform: translateY(-0.0625rem);
}

.c-button:active {
	transform: translateY(0);
}

.c-button--primary {
	background: var(--color-primary-700);
	color: var(--color-neutral-000);
}

.c-button--primary:hover {
	background: var(--color-primary-900);
	color: var(--color-neutral-000);
}

.c-button--secondary {
	background: var(--color-secondary-500);
	color: var(--color-neutral-900);
}

.c-button--secondary:hover {
	background: #bd8e14;
	color: var(--color-neutral-900);
}

.c-button--ghost {
	border-color: var(--color-primary-700);
	background: transparent;
	color: var(--color-primary-700);
}

.c-button--ghost:hover {
	background: var(--color-primary-100);
	color: var(--color-primary-900);
}

.c-button--icon {
	width: 2.75rem;
	padding: 0;
	border-radius: 50%;
}

/*
 * GLOBAL NAVBAR — LOCKED MASTER STYLES
 * Lock ID: GLOBAL-NAVBAR-LOCK-v1.0
 * Owner approved: 2026-07-15
 *
 * Covers desktop/mobile Navbar, logo-toggle optical balance,
 * active menu indicators, focus states, and responsive behavior.
 * Changes require architecture review and Owner approval.
 */
.c-site-header {
	position: sticky;
	top: env(safe-area-inset-top, 0px);
	z-index: 9000;
	border-bottom: 1px solid rgb(0 111 168 / 14%);
	background: rgb(255 255 255 / 94%);
	box-shadow: 0 0.45rem 1.55rem rgb(4 50 76 / 7%);
	backdrop-filter: blur(16px);
}

.c-site-header__inner {
	display: flex;
	min-height: 4.5rem;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
}

.c-site-header__brand {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: var(--color-primary-900);
	font-weight: 800;
	text-decoration: none;
}

.c-site-header__logo .custom-logo {
	width: auto;
	max-height: 3rem;
}

.c-site-header__toggle {
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: var(--space-2);
	border: 1px solid var(--color-primary-700);
	border-radius: var(--radius-2);
	align-items: center;
	justify-content: center;
	background: var(--color-neutral-000);
	color: var(--color-primary-900);
	cursor: pointer;
}

.c-site-header__toggle-icon,
.c-site-header__toggle-icon::before,
.c-site-header__toggle-icon::after {
	display: block;
	width: 1.375rem;
	height: 0.125rem;
	background: currentcolor;
	content: "";
	transition: transform var(--transition-fast);
}

.c-site-header__toggle-icon {
	position: relative;
}

.c-site-header__toggle-icon::before {
	position: absolute;
	top: -0.4375rem;
}

.c-site-header__toggle-icon::after {
	position: absolute;
	top: 0.4375rem;
}

.c-site-header__toggle[aria-expanded="true"] .c-site-header__toggle-icon {
	background: transparent;
}

.c-site-header__toggle[aria-expanded="true"] .c-site-header__toggle-icon::before {
	transform: translateY(0.4375rem) rotate(45deg);
}

.c-site-header__toggle[aria-expanded="true"] .c-site-header__toggle-icon::after {
	transform: translateY(-0.4375rem) rotate(-45deg);
}

.c-site-header__navigation {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	padding: var(--space-4) var(--container-gutter) var(--space-6);
	border-bottom: 1px solid var(--color-primary-100);
	background: var(--color-neutral-000);
	box-shadow: var(--shadow-md);
}

.c-site-header__navigation .menu {
	display: flex;
	margin: 0;
	padding: 0;
	flex-direction: column;
	gap: var(--space-2);
	list-style: none;
}

.c-site-header__navigation a {
	display: flex;
	min-height: 2.75rem;
	padding: var(--space-2);
	align-items: center;
	color: var(--color-neutral-900);
	font-weight: 600;
	text-decoration: none;
}

.c-site-header__navigation a:hover,
.c-site-header__navigation .current-menu-item > a {
	color: var(--color-primary-700);
}

@media (max-width: 63.999rem) {
	.c-site-header__navigation .menu > li > a {
		position: relative;
	}

	.c-site-header__navigation .menu > .current-menu-item > a,
	.c-site-header__navigation .menu > .current_page_item > a,
	.c-site-header__navigation .menu > .current-menu-parent > a,
	.c-site-header__navigation .menu > .current-menu-ancestor > a,
	.c-site-header__navigation .menu > li > a[aria-current="page"] {
		color: var(--color-primary-700);
		font-weight: 700;
	}

	.c-site-header__navigation .menu > .current-menu-item > a::after,
	.c-site-header__navigation .menu > .current_page_item > a::after,
	.c-site-header__navigation .menu > .current-menu-parent > a::after,
	.c-site-header__navigation .menu > .current-menu-ancestor > a::after,
	.c-site-header__navigation .menu > li > a[aria-current="page"]::after {
		position: absolute;
		right: var(--space-2);
		bottom: 0.25rem;
		left: var(--space-2);
		height: 0.15rem;
		border-radius: 999px;
		background: #e62129;
		content: "";
		pointer-events: none;
	}
}

.c-site-header__actions {
	display: none;
}

.c-site-header__cta {
	min-height: 3.125rem;
	padding: 0.75rem 1rem;
	border: 1px solid #fdd100;
	border-radius: 999px;
	background: linear-gradient(135deg, #005a88, #006fa8);
	box-shadow: 0 0.5rem 1rem rgb(4 50 76 / 16%);
	color: #fff;
	font-size: 0.88rem;
	font-weight: 800;
	white-space: nowrap;
	gap: 0.55rem;
}

.c-site-header__cta:hover,
.c-site-header__cta:focus-visible {
	border-color: #fdd100;
	background: linear-gradient(135deg, #004c73, #005a88);
	color: #fff;
}

.c-site-header__cta-icon {
	display: grid;
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid rgb(255 255 255 / 42%);
	border-radius: 50%;
	place-items: center;
}

.c-site-header__cta-icon svg {
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.c-site-header__cta-arrow {
	color: #ffe47a;
	font-size: 1.1rem;
	line-height: 1;
}
/* END GLOBAL-NAVBAR-LOCK-v1.0 */

.c-cta {
	padding: var(--space-6);
	border: 1px solid var(--color-primary-100);
	border-radius: var(--radius-4);
	background: var(--color-neutral-100);
}

.c-cta__title {
	margin-bottom: var(--space-2);
}

.c-cta__text {
	color: var(--color-neutral-700);
}

.c-cta--inline {
	display: grid;
	gap: var(--space-4);
}

.c-cta--final {
	padding-block: var(--space-12);
	background: var(--color-primary-900);
	color: var(--color-neutral-000);
	text-align: center;
}

.c-cta--final .c-cta__title,
.c-cta--final .c-cta__text {
	color: inherit;
}

.c-floating-cta {
	position: fixed;
	right: var(--space-4);
	bottom: var(--space-4);
	z-index: 200;
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: var(--space-2) var(--space-4);
	border-radius: var(--radius-6);
	align-items: center;
	gap: var(--space-2);
	background: var(--color-primary-700);
	box-shadow: var(--shadow-md);
	color: var(--color-neutral-000);
	font-weight: 700;
	text-decoration: none;
}

.c-floating-cta:hover {
	background: var(--color-primary-900);
	color: var(--color-neutral-000);
}

.c-card {
	display: flex;
	height: 100%;
	min-width: 0;
	border: 1px solid var(--color-primary-100);
	border-radius: var(--radius-3);
	flex-direction: column;
	overflow: hidden;
	background: var(--color-neutral-000);
	box-shadow: var(--shadow-sm);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.c-card:hover {
	border-color: var(--color-primary-500);
	box-shadow: var(--shadow-md);
	transform: translateY(-0.125rem);
}

.c-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--color-primary-100);
}

.c-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-card__body {
	display: flex;
	padding: var(--space-6);
	flex: 1;
	flex-direction: column;
}

.c-card__eyebrow {
	margin-bottom: var(--space-2);
	color: var(--color-primary-700);
	font-size: var(--font-size-sm);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.c-card__title {
	font-size: var(--font-size-xl);
}

.c-card__title a {
	color: inherit;
	text-decoration: none;
}

.c-card__title a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.c-card__content {
	color: var(--color-neutral-700);
}

.c-card__footer {
	margin-top: auto;
	padding-top: var(--space-4);
}

.c-card--linked {
	position: relative;
}

.c-card--testimonial {
	padding: var(--space-6);
}

.c-card--testimonial:hover {
	transform: none;
}

.c-card__quote {
	margin: 0;
	font-size: var(--font-size-lg);
}

.c-card__person {
	display: flex;
	margin-top: var(--space-6);
	align-items: center;
	gap: var(--space-4);
}

.c-card__avatar {
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	object-fit: cover;
}

.c-card__rating {
	color: var(--color-secondary-500);
	font-weight: 700;
}

.p-case-detail__reference-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 24rem));
	align-items: start;
}

.p-case-detail .c-card--portfolio-reference {
	height: auto;
	padding: 0;
}

.p-case-detail .c-card--portfolio-reference .c-card__media {
	width: 100%;
	max-height: 14rem;
	aspect-ratio: 16 / 9;
}

.p-case-detail .c-card--portfolio-reference .c-card__media img {
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
}

.p-case-detail .c-card--portfolio-reference .c-card__body {
	gap: var(--space-3);
}

.p-case-detail .c-card--portfolio-reference .c-card__body p {
	margin: 0;
}

.p-case-detail .c-card--portfolio-reference .sr-btn {
	margin-top: var(--space-3);
	align-self: flex-start;
	color: var(--color-neutral-000);
}

.p-case-detail .c-card--testimonial {
	height: auto;
	padding: var(--space-8);
	border-left: 0.25rem solid var(--color-secondary-500);
	gap: var(--space-4);
}

.p-case-detail .c-card--testimonial > * {
	margin-block: 0;
}

.p-case-detail .c-card--testimonial .c-card__rating {
	display: inline-flex;
	width: fit-content;
	padding: var(--space-1) var(--space-3);
	border-radius: var(--radius-6);
	background: var(--color-primary-100);
	color: var(--color-primary-900);
	font-size: var(--font-size-sm);
	letter-spacing: 0.04em;
}

.p-case-detail .c-card--testimonial .c-card__quote {
	color: var(--color-neutral-700);
	line-height: 1.7;
}

.p-case-detail .c-card--testimonial .c-card__quote p {
	margin: 0;
}

.c-faq {
	border-top: 1px solid var(--color-primary-100);
}

.c-faq__item {
	border-bottom: 1px solid var(--color-primary-100);
}

.c-faq__question {
	display: flex;
	width: 100%;
	min-height: 2.75rem;
	padding: var(--space-4) 0;
	border: 0;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	background: transparent;
	color: var(--color-neutral-900);
	cursor: pointer;
	font-weight: 700;
	text-align: left;
}

.c-faq__icon {
	position: relative;
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 1.25rem;
}

.c-faq__icon::before,
.c-faq__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.875rem;
	height: 0.125rem;
	transform: translate(-50%, -50%);
	background: currentcolor;
	content: "";
}

.c-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform var(--transition-fast);
}

.c-faq__question[aria-expanded="true"] .c-faq__icon::after {
	transform: translate(-50%, -50%) rotate(0);
}

.c-faq__answer {
	padding: 0 0 var(--space-6);
	color: var(--color-neutral-700);
}

.c-site-footer {
	padding-block: var(--space-12) var(--space-6);
	background: var(--color-primary-900);
	color: var(--color-neutral-000);
}

.c-site-footer a {
	color: var(--color-neutral-000);
}

.c-site-footer__grid {
	display: grid;
	gap: var(--space-8);
}

.c-site-footer__title {
	color: var(--color-neutral-000);
	font-size: var(--font-size-base);
}

.c-site-footer__menu,
.c-site-footer__contacts {
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-site-footer__menu a,
.c-site-footer__contacts a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
}

.c-site-footer__legal {
	display: flex;
	margin-top: var(--space-8);
	padding-top: var(--space-6);
	border-top: 1px solid rgb(255 255 255 / 25%);
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	font-size: var(--font-size-sm);
}

.c-site-footer__legal .menu {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: var(--space-4);
	list-style: none;
}

.s-home-hero,
.s-service-hero {
	padding-block: var(--space-16);
	background: linear-gradient(145deg, var(--color-neutral-100), var(--color-primary-100));
}

.s-home-hero__inner,
.s-service-hero__grid {
	display: grid;
	gap: var(--space-8);
	align-items: center;
}

.s-home-hero__content,
.s-service-hero__content {
	max-width: 46rem;
}

.s-home-hero__subtitle,
.s-service-hero__subtitle {
	max-width: 42rem;
	color: var(--color-neutral-700);
	font-size: var(--font-size-lg);
}

.s-home-hero__badges {
	display: flex;
	margin: var(--space-6) 0 0;
	padding: 0;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-4);
	list-style: none;
}

.s-home-hero__badges li {
	padding: var(--space-1) var(--space-2);
	border-radius: var(--radius-2);
	background: var(--color-neutral-000);
	color: var(--color-primary-900);
	font-size: var(--font-size-sm);
	font-weight: 700;
}

.s-service-hero__media {
	border-radius: var(--radius-4);
	overflow: hidden;
	box-shadow: var(--shadow-md);
}

.s-service-hero__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.s-trust-bar {
	padding-block: var(--space-6);
	background: var(--color-primary-900);
	color: var(--color-neutral-000);
}

.s-trust-bar__grid {
	display: grid;
	gap: var(--space-6);
}

.s-trust-bar__item {
	display: grid;
	gap: var(--space-1);
	text-align: center;
}

.s-trust-bar__item strong {
	color: var(--color-neutral-000);
	font-size: var(--font-size-2xl);
}

.s-trust-bar__item small {
	color: var(--color-primary-100);
}

.c-card--feature:hover {
	transform: none;
}

.c-feature-icon {
	width: 3rem;
	height: 3rem;
	margin-bottom: var(--space-4);
	object-fit: contain;
}

.s-process__list {
	display: grid;
	margin: var(--space-8) 0 0;
	padding: 0;
	gap: var(--space-6);
	counter-reset: srcosme-process;
	list-style: none;
}

.s-process__list > li {
	position: relative;
	padding: var(--space-6);
	padding-top: var(--space-16);
	border: 1px solid var(--color-primary-100);
	border-radius: var(--radius-3);
	background: var(--color-neutral-000);
	counter-increment: srcosme-process;
}

.s-process__list > li::before {
	position: absolute;
	top: var(--space-4);
	left: var(--space-6);
	display: inline-flex;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background: var(--color-primary-700);
	color: var(--color-neutral-000);
	content: counter(srcosme-process);
	font-weight: 700;
}

.s-content-preview > .srcosme-container > h2,
.s-feature-list > .srcosme-container > h2,
.s-product-categories > .srcosme-container > h2,
.s-process > .srcosme-container > h2 {
	margin-bottom: var(--space-8);
}

.s-legalitas__summary {
	max-width: 48rem;
	color: var(--color-neutral-700);
}

.c-faq-wrapper {
	width: min(100% - (2 * var(--container-gutter)), var(--container-width));
	margin-inline: auto;
	padding-block: var(--space-16);
}

.c-faq-wrapper > h2 {
	margin-bottom: var(--space-8);
}

.c-breadcrumb {
	padding-block: var(--space-4);
	font-size: var(--font-size-sm);
}

.c-breadcrumb__list {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: var(--space-2);
	list-style: none;
}

.c-breadcrumb__item:not(:last-child)::after {
	margin-left: var(--space-2);
	color: var(--color-neutral-500);
	content: "/";
}

.p-blog-archive__header {
	margin-bottom: var(--space-8);
}

.p-blog-archive__grid {
	margin-bottom: var(--space-12);
}

.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.navigation.pagination .page-numbers {
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: var(--space-2);
	border: 1px solid var(--color-primary-100);
	align-items: center;
	justify-content: center;
}

.p-archive-header,
.s-trust-hero {
	max-width: 52rem;
}

.c-filter-nav {
	margin-block: var(--space-6) var(--space-8);
}

.c-filter-nav ul {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: var(--space-2);
	list-style: none;
}

.c-filter-nav a {
	display: inline-flex;
	min-height: 2.75rem;
	padding: var(--space-2) var(--space-4);
	border: 1px solid var(--color-primary-100);
	border-radius: var(--radius-6);
	align-items: center;
	text-decoration: none;
}

.c-filter-nav a[aria-current="page"] {
	border-color: var(--color-primary-700);
	background: var(--color-primary-700);
	color: var(--color-neutral-000);
}

.p-archive-grid {
	margin-bottom: var(--space-12);
}

.p-portfolio-archive .p-archive-header__subheadline {
	max-width: 45rem;
	margin: var(--space-4) 0 var(--space-8);
	color: #55504f;
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	line-height: 1.75;
}

.p-portfolio-archive .c-card {
	overflow: hidden;
	border-color: #dce7ec;
	border-radius: 20px;
	box-shadow: 0 1.25rem 3.75rem rgb(4 50 76 / 8%);
	transition:
		border-color 300ms ease,
		box-shadow 300ms ease,
		transform 300ms ease;
}

.p-portfolio-archive .c-card:hover,
.p-portfolio-archive .c-card:focus-within {
	border-color: rgb(225 166 31 / 82%);
	box-shadow: 0 1.75rem 4.75rem rgb(4 50 76 / 14%);
	transform: translateY(-0.25rem);
}

.p-portfolio-archive .c-card__media {
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background:
		linear-gradient(135deg, rgb(221 243 252 / 90%), rgb(255 255 255 / 72%)),
		radial-gradient(circle at 70% 20%, rgb(253 209 0 / 18%), transparent 36%);
}

.p-portfolio-archive .c-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
	transition: transform 300ms ease;
}

.p-portfolio-archive .c-card:hover .c-card__media img,
.p-portfolio-archive .c-card:focus-within .c-card__media img {
	transform: scale(1.03);
}

.p-portfolio-archive .c-card__body {
	display: flex;
	height: 100%;
	flex-direction: column;
	gap: var(--space-3);
}

.p-portfolio-archive .c-card__meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.p-portfolio-archive .c-card__meta-row .c-card__eyebrow {
	margin: 0;
	color: #9f7410;
}

.p-portfolio-archive .c-card__badge {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgb(225 166 31 / 45%);
	border-radius: 999px;
	padding: 0.3rem 0.55rem;
	background: #fff5cf;
	color: #04324c;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
}

.p-portfolio-archive .c-card__brand {
	margin: 0;
	color: #04324c;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.45;
	text-transform: uppercase;
}

.p-portfolio-archive .c-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: #5b5755;
	line-height: 1.7;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

@media (prefers-reduced-motion: reduce) {
	.p-portfolio-archive .c-card,
	.p-portfolio-archive .c-card__media img {
		transition: none;
	}

	.p-portfolio-archive .c-card:hover,
	.p-portfolio-archive .c-card:focus-within,
	.p-portfolio-archive .c-card:hover .c-card__media img,
	.p-portfolio-archive .c-card:focus-within .c-card__media img {
		transform: none;
	}
}

.p-portfolio-archive {
	overflow: hidden;
	background:
		radial-gradient(circle at 86% 10%, rgb(221 243 252 / 56%), transparent 24rem),
		linear-gradient(180deg, #fff 0%, #f7fcff 46%, #fff 100%);
	color: #04324c;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-portfolio-archive :where(h1, h2, h3, p, a, button, span, strong, em, li) {
	font-family: inherit;
}

.p-portfolio-archive__hero {
	position: relative;
	padding-block: clamp(2rem, 4.8vw, 4.2rem) 0;
}

.p-portfolio-archive__breadcrumb {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	display: inline-flex;
	margin-bottom: 0;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	color: #667985;
	font-size: 0.86rem;
	font-weight: 700;
}

.p-portfolio-archive__breadcrumb a {
	color: #006fa8;
	text-decoration: none;
}

.p-portfolio-archive__breadcrumb a:hover {
	color: #04324c;
}

.p-portfolio-archive__hero-card,
.p-portfolio-archive__cta-card,
.p-portfolio-archive__empty {
	position: relative;
	overflow: hidden;
	border: 1px solid rgb(191 228 244 / 86%);
	border-radius: 28px;
	background:
		linear-gradient(135deg, rgb(255 255 255 / 94%) 0%, rgb(246 251 254 / 92%) 52%, rgb(255 247 252 / 80%) 100%),
		radial-gradient(circle at 84% 18%, rgb(253 209 0 / 14%), transparent 18rem);
	box-shadow: 0 1.75rem 5rem rgb(4 50 76 / 10%);
}

.p-portfolio-archive__hero-card {
	display: grid;
	min-height: clamp(22.5rem, 32vw, 28.5rem);
	align-items: center;
	gap: clamp(1.45rem, 3.4vw, 3.5rem);
	padding: clamp(1.85rem, 4.1vw, 3.9rem);
	background:
		radial-gradient(circle at 86% 16%, rgb(221 243 252 / 78%), transparent 18rem),
		radial-gradient(circle at 10% 92%, rgb(246 234 249 / 54%), transparent 18rem),
		linear-gradient(135deg, rgb(255 255 255 / 96%) 0%, rgb(247 252 255 / 94%) 54%, rgb(255 247 252 / 84%) 100%);
}

.p-portfolio-archive__hero-card::before,
.p-portfolio-archive__cta-card::before,
.p-portfolio-archive__empty::before {
	position: absolute;
	inset: auto -6rem -10rem auto;
	width: clamp(16rem, 32vw, 34rem);
	height: clamp(16rem, 32vw, 34rem);
	border: 1px solid rgb(0 111 168 / 8%);
	border-radius: 999px;
	background: radial-gradient(circle, rgb(221 243 252 / 64%), transparent 64%);
	content: "";
	pointer-events: none;
}

.p-portfolio-archive__hero-card::before {
	inset: -8rem -10rem auto auto;
	width: clamp(18rem, 36vw, 40rem);
	height: clamp(18rem, 36vw, 40rem);
	border-color: rgb(0 111 168 / 7%);
	background:
		radial-gradient(circle, rgb(221 243 252 / 68%), transparent 64%);
	opacity: 0.95;
}

.p-portfolio-archive__hero-card::after {
	position: absolute;
	inset: auto auto -9rem -9rem;
	width: clamp(15rem, 28vw, 30rem);
	height: clamp(15rem, 28vw, 30rem);
	border-radius: 999px;
	background: radial-gradient(circle, rgb(246 210 247 / 28%), transparent 68%);
	content: "";
	pointer-events: none;
}

.p-portfolio-archive__hero-copy {
	position: relative;
	z-index: 2;
	max-width: 47rem;
}

.p-portfolio-archive__eyebrow {
	display: inline-flex;
	margin: 0 0 0.85rem;
	align-items: center;
	gap: 0.55rem;
	color: #006fa8;
	font-size: clamp(0.72rem, 1vw, 0.8rem);
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.p-portfolio-archive__eyebrow::before {
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 999px;
	background: #ef3340;
	box-shadow: 0 0 0 0.35rem rgb(239 51 64 / 10%);
	content: "";
}

.p-portfolio-archive__hero h1 {
	max-width: 47rem;
	margin-bottom: 0.9rem;
	color: #04324c;
	font-size: clamp(2.35rem, 3.55vw, 3.125rem);
	letter-spacing: 0;
	line-height: 1.035;
}

.p-portfolio-archive__hero-title-line {
	display: inline;
}

.p-portfolio-archive__hero p:not(.p-portfolio-archive__eyebrow) {
	max-width: 36.5rem;
	margin: 0;
	color: #566b76;
	font-size: clamp(1rem, 1.22vw, 1.14rem);
	line-height: 1.72;
}

.p-portfolio-archive__hero-cta {
	display: inline-flex;
	min-height: 2.85rem;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	margin-top: clamp(0.65rem, 1.45vw, 1rem);
	border: 1px solid rgb(0 111 168 / 22%);
	border-radius: 999px;
	padding: 0.72rem 1.05rem 0.72rem 1.2rem;
	background: rgb(255 255 255 / 68%);
	box-shadow: 0 0.85rem 2rem rgb(4 50 76 / 6%);
	color: #006fa8;
	font-size: 0.94rem;
	font-weight: 900;
	line-height: 1.15;
	text-decoration: none;
	backdrop-filter: blur(10px);
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		color 220ms ease,
		transform 220ms ease;
}

.p-portfolio-archive__hero-cta span[aria-hidden="true"] {
	display: grid;
	width: 1.85rem;
	height: 1.85rem;
	border: 1px solid rgb(0 111 168 / 18%);
	border-radius: 999px;
	place-items: center;
	background: #effaff;
	transition: transform 220ms ease, background-color 220ms ease;
}

.p-portfolio-archive__hero-cta:hover,
.p-portfolio-archive__hero-cta:focus-visible {
	border-color: rgb(0 111 168 / 38%);
	box-shadow: 0 1.15rem 2.4rem rgb(4 50 76 / 9%);
	color: #04324c;
	transform: translateY(-1px);
}

.p-portfolio-archive__hero-cta:hover span[aria-hidden="true"],
.p-portfolio-archive__hero-cta:focus-visible span[aria-hidden="true"] {
	background: #ddf3fc;
	transform: translateY(0.16rem);
}

.p-portfolio-archive__hero-mark {
	position: relative;
	z-index: 2;
	display: grid;
	width: min(100%, clamp(15.5rem, 22vw, 20.75rem));
	aspect-ratio: 1;
	place-items: center;
	justify-self: center;
	opacity: 1;
}

.p-portfolio-archive__orbit-rings {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	animation: srcosme-portfolio-orbit-drift 24s linear infinite;
}

.p-portfolio-archive__orbit-rings span {
	position: absolute;
	border: 1px solid rgb(0 111 168 / 16%);
	border-radius: 999px;
}

.p-portfolio-archive__orbit-rings span:nth-child(1) {
	inset: 0;
	background: rgb(255 255 255 / 34%);
}

.p-portfolio-archive__orbit-rings span:nth-child(2) {
	inset: 18%;
	background: rgb(221 243 252 / 28%);
}

.p-portfolio-archive__orbit-rings span:nth-child(3) {
	inset: 38%;
	background: rgb(255 255 255 / 36%);
}

.p-portfolio-archive__orbit-core {
	position: absolute;
	top: 50%;
	left: 50%;
	width: clamp(3.15rem, 7vw, 4.25rem);
	aspect-ratio: 1;
	border-radius: 999px;
	background: #fdd100;
	box-shadow: 0 0 1.85rem rgb(253 209 0 / 22%);
	animation: srcosme-portfolio-orbit-pulse 4.8s ease-in-out infinite;
	transform: translate(-50%, -50%);
}

.p-portfolio-archive__orbit-step {
	position: absolute;
	inset: 0;
	z-index: 3;
	animation: srcosme-portfolio-label-orbit var(--portfolio-orbit-duration, 34s) linear var(--portfolio-orbit-delay, 0s) infinite;
	pointer-events: none;
	transform-origin: 50% 50%;
	will-change: transform;
}

.p-portfolio-archive__orbit-arm {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	transform: rotate(var(--portfolio-orbit-start-angle)) translateX(var(--portfolio-orbit-radius));
	transform-origin: 0 0;
}

.p-portfolio-archive__orbit-chip {
	display: inline-flex;
	min-height: 2.25rem;
	align-items: center;
	gap: 0.45rem;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	padding: 0.42rem 0.68rem;
	background: rgb(255 255 255 / 76%);
	box-shadow: 0 0.65rem 1.5rem rgb(4 50 76 / 7%);
	color: #17445b;
	font-size: clamp(0.72rem, 0.9vw, 0.8rem);
	font-weight: 850;
	line-height: 1;
	backdrop-filter: blur(10px);
	animation: srcosme-portfolio-label-upright var(--portfolio-orbit-duration, 34s) linear var(--portfolio-orbit-delay, 0s) infinite;
	transform: translate(-50%, -50%) rotate(calc(0deg - var(--portfolio-orbit-start-angle)));
	transform-origin: 50% 50%;
	will-change: transform;
}

.p-portfolio-archive__orbit-node {
	display: block;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: #006fa8;
	box-shadow: 0 0 0 0.26rem rgb(0 111 168 / 9%);
	animation: srcosme-portfolio-node-pulse 3.8s ease-in-out infinite;
}

.p-portfolio-archive__orbit-step--concept {
	--portfolio-orbit-radius: clamp(7rem, 10vw, 8.85rem);
	--portfolio-orbit-start-angle: 220deg;
}

.p-portfolio-archive__orbit-step--formula {
	--portfolio-orbit-radius: clamp(6.6rem, 9.45vw, 8.35rem);
	--portfolio-orbit-start-angle: 305deg;
}

.p-portfolio-archive__orbit-step--legal {
	--portfolio-orbit-radius: clamp(5.5rem, 8vw, 6.9rem);
	--portfolio-orbit-start-angle: 5deg;
}

.p-portfolio-archive__orbit-step--production {
	--portfolio-orbit-radius: clamp(6.55rem, 9.35vw, 8.25rem);
	--portfolio-orbit-start-angle: 68deg;
}

.p-portfolio-archive__orbit-step--market {
	--portfolio-orbit-radius: clamp(6.95rem, 9.9vw, 8.75rem);
	--portfolio-orbit-start-angle: 145deg;
}

.p-portfolio-archive__orbit-step--formula .p-portfolio-archive__orbit-node {
	background: #c04f86;
	box-shadow: 0 0 0 0.26rem rgb(192 79 134 / 9%);
}

.p-portfolio-archive__orbit-step--legal .p-portfolio-archive__orbit-node {
	background: #1679d8;
	box-shadow: 0 0 0 0.26rem rgb(22 121 216 / 9%);
}

.p-portfolio-archive__orbit-step--production .p-portfolio-archive__orbit-node {
	background: #e0a100;
	box-shadow: 0 0 0 0.26rem rgb(224 161 0 / 12%);
}

.p-portfolio-archive__orbit-step--market .p-portfolio-archive__orbit-node {
	background: #10a49a;
	box-shadow: 0 0 0 0.26rem rgb(16 164 154 / 10%);
}

@keyframes srcosme-portfolio-orbit-drift {
	0% {
		transform: rotate(0deg) translate3d(0, 0, 0);
	}

	50% {
		transform: rotate(180deg) translate3d(0.25rem, -0.15rem, 0);
	}

	100% {
		transform: rotate(360deg) translate3d(0, 0, 0);
	}
}

@keyframes srcosme-portfolio-chip-float {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(var(--portfolio-chip-float-y, -0.18rem));
	}
}

@keyframes srcosme-portfolio-label-orbit {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(-360deg);
	}
}

@keyframes srcosme-portfolio-label-upright {
	0% {
		transform: translate(-50%, -50%) rotate(calc(0deg - var(--portfolio-orbit-start-angle)));
	}

	100% {
		transform: translate(-50%, -50%) rotate(calc(360deg - var(--portfolio-orbit-start-angle)));
	}
}

@keyframes srcosme-portfolio-chip-orbit-cw {
	0%,
	100% {
		transform: translate3d(0, calc(0rem - var(--portfolio-orbit-y, 0.2rem)), 0);
	}

	25% {
		transform: translate3d(var(--portfolio-orbit-x, 0.3rem), 0, 0);
	}

	50% {
		transform: translate3d(0, var(--portfolio-orbit-y, 0.2rem), 0);
	}

	75% {
		transform: translate3d(calc(0rem - var(--portfolio-orbit-x, 0.3rem)), 0, 0);
	}
}

@keyframes srcosme-portfolio-chip-orbit-ccw {
	0%,
	100% {
		transform: translate3d(0, calc(0rem - var(--portfolio-orbit-y, 0.2rem)), 0);
	}

	25% {
		transform: translate3d(calc(0rem - var(--portfolio-orbit-x, 0.3rem)), 0, 0);
	}

	50% {
		transform: translate3d(0, var(--portfolio-orbit-y, 0.2rem), 0);
	}

	75% {
		transform: translate3d(var(--portfolio-orbit-x, 0.3rem), 0, 0);
	}
}

@keyframes srcosme-portfolio-orbit-cw {
	0% {
		transform: rotate(var(--portfolio-angle)) translateX(var(--portfolio-radius)) translateY(0);
	}

	50% {
		transform: rotate(var(--portfolio-angle-mid-cw)) translateX(calc(var(--portfolio-radius) + var(--portfolio-radius-shift, 0rem))) translateY(var(--portfolio-orbit-drift-y, 0rem));
	}

	100% {
		transform: rotate(var(--portfolio-angle-end-cw)) translateX(var(--portfolio-radius)) translateY(0);
	}
}

@keyframes srcosme-portfolio-chip-upright-cw {
	0% {
		transform: translate(-50%, -50%) rotate(var(--portfolio-counter-start));
	}

	50% {
		transform: translate(-50%, -50%) rotate(var(--portfolio-counter-mid-cw));
	}

	100% {
		transform: translate(-50%, -50%) rotate(var(--portfolio-counter-end-cw));
	}
}

@keyframes srcosme-portfolio-orbit-ccw {
	0% {
		transform: rotate(var(--portfolio-angle)) translateX(var(--portfolio-radius)) translateY(0);
	}

	50% {
		transform: rotate(var(--portfolio-angle-mid-ccw)) translateX(calc(var(--portfolio-radius) + var(--portfolio-radius-shift, 0rem))) translateY(var(--portfolio-orbit-drift-y, 0rem));
	}

	100% {
		transform: rotate(var(--portfolio-angle-end-ccw)) translateX(var(--portfolio-radius)) translateY(0);
	}
}

@keyframes srcosme-portfolio-chip-upright-ccw {
	0% {
		transform: translate(-50%, -50%) rotate(var(--portfolio-counter-start));
	}

	50% {
		transform: translate(-50%, -50%) rotate(var(--portfolio-counter-mid-ccw));
	}

	100% {
		transform: translate(-50%, -50%) rotate(var(--portfolio-counter-end-ccw));
	}
}

@keyframes srcosme-portfolio-orbit-pulse {
	0%,
	100% {
		box-shadow: 0 0 1.85rem rgb(253 209 0 / 20%);
	}

	50% {
		box-shadow: 0 0 2.25rem rgb(253 209 0 / 28%);
	}
}

@keyframes srcosme-portfolio-node-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.12);
	}
}

.p-portfolio-archive__trust {
	position: relative;
	z-index: 3;
	margin-top: -0.8rem;
	padding-bottom: clamp(1rem, 2.4vw, 1.9rem);
}

.p-portfolio-archive__trust-strip {
	display: grid;
	gap: 0.9rem;
	padding: 0.65rem;
	border: 1px solid rgb(191 228 244 / 72%);
	border-radius: 22px;
	background: rgb(255 255 255 / 72%);
	box-shadow: 0 1.35rem 3.8rem rgb(4 50 76 / 9%);
	backdrop-filter: blur(12px);
}

.p-portfolio-archive__hero-stage.is-portfolio-hero-motion-ready [data-portfolio-hero-reveal] {
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 620ms ease, transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

.p-portfolio-archive__hero-stage.is-portfolio-hero-motion-ready [data-portfolio-hero-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

.p-portfolio-archive__trust-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.75rem;
	align-items: center;
	min-height: 4.35rem;
	padding: 0.85rem;
	border: 1px solid rgb(0 111 168 / 8%);
	border-radius: 18px;
	background: linear-gradient(135deg, rgb(255 255 255 / 94%), rgb(246 251 254 / 82%));
}

.p-portfolio-archive__trust-icon {
	display: grid;
	width: 2.55rem;
	height: 2.55rem;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	place-items: center;
	background: #ddf3fc;
	color: #006fa8;
}

.p-portfolio-archive__trust-icon svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.p-portfolio-archive__trust-item strong,
.p-portfolio-archive__trust-item span:not(.p-portfolio-archive__trust-icon) {
	display: block;
}

.p-portfolio-archive__trust-item strong {
	color: #04324c;
	font-size: 0.95rem;
	letter-spacing: 0;
	line-height: 1.35;
}

.p-portfolio-archive__trust-item span:not(.p-portfolio-archive__trust-icon) {
	margin-top: 0.2rem;
	color: #667985;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.p-portfolio-archive__content {
	padding-top: clamp(2rem, 5vw, 4rem);
}

#portfolio-archive-grid-title {
	scroll-margin-top: clamp(5.5rem, 8vw, 7rem);
}

.p-portfolio-archive__toolbar {
	display: grid;
	gap: clamp(0.95rem, 2.2vw, 1.55rem);
	margin-bottom: clamp(1.1rem, 2.7vw, 2rem);
	align-items: end;
}

.p-portfolio-archive__toolbar h2 {
	max-width: 42rem;
	margin-bottom: 0;
	color: #04324c;
	font-size: clamp(2rem, 4vw, 3.4rem);
	letter-spacing: 0;
	line-height: 1.04;
}

.p-portfolio-archive__filters ul {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
}

.p-portfolio-archive__filters a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(214 154 22 / 28%);
	border-radius: 999px;
	padding: 0.68rem 0.98rem;
	background:
		linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(249 253 255 / 88%)),
		radial-gradient(circle at 88% 14%, rgb(253 209 0 / 10%), transparent 5.5rem);
	box-shadow: 0 0.65rem 1.45rem rgb(4 50 76 / 5%);
	color: #04324c;
	font-size: 0.88rem;
	font-weight: 850;
	line-height: 1.1;
	text-decoration: none;
	transition:
		border-color 220ms ease,
		background-color 220ms ease,
		box-shadow 220ms ease,
		color 220ms ease,
		transform 220ms ease;
}

.p-portfolio-archive__filters a:hover,
.p-portfolio-archive__filters a:focus-visible {
	border-color: rgb(214 154 22 / 48%);
	background:
		linear-gradient(180deg, #fff, #f7fcff),
		radial-gradient(circle at 88% 14%, rgb(253 209 0 / 16%), transparent 5.5rem);
	color: #04324c;
	box-shadow: 0 0.85rem 1.7rem rgb(4 50 76 / 7%);
	transform: translateY(-1px);
}

.p-portfolio-archive__filters a:focus-visible {
	outline: 2px solid rgb(214 154 22 / 48%);
	outline-offset: 0.18rem;
	box-shadow: 0 0 0 0.2rem rgb(214 154 22 / 16%), 0 0.85rem 1.7rem rgb(4 50 76 / 7%);
}

.p-portfolio-archive__filters a[aria-current="page"] {
	border-color: rgb(214 154 22 / 52%);
	background:
		linear-gradient(135deg, #073a58 0%, #006fa8 100%),
		radial-gradient(circle at 88% 10%, rgb(253 209 0 / 20%), transparent 5rem);
	color: #fff;
	box-shadow: 0 0.95rem 2rem rgb(4 50 76 / 14%), inset 0 1px 0 rgb(255 255 255 / 18%);
}

.p-portfolio-archive__filters a[aria-current="page"]:hover,
.p-portfolio-archive__filters a[aria-current="page"]:focus-visible {
	border-color: rgb(253 209 0 / 58%);
	color: #fff;
}

.p-portfolio-archive__grid {
	display: grid;
	align-items: stretch;
	isolation: isolate;
	gap: 0.5rem;
	grid-template-columns: 1fr;
}

.p-portfolio-archive-card {
	--portfolio-accent: #007cb5;
	--portfolio-accent-rgb: 0 124 181;
	--portfolio-card-gold-rgb: 214 154 22;
	--portfolio-card-radius: 1.25rem;
	--portfolio-media-radius: calc(var(--portfolio-card-radius) - 0.25rem);
	position: relative;
	display: flex;
	overflow: hidden;
	height: 100%;
	min-height: 0;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid rgb(var(--portfolio-card-gold-rgb) / 28%);
	border-radius: var(--portfolio-card-radius);
	background:
		linear-gradient(145deg, rgb(255 255 255 / 99%), rgb(250 253 255 / 96%)),
		radial-gradient(circle at 88% 12%, rgb(var(--portfolio-card-gold-rgb) / 8%), transparent 8.5rem);
	box-shadow: 0 1.15rem 3rem rgb(4 50 76 / 8%), inset 0 1px 0 rgb(255 255 255 / 88%);
	color: #04324c;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	transition:
		opacity 280ms ease,
		border-color 300ms ease,
		box-shadow 300ms ease,
		transform 300ms ease;
}

.p-portfolio-archive-card--accent-skincare,
.p-portfolio-archive-card--accent-skincare-series {
	--portfolio-accent: #008f8c;
	--portfolio-accent-rgb: 0 143 140;
}

.p-portfolio-archive-card--accent-lip-care,
.p-portfolio-archive-card--accent-makeup {
	--portfolio-accent: #c04f86;
	--portfolio-accent-rgb: 192 79 134;
}

.p-portfolio-archive-card--accent-bodycare {
	--portfolio-accent: #007cb5;
	--portfolio-accent-rgb: 0 124 181;
}

.p-portfolio-archive-card--accent-parfum {
	--portfolio-accent: #7b5dd7;
	--portfolio-accent-rgb: 123 93 215;
}

.p-portfolio-archive-card--accent-men-s-grooming,
.p-portfolio-archive-card--accent-mens-grooming {
	--portfolio-accent: #c79210;
	--portfolio-accent-rgb: 199 146 16;
}

.p-portfolio-archive-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0.5rem 0.5rem 0;
	aspect-ratio: 4 / 5;
	border-radius: var(--portfolio-media-radius);
	background:
		radial-gradient(circle at 50% 28%, rgb(255 255 255 / 86%), transparent 9rem),
		linear-gradient(145deg, #eff9ff 0%, #fffaf0 100%);
	text-decoration: none;
}

.p-portfolio-archive-card__media:focus-visible,
.p-portfolio-archive-card__title a:focus-visible,
.p-portfolio-archive-card__link:focus-visible {
	outline: 2px solid rgb(var(--portfolio-card-gold-rgb) / 48%);
	outline-offset: 0.25rem;
	box-shadow: 0 0 0 0.2rem rgb(var(--portfolio-card-gold-rgb) / 16%);
}

.p-portfolio-archive-card__media::after {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, transparent 50%, rgb(4 50 76 / 10%) 100%),
		radial-gradient(circle at 82% 16%, rgb(255 255 255 / 34%), transparent 34%);
	content: "";
	opacity: 0;
	pointer-events: none;
	transition: opacity 280ms ease;
}

.p-portfolio-archive-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	object-fit: cover;
	object-position: center center;
	padding: 0;
	border-radius: inherit;
	opacity: 1;
	transition: transform 300ms ease;
}

.p-portfolio-archive-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	background:
		linear-gradient(145deg, rgb(221 243 252 / 92%), rgb(255 245 250 / 78%)),
		radial-gradient(circle at 72% 18%, rgb(var(--portfolio-accent-rgb) / 14%), transparent 38%);
}

.p-portfolio-archive-card__placeholder::before {
	width: 30%;
	aspect-ratio: 1;
	border-radius: 999px;
	background: rgb(var(--portfolio-accent-rgb) / 12%);
	content: "";
}

.p-portfolio-archive-card__body {
	position: static;
	z-index: auto;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1rem, 1.55vw, 1.45rem);
}

.p-portfolio-archive-card__meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 0.65rem;
}

.p-portfolio-archive-card__type {
	margin: 0;
	width: fit-content;
	max-width: 100%;
	border: 1px solid rgb(var(--portfolio-card-gold-rgb) / 34%);
	border-radius: 999px;
	padding: 0.26rem 0.58rem;
	background: rgb(253 209 0 / 12%);
	color: #8a6400;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.p-portfolio-archive-card__service {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.45rem;
	margin-top: clamp(0.75rem, 1.2vw, 1rem);
	margin-bottom: 0;
}

.p-portfolio-archive-card__service-label {
	color: #69727a;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
}

.p-portfolio-archive-card__service-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.p-portfolio-archive-card__service-pill {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	border: 1px solid rgb(var(--portfolio-accent-rgb) / 22%);
	border-radius: 999px;
	padding: 0.34rem 0.66rem;
	background: rgb(var(--portfolio-accent-rgb) / 7%);
	color: #17445b;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.1;
	white-space: normal;
}

.p-portfolio-archive-card__title {
	margin: 0;
	color: #04324c;
	font-size: clamp(1.08rem, 1.48vw, 1.22rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.18;
}

.p-portfolio-archive-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 280ms ease;
}

.p-portfolio-archive-card__title a:hover {
	color: var(--portfolio-accent);
}

.p-portfolio-archive-card__brand {
	margin: 0.42rem 0 0;
	color: #64798a;
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.p-portfolio-archive-card__cta {
	display: flex;
	align-items: center;
	margin-top: auto;
	padding-top: clamp(0.95rem, 1.75vw, 1.35rem);
}

.p-portfolio-archive-card__link {
	position: relative;
	display: inline-flex;
	width: 100%;
	min-height: 2.75rem;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	border: 1px solid rgb(var(--portfolio-card-gold-rgb) / 36%);
	border-radius: 999px;
	padding: 0 0.38rem 0 0.85rem;
	background: rgb(255 255 255 / 88%);
	color: #04324c;
	font-size: 0.92rem;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 0.7rem 1.55rem rgb(4 50 76 / 6%);
	transition:
		border-color 300ms ease,
		color 300ms ease,
		box-shadow 300ms ease,
		transform 300ms ease;
}

.p-portfolio-archive-card__link-icon {
	display: inline-grid;
	flex-shrink: 0;
	width: 1.85rem;
	height: 1.85rem;
	border: 1px solid rgb(var(--portfolio-card-gold-rgb) / 34%);
	border-radius: 999px;
	place-items: center;
	background: rgb(253 209 0 / 12%);
	color: #04324c;
	transition: background-color 280ms ease, border-color 280ms ease, color 280ms ease, transform 280ms ease;
}

.p-portfolio-archive-card__link-icon svg {
	width: 1.05rem;
	height: 1.05rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.15;
}

.p-portfolio-archive-card__link:hover,
.p-portfolio-archive-card__link:focus-visible {
	border-color: rgb(var(--portfolio-card-gold-rgb) / 54%);
	color: #04324c;
	box-shadow: 0 0.9rem 1.8rem rgb(4 50 76 / 8%), 0 0 0 0.18rem rgb(var(--portfolio-card-gold-rgb) / 16%);
}

.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-reveal],
.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-card] {
	opacity: 0;
	transform: translateY(1.15rem);
	transition: opacity 600ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-card] {
	transition-delay: var(--portfolio-card-delay, 0ms);
}

.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-reveal].is-visible,
.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-card].is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
	.p-portfolio-archive__grid:hover .p-portfolio-archive-card.is-visible:not(:hover):not(:focus-within) {
		opacity: 0.92;
	}

	.p-portfolio-archive-card.is-visible:hover,
	.p-portfolio-archive-card.is-visible:focus-within,
	.p-portfolio-archive-card:hover,
	.p-portfolio-archive-card:focus-within {
		border-color: rgb(var(--portfolio-card-gold-rgb) / 48%);
		box-shadow: 0 1.55rem 4.1rem rgb(4 50 76 / 13%), 0 0 0 1px rgb(var(--portfolio-card-gold-rgb) / 12%);
		transform: translateY(-4px);
	}

	.p-portfolio-archive-card:hover .p-portfolio-archive-card__media::after,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__media::after {
		opacity: 1;
	}

	.p-portfolio-archive-card:hover .p-portfolio-archive-card__media img,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__media img {
		transform: scale(1.04);
	}

	.p-portfolio-archive-card:hover .p-portfolio-archive-card__title a,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__title a,
	.p-portfolio-archive-card:hover .p-portfolio-archive-card__link,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__link {
		color: #04324c;
	}

	.p-portfolio-archive-card:hover .p-portfolio-archive-card__link-icon,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__link-icon {
		border-color: rgb(var(--portfolio-card-gold-rgb) / 52%);
		background: rgb(253 209 0 / 18%);
		transform: translateX(4px);
	}
}

.p-portfolio-archive__pagination {
	margin-top: clamp(1.75rem, 4vw, 3rem);
}

.p-portfolio-archive__pagination .page-numbers {
	border-radius: 999px;
	text-decoration: none;
}

.p-portfolio-archive__pagination .current {
	border-color: #006fa8;
	background: #006fa8;
	color: #fff;
}

.p-portfolio-archive__empty {
	display: grid;
	justify-items: start;
	padding: clamp(2rem, 5vw, 3.25rem);
}

.p-portfolio-archive__empty h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 0.8rem;
	color: #04324c;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
}

.p-portfolio-archive__empty p:not(.p-portfolio-archive__eyebrow) {
	position: relative;
	z-index: 1;
	max-width: 40rem;
	color: #566b76;
	line-height: 1.75;
}

.p-portfolio-archive__empty-actions {
	position: relative;
	z-index: 1;
	display: flex;
	margin-top: 0.65rem;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.p-portfolio-archive__button {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 0.78rem 1.1rem;
	font-weight: 900;
	text-decoration: none;
}

.p-portfolio-archive__button--primary {
	background: #fdd100;
	color: #04324c;
	box-shadow: 0 1rem 2rem rgb(225 166 31 / 18%);
}

.p-portfolio-archive__button--secondary {
	border: 1px solid rgb(0 111 168 / 18%);
	background: #fff;
	color: #006fa8;
}

.p-portfolio-archive__cta {
	padding-top: clamp(1.35rem, 3vw, 2.5rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.p-portfolio-archive__cta-card {
	display: grid;
	gap: clamp(1.1rem, 3vw, 2.1rem);
	align-items: center;
	border-color: rgb(214 154 22 / 28%);
	border-radius: 26px;
	padding: clamp(1.75rem, 4.2vw, 3.15rem);
	background:
		radial-gradient(circle at 88% 12%, rgb(253 209 0 / 12%), transparent 14rem),
		radial-gradient(circle at 9% 92%, rgb(221 243 252 / 62%), transparent 16rem),
		linear-gradient(135deg, rgb(255 255 255 / 96%) 0%, rgb(248 252 255 / 94%) 58%, rgb(255 251 240 / 82%) 100%);
	box-shadow: 0 1.4rem 4rem rgb(4 50 76 / 9%);
}

.p-portfolio-archive__cta-copy,
.p-portfolio-archive__cta-actions {
	position: relative;
	z-index: 1;
}

.p-portfolio-archive__cta-copy h2 {
	max-width: 44rem;
	margin-bottom: 0.65rem;
	color: #04324c;
	font-size: clamp(1.8rem, 3.6vw, 3.15rem);
	letter-spacing: 0;
	line-height: 1.06;
}

.p-portfolio-archive__cta-copy p:not(.p-portfolio-archive__eyebrow) {
	max-width: 39rem;
	margin: 0;
	color: #566b76;
	font-size: clamp(0.98rem, 1.18vw, 1.08rem);
	line-height: 1.66;
}

.p-portfolio-archive__cta-actions {
	display: grid;
	gap: 0.7rem;
	justify-items: start;
}

.p-portfolio-archive__cta-button {
	display: inline-flex;
	min-height: 3.25rem;
	align-items: center;
	justify-content: center;
	gap: 0.82rem;
	border: 1px solid rgb(214 154 22 / 36%);
	border-radius: 999px;
	padding: 0.68rem 0.72rem 0.68rem 1.25rem;
	background:
		linear-gradient(135deg, #fdd100 0%, #e8ad16 100%),
		radial-gradient(circle at 16% 18%, rgb(255 255 255 / 32%), transparent 6rem);
	box-shadow: 0 1rem 2.35rem rgb(225 166 31 / 18%);
	color: #102f43;
	font-weight: 900;
	line-height: 1.15;
	text-decoration: none;
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		transform 220ms ease;
}

.p-portfolio-archive__cta-button span[aria-hidden="true"] {
	display: grid;
	width: 2.12rem;
	height: 2.12rem;
	border: 1px solid rgb(4 50 76 / 14%);
	border-radius: 999px;
	place-items: center;
	background: rgb(255 255 255 / 32%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 28%);
	transition: background-color 220ms ease, transform 220ms ease;
}

.p-portfolio-archive__cta-button:hover,
.p-portfolio-archive__cta-button:focus-visible {
	border-color: rgb(214 154 22 / 52%);
	color: #102f43;
	box-shadow: 0 1.25rem 2.75rem rgb(225 166 31 / 23%);
	transform: translateY(-1px);
}

.p-portfolio-archive__cta-button:hover span[aria-hidden="true"],
.p-portfolio-archive__cta-button:focus-visible span[aria-hidden="true"] {
	background: rgb(255 255 255 / 46%);
	transform: translateX(0.18rem);
}

.p-portfolio-archive__cta-actions p {
	width: 100%;
	margin: 0;
	color: #667985;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

@media (min-width: 48rem) {
	.p-portfolio-archive__hero-card {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.68fr);
	}

	.p-portfolio-archive__trust-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-portfolio-archive__grid {
		gap: 1.125rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-portfolio-archive-card__media {
		background:
			radial-gradient(circle at 50% 28%, rgb(255 255 255 / 86%), transparent 9rem),
			linear-gradient(145deg, #eff9ff 0%, #fffaf0 100%);
	}

	.p-portfolio-archive-card__media img {
		object-fit: cover;
		object-position: center center;
	}
}

@media (max-width: 63.9375rem) {
	.p-portfolio-archive-card__body {
		padding: 1.5rem;
	}
}

@media (min-width: 64rem) {
	.p-portfolio-archive__hero-card {
		grid-template-columns: minmax(0, 62%) minmax(18rem, 38%);
	}

	.p-portfolio-archive__grid {
		gap: 1.5rem;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p-portfolio-archive__toolbar {
		grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
	}

	.p-portfolio-archive__filters ul {
		justify-content: flex-end;
	}

	.p-portfolio-archive__cta-card {
		grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 0.75fr);
	}

	.p-portfolio-archive__cta-actions {
		justify-items: end;
		text-align: right;
	}

	.p-portfolio-archive-card {
		height: 100%;
		justify-content: initial;
	}

	.p-portfolio-archive-card__media {
		min-height: 0;
		aspect-ratio: 4 / 5;
	}

	.p-portfolio-archive-card__media img {
		object-fit: cover;
		object-position: center center;
	}

	.p-portfolio-archive-card__body {
		height: 100%;
		min-height: 0;
		flex: 1;
		padding: clamp(1.05rem, 1.25vw, 1.2rem) clamp(1.15rem, 1.45vw, 1.45rem);
	}

	.p-portfolio-archive-card__meta-row {
		gap: 0.45rem;
		margin-bottom: 0.5rem;
	}

	.p-portfolio-archive-card__service {
		gap: 0.35rem;
		margin-top: 0.7rem;
		margin-bottom: 0;
	}

	.p-portfolio-archive-card__service-pill {
		padding: 0.3rem 0.58rem;
		font-size: 0.72rem;
	}

	.p-portfolio-archive-card__title {
		display: -webkit-box;
		overflow: hidden;
		font-size: clamp(1.05rem, 1.32vw, 1.17rem);
		line-height: 1.2;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.p-portfolio-archive-card__cta {
		padding-top: clamp(0.78rem, 1vw, 1rem);
	}

	.p-portfolio-archive-card__link {
		width: min(100%, 16.4rem);
		min-height: 2.5rem;
		justify-content: space-between;
		gap: 0.85rem;
		padding-right: 0.4rem;
		font-size: 0.88rem;
	}
}

@media (max-width: 47.999rem) {
	.p-portfolio-archive__hero {
		padding-block-start: clamp(1rem, 3.8vw, 1.55rem);
	}

	.p-portfolio-archive__breadcrumb {
		margin-bottom: 0.62rem;
		font-size: 0.8rem;
	}

	.p-portfolio-archive__hero-card,
	.p-portfolio-archive__cta-card,
	.p-portfolio-archive__empty {
		border-radius: 22px;
	}

	.p-portfolio-archive__hero-card {
		min-height: max(45rem, calc(100svh - 4.5rem));
		align-content: center;
		gap: clamp(1.5rem, 6.8vw, 2.1rem);
		padding: clamp(1.05rem, 4.6vw, 1.42rem) clamp(1rem, 4.4vw, 1.3rem) clamp(1.1rem, 4.8vw, 1.55rem);
	}

	.p-portfolio-archive__hero h1 {
		max-width: 100%;
		margin-bottom: 0.68rem;
		font-size: clamp(1.48rem, 6.25vw, 1.9rem);
		line-height: 1.08;
		overflow-wrap: normal;
		text-align: left;
	}

	.p-portfolio-archive__hero-title-line {
		display: block;
		white-space: nowrap;
	}

	.p-portfolio-archive__hero p:not(.p-portfolio-archive__eyebrow) {
		font-size: clamp(0.9rem, 3.35vw, 0.97rem);
		line-height: 1.55;
	}

	.p-portfolio-archive__hero-cta {
		width: 100%;
		min-height: 2.75rem;
		justify-content: space-between;
		margin-top: 0.5rem;
		padding: 0.68rem 0.78rem 0.68rem 1rem;
	}

	.p-portfolio-archive__hero-mark {
		width: clamp(18.75rem, 86vw, 22.5rem);
		margin-inline: auto;
		margin-top: clamp(0.25rem, 1.6vw, 0.55rem);
	}

	.p-portfolio-archive__orbit-core {
		width: clamp(3rem, 13.5vw, 3.7rem);
		box-shadow: 0 0 1.25rem rgb(253 209 0 / 16%);
	}

	.p-portfolio-archive__orbit-chip {
		min-height: 2rem;
		padding: 0.36rem 0.52rem;
		font-size: clamp(0.64rem, 2.05vw, 0.72rem);
	}

	.p-portfolio-archive__orbit-step--concept {
		--portfolio-orbit-radius: clamp(6.1rem, 27vw, 7.65rem);
	}

	.p-portfolio-archive__orbit-step--formula {
		--portfolio-orbit-radius: clamp(5.9rem, 25.6vw, 7.35rem);
	}

	.p-portfolio-archive__orbit-step--legal {
		--portfolio-orbit-radius: clamp(5.45rem, 23.5vw, 6.75rem);
	}

	.p-portfolio-archive__orbit-step--production {
		--portfolio-orbit-radius: clamp(5.85rem, 25vw, 7.25rem);
	}

	.p-portfolio-archive__orbit-step--market {
		--portfolio-orbit-radius: clamp(6rem, 26.5vw, 7.55rem);
	}

	.p-portfolio-archive__trust {
		margin-top: 0.42rem;
		padding-bottom: 0.72rem;
	}

	.p-portfolio-archive__trust-strip {
		gap: 0.52rem;
		padding: 0.48rem;
	}

	.p-portfolio-archive__trust-item {
		min-height: 3.58rem;
		gap: 0.62rem;
		padding: 0.62rem;
	}

	.p-portfolio-archive__trust-icon {
		width: 2.12rem;
		height: 2.12rem;
	}

	.p-portfolio-archive__trust-icon svg {
		width: 1rem;
		height: 1rem;
	}

	.p-portfolio-archive__trust-item strong {
		font-size: 0.86rem;
		line-height: 1.24;
	}

	.p-portfolio-archive__trust-item span:not(.p-portfolio-archive__trust-icon) {
		margin-top: 0.12rem;
		font-size: 0.68rem;
	}

  .p-portfolio-archive__filters a {
    width: 100%;
    justify-content: flex-start;
    min-height: 2.75rem;
    padding: 0.64rem 0.88rem;
  }

	.p-portfolio-archive__filters li {
		flex: 1 1 100%;
	}

	.p-portfolio-archive__filters ul {
		gap: 0.46rem;
	}

	.p-portfolio-archive__grid {
		gap: 0.5rem;
		grid-template-columns: 1fr;
	}

	.p-portfolio-archive-card {
		height: auto;
	}

	.p-portfolio-archive-card__media {
		aspect-ratio: 4 / 5;
	}

	.p-portfolio-archive-card__media img {
		object-fit: cover;
		padding: 0;
	}

	.p-portfolio-archive-card__body {
		padding: 1.25rem;
	}

	.p-portfolio-archive-card__meta-row {
		gap: 0.5rem;
		margin-bottom: 0.85rem;
	}

	.p-portfolio-archive-card__title {
		margin-bottom: 0;
	}

	.p-portfolio-archive-card__cta {
		padding-top: 1.15rem;
	}

	.p-portfolio-archive-card__link {
		gap: 0.6rem;
		font-size: 0.9rem;
	}

	.p-portfolio-archive__empty-actions,
	.p-portfolio-archive__button,
	.p-portfolio-archive__cta-button {
		width: 100%;
	}

	.p-portfolio-archive__cta {
		padding-top: 1.15rem;
		padding-bottom: 2.25rem;
	}

	.p-portfolio-archive__cta-card {
		gap: 1rem;
		padding: clamp(1.35rem, 5.8vw, 1.75rem);
	}

	.p-portfolio-archive__cta-copy h2 {
		margin-bottom: 0.55rem;
		font-size: clamp(1.6rem, 7.4vw, 2.05rem);
		line-height: 1.08;
	}

	.p-portfolio-archive__cta-copy p:not(.p-portfolio-archive__eyebrow) {
		font-size: 0.94rem;
		line-height: 1.58;
	}

	.p-portfolio-archive__cta-actions {
		gap: 0.58rem;
		justify-items: stretch;
	}

	.p-portfolio-archive__cta-button {
		min-height: 3rem;
		justify-content: space-between;
		padding: 0.58rem 0.62rem 0.58rem 1rem;
		font-size: 0.94rem;
	}

	.p-portfolio-archive__cta-button span[aria-hidden="true"] {
		width: 2rem;
		height: 2rem;
	}

	.p-portfolio-archive__cta-actions p {
		font-size: 0.8rem;
		line-height: 1.42;
	}
}

@media (min-width: 22.5rem) and (max-width: 47.9375rem) {
	.p-portfolio-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.p-portfolio-archive-card {
		min-width: 0;
		border-radius: 18px;
		box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 7%);
	}

	.p-portfolio-archive-card__media {
		aspect-ratio: 4 / 5;
		background:
			radial-gradient(circle at 50% 28%, rgb(255 255 255 / 86%), transparent 8rem),
			linear-gradient(145deg, #eff9ff 0%, #fffaf0 100%);
	}

	.p-portfolio-archive-card__media img {
		object-fit: cover;
		object-position: center center;
		padding: 0;
	}

	.p-portfolio-archive-card__body {
		padding: 0.78rem;
	}

	.p-portfolio-archive-card__meta-row {
		gap: 0.35rem;
		margin-bottom: 0.45rem;
	}

	.p-portfolio-archive-card__type {
		overflow: hidden;
		font-size: clamp(0.62rem, 2.15vw, 0.7rem);
		letter-spacing: 0.07em;
		line-height: 1.2;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.p-portfolio-archive-card__service {
		gap: 0.35rem;
		margin-bottom: 0.55rem;
	}

	.p-portfolio-archive-card__service-label {
		font-size: clamp(0.56rem, 1.9vw, 0.62rem);
		letter-spacing: 0.05em;
	}

	.p-portfolio-archive-card__service-list {
		gap: 0.3rem;
	}

	.p-portfolio-archive-card__service-pill {
		max-width: 100%;
		padding: 0.28rem 0.48rem;
		font-size: clamp(0.62rem, 2vw, 0.69rem);
		line-height: 1.1;
	}

	.p-portfolio-archive-card__title {
		display: -webkit-box;
		overflow: hidden;
		min-height: calc(2em * 1.18);
		font-size: clamp(0.88rem, 3.35vw, 1rem);
		line-height: 1.18;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.p-portfolio-archive-card__cta {
		padding-top: 0.72rem;
	}

	.p-portfolio-archive-card__link {
		width: 100%;
		min-height: 2.75rem;
		justify-content: space-between;
		gap: 0.42rem;
		font-size: clamp(0.72rem, 2.35vw, 0.8rem);
		line-height: 1.1;
	}

	.p-portfolio-archive-card__link-icon {
		width: 1.65rem;
		height: 1.65rem;
	}

}

@media (max-width: 22.499rem) {
	.p-portfolio-archive__hero-mark {
		width: min(100%, 12.75rem);
	}

	.p-portfolio-archive__orbit-chip {
		min-height: 1.8rem;
		padding: 0.3rem 0.46rem;
		font-size: 0.6rem;
	}

	.p-portfolio-archive__orbit-step--concept {
		--portfolio-orbit-radius: 4rem;
	}

	.p-portfolio-archive__orbit-step--formula {
		--portfolio-orbit-radius: 3.9rem;
	}

	.p-portfolio-archive__orbit-step--legal {
		--portfolio-orbit-radius: 3.72rem;
	}

	.p-portfolio-archive__orbit-step--production {
		--portfolio-orbit-radius: 3.86rem;
	}

	.p-portfolio-archive__orbit-step--market {
		--portfolio-orbit-radius: 4rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-portfolio-archive *,
	.p-portfolio-archive *::before,
	.p-portfolio-archive *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}

	.p-portfolio-archive__orbit-rings,
	.p-portfolio-archive__orbit-core,
	.p-portfolio-archive__orbit-node,
	.p-portfolio-archive__orbit-step,
	.p-portfolio-archive__orbit-chip {
		animation: none !important;
	}

	.p-portfolio-archive-card:hover,
	.p-portfolio-archive-card:focus-within,
	.p-portfolio-archive-card:hover .p-portfolio-archive-card__media img,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__media img,
	.p-portfolio-archive-card:hover .p-portfolio-archive-card__link-icon,
	.p-portfolio-archive-card:focus-within .p-portfolio-archive-card__link-icon,
	.p-portfolio-archive__hero-stage.is-portfolio-hero-motion-ready [data-portfolio-hero-reveal],
	.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-reveal],
	.p-portfolio-archive__content.is-portfolio-motion-ready [data-portfolio-card],
	.p-portfolio-archive__cta-button:hover,
	.p-portfolio-archive__cta-button:focus-visible,
	.p-portfolio-archive__cta-button:hover span[aria-hidden="true"],
	.p-portfolio-archive__cta-button:focus-visible span[aria-hidden="true"] {
		transform: none;
	}
}

.s-detail-hero__grid,
.c-split {
	display: grid;
	gap: var(--space-8);
	align-items: center;
}

.s-detail-hero__media {
	margin: 0;
	border-radius: var(--radius-4);
	overflow: hidden;
}

.s-detail-hero__media img {
	width: 100%;
}

.p-portfolio-detail {
	--portfolio-detail-blue: #006fa8;
	--portfolio-detail-gold: #fdd100;
	--portfolio-detail-ink: #04324c;
	--portfolio-detail-line: #dce7ec;
	--portfolio-detail-muted: #566b76;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-portfolio-detail :where(h1, h2, h3, h4, p, a, span, strong, li, button) {
	font-family: inherit;
}

.p-portfolio-detail .s-detail-hero__grid {
	position: relative;
	z-index: 1;
	gap: clamp(1.45rem, 3.8vw, 3.3rem);
}

.p-portfolio-detail .s-detail-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding-block: clamp(2.75rem, 5.8vw, 4.85rem);
	background:
		radial-gradient(circle at 78% 52%, rgb(0 111 168 / 15%), transparent 31%),
		radial-gradient(circle at 34% 30%, rgb(253 209 0 / 8%), transparent 24%),
		radial-gradient(circle at 92% 88%, rgb(0 111 168 / 9%), transparent 24%),
		linear-gradient(135deg, #fff 0%, #f8fcfe 50%, #eaf7fd 100%);
}

.p-portfolio-detail .s-detail-hero::before {
	position: absolute;
	right: clamp(0.75rem, 6vw, 6.5rem);
	bottom: clamp(0.5rem, 4vw, 3rem);
	width: clamp(18rem, 32vw, 31rem);
	height: clamp(18rem, 32vw, 31rem);
	border: 1px solid rgb(214 154 22 / 22%);
	border-radius: 50%;
	background: radial-gradient(circle, rgb(221 243 252 / 58%), transparent 63%);
	content: "";
	pointer-events: none;
}

.p-portfolio-detail .s-detail-hero::after {
	position: absolute;
	right: min(8vw, 6rem);
	bottom: 0;
	left: min(5vw, 4rem);
	z-index: 0;
	height: 28%;
	background:
		linear-gradient(90deg, transparent, rgb(253 209 0 / 12%), transparent 46%),
		radial-gradient(ellipse at 72% 100%, rgb(0 111 168 / 14%), transparent 58%);
	content: "";
	filter: blur(0.2px);
	pointer-events: none;
}

.p-portfolio-detail .s-detail-hero__media {
	position: relative;
	isolation: isolate;
	aspect-ratio: 4 / 5;
	border: 1px solid rgb(214 154 22 / 22%);
	border-radius: 32px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(145deg, rgb(253 209 0 / 30%), rgb(191 228 244 / 65%)) border-box;
	box-shadow:
		0 2.3rem 6.2rem rgb(4 50 76 / 14%),
		0 0.65rem 1.8rem rgb(0 111 168 / 7%),
		inset 0 1px 0 rgb(255 255 255 / 82%);
}

.p-portfolio-detail .s-detail-hero__media::before {
	position: absolute;
	inset: auto 16% 0;
	z-index: 2;
	height: 1px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, rgb(214 154 22 / 58%), transparent);
	content: "";
	pointer-events: none;
}

.p-portfolio-detail .s-detail-hero__media::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 16%) 0%, transparent 30%),
		linear-gradient(180deg, transparent 68%, rgb(4 50 76 / 8%) 100%);
	content: "";
	pointer-events: none;
}

.p-portfolio-detail .s-detail-hero__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.p-portfolio-detail__hero-copy {
	--flow-space: 0;
}

.p-portfolio-detail__hero-trust {
	position: absolute;
	right: clamp(0.9rem, 2.4vw, 1.18rem);
	bottom: clamp(0.9rem, 2.4vw, 1.18rem);
	z-index: 3;
	display: grid;
	max-width: min(66%, 14.4rem);
	gap: 0.16rem;
	border: 1px solid rgb(214 154 22 / 34%);
	border-radius: 0.9rem;
	padding: 0.58rem 0.76rem;
	background: rgb(255 255 255 / 84%);
	box-shadow: 0 0.85rem 2rem rgb(4 50 76 / 13%);
	backdrop-filter: blur(12px);
	color: var(--portfolio-detail-ink);
}

.p-portfolio-detail__hero-trust span {
	color: #7c6b1c;
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.11em;
	line-height: 1;
	text-transform: uppercase;
}

.p-portfolio-detail__hero-trust strong {
	font-size: clamp(0.76rem, 1vw, 0.86rem);
	line-height: 1.22;
}

.p-portfolio-detail__hero-description {
	max-width: 39rem;
	color: #55504f;
	font-size: clamp(1rem, 1.4vw, 1.125rem);
	line-height: 1.66;
}

.p-portfolio-detail__hero-meta {
	display: flex;
	margin-top: 0.18rem;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.p-portfolio-detail__hero-meta span {
	display: inline-flex;
	min-height: 2.18rem;
	align-items: center;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	padding: 0.44rem 0.76rem;
	background: rgb(255 255 255 / 82%);
	box-shadow: 0 0.65rem 1.65rem rgb(4 50 76 / 5%);
	color: #04324c;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.p-portfolio-detail__category-badge {
	display: inline-flex;
	width: fit-content;
	max-width: min(100%, 34rem);
	box-sizing: border-box;
	align-items: center;
	margin-bottom: clamp(1.125rem, 2.2vw, 1.375rem);
	border: 1px solid #bfe4f4;
	border-radius: 999px;
	padding: 0.42rem 0.86rem;
	background: rgb(221 243 252 / 72%);
	color: #04324c;
	font-size: clamp(0.66rem, 1.4vw, 0.72rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.15;
	overflow-wrap: break-word;
	text-transform: uppercase;
}

.p-portfolio-detail__section-heading {
	max-width: 48rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.p-portfolio-detail__section-heading h2 {
	margin-bottom: 0.75rem;
}

.p-portfolio-detail__section-heading p {
	margin: 0;
	color: #566b76;
	font-size: clamp(1rem, 1.35vw, 1.125rem);
	line-height: 1.75;
}

.p-portfolio-detail__info-section .p-portfolio-detail__section-heading {
	max-width: 39rem;
	margin-bottom: clamp(1.05rem, 2.3vw, 1.55rem);
}

.p-portfolio-detail__info-section .p-portfolio-detail__section-heading h2 {
	margin-bottom: 0.46rem;
	font-size: clamp(1.48rem, 2.2vw, 1.9rem);
	line-height: 1.12;
}

.p-portfolio-detail__info-section .p-portfolio-detail__section-heading p {
	max-width: 36rem;
	font-size: clamp(0.92rem, 1.12vw, 1.02rem);
	line-height: 1.55;
}

.p-portfolio-detail__section-eyebrow {
	margin: 0 0 0.75rem;
	color: #006fa8;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.p-portfolio-detail__overview {
	padding-block: clamp(3rem, 6vw, 4.75rem);
}

.p-portfolio-detail__overview-card {
	position: relative;
	overflow: hidden;
	max-width: 60rem;
	margin-inline: auto;
	padding: clamp(1.75rem, 5vw, 3.25rem);
	border: 1px solid #dce7ec;
	border-radius: 24px;
	background:
		radial-gradient(circle at 94% 12%, rgb(253 209 0 / 10%), transparent 10rem),
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, rgb(0 111 168 / 18%), rgb(253 209 0 / 24%)) border-box;
	box-shadow: 0 1.75rem 5rem rgb(4 50 76 / 9%);
}

.p-portfolio-detail__overview-card::before {
	position: absolute;
	top: 0;
	left: clamp(1.75rem, 5vw, 3.25rem);
	width: min(9rem, 38%);
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--portfolio-detail-gold), transparent);
	content: "";
}

.p-portfolio-detail__overview-card h2 {
	margin-bottom: 1rem;
	color: var(--portfolio-detail-ink);
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	line-height: 1.12;
}

.p-portfolio-detail__overview-card > p:not(.p-portfolio-detail__section-eyebrow) {
	max-width: 52rem;
	margin-block: 0 0.82rem;
	color: #3d4d55;
	font-size: clamp(0.96rem, 1.08vw, 1.04rem);
	line-height: 1.62;
}

.p-portfolio-detail__overview-card > p:not(.p-portfolio-detail__section-eyebrow) + p:not(.p-portfolio-detail__section-eyebrow) {
	margin-top: 0.48rem;
}

.p-portfolio-detail__overview-card > p:has(+ ul) {
	margin-top: clamp(0.95rem, 2vw, 1.35rem);
	margin-bottom: 0.62rem;
	color: var(--portfolio-detail-ink);
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.25;
}

.p-portfolio-detail__overview-card h3 {
	margin-top: clamp(1.12rem, 2.15vw, 1.55rem);
	margin-bottom: 0.72rem;
	color: var(--portfolio-detail-ink);
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0.02em;
}

.p-portfolio-detail__overview-card ul {
	display: grid;
	gap: 0.72rem;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.p-portfolio-detail__overview-card li {
	position: relative;
	border: 1px solid rgb(0 111 168 / 10%);
	border-radius: 0.9rem;
	padding: 0.68rem 0.82rem 0.68rem 2.18rem;
	background: rgb(246 251 254 / 72%);
	color: var(--portfolio-detail-ink);
	font-size: 0.94rem;
	line-height: 1.48;
}

.p-portfolio-detail__overview-card li::before {
	position: absolute;
	top: 0.98rem;
	left: 0.88rem;
	width: 0.62rem;
	height: 0.62rem;
	border: 2px solid #fdd100;
	border-radius: 999px;
	background: #fff7cc;
	content: "";
}

.p-portfolio-detail__helped,
.p-portfolio-detail__journey {
	padding-block: clamp(2.75rem, 5vw, 4.25rem);
}

.p-portfolio-detail__helped {
	padding-top: 0;
}

.p-portfolio-detail__helped-grid {
	display: grid;
	gap: clamp(0.85rem, 1.6vw, 1.1rem);
}

.p-portfolio-detail__helped-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 0.72rem;
	min-height: 0;
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: 1rem;
	padding: clamp(0.86rem, 1.55vw, 1.05rem);
	background:
		linear-gradient(145deg, rgb(255 255 255 / 99%), rgb(250 253 255 / 94%)),
		radial-gradient(circle at 100% 0, rgb(253 209 0 / 8%), transparent 6rem);
	box-shadow: 0 1rem 2.5rem rgb(4 50 76 / 6%);
}

.p-portfolio-detail__helped-mark {
	position: relative;
	display: grid;
	width: 1.22rem;
	height: 1.22rem;
	border: 1px solid rgb(253 209 0 / 58%);
	border-radius: 999px;
	place-items: center;
	background: rgb(253 209 0 / 16%);
}

.p-portfolio-detail__helped-mark::before {
	width: 0.36rem;
	height: 0.62rem;
	border-right: 2px solid #8a6400;
	border-bottom: 2px solid #8a6400;
	content: "";
	transform: translateY(-0.08rem) rotate(42deg);
}

.p-portfolio-detail__helped-card h3 {
	margin: 0;
	color: var(--portfolio-detail-ink);
	font-size: 0.94rem;
	line-height: 1.22;
}

.p-portfolio-detail__helped-card p {
	margin: 0.28rem 0 0;
	color: var(--portfolio-detail-muted);
	font-size: 0.86rem;
	line-height: 1.45;
}

.p-portfolio-detail__journey {
	padding-top: 0;
}

.p-portfolio-detail__journey-card {
	display: grid;
	gap: clamp(1.15rem, 2.6vw, 1.8rem);
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: 1.5rem;
	padding: clamp(1.22rem, 3vw, 2rem);
	background:
		radial-gradient(circle at 88% 8%, rgb(253 209 0 / 10%), transparent 9rem),
		linear-gradient(145deg, #fff, #f8fcfe);
	box-shadow: 0 1.5rem 4rem rgb(4 50 76 / 8%);
}

.p-portfolio-detail__journey-heading h2 {
	margin-bottom: 0;
	color: var(--portfolio-detail-ink);
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	line-height: 1.15;
}

.p-portfolio-detail__journey-list {
	position: relative;
	display: grid;
	gap: 0.82rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-portfolio-detail__journey-list::before {
	position: absolute;
	top: 1rem;
	bottom: 1rem;
	left: 1rem;
	width: 1px;
	background: linear-gradient(180deg, rgb(214 154 22 / 42%), rgb(0 111 168 / 16%));
	content: "";
}

.p-portfolio-detail__journey-list li {
	position: relative;
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	column-gap: 0.82rem;
	align-items: start;
	min-width: 0;
}

.p-portfolio-detail__journey-dot {
	z-index: 1;
	display: grid;
	width: 1.82rem;
	height: 1.82rem;
	border: 1px solid rgb(214 154 22 / 42%);
	border-radius: 999px;
	place-items: center;
	background: #fffaf0;
	box-shadow: 0 0 0 0.28rem #fff;
	color: #8a6400;
	font-size: 0.7rem;
	font-weight: 900;
	line-height: 1;
}

.p-portfolio-detail__journey-list strong {
	color: var(--portfolio-detail-ink);
	font-size: 0.92rem;
	line-height: 1.2;
}

.p-portfolio-detail__journey-list li > span:not(.p-portfolio-detail__journey-dot) {
	grid-column: 2;
	margin-top: 0.22rem;
	color: var(--portfolio-detail-muted);
	font-size: 0.84rem;
	line-height: 1.4;
}

.p-portfolio-detail__info-grid {
	display: grid;
	gap: 0.72rem;
	margin-top: clamp(1.05rem, 2.4vw, 1.55rem);
}

.p-portfolio-detail__info-card {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	column-gap: 0.72rem;
	row-gap: 0.08rem;
	min-height: 4.45rem;
	padding: 0.66rem 0.82rem;
	border: 1px solid rgb(0 111 168 / 11%);
	border-radius: 16px;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 98%), rgb(250 253 255 / 94%)),
		radial-gradient(circle at 100% 0, rgb(253 209 0 / 7%), transparent 5.5rem);
	box-shadow: 0 0.85rem 2.1rem rgb(4 50 76 / 5%);
	transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}

.p-portfolio-detail__info-card::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(180deg, rgb(253 209 0 / 58%), rgb(0 111 168 / 10%));
	content: "";
}

.p-portfolio-detail__info-card:hover,
.p-portfolio-detail__info-card:focus-within {
	border-color: rgb(214 154 22 / 34%);
	box-shadow: 0 1.15rem 2.75rem rgb(4 50 76 / 8%);
	transform: translateY(-2px);
}

.p-portfolio-detail__info-icon {
	display: inline-grid;
	width: 3.25rem;
	height: 3.25rem;
	grid-row: span 2;
	border: 1px solid rgb(0 111 168 / 13%);
	border-radius: 999px;
	place-items: center;
	background: linear-gradient(145deg, rgb(221 243 252 / 78%), rgb(255 255 255 / 92%));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 82%);
	color: #006796;
}

.p-portfolio-detail__info-icon svg {
	width: 1.32rem;
	height: 1.32rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.p-portfolio-detail__info-card p {
	margin: 0;
	color: #607783;
	font-size: 0.61rem;
	font-weight: 800;
	letter-spacing: 0.085em;
	line-height: 1.1;
	text-transform: uppercase;
}

.p-portfolio-detail__info-card strong {
	color: #04324c;
	font-size: clamp(0.92rem, 1.1vw, 1.02rem);
	line-height: 1.16;
}

.p-portfolio-detail__gallery .p-portfolio-detail__section-heading {
	max-width: 54rem;
	margin: 0 auto clamp(1.6rem, 3vw, 2.5rem);
	text-align: center;
}

.p-portfolio-detail__gallery .p-portfolio-detail__section-heading h2 {
	margin-block: 0.45rem 0.8rem;
	color: #063b5b;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 700;
	line-height: 1.05;
}

.p-portfolio-detail__gallery .p-portfolio-detail__section-heading p {
	max-width: 44rem;
	margin-inline: auto;
	color: #5b6b75;
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	font-weight: 400;
	line-height: 1.75;
}

.p-portfolio-detail__gallery .c-gallery {
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 2vw, 1.75rem);
	padding-top: 0;
}

.p-portfolio-detail__gallery .c-gallery::before,
.p-portfolio-detail__gallery .c-gallery figure::before {
	display: none;
}

.p-portfolio-detail__gallery-item {
	margin: 0;
}

.p-portfolio-detail__gallery-trigger {
	display: block;
	width: 100%;
	color: inherit;
	text-align: left;
	text-decoration: none;
}

.p-portfolio-detail__gallery-media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border: 1px solid rgb(0 132 184 / 13%);
	border-radius: 20px;
	background:
		radial-gradient(circle at 82% 8%, rgb(253 209 0 / 13%), transparent 7.5rem),
		linear-gradient(145deg, #ffffff 0%, #f3fafc 100%);
	box-shadow: 0 0.75rem 1.8rem rgb(0 61 89 / 8%);
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		transform 220ms ease;
}

.p-portfolio-detail__gallery-number {
	position: absolute;
	z-index: 2;
	top: 0.85rem;
	left: 0.85rem;
	display: inline-flex;
	min-width: 2.2rem;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.55rem;
	border: 1px solid rgb(253 209 0 / 48%);
	border-radius: 999px;
	background: rgb(255 255 255 / 86%);
	box-shadow: 0 0.45rem 1rem rgb(0 61 89 / 8%);
	color: #075f88;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
}

.p-portfolio-detail__gallery .c-gallery img,
.p-portfolio-detail__gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: none;
}

.p-portfolio-detail__gallery-view-label {
	display: inline-flex;
	width: fit-content;
	margin-top: 0.7rem;
	align-items: center;
	gap: 0.4rem;
	color: #0876a8;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.3;
	opacity: 0.82;
	transition:
		color 220ms ease,
		opacity 220ms ease,
		transform 220ms ease;
}

.p-portfolio-detail__gallery-view-label::after {
	width: 0.42rem;
	height: 0.42rem;
	border-top: 2px solid currentcolor;
	border-right: 2px solid currentcolor;
	content: "";
	transform: rotate(45deg);
}

.p-portfolio-detail__gallery-trigger:hover .p-portfolio-detail__gallery-media,
.p-portfolio-detail__gallery-trigger:focus-visible .p-portfolio-detail__gallery-media {
	border-color: rgb(253 209 0 / 68%);
	box-shadow: 0 1.2rem 2.35rem rgb(0 61 89 / 11%);
	transform: translateY(-3px);
}

.p-portfolio-detail__gallery-trigger:hover .p-portfolio-detail__gallery-view-label,
.p-portfolio-detail__gallery-trigger:focus-visible .p-portfolio-detail__gallery-view-label {
	color: #005d87;
	opacity: 1;
	transform: translateX(0.15rem);
}

.p-portfolio-detail__gallery-trigger:focus-visible {
	border-radius: 0.75rem;
	outline: 3px solid rgb(253 209 0 / 78%);
	outline-offset: 0.35rem;
}

.p-portfolio-detail__results-card {
	display: grid;
	gap: clamp(0.95rem, 2.5vw, 1.65rem);
	padding: clamp(1.15rem, 3vw, 2.2rem);
	border: 1px solid rgb(0 111 168 / 11%);
	border-radius: 24px;
	background:
		radial-gradient(circle at 96% 0, rgb(253 209 0 / 8%), transparent 13rem),
		linear-gradient(145deg, #fff, #f8fcfe 100%);
	box-shadow: 0 1.35rem 3.6rem rgb(4 50 76 / 8%);
}

.p-portfolio-detail__results-heading h2 {
	margin-bottom: 0.62rem;
	line-height: 1.08;
}

.p-portfolio-detail__results-heading p:not(.p-portfolio-detail__section-eyebrow) {
	max-width: 34rem;
	margin: 0;
	color: #566b76;
	font-size: clamp(0.94rem, 1.08vw, 1.02rem);
	line-height: 1.5;
}

.p-portfolio-detail__results-content {
	display: grid;
	gap: clamp(0.52rem, 1.25vw, 0.72rem);
}

.p-portfolio-detail__results-content.c-prose {
	width: 100%;
	max-width: none;
}

.p-portfolio-detail__results-content > ul:not(.p-portfolio-detail__outcome-list) {
	display: grid;
	gap: 0.75rem;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.p-portfolio-detail__results-content > ul:not(.p-portfolio-detail__outcome-list) li {
	position: relative;
	border: 1px solid rgb(0 111 168 / 10%);
	border-radius: 1rem;
	padding: 0.95rem 1rem 0.95rem 2.85rem;
	background: #f8fcfe;
	box-shadow: 0 0.75rem 2rem rgb(4 50 76 / 5%);
	color: var(--portfolio-detail-ink);
}

.p-portfolio-detail__results-content > ul:not(.p-portfolio-detail__outcome-list) li::before {
	position: absolute;
	top: 1.1rem;
	left: 1rem;
	display: grid;
	width: 1rem;
	height: 1rem;
	border-radius: 999px;
	background: #fdd100;
	box-shadow: 0 0 0 0.3rem rgb(253 209 0 / 18%);
	content: "";
}

.p-portfolio-detail__results-intro {
	position: relative;
	overflow: hidden;
	margin: 0;
	border: 1px solid rgb(0 111 168 / 10%);
	border-radius: 0.9rem;
	padding: 0.58rem 0.76rem 0.62rem 0.86rem;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(244 251 254 / 90%)),
		radial-gradient(circle at 100% 0, rgb(253 209 0 / 10%), transparent 7rem);
	box-shadow: 0 0.8rem 2rem rgb(4 50 76 / 5%);
	color: var(--portfolio-detail-ink);
	font-size: clamp(0.86rem, 0.94vw, 0.92rem);
	font-weight: 700;
	line-height: 1.4;
}

.p-portfolio-detail__results-intro::before {
	position: absolute;
	top: 0;
	left: 0.86rem;
	width: min(5.6rem, 28%);
	height: 1px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgb(214 154 22 / 54%), transparent);
	content: "";
}

.p-portfolio-detail__outcome-list {
	display: grid;
	gap: 0.42rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-portfolio-detail__outcome-item {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 0.56rem;
	min-height: 0;
	border: 1px solid rgb(0 111 168 / 10%);
	border-radius: 0.78rem;
	padding: 0.52rem 0.64rem;
	background: linear-gradient(145deg, rgb(255 255 255 / 88%), rgb(248 252 254 / 78%));
	box-shadow: 0 0.48rem 1.35rem rgb(4 50 76 / 4%);
	color: var(--portfolio-detail-ink);
}

.p-portfolio-detail__outcome-item::before {
	display: none;
}

.p-portfolio-detail__outcome-check {
	position: relative;
	display: inline-flex;
	min-width: 1.68rem;
	height: 1.42rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(253 209 0 / 48%);
	border-radius: 999px;
	background: rgb(255 255 255 / 86%);
	box-shadow: 0 0.3rem 0.8rem rgb(4 50 76 / 5%);
	color: #075f88;
	font-size: 0.62rem;
	font-weight: 800;
	line-height: 1;
}

.p-portfolio-detail__outcome-check::before {
	display: none;
}

.p-portfolio-detail__outcome-item strong {
	display: block;
	margin: 0 0 0.1rem;
	color: #04324c;
	font-size: 0.88rem;
	line-height: 1.16;
}

.p-portfolio-detail__outcome-item span:not(.p-portfolio-detail__outcome-check) {
	display: block;
	color: #04324c;
	font-size: 0.84rem;
	font-weight: 650;
	line-height: 1.32;
}

.p-portfolio-detail__related-grid {
	display: grid;
	align-items: stretch;
	gap: clamp(1rem, 2vw, 1.35rem);
}

.p-portfolio-detail__related .p-portfolio-archive-card {
	height: 100%;
}

.p-portfolio-detail__related .p-portfolio-archive-card__media {
	aspect-ratio: 4 / 5;
}

.p-portfolio-detail__related .p-portfolio-archive-card__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-portfolio-detail__cta {
	padding-top: 0;
}

.p-portfolio-detail__cta-card {
	position: relative;
	display: grid;
	overflow: hidden;
	gap: clamp(1.5rem, 4vw, 2.5rem);
	padding: clamp(2.25rem, 5.5vw, 4.25rem);
	border: 1px solid rgb(253 209 0 / 16%);
	border-radius: 28px;
	background:
		radial-gradient(circle at 89% 12%, rgb(253 209 0 / 12%), transparent 25%),
		radial-gradient(circle at 12% 120%, rgb(0 111 168 / 24%), transparent 34%),
		linear-gradient(135deg, #04324c, #06496d 58%, #006fa8);
	box-shadow: 0 1.5rem 4rem rgb(4 50 76 / 14%);
	color: #d5e6ee;
}

.p-portfolio-detail__cta-card::before {
	position: absolute;
	top: 0;
	left: clamp(2rem, 5vw, 4rem);
	width: 8rem;
	height: 0.25rem;
	border-radius: 999px;
	background: #fdd100;
	content: "";
}

.p-portfolio-detail__cta-card::after {
	display: none;
	content: "";
}

.p-portfolio-detail__cta-card h2 {
	max-width: 20ch;
	margin-bottom: var(--space-4);
	color: #fff;
	font-size: clamp(1.85rem, 4.25vw, 3.25rem);
	line-height: 1.05;
}

.p-portfolio-detail__cta-card p {
	max-width: 44rem;
	color: #d5e6ee;
	line-height: 1.75;
}

.p-portfolio-detail__cta-eyebrow {
	margin-bottom: var(--space-3);
	color: #fdd100;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.p-portfolio-detail__cta-actions {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: 0.875rem;
}

.p-portfolio-detail__cta .c-button {
	min-height: 4rem;
	border-radius: 999px;
	padding-inline: 1.65rem;
	font-weight: 800;
}

.p-portfolio-detail__cta .c-button--primary {
	border-color: #fdd100;
	background: #fdd100;
	color: #102f43;
}

.p-portfolio-detail__cta .c-button--secondary {
	border-color: rgb(255 255 255 / 42%);
	background: rgb(255 255 255 / 8%);
	color: #fff;
}

.p-portfolio-detail__cta .c-button--secondary:hover,
.p-portfolio-detail__cta .c-button--secondary:focus-visible {
	border-color: #fff;
	background: rgb(255 255 255 / 14%);
	color: #fff;
}

.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button {
	position: relative;
	display: inline-flex;
	width: min(100%, 25rem);
	min-width: 0;
	min-height: 4.15rem;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	border: 1px solid #f0c34b;
	border-radius: 999px;
	padding: 0.75rem 0.9rem;
	background: linear-gradient(135deg, #f3c94f 0%, #d99f12 72%, #c98b05 100%);
	box-shadow: 0 1.25rem 2.75rem rgb(0 0 0 / 22%), inset 0 1px 0 rgb(255 255 255 / 48%);
	color: #332c2b;
	text-decoration: none;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, filter 220ms ease;
}

.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button::before {
	position: absolute;
	top: 0;
	left: -35%;
	width: 35%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 32%), transparent);
	content: "";
	transform: skewX(-18deg);
	transition: left 420ms ease;
}

.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button:hover,
.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button:focus-visible {
	border-color: #ffe47a;
	background: linear-gradient(135deg, #f7d56f 0%, #e2aa1c 72%, #cf9209 100%);
	box-shadow: 0 1.5rem 3.25rem rgb(0 0 0 / 28%), inset 0 1px 0 rgb(255 255 255 / 55%);
	color: #332c2b;
	filter: saturate(1.05);
	transform: translateY(-0.2rem);
}

.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button:hover::before,
.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button:focus-visible::before {
	left: 110%;
}

.p-portfolio-detail__premium-wa-icon,
.p-portfolio-detail__premium-wa-arrow,
.p-portfolio-detail__premium-wa-label {
	position: relative;
	z-index: 1;
}

.p-portfolio-detail__premium-wa-icon,
.p-portfolio-detail__premium-wa-arrow {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid rgb(33 22 0 / 22%);
	border-radius: 50%;
	flex: 0 0 2.25rem;
	place-items: center;
	background: rgb(255 255 255 / 24%);
}

.p-portfolio-detail__premium-wa-icon svg {
	width: 1.25rem;
	height: 1.25rem;
}

.p-portfolio-detail__premium-wa-icon svg path:first-child {
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.p-portfolio-detail__premium-wa-icon svg path:last-child {
	fill: currentcolor;
}

.p-portfolio-detail__premium-wa-label {
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.p-portfolio-detail__premium-wa-arrow {
	font-size: 1.15rem;
	font-weight: 900;
}

.p-portfolio-detail__cta-note {
	width: min(100%, 25rem);
	margin: 0.2rem 0 0;
	color: #bcd6e3;
	font-size: 0.88rem;
	font-weight: 700;
	text-align: center;
}

@media (min-width: 48rem) {
	.p-portfolio-detail__helped-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-portfolio-detail__related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-portfolio-detail__info-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-portfolio-detail .c-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.p-portfolio-detail .s-detail-hero__grid {
		grid-template-columns: minmax(0, 0.86fr) minmax(29rem, 1.12fr);
		align-items: center;
		gap: clamp(1.55rem, 2.9vw, 2.45rem);
	}

	.p-portfolio-detail__hero-copy {
		display: grid;
		max-width: 40rem;
		gap: 0;
		transform: translateY(-1.65rem);
	}

	.p-portfolio-detail__hero-copy > * {
		margin-block: 0;
	}

	.p-portfolio-detail__category-badge {
		margin-bottom: 1.18rem;
		padding: 0.4rem 0.68rem;
		font-size: 0.68rem;
		letter-spacing: 0.075em;
	}

	.p-portfolio-detail__hero-copy h1 {
		max-width: 11.4ch;
		margin-bottom: 0.88rem;
		letter-spacing: 0;
		line-height: 1.025;
		text-wrap: normal;
	}

	.p-portfolio-detail__hero-description {
		max-width: 34.8rem;
		margin-bottom: 0.98rem;
		line-height: 1.6;
	}

	.p-portfolio-detail__hero-meta {
		display: grid;
		width: min(100%, 28.4rem);
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.95fr) minmax(0, 0.64fr);
		gap: 0.55rem;
		margin-top: 0;
		align-items: stretch;
	}

	.p-portfolio-detail__hero-meta span {
		min-width: 0;
		min-height: 2.18rem;
		justify-content: center;
		border-color: rgb(0 111 168 / 12%);
		padding: 0.42rem 0.62rem;
		box-shadow: 0 0.55rem 1.45rem rgb(4 50 76 / 5%);
		font-size: 0.74rem;
		line-height: 1;
		white-space: nowrap;
	}

	.p-portfolio-detail .s-detail-hero__media {
		width: min(100%, 37.55rem);
		justify-self: end;
		border-color: rgb(214 154 22 / 16%);
		box-shadow:
			0 2.95rem 7.4rem rgb(4 50 76 / 12%),
			0 0.9rem 2.45rem rgb(0 111 168 / 5%),
			inset 0 1px 0 rgb(255 255 255 / 82%);
	}

	.p-portfolio-detail .s-detail-hero__media::before {
		background: linear-gradient(90deg, transparent, rgb(214 154 22 / 48%), transparent);
	}

	.p-portfolio-detail__hero-trust {
		right: 1.02rem;
		bottom: 1.02rem;
		max-width: 13.5rem;
		padding: 0.54rem 0.72rem;
		border-color: rgb(214 154 22 / 30%);
		box-shadow: 0 0.75rem 1.85rem rgb(4 50 76 / 12%);
	}

	.p-portfolio-detail__helped-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.p-portfolio-detail__journey-card {
		grid-template-columns: minmax(12rem, 0.28fr) minmax(0, 1fr);
		align-items: center;
	}

	.p-portfolio-detail__journey-list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0.4rem;
	}

	.p-portfolio-detail__journey-list::before {
		top: 0.91rem;
		right: calc(10% - 0.15rem);
		bottom: auto;
		left: calc(10% + 0.15rem);
		width: auto;
		height: 1px;
		background: linear-gradient(90deg, rgb(214 154 22 / 42%), rgb(0 111 168 / 16%));
	}

	.p-portfolio-detail__journey-list li {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.p-portfolio-detail__journey-list li > span:not(.p-portfolio-detail__journey-dot) {
		grid-column: auto;
	}

	.p-portfolio-detail__info-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 0.82rem;
	}

	.p-portfolio-detail__info-card {
		grid-column: span 2;
		min-height: 4.8rem;
		padding: 0.82rem 0.9rem;
	}

	.p-portfolio-detail__info-card:nth-child(n+4) {
		grid-column: span 3;
	}

	.p-portfolio-detail__info-card:last-child {
		grid-column: span 3;
	}

	.p-portfolio-detail .c-gallery {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p-portfolio-detail__gallery-item--featured {
		grid-column: span 2;
		grid-row: span 2;
	}

	.p-portfolio-detail__gallery-item--featured img {
		aspect-ratio: 4 / 5;
	}

	.p-portfolio-detail__results-card {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.p-portfolio-detail__outcome-list,
	.p-portfolio-detail__results-content > ul:not(.p-portfolio-detail__outcome-list) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-portfolio-detail__related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-portfolio-detail__cta-card {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.p-portfolio-detail__cta-actions {
		justify-content: flex-end;
		justify-items: center;
	}

	.p-portfolio-detail__cta-note {
		text-align: center;
	}
}

@media (max-width: 47.999rem) {
	.p-portfolio-detail__hero-copy {
		display: grid;
		gap: 0;
		min-width: 0;
		max-width: 100%;
		text-align: left;
	}

	.p-portfolio-detail__hero-copy > * {
		min-width: 0;
		max-width: 100%;
		margin-block: 0;
	}

	.p-portfolio-detail .s-detail-hero .srcosme-container {
		width: calc(100% - 2rem);
		max-width: calc(100vw - 2rem);
		margin-inline: auto;
	}

	.p-portfolio-detail__category-badge {
		margin-bottom: 1.18rem;
		padding-inline: 0.74rem;
	}

	.p-portfolio-detail__hero-copy h1 {
		max-width: 100%;
		margin-bottom: 0.72rem;
		font-size: clamp(1.88rem, 7.35vw, 2.2rem);
		line-height: 1.05;
		letter-spacing: 0;
		text-wrap: normal;
		overflow-wrap: break-word;
	}

	.p-portfolio-detail .s-detail-hero__grid {
		gap: clamp(0.64rem, 2.6vw, 0.86rem);
	}

	.p-portfolio-detail .s-detail-hero {
		padding-block: clamp(1.55rem, 5.8vw, 2.25rem);
		background:
			radial-gradient(circle at 72% 68%, rgb(0 111 168 / 13%), transparent 34%),
			radial-gradient(circle at 18% 32%, rgb(253 209 0 / 7%), transparent 26%),
			linear-gradient(150deg, #fff 0%, #f8fcfe 54%, #eaf7fd 100%);
	}

	.p-portfolio-detail .s-detail-hero::before {
		right: -5rem;
		bottom: 1rem;
		width: 18rem;
		height: 18rem;
		opacity: 0.72;
	}

	.p-portfolio-detail__hero-description {
		max-width: 33rem;
		margin-bottom: 0.9rem;
		line-height: 1.5;
		overflow-wrap: break-word;
	}

	.p-portfolio-detail__hero-meta {
		display: grid;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(0.28rem, 1.35vw, 0.42rem);
		margin-top: 0;
		margin-bottom: 0;
		align-items: stretch;
	}

	.p-portfolio-detail__hero-meta span {
		width: 100%;
		min-width: 0;
		min-height: 2.02rem;
		box-sizing: border-box;
		justify-content: center;
		padding: 0.38rem 0.24rem;
		box-shadow: 0 0.45rem 1.15rem rgb(4 50 76 / 4%);
		font-size: clamp(0.64rem, 2.9vw, 0.7rem);
		line-height: 1;
		white-space: nowrap;
	}

	.p-portfolio-detail .s-detail-hero__media {
		width: 100%;
		max-width: 100%;
		border-radius: 24px;
		box-shadow:
			0 1.35rem 3.2rem rgb(4 50 76 / 12%),
			0 0.45rem 1.35rem rgb(0 111 168 / 7%);
	}

	.p-portfolio-detail__hero-trust {
		right: 0.72rem;
		bottom: 0.72rem;
		max-width: min(74%, 13rem);
		border-radius: 0.82rem;
		padding: 0.48rem 0.6rem;
	}

	.p-portfolio-detail__hero-trust span {
		font-size: 0.56rem;
		letter-spacing: 0.1em;
	}

	.p-portfolio-detail__hero-trust strong {
		font-size: 0.72rem;
	}

	.p-portfolio-detail__overview-card,
	.p-portfolio-detail__results-card,
	.p-portfolio-detail__journey-card,
	.p-portfolio-detail__cta-card {
		border-radius: 20px;
	}

	.p-portfolio-detail__overview-card {
		padding: 1.45rem;
	}

	.p-portfolio-detail__overview-card h2 {
		margin-bottom: 0.78rem;
		line-height: 1.08;
	}

	.p-portfolio-detail__overview-card > p:not(.p-portfolio-detail__section-eyebrow) {
		margin-bottom: 0.64rem;
		font-size: 0.95rem;
		line-height: 1.58;
	}

	.p-portfolio-detail__overview-card > p:not(.p-portfolio-detail__section-eyebrow) + p:not(.p-portfolio-detail__section-eyebrow) {
		margin-top: 0.34rem;
	}

	.p-portfolio-detail__overview-card > p:has(+ ul) {
		margin-top: 0.82rem;
		margin-bottom: 0.52rem;
		font-size: 0.95rem;
		line-height: 1.22;
	}

	.p-portfolio-detail__overview-card h3 {
		margin-top: 1rem;
		margin-bottom: 0.58rem;
	}

	.p-portfolio-detail__overview-card ul {
		gap: 0.5rem;
	}

	.p-portfolio-detail__overview-card li {
		border-radius: 0.78rem;
		padding: 0.52rem 0.68rem 0.52rem 1.85rem;
		font-size: 0.88rem;
		line-height: 1.36;
	}

	.p-portfolio-detail__overview-card li::before {
		top: 0.82rem;
		left: 0.72rem;
		width: 0.52rem;
		height: 0.52rem;
		border-width: 1px;
	}

	.p-portfolio-detail__helped-grid {
		gap: 0.64rem;
	}

	.p-portfolio-detail__helped-card {
		grid-template-columns: 1.05rem minmax(0, 1fr);
		gap: 0.62rem;
		border-radius: 0.86rem;
		padding: 0.72rem;
	}

	.p-portfolio-detail__helped-mark {
		width: 1.05rem;
		height: 1.05rem;
		margin-top: 0.02rem;
	}

	.p-portfolio-detail__helped-mark::before {
		width: 0.3rem;
		height: 0.52rem;
		border-width: 1.5px;
	}

	.p-portfolio-detail__helped-card h3 {
		font-size: 0.9rem;
	}

	.p-portfolio-detail__helped-card p {
		margin-top: 0.22rem;
		font-size: 0.82rem;
		line-height: 1.38;
	}

	.p-portfolio-detail__journey-card {
		gap: 1rem;
		padding: 1rem;
	}

	.p-portfolio-detail__journey-list {
		gap: 0.7rem;
	}

	.p-portfolio-detail__journey-list::before {
		top: 0.88rem;
		bottom: 0.88rem;
		left: 0.88rem;
	}

	.p-portfolio-detail__journey-list li {
		grid-template-columns: 1.76rem minmax(0, 1fr);
		column-gap: 0.64rem;
	}

	.p-portfolio-detail__journey-dot {
		width: 1.76rem;
		height: 1.76rem;
		box-shadow: 0 0 0 0.22rem #fff;
		font-size: 0.68rem;
	}

	.p-portfolio-detail__journey-list strong {
		font-size: 0.88rem;
	}

	.p-portfolio-detail__journey-list li > span:not(.p-portfolio-detail__journey-dot) {
		font-size: 0.8rem;
		line-height: 1.34;
	}

	.p-portfolio-detail__info-grid {
		grid-template-columns: 1fr;
		gap: 0.52rem;
	}

	.p-portfolio-detail__info-card {
		min-height: 4.12rem;
		column-gap: 0.64rem;
		border-radius: 0.86rem;
		padding: 0.54rem 0.68rem;
		box-shadow: 0 0.7rem 1.55rem rgb(4 50 76 / 5%);
	}

	.p-portfolio-detail__info-icon {
		width: 3rem;
		height: 3rem;
	}

	.p-portfolio-detail__info-icon svg {
		width: 1.18rem;
		height: 1.18rem;
	}

	.p-portfolio-detail__info-card p {
		font-size: 0.56rem;
		letter-spacing: 0.075em;
	}

	.p-portfolio-detail__info-card strong {
		font-size: 0.9rem;
		line-height: 1.16;
	}

	.p-portfolio-detail__related-grid {
		grid-template-columns: 1fr;
		gap: 0.9rem;
	}

	.p-portfolio-detail__related .p-portfolio-archive-card__body {
		padding: 1rem;
	}

	.p-portfolio-detail__related .p-portfolio-archive-card__meta-row {
		margin-bottom: 0.46rem;
	}

	.p-portfolio-detail__related .p-portfolio-archive-card__title {
		font-size: 1.02rem;
		line-height: 1.18;
	}

	.p-portfolio-detail__related .p-portfolio-archive-card__cta {
		padding-top: 0.82rem;
	}

	.p-portfolio-detail__related .p-portfolio-archive-card__link {
		min-height: 2.42rem;
		font-size: 0.86rem;
	}

	.p-portfolio-detail__cta-card {
		gap: 1.05rem;
		padding: 1.42rem;
		text-align: center;
	}

	.p-portfolio-detail__cta-card h2 {
		margin-bottom: 0.7rem;
	}

	.p-portfolio-detail__cta-card p {
		line-height: 1.58;
	}

	.p-portfolio-detail__cta-card h2,
	.p-portfolio-detail__cta-card p {
		margin-inline: auto;
	}

	.p-portfolio-detail__cta-actions,
	.p-portfolio-detail__cta .c-button {
		width: 100%;
		justify-content: center;
	}

	.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button {
		width: 100%;
		min-width: 0;
		min-height: 3.64rem;
		gap: 0.62rem;
	}

	.p-portfolio-detail__cta-note {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-portfolio-detail .c-gallery figure,
	.p-portfolio-detail .c-gallery img,
	.p-portfolio-detail__gallery-media,
	.p-portfolio-detail__gallery-view-label,
	.p-portfolio-detail__info-card,
	.p-portfolio-detail__related .p-portfolio-archive-card,
	.p-portfolio-detail__related .p-portfolio-archive-card__media img,
	.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button,
	.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button::before {
		transition: none;
	}

	.p-portfolio-detail .c-gallery figure:hover img,
	.p-portfolio-detail .c-gallery figure:focus-within img,
	.p-portfolio-detail .c-gallery figure:hover,
	.p-portfolio-detail .c-gallery figure:focus-within,
	.p-portfolio-detail__gallery-trigger:hover .p-portfolio-detail__gallery-media,
	.p-portfolio-detail__gallery-trigger:focus-visible .p-portfolio-detail__gallery-media,
	.p-portfolio-detail__gallery-trigger:hover .p-portfolio-detail__gallery-view-label,
	.p-portfolio-detail__gallery-trigger:focus-visible .p-portfolio-detail__gallery-view-label,
	.p-portfolio-detail__info-card:hover,
	.p-portfolio-detail__info-card:focus-within,
	.p-portfolio-detail__related .p-portfolio-archive-card:hover,
	.p-portfolio-detail__related .p-portfolio-archive-card:focus-within,
	.p-portfolio-detail__related .p-portfolio-archive-card:hover .p-portfolio-archive-card__media img,
	.p-portfolio-detail__related .p-portfolio-archive-card:focus-within .p-portfolio-archive-card__media img,
	.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button:hover,
	.p-portfolio-detail__cta .p-portfolio-detail__premium-wa-button:focus-visible {
		transform: none;
	}
}

.c-eyebrow {
	color: var(--color-primary-700);
	font-size: var(--font-size-sm);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.c-prose {
	max-width: 52rem;
}

.c-prose > * + * {
	margin-block-start: var(--space-4);
}

.c-data-list {
	display: grid;
	margin: var(--space-6) 0 0;
	gap: var(--space-4);
}

.c-data-list > div {
	padding-bottom: var(--space-4);
	border-bottom: 1px solid var(--color-primary-100);
}

.c-data-list dt {
	font-weight: 700;
}

.c-data-list dd {
	margin: var(--space-1) 0 0;
}

.c-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
}

.c-gallery figure {
	margin: 0;
	border-radius: var(--radius-3);
	overflow: hidden;
}

.c-gallery img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.c-link-list {
	display: grid;
	padding-left: var(--space-6);
	gap: var(--space-2);
}

.c-map-placeholder,
.c-lead-form-placeholder {
	display: grid;
	min-height: 14rem;
	padding: var(--space-6);
	border: 1px dashed var(--color-primary-500);
	border-radius: var(--radius-3);
	place-items: center;
	background: var(--color-neutral-100);
	text-align: center;
}

.c-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
	padding: var(--space-6);
	border: 1px solid var(--color-primary-100);
	border-radius: var(--radius-4);
	gap: 20px 24px;
	background: var(--color-neutral-000);
	box-shadow: var(--shadow-md);
}

.c-form--consultation,
.c-form--meeting,
.c-form--quotation {
	max-width: none;
}

.c-form--consultation {
	grid-template-columns: minmax(0, 1fr);
	max-width: 100%;
	padding: clamp(1.25rem, 2.6vw, 2.25rem);
	border-color: rgb(4 50 76 / 12%);
	border-radius: 1rem;
	gap: 1.15rem;
	box-shadow: 0 1.25rem 3rem rgb(4 50 76 / 8%);
}

.c-form__field {
	display: grid;
	min-width: 0;
}

.c-form label {
	margin-bottom: 8px;
	color: var(--color-neutral-900);
	font-weight: 700;
}

.c-form input:not([type="checkbox"]):not([type="hidden"]),
.c-form select,
.c-form textarea {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem var(--space-4);
	border: 1px solid var(--color-neutral-500);
	border-radius: var(--radius-2);
	background: var(--color-neutral-000);
	color: var(--color-neutral-900);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.c-form textarea {
	min-height: 160px;
	resize: vertical;
}

.c-form input:not([type="checkbox"]):not([type="hidden"]),
.c-form select {
	height: 52px;
}

.c-form input:not([type="checkbox"]):not([type="hidden"]):focus,
.c-form select:focus,
.c-form textarea:focus {
	border-color: var(--color-primary-700);
	outline: 0;
	box-shadow: 0 0 0 0.1875rem rgb(0 143 215 / 18%);
}

.c-form__field--consent {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 8px 14px;
}

.c-form__field--consent label {
	margin-bottom: 0;
}

.c-form__field--consent input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.125rem 0 0;
	accent-color: var(--color-primary-700);
}

.c-form__field--consent .c-form__error {
	grid-column: 2;
}

.c-form .c-button {
	width: 100%;
	margin-top: var(--space-2);
}

.c-form__field:has(textarea),
.c-form__field--consent,
.c-form button[type="submit"] {
	grid-column: 1 / -1;
}

.c-form .c-button--primary {
	background: var(--color-primary-700);
	color: var(--color-neutral-000);
}

.c-form .c-button--primary:hover,
.c-form .c-button--primary:focus-visible {
	background: var(--color-primary-900);
	color: var(--color-neutral-000);
}

.c-form__error {
	margin: 0;
	color: #b42318;
	font-size: var(--font-size-sm);
}

.c-form-state {
	display: grid;
	margin-bottom: var(--space-6);
	padding: var(--space-6);
	border: 1px solid;
	border-radius: var(--radius-3);
	gap: var(--space-3);
	box-shadow: var(--shadow-sm);
}

.c-form-state:focus {
	outline: 0.1875rem solid var(--color-primary-500);
	outline-offset: 0.1875rem;
}

.c-form-state > * {
	margin-block: 0;
}

.c-form-state ul {
	padding-left: var(--space-6);
}

.c-form-state .c-button {
	width: fit-content;
	margin-top: var(--space-2);
}

.c-form-state--success {
	border-color: var(--color-primary-500);
	background: var(--color-primary-100);
	color: var(--color-primary-900);
}

.c-form-state--error {
	border-color: #f04438;
	background: #fef3f2;
	color: #7a271a;
}

@media (max-width: 47.999rem) {
	.c-form {
		grid-template-columns: minmax(0, 1fr);
	}
}

.s-authority {
	border-block: 1px solid var(--color-primary-100);
}

.c-form__honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.sr-container {
  width: min(1180px, 92%);
  margin: 0 auto;
}

.sr-hero {
  padding: 96px 0;
  background: linear-gradient(135deg, #ddf3fc, #ffffff);
}

.sr-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  align-items: center;
}

.sr-eyebrow {
  color: #006fa8;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sr-lead {
  font-size: 20px;
  max-width: 720px;
  color: #495057;
}

.sr-about {
	font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #04324c;
}

.sr-about :is(h1, h2, h3),
.sr-final-cta :is(h2, h3) {
	text-wrap: balance;
}

.sr-about :is(.sr-about-hero__eyebrow, .sr-about-authority__eyebrow, .sr-about-compliance__eyebrow, .sr-about-team__eyebrow, .sr-about-portfolio__eyebrow),
.sr-final-cta__eyebrow {
	align-items: center;
	gap: 0.5rem;
	font-size: 0.735rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	line-height: 1.15;
}

.sr-about :is(.sr-about-hero__eyebrow, .sr-about-authority__eyebrow, .sr-about-compliance__eyebrow, .sr-about-team__eyebrow, .sr-about-portfolio__eyebrow)::before,
.sr-final-cta__eyebrow::before {
	flex: 0 0 auto;
	width: 0.52rem;
	height: 0.52rem;
	border-width: 0.16rem;
	transform: translateY(-0.015rem);
}

.sr-about-hero {
	position: relative;
	isolation: isolate;
	padding-block: clamp(4.75rem, 7.5vw, 6.75rem);
	overflow: clip;
	background:
		radial-gradient(circle at 82% 18%, rgb(0 143 215 / 10%), transparent 28rem),
		radial-gradient(circle at 8% 86%, rgb(253 209 0 / 8%), transparent 24rem),
		linear-gradient(135deg, #f8fcfe 0%, #ffffff 54%, #eef8fc 100%);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-about-hero::before {
	position: absolute;
	top: 16%;
	right: 8%;
	z-index: -1;
	width: min(28rem, 58vw);
	height: min(28rem, 58vw);
	border-radius: 999px;
	background: rgb(0 111 168 / 7%);
	content: "";
	filter: blur(48px);
}

.sr-about-hero__grid {
	position: relative;
	display: grid;
	gap: clamp(3rem, 5vw, 4.5rem);
	align-items: center;
}

.sr-about-hero__content {
	max-width: 42rem;
}

.sr-about-hero__eyebrow {
	display: inline-flex;
	margin: 0 0 0.85rem;
	color: #006fa8;
}

.sr-about-hero__eyebrow::before {
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(230 33 41 / 18%);
	border-radius: 999px;
	background: #e62129;
	content: "";
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 8%);
}

.sr-about-hero h1 {
	max-width: min(100%, 42rem);
	margin-bottom: 1.15rem;
	color: #04324c;
	font-family: inherit;
	font-size: clamp(3.2rem, 4.8vw, 4.7rem);
	font-weight: 800;
	letter-spacing: -0.018em;
	line-height: 1;
}

.sr-about-hero h1 span {
	display: block;
	white-space: nowrap;
}

.sr-about-hero__lead {
	max-width: 38rem;
	margin: 0;
	color: #516875;
	font-family: inherit;
	font-size: clamp(1.05rem, 1.65vw, 1.22rem);
	line-height: 1.68;
}

.sr-about-hero__cta {
	min-height: 3.25rem;
	margin-top: clamp(1.65rem, 3vw, 2.1rem);
	padding: 0.85rem 1.55rem;
	border: 1px solid rgb(253 209 0 / 50%);
	border-radius: 999px;
	background: linear-gradient(135deg, #04324c 0%, #006fa8 58%, #008fd7 100%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 20%),
		0 0.8rem 1.75rem rgb(4 50 76 / 15%),
		0 0 0 0.0625rem rgb(253 209 0 / 8%);
	color: #ffffff;
	font-weight: 850;
	gap: 0.6rem;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-decoration: none;
	transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease, color 220ms ease, transform 220ms ease;
}

.sr-about-hero__cta.c-button--primary:hover,
.sr-about-hero__cta.c-button--primary:focus-visible {
	border-color: rgb(253 209 0 / 76%);
	background: linear-gradient(135deg, #032f47 0%, #005a88 54%, #007fc0 100%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 24%),
		0 1rem 2.15rem rgb(4 50 76 / 18%),
		0 0 0 0.16rem rgb(253 209 0 / 10%);
	color: #ffffff;
}

.sr-about-hero__cta span:last-child {
	display: inline-block;
	color: #ffe47a;
	transition: transform 220ms ease;
}

.sr-about-hero__visual {
	position: relative;
	margin: 0;
	aspect-ratio: 5 / 4;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 2rem;
	background: #ffffff;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 58%),
		inset 0 -0.85rem 1.35rem rgb(4 50 76 / 6%),
		0 1.45rem 3.4rem rgb(4 50 76 / 13%),
		0 0.45rem 1.2rem rgb(0 111 168 / 7%);
	overflow: hidden;
	transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
}

.sr-about-hero__visual::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(135deg, rgb(255 255 255 / 30%) 0%, rgb(255 255 255 / 0%) 26%),
		linear-gradient(180deg, rgb(4 50 76 / 0%) 48%, rgb(4 50 76 / 18%) 100%),
		radial-gradient(circle at 18% 16%, rgb(255 255 255 / 34%), transparent 16rem);
	content: "";
	pointer-events: none;
}

.sr-about-hero__visual::after {
	position: absolute;
	right: 1.35rem;
	bottom: 0.45rem;
	left: 1.35rem;
	z-index: 1;
	height: 18%;
	border-radius: 999px;
	background: linear-gradient(180deg, rgb(255 255 255 / 30%), rgb(255 255 255 / 0%));
	content: "";
	filter: blur(12px);
	opacity: 0.42;
	pointer-events: none;
	transform: translateY(52%);
}

.sr-about-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 42% center;
	transition: transform 360ms ease;
}

.sr-about-hero__chip {
	position: absolute;
	right: 1.2rem;
	bottom: 1.2rem;
	z-index: 2;
	max-width: calc(100% - 2.4rem);
	padding: 0.58rem 0.88rem;
	border: 1px solid rgb(255 255 255 / 58%);
	border-radius: 999px;
	background: rgb(255 255 255 / 86%);
	box-shadow: 0 0.75rem 1.8rem rgb(4 50 76 / 13%);
	color: #04324c;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	backdrop-filter: blur(12px);
}

@media (hover: hover) and (pointer: fine) {
	.sr-about-hero__cta:hover,
	.sr-about-hero__cta:focus-visible {
		transform: translateY(-2px);
	}

	.sr-about-hero__cta:hover span:last-child,
	.sr-about-hero__cta:focus-visible span:last-child {
		transform: translateX(4px);
	}

	.sr-about-hero__visual:hover {
		border-color: rgb(253 209 0 / 38%);
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 62%),
			inset 0 -1.1rem 1.6rem rgb(4 50 76 / 8%),
			0 2.05rem 5rem rgb(4 50 76 / 18%),
			0 0.65rem 1.75rem rgb(0 111 168 / 10%);
		transform: translateY(-3px);
	}

	.sr-about-hero__visual:hover img {
		transform: scale(1.01);
	}
}

.sr-about-authority {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding-block: clamp(4.15rem, 6.6vw, 5.35rem);
	background:
		radial-gradient(circle at 12% 18%, rgb(0 111 168 / 7%), transparent 27rem),
		radial-gradient(circle at 88% 24%, rgb(253 209 0 / 6%), transparent 24rem),
		linear-gradient(180deg, #f9fcfd 0%, #fff 60%, #f1f9fc 100%);
}

.sr-about-authority::before,
.sr-about-authority::after {
	position: absolute;
	z-index: -1;
	width: 18rem;
	height: 18rem;
	border-radius: 999px;
	content: "";
	filter: blur(36px);
	opacity: 0.24;
	pointer-events: none;
}

.sr-about-authority::before {
	top: 12%;
	left: max(-6rem, -8vw);
	background: rgb(0 111 168 / 16%);
}

.sr-about-authority::after {
	right: max(-5rem, -6vw);
	bottom: 6%;
	background: rgb(253 209 0 / 14%);
}

.sr-about-authority__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(2.25rem, 3vw, 2.5rem);
	min-width: 0;
}

.sr-about-authority__intro {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	min-width: 0;
	text-align: left;
}

.sr-about-authority__eyebrow {
	display: inline-flex;
	justify-content: flex-start;
	margin-bottom: 0.82rem;
	color: #006fa8;
}

.sr-about-authority__eyebrow::before {
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(230 33 41 / 18%);
	border-radius: 999px;
	background: #e62129;
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 8%);
	content: "";
}

.sr-about-authority h2 {
	max-width: 32rem;
	margin: 0 0 0.44rem;
	color: #04324c;
	font-family: inherit;
	font-size: clamp(2.35rem, 4vw, 3.35rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
}

.sr-about-authority__intro p:not(.sr-about-authority__eyebrow) {
	width: 100%;
	max-width: none;
	margin: 0;
	color: #4d6570;
	font-family: inherit;
	font-size: clamp(1.02rem, 1.35vw, 1.12rem);
	line-height: 1.6;
}

.sr-about-authority__intro h2 + p:not(.sr-about-authority__eyebrow) {
	margin-top: 26px;
}

.sr-about-authority__intro p:not(.sr-about-authority__eyebrow) + p {
	margin-top: 22px;
}

.sr-about-authority__grid {
	--about-authority-gap: clamp(1.25rem, 2vw, 1.75rem);

	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: var(--about-authority-gap);
	width: min(100%, 74rem);
	margin: 0;
	margin-inline: auto;
	min-width: 0;
}

.sr-about-authority__grid::before {
	display: none;
	content: none;
}

.sr-about-authority__card {
	--authority-accent: #006fa8;
	--authority-accent-rgb: 0 111 168;

	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	min-width: 0;
	height: 100%;
	padding: clamp(1.16rem, 1.85vw, 1.5rem);
	border: 1px solid rgb(var(--authority-accent-rgb) / 16%);
	border-radius: 1.65rem;
	background: #fbfdff;
	box-shadow:
		0 0.82rem 2rem rgb(4 50 76 / 7%),
		0 0.18rem 0.64rem rgb(var(--authority-accent-rgb) / 3%),
		inset 0 1px 0 rgb(255 255 255 / 92%);
	transition:
		border-color 260ms ease,
		box-shadow 260ms ease,
		transform 260ms ease,
		background-color 260ms ease;
}

.sr-about-authority__card:nth-child(2) {
	--authority-accent: #008f8c;
	--authority-accent-rgb: 0 143 140;
	--authority-icon-size: clamp(4.85rem, 7.1vw, 6.22rem);
	--authority-icon-size-mobile: 5.05rem;
}

.sr-about-authority__card:nth-child(3) {
	--authority-accent: #c79210;
	--authority-accent-rgb: 199 146 16;
	--authority-icon-size: clamp(4.95rem, 7.24vw, 6.34rem);
	--authority-icon-size-mobile: 5.18rem;
}

.sr-about-authority__card::before {
	display: none;
	content: none;
}

.sr-about-authority__card::after {
	position: absolute;
	right: -2rem;
	bottom: -2.5rem;
	width: 8rem;
	height: 8rem;
	border-radius: 999px;
	background: rgb(var(--authority-accent-rgb) / 10%);
	content: "";
	filter: blur(12px);
	opacity: 0.12;
	transform: scale(0.86);
	transition:
		opacity 260ms ease,
		transform 260ms ease;
}

.sr-about-authority__main {
	display: grid;
	grid-template-columns: minmax(10rem, 0.26fr) minmax(0, 0.74fr);
	align-items: center;
	gap: clamp(1rem, 2.2vw, 1.85rem);
	min-width: 0;
}

.sr-about-authority__content {
	display: flex;
	align-self: stretch;
	min-width: 0;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
}

.sr-about-authority__top-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(0.78rem, 1.8vw, 1.25rem);
	min-width: 0;
	margin-bottom: 0.72rem;
}

.sr-about-authority__accent-line {
	display: block;
	min-width: 0;
	height: 0.12rem;
	border-radius: 999px;
	background: linear-gradient(90deg, rgb(var(--authority-accent-rgb) / 58%), rgb(var(--authority-accent-rgb) / 0));
}

.sr-about-authority__step {
	display: inline-flex;
	width: 2.62rem;
	height: 2.62rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(var(--authority-accent-rgb) / 18%);
	border-radius: 999px;
	background: rgb(var(--authority-accent-rgb) / 7%);
	color: var(--authority-accent);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	transition:
		background-color 260ms ease,
		border-color 260ms ease,
		box-shadow 260ms ease,
		color 260ms ease,
		transform 260ms ease;
}

.sr-about-authority .sr-about-authority__visual {
	display: flex;
	align-self: end;
	width: 100%;
	height: clamp(7.4rem, 11.5vw, 9.2rem);
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(var(--authority-accent-rgb) / 16%);
	border-radius: 1.35rem;
	background: #fff;
	box-shadow:
		0 0.45rem 1.05rem rgb(var(--authority-accent-rgb) / 6%),
		inset 0 1px 0 rgb(255 255 255 / 94%);
	color: var(--authority-accent);
	transition:
		box-shadow 260ms ease,
		transform 260ms ease;
}

.sr-about-authority .sr-about-authority__visual svg {
	display: block;
	width: var(--authority-icon-size, clamp(4.35rem, 6.4vw, 5.6rem));
	height: var(--authority-icon-size, clamp(4.35rem, 6.4vw, 5.6rem));
	fill: currentColor;
	stroke: none;
}

.sr-about-authority__text {
	min-width: 0;
	margin-top: auto;
}

.sr-about-authority__card h3 {
	max-width: 100%;
	margin: 0 0 0.42rem;
	color: #04324c;
	font-size: clamp(1.08rem, 1.45vw, 1.24rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.16;
	overflow-wrap: anywhere;
	transition: color 260ms ease;
}

.sr-about-authority__card p {
	margin: 0;
	color: #4f6570;
	font-size: 0.96rem;
	line-height: 1.54;
	overflow-wrap: anywhere;
}

.sr-about-authority.is-authority-motion-ready [data-authority-reveal],
.sr-about-authority.is-authority-motion-ready [data-authority-card] {
	opacity: 0;
	transform: translateY(1rem);
	transition:
		opacity 520ms ease,
		transform 520ms ease;
}

.sr-about-authority.is-authority-motion-ready [data-authority-card] {
	transform: translateY(1.15rem);
}

.sr-about-authority.is-authority-motion-ready [data-authority-reveal].is-visible,
.sr-about-authority.is-authority-motion-ready [data-authority-card].is-visible {
	opacity: 1;
	transform: translate(0, 0);
}

@media (hover: hover) and (pointer: fine) {
	.sr-about-authority__card:hover,
	.sr-about-authority__card:focus-within {
		border-color: rgb(var(--authority-accent-rgb) / 36%);
		box-shadow:
			0 1.25rem 2.8rem rgb(4 50 76 / 11%),
			0 0.62rem 1.4rem rgb(var(--authority-accent-rgb) / 8%),
			inset 0 1px 0 rgb(255 255 255 / 92%);
		transform: translateY(-3px);
	}

	.sr-about-authority__card:hover::after,
	.sr-about-authority__card:focus-within::after {
		opacity: 0.72;
		transform: scale(1.1);
	}

	.sr-about-authority__card:hover .sr-about-authority__step,
	.sr-about-authority__card:focus-within .sr-about-authority__step {
		border-color: rgb(var(--authority-accent-rgb) / 30%);
		background: rgb(var(--authority-accent-rgb) / 12%);
		box-shadow: 0 0.55rem 1.15rem rgb(var(--authority-accent-rgb) / 13%);
		color: var(--authority-accent);
		transform: scale(1.04);
	}

	.sr-about-authority__card:hover .sr-about-authority__visual,
	.sr-about-authority__card:focus-within .sr-about-authority__visual {
		box-shadow:
			0 0.72rem 1.45rem rgb(var(--authority-accent-rgb) / 9%),
			0 0 0 0.28rem rgb(var(--authority-accent-rgb) / 4%),
			inset 0 1px 0 rgb(255 255 255 / 96%);
		transform: translateY(-1px) scale(1.035);
	}

	.sr-about-authority__card:hover h3,
	.sr-about-authority__card:focus-within h3 {
		color: var(--authority-accent);
	}
}

.sr-about-compliance {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding-block: clamp(4.15rem, 6.8vw, 5.45rem);
	background:
		radial-gradient(circle at 14% 16%, rgb(0 111 168 / 7%), transparent 26rem),
		radial-gradient(circle at 84% 18%, rgb(253 209 0 / 6%), transparent 24rem),
		linear-gradient(180deg, #f8fcfe 0%, #fff 58%, #f4fafc 100%);
}

.sr-about-compliance::before,
.sr-about-compliance::after {
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	content: "";
	filter: blur(42px);
	opacity: 0.22;
	pointer-events: none;
}

.sr-about-compliance::before {
	top: 8%;
	left: max(-7rem, -8vw);
	width: 20rem;
	height: 20rem;
	background: rgb(0 111 168 / 15%);
}

.sr-about-compliance::after {
	right: max(-6rem, -7vw);
	bottom: 4%;
	width: 18rem;
	height: 18rem;
	background: rgb(253 209 0 / 14%);
}

.sr-about-compliance__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(2.1rem, 3.6vw, 3rem);
	min-width: 0;
}

.sr-about-compliance__heading {
	max-width: 49rem;
	margin-inline: auto;
	text-align: center;
}

.sr-about-compliance__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 0.74rem;
	color: #006fa8;
}

.sr-about-compliance__eyebrow::before {
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(230 33 41 / 18%);
	border-radius: 999px;
	background: #e62129;
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 8%);
	content: "";
}

.sr-about-compliance h2 {
	margin: 0 auto 0.82rem;
	color: #04324c;
	font-family: inherit;
	font-size: clamp(2.25rem, 4vw, 3.15rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
}

.sr-about-compliance__heading p {
	max-width: 39.5rem;
	margin: 0 auto;
	color: #516875;
	font-family: inherit;
	font-size: clamp(1rem, 1.35vw, 1.1rem);
	line-height: 1.68;
}

.sr-about-compliance__grid {
	--about-compliance-gap: clamp(1.25rem, 2vw, 1.75rem);

	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: var(--about-compliance-gap);
	width: min(100%, 74rem);
	margin-inline: auto;
	min-width: 0;
}

.sr-about-compliance__card {
	--compliance-accent: #7b5dd7;
	--compliance-accent-rgb: 123 93 215;

	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	padding: clamp(1.18rem, 2vw, 1.55rem);
	border: 1px solid rgb(var(--compliance-accent-rgb) / 16%);
	border-radius: 1.65rem;
	background: #fbfdff;
	box-shadow:
		0 0.9rem 2.15rem rgb(4 50 76 / 7%),
		0 0.2rem 0.7rem rgb(var(--compliance-accent-rgb) / 3%),
		inset 0 1px 0 rgb(255 255 255 / 92%);
	color: #04324c;
	text-align: center;
	transition:
		border-color 280ms ease,
		box-shadow 280ms ease,
		transform 280ms ease;
}

.sr-about-compliance__card--bpom {
	--compliance-accent: #006fa8;
	--compliance-accent-rgb: 0 111 168;
}

.sr-about-compliance__card--gmp {
	--compliance-accent: #008f8c;
	--compliance-accent-rgb: 0 143 140;
}

.sr-about-compliance__card::before {
	display: none;
	content: none;
}

.sr-about-compliance__card::after {
	position: absolute;
	top: -3.4rem;
	right: -3.6rem;
	width: 8.6rem;
	height: 8.6rem;
	border-radius: 999px;
	background: radial-gradient(circle, rgb(var(--compliance-accent-rgb) / 8%), transparent 70%);
	content: "";
	opacity: 0.32;
	transition:
		opacity 280ms ease,
		transform 280ms ease;
}

.sr-about-compliance__card > * {
	position: relative;
	z-index: 1;
}

.sr-about-compliance__main {
	display: grid;
	grid-template-columns: minmax(11rem, 0.38fr) minmax(0, 0.62fr);
	align-items: center;
	gap: clamp(1.1rem, 2.5vw, 2.15rem);
	min-width: 0;
}

.sr-about-compliance__content {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: clamp(0.72rem, 1.2vw, 0.95rem);
	text-align: center;
}

.sr-about-compliance__content::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(100%, 18rem);
	height: 0.12rem;
	border-radius: 999px;
	background: linear-gradient(90deg, rgb(var(--compliance-accent-rgb) / 0), rgb(var(--compliance-accent-rgb) / 58%), rgb(var(--compliance-accent-rgb) / 0));
	content: "";
	transform: translateX(-50%);
}

.sr-about-compliance__mark {
	display: flex;
	width: 100%;
	min-width: 0;
	height: clamp(8.2rem, 13vw, 10.4rem);
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 1px solid rgb(var(--compliance-accent-rgb) / 14%);
	border-radius: 1.35rem;
	background: #fff;
	box-shadow:
		0 0.42rem 1rem rgb(var(--compliance-accent-rgb) / 5%),
		inset 0 1px 0 rgb(255 255 255 / 90%);
	transition:
		border-color 280ms ease,
		box-shadow 280ms ease,
		transform 280ms ease;
}

.sr-about-compliance__mark img {
	display: block;
	width: auto;
	max-width: 82%;
	height: auto;
	max-height: 74%;
	margin: 0;
	object-fit: contain;
	object-position: center center;
}

.sr-about-compliance__card--halal .sr-about-compliance__mark img {
	max-width: 78%;
	max-height: 78%;
}

.sr-about-compliance__card--bpom .sr-about-compliance__mark img {
	max-width: 68%;
	max-height: 76%;
}

.sr-about-compliance__mark svg {
	width: clamp(4.1rem, 6vw, 5.2rem);
	height: clamp(4.1rem, 6vw, 5.2rem);
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
	color: var(--compliance-accent);
}

.sr-about-compliance__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.8rem;
	margin: 0.7rem 0 0.62rem;
	padding: 0.32rem 0.72rem;
	border: 1px solid rgb(var(--compliance-accent-rgb) / 20%);
	border-radius: 999px;
	background: rgb(var(--compliance-accent-rgb) / 6%);
	color: var(--compliance-accent);
	font-size: 0.65rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sr-about-compliance__card h3 {
	max-width: 18rem;
	margin: 0 auto 0.58rem;
	color: #04324c;
	font-family: inherit;
	font-size: clamp(1.08rem, 1.45vw, 1.24rem);
	font-weight: 900;
	line-height: 1.2;
	transition: color 280ms ease;
}

.sr-about-compliance__card p {
	max-width: 31rem;
	margin: 0 auto;
	color: #485f6b;
	font-size: 0.93rem;
	line-height: 1.54;
}

.sr-about-compliance__divider {
	display: block;
	width: 100%;
	height: 1px;
	margin: clamp(1rem, 1.8vw, 1.28rem) 0 clamp(0.85rem, 1.5vw, 1rem);
	border-radius: 999px;
	background: linear-gradient(90deg, rgb(var(--compliance-accent-rgb) / 0), rgb(var(--compliance-accent-rgb) / 20%), rgb(var(--compliance-accent-rgb) / 0));
}

.sr-about-compliance__cta {
	display: flex;
	width: 100%;
	min-height: 3.25rem;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
	padding: 0.38rem 0.42rem 0.38rem 1.05rem;
	border: 1px solid rgb(var(--compliance-accent-rgb) / 20%);
	border-radius: 999px;
	background: rgb(var(--compliance-accent-rgb) / 6%);
	box-shadow: 0 0.44rem 1rem rgb(4 50 76 / 4%);
	color: #04324c;
	font-size: 0.84rem;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none;
	transition:
		background-color 280ms ease,
		border-color 280ms ease,
		box-shadow 280ms ease,
		transform 180ms ease;
}

.sr-about-compliance__cta:focus-visible {
	outline: 3px solid rgb(253 209 0 / 62%);
	outline-offset: 3px;
}

.sr-about-compliance__cta:active {
	transform: scale(0.985);
}

.sr-about-compliance__arrow {
	display: inline-grid;
	flex: 0 0 auto;
	width: 2.12rem;
	height: 2.12rem;
	border: 1px solid rgb(var(--compliance-accent-rgb) / 20%);
	border-radius: 999px;
	place-items: center;
	background: rgb(255 255 255 / 78%);
	color: var(--compliance-accent);
	transition:
		background-color 280ms ease,
		border-color 280ms ease,
		transform 280ms ease;
}

.sr-about-compliance__arrow svg {
	display: block;
	width: 1.08rem;
	height: 1.08rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.15;
}

.sr-about-compliance.is-compliance-motion-ready [data-compliance-reveal],
.sr-about-compliance.is-compliance-motion-ready [data-compliance-card] {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 260ms ease,
		transform 260ms ease;
}

.sr-about-compliance.is-compliance-motion-ready [data-compliance-reveal].is-visible,
.sr-about-compliance.is-compliance-motion-ready [data-compliance-card].is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
	.sr-about-compliance__card:hover,
	.sr-about-compliance__card:focus-within {
		border-color: rgb(var(--compliance-accent-rgb) / 32%);
		box-shadow:
			0 1.15rem 2.55rem rgb(4 50 76 / 10%),
			0 0 0 1px rgb(var(--compliance-accent-rgb) / 6%);
		transform: translateY(-3px);
	}

	.sr-about-compliance__card:hover::after,
	.sr-about-compliance__card:focus-within::after {
		opacity: 1;
		transform: scale(1.1);
	}

	.sr-about-compliance__card:hover .sr-about-compliance__mark,
	.sr-about-compliance__card:focus-within .sr-about-compliance__mark {
		border-color: rgb(var(--compliance-accent-rgb) / 27%);
		box-shadow:
			0 0.72rem 1.45rem rgb(var(--compliance-accent-rgb) / 9%),
			0 0 0 0.3rem rgb(var(--compliance-accent-rgb) / 4%);
		transform: translateY(-1px) scale(1.025);
	}

	.sr-about-compliance__card:hover h3,
	.sr-about-compliance__card:focus-within h3 {
		color: var(--compliance-accent);
	}

	.sr-about-compliance__cta:hover,
	.sr-about-compliance__cta:focus-visible {
		border-color: rgb(var(--compliance-accent-rgb) / 34%);
		background: rgb(var(--compliance-accent-rgb) / 8%);
		box-shadow: 0 0.58rem 1.15rem rgb(4 50 76 / 6%);
	}

	.sr-about-compliance__cta:hover .sr-about-compliance__arrow,
	.sr-about-compliance__cta:focus-visible .sr-about-compliance__arrow,
	.sr-about-compliance__card:focus-within .sr-about-compliance__arrow {
		border-color: rgb(var(--compliance-accent-rgb) / 34%);
		background: rgb(255 255 255 / 94%);
		transform: translateX(3px);
	}
}

.sr-about-team {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding-block: clamp(4.15rem, 6.8vw, 5.45rem);
	background:
		radial-gradient(circle at 15% 20%, rgb(0 111 168 / 7%), transparent 27rem),
		radial-gradient(circle at 86% 22%, rgb(253 209 0 / 6%), transparent 24rem),
		linear-gradient(180deg, #fff 0%, #f8fcfe 56%, #f1f9fc 100%);
}

.sr-about-team::before,
.sr-about-team::after {
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	content: "";
	filter: blur(42px);
	opacity: 0.22;
	pointer-events: none;
}

.sr-about-team::before {
	top: 12%;
	left: max(-6rem, -8vw);
	width: 19rem;
	height: 19rem;
	background: rgb(0 111 168 / 15%);
}

.sr-about-team::after {
	right: max(-5rem, -7vw);
	bottom: 5%;
	width: 18rem;
	height: 18rem;
	background: rgb(253 209 0 / 13%);
}

.sr-about-team__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(2.1rem, 3.6vw, 3rem);
	min-width: 0;
}

.sr-about-team__heading {
	max-width: 50rem;
	margin-inline: auto;
	text-align: center;
}

.sr-about-team__eyebrow {
	display: inline-flex;
	justify-content: center;
	margin: 0 0 0.82rem;
	color: #006fa8;
}

.sr-about-team__eyebrow::before {
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(230 33 41 / 18%);
	border-radius: 999px;
	background: #e62129;
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 8%);
	content: "";
}

.sr-about-team h2 {
	margin: 0 auto 0.95rem;
	color: #04324c;
	font-family: inherit;
	font-size: clamp(2.25rem, 4vw, 3.15rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
}

.sr-about-team__heading p {
	max-width: 45rem;
	margin: 0 auto;
	color: #516875;
	font-family: inherit;
	font-size: clamp(1rem, 1.35vw, 1.1rem);
	line-height: 1.68;
}

.sr-about-team__grid {
	--about-team-gap: clamp(1.25rem, 2vw, 1.75rem);

	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--about-team-gap);
	min-width: 0;
}

.sr-about-team__card {
	position: relative;
	display: flex;
	min-height: clamp(18.25rem, 22vw, 20.25rem);
	flex-direction: column;
	align-items: center;
	overflow: hidden;
	height: 100%;
	padding: clamp(1.55rem, 2.35vw, 1.95rem);
	border: 1px solid rgb(0 111 168 / 13%);
	border-radius: 1.65rem;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 98%) 0%, rgb(248 253 255 / 91%) 100%),
		radial-gradient(circle at 88% 12%, rgb(0 111 168 / 7%), transparent 9rem),
		radial-gradient(circle at 12% 100%, rgb(253 209 0 / 5%), transparent 10rem);
	box-shadow:
		0 0.95rem 2.35rem rgb(4 50 76 / 8%),
		0 0.28rem 0.78rem rgb(0 111 168 / 4%),
		inset 0 1px 0 rgb(255 255 255 / 92%);
	color: #04324c;
	text-align: center;
	transition:
		border-color 280ms ease,
		box-shadow 280ms ease,
		transform 280ms ease;
}

.sr-about-team__card::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 6.8rem;
	height: 0.16rem;
	border-radius: 999px;
	background: linear-gradient(90deg, #006fa8, rgb(0 111 168 / 0));
	content: "";
	transform: translateX(-50%);
}

.sr-about-team__card::after {
	position: absolute;
	top: -3.3rem;
	right: -3.4rem;
	width: 9.75rem;
	height: 9.75rem;
	border-radius: 999px;
	background: radial-gradient(circle, rgb(0 111 168 / 13%), transparent 70%);
	content: "";
	opacity: 0.36;
	transition:
		opacity 280ms ease,
		transform 280ms ease;
}

.sr-about-team__card > * {
	position: relative;
	z-index: 1;
}

.sr-about-team__avatar {
	display: flex;
	width: 6.8rem;
	height: 6.8rem;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.15rem;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(237 249 253 / 90%)),
		radial-gradient(circle at 34% 22%, rgb(253 209 0 / 14%), transparent 58%);
	box-shadow:
		0 0.68rem 1.45rem rgb(0 111 168 / 9%),
		0 0 0 0.34rem rgb(253 209 0 / 5%),
		inset 0 1px 0 rgb(255 255 255 / 92%);
	transition:
		border-color 280ms ease,
		box-shadow 280ms ease,
		transform 280ms ease;
}

.sr-about-team__human-icon,
.sr-about-team__human-icon svg,
.sr-about-team__avatar img {
	display: block;
}

.sr-about-team__avatar img {
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
	object-position: center;
}

.sr-about-team__human-icon svg {
	width: 3.35rem;
	height: 3.35rem;
	fill: none;
	stroke: #006fa8;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.sr-about-team__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-width: 0;
}

.sr-about-team__card h3 {
	margin: 0 0 0.45rem;
	color: #04324c;
	font-family: inherit;
	font-size: clamp(1.12rem, 1.5vw, 1.3rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.2;
	transition: color 280ms ease;
}

.sr-about-team__position {
	margin: 0;
	color: #526a75;
	font-size: 0.95rem;
	line-height: 1.48;
}

.sr-about-team__divider {
	width: min(9rem, 64%);
	height: 1px;
	margin: 1rem auto 0.9rem;
	background: linear-gradient(90deg, rgb(0 111 168 / 0), rgb(0 111 168 / 20%), rgb(253 209 0 / 22%), rgb(0 111 168 / 0));
}

.sr-about-team__expertise {
	display: grid;
	gap: 0.3rem;
	margin: 0;
	color: #526a75;
	font-size: 0.9rem;
	line-height: 1.55;
}

.sr-about-team__expertise span {
	color: #006fa8;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
	.sr-about-team__card:hover,
	.sr-about-team__card:focus-within {
		border-color: rgb(0 111 168 / 34%);
		box-shadow:
			0 1.25rem 2.85rem rgb(4 50 76 / 11%),
			0 0 0 1px rgb(0 111 168 / 8%);
		transform: translateY(-3px);
	}

	.sr-about-team__card:hover::after,
	.sr-about-team__card:focus-within::after {
		opacity: 1;
		transform: scale(1.1);
	}

	.sr-about-team__card:hover .sr-about-team__avatar,
	.sr-about-team__card:focus-within .sr-about-team__avatar {
		border-color: rgb(0 111 168 / 30%);
		box-shadow:
			0 0.82rem 1.65rem rgb(0 111 168 / 12%),
			0 0 0 0.35rem rgb(253 209 0 / 7%);
		transform: translateY(-1px) scale(1.025);
	}

	.sr-about-team__card:hover h3,
	.sr-about-team__card:focus-within h3 {
		color: #006fa8;
	}
}

.sr-actions {
  display: flex;
  gap: 14px;
  margin-top: 28px;
}

.sr-btn {
  display: inline-flex;
  padding: 14px 22px;
  border-radius: 999px;
  background: #006fa8;
  color: #fff;
  font-weight: 700;
}

.sr-btn-light {
  background: #fff;
  color: #006fa8;
  border: 1px solid #006fa8;
}

.sr-btn-gold {
  background: #fdd100;
  color: #1f1600;
}

.sr-hero-card,
.sr-card {
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 16px 40px rgba(15, 81, 50, .08);
}

.sr-section {
  padding: 88px 0;
}

.sr-soft {
  background: #f8f9fa;
}

.sr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 32px;
}

.sr-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 18px;
}

.sr-card h3 {
  margin-bottom: 10px;
}

.sr-card a {
  color: #006fa8;
  font-weight: 700;
}

.sr-about-portfolio {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding-block: clamp(4.15rem, 6.8vw, 5.45rem);
	background:
		radial-gradient(circle at 12% 18%, rgb(0 111 168 / 6%), transparent 25rem),
		radial-gradient(circle at 88% 24%, rgb(253 209 0 / 5%), transparent 22rem),
		linear-gradient(180deg, #f1f9fc 0%, #fbfdfe 48%, #fff 100%);
}

.sr-about-portfolio,
.sr-about-portfolio * {
	font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-about-portfolio__inner {
	display: grid;
	min-width: 0;
	gap: clamp(2rem, 3.6vw, 3rem);
}

.sr-about-portfolio__heading {
	max-width: 64rem;
	margin-inline: auto;
	text-align: center;
}

.sr-about-portfolio__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0 0 0.82rem;
	color: #006fa8;
	font-size: 0.735rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	line-height: 1.15;
	text-transform: uppercase;
}

.sr-about-portfolio__eyebrow::before {
	flex: 0 0 auto;
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(230 33 41 / 18%);
	border-radius: 999px;
	background: #e62129;
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 8%);
	content: "";
}

.sr-about-portfolio h2 {
	max-width: 64rem;
	margin: 0 auto 0.95rem;
	color: #04324c;
	font-size: clamp(2.25rem, 4vw, 3.15rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	text-wrap: balance;
}

.sr-about-portfolio__title-line {
	display: inline;
}

.sr-about-portfolio__heading p {
	max-width: 45rem;
	margin: 0 auto;
	color: #516875;
	font-size: clamp(1rem, 1.35vw, 1.1rem);
	line-height: 1.68;
}

.sr-about-portfolio__grid {
	display: grid;
	min-width: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.sr-about-portfolio__card {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgb(188 143 36 / 26%);
	border-radius: 1.35rem;
	background: linear-gradient(180deg, rgb(255 255 255 / 98%), rgb(250 253 254 / 94%));
	box-shadow:
		0 1rem 2.4rem rgb(4 50 76 / 9%),
		0 0.2rem 0.75rem rgb(0 111 168 / 5%);
	color: inherit;
	text-decoration: none;
	transform: translateY(0) scale(1);
	transition:
		border-color 240ms ease,
		box-shadow 240ms ease,
		transform 240ms ease;
}

.sr-about-portfolio__card::before {
	position: absolute;
	top: 0;
	right: 0.85rem;
	left: 0.85rem;
	z-index: 2;
	height: 0.125rem;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		rgb(188 143 36 / 0),
		rgb(188 143 36 / 72%),
		rgb(253 209 0 / 54%),
		rgb(188 143 36 / 0)
	);
	content: "";
}

.sr-about-portfolio__media {
	--sr-about-portfolio-media-radius: calc(1.35rem - 8px);

	position: relative;
	display: block;
	overflow: hidden;
	box-sizing: border-box;
	aspect-ratio: 4 / 5;
	padding: 8px 8px 0;
	border-radius: var(--sr-about-portfolio-media-radius) var(--sr-about-portfolio-media-radius) 0 0;
	background: #f6fbfd;
}

.sr-about-portfolio__media img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: var(--sr-about-portfolio-media-radius) var(--sr-about-portfolio-media-radius) 0 0;
	object-fit: cover;
	transition: transform 360ms ease;
}

.sr-about-portfolio__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: 0;
	padding: clamp(0.86rem, 1.25vw, 1rem) clamp(0.86rem, 1.25vw, 1rem) 0.78rem;
}

.sr-about-portfolio__category {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	min-height: 1.62rem;
	align-items: center;
	padding: 0.32rem 0.56rem;
	border: 1px solid rgb(188 143 36 / 24%);
	border-radius: 999px;
	background: rgb(253 209 0 / 10%);
	color: #04324c;
	font-size: clamp(0.58rem, 0.72vw, 0.66rem);
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.15;
	text-transform: uppercase;
	white-space: nowrap;
}

.sr-about-portfolio__title {
	display: block;
	min-width: 0;
	margin-top: 0.55rem;
	color: #04324c;
	font-size: clamp(0.9rem, 1.1vw, 1.02rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.18;
	overflow-wrap: anywhere;
}

.sr-about-portfolio__meta {
	display: grid;
	width: 100%;
	min-width: 0;
	gap: 0.48rem;
	margin-top: 0.58rem;
}

.sr-about-portfolio__meta::after {
	display: block;
	width: 100%;
	height: 1px;
	margin-top: 0.4rem;
	background: rgb(188 143 36 / 16%);
	content: "";
}

.sr-about-portfolio__service-label {
	display: block;
	color: #607786;
	font-size: clamp(0.55rem, 0.66vw, 0.62rem);
	font-weight: 900;
	letter-spacing: 0.11em;
	line-height: 1.15;
	text-transform: uppercase;
}

.sr-about-portfolio__service-list {
	display: flex;
	width: 100%;
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.sr-about-portfolio__meta-action {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: 0.48rem;
}

.sr-about-portfolio__service-category {
	display: flex;
	width: 100%;
	max-width: none;
	min-height: 2.25rem;
	align-items: center;
	align-self: stretch;
	justify-content: center;
	box-sizing: border-box;
	padding: 0.375rem 0.75rem;
	border: 1px solid rgb(0 111 168 / 16%);
	border-radius: 999px;
	background: linear-gradient(180deg, rgb(245 251 253 / 94%), rgb(235 247 252 / 90%));
	box-shadow:
		inset 0 0 0 1px rgb(188 143 36 / 8%),
		0 0.35rem 0.85rem rgb(4 50 76 / 5%);
	color: #04324c;
	font-size: clamp(0.78rem, 0.88vw, 0.9rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.2;
	overflow-wrap: anywhere;
	text-align: center;
}

.sr-about-portfolio__service-text {
	min-width: 0;
	color: #04324c;
	line-height: 1.18;
	overflow-wrap: normal;
	text-align: center;
	white-space: nowrap;
}

.sr-about-portfolio__product-link {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	align-items: center;
	gap: 0.34rem;
	margin-top: auto;
	padding: 0.62rem 0.12rem 0;
	color: #006fa8;
	font-size: clamp(0.78rem, 0.88vw, 0.9rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.15;
	text-decoration: none;
	transition:
		color 240ms ease,
		transform 240ms ease;
}

.sr-about-portfolio__product-link-icon {
	display: inline-flex;
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	transition: transform 240ms ease;
}

.sr-about-portfolio__product-link-icon svg {
	display: block;
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.15;
}

.sr-about-portfolio__actions {
	display: flex;
	justify-content: center;
}

.sr-about-portfolio__cta {
	display: inline-grid;
	min-height: 3.25rem;
	grid-template-columns: minmax(0, auto) 2.2rem;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	padding: 0.52rem 0.64rem 0.52rem 1.25rem;
	border: 1px solid rgb(253 209 0 / 42%);
	border-radius: 999px;
	background: linear-gradient(135deg, #04324c 0%, #006fa8 64%, #008fd7 100%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 20%),
		0 0.85rem 1.75rem rgb(0 111 168 / 18%),
		0 0 0 1px rgb(253 209 0 / 7%);
	color: #fff;
	font-size: 0.94rem;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	transition:
		border-color 240ms ease,
		box-shadow 240ms ease,
		transform 240ms ease;
}

.sr-about-portfolio__cta:focus-visible,
.sr-about-portfolio__product-link:focus-visible {
	outline: 3px solid rgb(253 209 0 / 55%);
	outline-offset: 4px;
}

.sr-about-portfolio__cta-icon {
	display: inline-flex;
	width: 2.2rem;
	height: 2.2rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgb(255 255 255 / 15%);
	color: #fdd100;
	transition:
		background-color 240ms ease,
		transform 240ms ease;
}

.sr-about-portfolio__cta-icon svg {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.15;
}

.sr-about-portfolio__product-link:active,
.sr-about-portfolio__cta:active {
	transform: scale(0.985);
}

@media (hover: hover) and (pointer: fine) {
	.sr-about-portfolio__card:hover {
		border-color: rgb(188 143 36 / 42%);
		box-shadow:
			0 1.15rem 2.55rem rgb(4 50 76 / 12%),
			0 0.4rem 1.05rem rgb(0 111 168 / 7%);
		transform: translateY(-0.18rem);
	}

	.sr-about-portfolio__card:hover .sr-about-portfolio__media img {
		transform: scale(1.025);
	}

	.sr-about-portfolio__product-link:hover,
	.sr-about-portfolio__product-link:focus-visible {
		color: #04324c;
	}

	.sr-about-portfolio__product-link:hover .sr-about-portfolio__product-link-icon,
	.sr-about-portfolio__product-link:focus-visible .sr-about-portfolio__product-link-icon {
		transform: translateX(3px);
	}

	.sr-about-portfolio__cta:hover,
	.sr-about-portfolio__cta:focus-visible {
		border-color: rgb(253 209 0 / 62%);
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 24%),
			0 1rem 2rem rgb(0 111 168 / 22%),
			0 0 0 1px rgb(253 209 0 / 12%);
		transform: translateY(-0.08rem);
	}

	.sr-about-portfolio__cta:hover .sr-about-portfolio__cta-icon,
	.sr-about-portfolio__cta:focus-visible .sr-about-portfolio__cta-icon {
		background: rgb(255 255 255 / 20%);
		transform: translateX(3px);
	}
}

@media (max-width: 74.999rem) {
	.sr-about-portfolio__title-line {
		display: block;
	}

	.sr-about-portfolio__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
	.sr-about-portfolio__grid {
		gap: 1.125rem;
	}
}

@media (max-width: 47.999rem) {
	.sr-about-portfolio {
		padding-block: clamp(3.5rem, 12vw, 4.5rem);
	}

	.sr-about-portfolio__inner {
		gap: 1.55rem;
	}

	.sr-about-portfolio__heading {
		max-width: 100%;
	}

	.sr-about-portfolio__eyebrow {
		margin-bottom: 0.7rem;
	}

	.sr-about-portfolio h2 {
		max-width: 22rem;
		margin-bottom: 0.82rem;
		font-size: clamp(1.66rem, 7.25vw, 1.86rem);
		line-height: 1.08;
	}

	.sr-about-portfolio__title-line {
		white-space: nowrap;
	}

	.sr-about-portfolio__heading p {
		font-size: 0.98rem;
		line-height: 1.62;
	}

	.sr-about-portfolio__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.sr-about-portfolio__card {
		border-radius: 1.05rem;
	}

	.sr-about-portfolio__card::before {
		right: 0.64rem;
		left: 0.64rem;
	}

	.sr-about-portfolio__media {
		--sr-about-portfolio-media-radius: calc(1.05rem - 6px);

		padding: 6px 6px 0;
	}

	.sr-about-portfolio__content {
		padding: 0.7rem 0.45rem 0.64rem;
	}

	.sr-about-portfolio__category {
		min-height: 1.46rem;
		padding: 0.28rem 0.46rem;
		font-size: 0.54rem;
		letter-spacing: 0.06em;
	}

	.sr-about-portfolio__title {
		margin-top: 0.48rem;
		font-size: 0.84rem;
		line-height: 1.18;
	}

	.sr-about-portfolio__meta {
		gap: 0.42rem;
		margin-top: 0.52rem;
	}

	.sr-about-portfolio__meta::after {
		margin-top: 0.38rem;
	}

	.sr-about-portfolio__service-label {
		font-size: 0.52rem;
		letter-spacing: 0.1em;
	}

	.sr-about-portfolio__service-category {
		min-height: 2.25rem;
		padding: 0.375rem 0.75rem;
		font-size: 0.76rem;
		line-height: 1.2;
	}

	.sr-about-portfolio__product-link {
		gap: 0.3rem;
		padding-top: 0.58rem;
		font-size: 0.78rem;
	}

	.sr-about-portfolio__cta {
		width: 100%;
		max-width: 22rem;
		min-height: 3.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sr-about-portfolio *,
	.sr-about-portfolio *::before,
	.sr-about-portfolio *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}

	.sr-about-portfolio__card:hover,
	.sr-about-portfolio__card:hover .sr-about-portfolio__media img,
	.sr-about-portfolio__product-link:active,
	.sr-about-portfolio__product-link:hover .sr-about-portfolio__product-link-icon,
	.sr-about-portfolio__product-link:focus-visible .sr-about-portfolio__product-link-icon,
	.sr-about-portfolio__cta:hover,
	.sr-about-portfolio__cta:focus-visible,
	.sr-about-portfolio__cta:active,
	.sr-about-portfolio__cta:hover .sr-about-portfolio__cta-icon,
	.sr-about-portfolio__cta:focus-visible .sr-about-portfolio__cta-icon {
		transform: none;
	}
}

.p-portfolio-archive__content.sr-about-portfolio .p-portfolio-archive__showcase-stack {
	display: grid;
	min-width: 0;
	gap: clamp(1rem, 2vw, 1.35rem);
}

.p-portfolio-archive__content.sr-about-portfolio .p-portfolio-archive__filters ul {
	justify-content: center;
}

.sr-final-cta {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding-block: clamp(4.55rem, 7.6vw, 6.1rem);
	background:
		radial-gradient(circle at 13% 18%, rgb(253 209 0 / 11%), transparent 18rem),
		radial-gradient(circle at 88% 20%, rgb(255 255 255 / 8%), transparent 21rem),
		radial-gradient(circle at 72% 92%, rgb(0 143 215 / 16%), transparent 23rem),
		linear-gradient(135deg, #03283d 0%, #005a88 52%, #04324c 100%);
	color: #fff;
	font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-final-cta,
.sr-final-cta * {
	font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-final-cta::before,
.sr-final-cta::after {
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	content: "";
	pointer-events: none;
}

.sr-final-cta::before {
	top: -8rem;
	right: 7%;
	width: min(24rem, 54vw);
	height: min(24rem, 54vw);
	border: 1px solid rgb(255 255 255 / 14%);
	background:
		linear-gradient(135deg, rgb(255 255 255 / 16%), rgb(255 255 255 / 3%)),
		radial-gradient(circle at 34% 34%, rgb(255 255 255 / 18%), transparent 11rem);
	opacity: 0.68;
}

.sr-final-cta::after {
	bottom: -7.5rem;
	left: 4%;
	width: min(20rem, 62vw);
	height: min(20rem, 62vw);
	background: rgb(253 209 0 / 11%);
	filter: blur(34px);
	opacity: 0.72;
}

.sr-final-cta__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
	gap: clamp(2rem, 4.6vw, 4.25rem);
	align-items: center;
}

.sr-final-cta__grid::before {
	position: absolute;
	top: 9%;
	left: 48%;
	z-index: -1;
	width: 7.5rem;
	height: 7.5rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 999px;
	background: rgb(255 255 255 / 7%);
	content: "";
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%);
	opacity: 0.62;
}

.sr-final-cta__content {
	max-width: 44rem;
}

.sr-final-cta__eyebrow {
	display: inline-flex;
	margin: 0 0 0.9rem;
	color: #fdd100;
	text-transform: uppercase;
}

.sr-final-cta__eyebrow::before {
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(255 255 255 / 18%);
	border-radius: 999px;
	background: #e62129;
	content: "";
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 12%);
}

.sr-final-cta h2 {
	max-width: 40rem;
	margin: 0;
	color: #fff;
	font-size: clamp(2.55rem, 4vw, 4.15rem);
	font-weight: 850;
	letter-spacing: -0.018em;
	line-height: 1.02;
}

.sr-final-cta__heading-line {
	display: inline;
}

.sr-final-cta__description {
	max-width: 39rem;
	margin: 1.05rem 0 0;
	color: rgb(255 255 255 / 80%);
	font-size: clamp(1.02rem, 1.4vw, 1.18rem);
	line-height: 1.66;
}

.sr-final-cta__button {
	position: relative;
	display: inline-grid;
	min-height: 3.5rem;
	margin-top: 1.75rem;
	padding: 0.55rem 0.65rem 0.55rem 0.72rem;
	grid-template-columns: 2.35rem minmax(0, auto) 2.35rem;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 999px;
	background: linear-gradient(135deg, #ffe066 0%, #fdd100 48%, #d6a20f 100%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 42%),
		0 0.85rem 1.9rem rgb(253 209 0 / 16%),
		0 0.45rem 1.1rem rgb(0 0 0 / 12%);
	color: #241900;
	font-size: 0.95rem;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}

.sr-final-cta__button:focus-visible {
	outline: 3px solid rgb(255 255 255 / 70%);
	outline-offset: 4px;
}

.sr-final-cta__button-icon,
.sr-final-cta__button-arrow {
	display: inline-flex;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	align-items: center;
	justify-content: center;
	background: rgb(255 255 255 / 38%);
	color: #04324c;
	transition: background-color 240ms ease, color 240ms ease, transform 240ms ease;
}

.sr-final-cta__button-icon svg {
	width: 1rem;
	height: 1rem;
	fill: currentColor;
}

.sr-final-cta__button-arrow {
	line-height: 0;
}

.sr-final-cta__button-arrow svg {
	display: block;
	width: 1.3rem;
	height: 1.3rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.15;
}

.sr-final-cta__button:active .sr-final-cta__button-arrow {
	transform: scale(0.96);
}

.sr-final-cta__trust,
.sr-final-cta__outputs {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sr-final-cta__trust {
	display: flex;
	margin-top: 1.15rem;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.sr-final-cta__trust li,
.sr-final-cta__outputs li {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.sr-final-cta__trust li {
	min-height: 2.55rem;
	padding: 0.56rem 0.8rem;
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: 999px;
	background: rgb(255 255 255 / 8%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%);
	color: rgb(255 255 255 / 82%);
	font-size: 0.86rem;
	font-weight: 800;
	backdrop-filter: blur(10px);
}

.sr-final-cta__trust li::before,
.sr-final-cta__outputs li::before {
	display: inline-block;
	width: 0.64rem;
	height: 0.38rem;
	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
	content: "";
	transform: rotate(-45deg) translateY(-1px);
}

.sr-final-cta__output-card {
	position: relative;
	overflow: hidden;
	padding: clamp(1.5rem, 2.7vw, 2.05rem);
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 1.65rem;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 18%) 0%, rgb(255 255 255 / 10%) 48%, rgb(255 255 255 / 7%) 100%),
		radial-gradient(circle at 18% 14%, rgb(253 209 0 / 15%), transparent 11rem),
		radial-gradient(circle at 88% 86%, rgb(0 143 215 / 18%), transparent 12rem);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 28%),
		inset 0 -1rem 2.15rem rgb(4 50 76 / 12%),
		0 1.55rem 3.6rem rgb(0 0 0 / 22%),
		0 0.55rem 1.35rem rgb(0 143 215 / 10%),
		0 0 0 1px rgb(255 255 255 / 6%);
	backdrop-filter: blur(16px);
	transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
}

.sr-final-cta__output-card::before {
	position: absolute;
	top: -4.5rem;
	right: -3.5rem;
	width: 12rem;
	height: 12rem;
	border-radius: 999px;
	background:
		radial-gradient(circle at 36% 34%, rgb(255 255 255 / 28%), rgb(255 255 255 / 8%) 58%, transparent 72%);
	content: "";
	filter: blur(1px);
	opacity: 0.72;
}

.sr-final-cta__output-card::after {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	width: 4.6rem;
	height: 4.6rem;
	border: 1px solid rgb(253 209 0 / 24%);
	border-radius: 999px;
	content: "";
	box-shadow:
		0 0 1.4rem rgb(253 209 0 / 10%),
		inset 0 1px 0 rgb(255 255 255 / 16%);
	opacity: 0.72;
}

.sr-final-cta__card-kicker {
	position: relative;
	margin: 0 0 0.55rem;
	color: #fdd100;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.sr-final-cta .sr-final-cta__output-card h3 {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	color: #fff;
	font-size: clamp(1.45rem, 2vw, 1.9rem);
	font-weight: 850;
	letter-spacing: -0.015em;
	line-height: 1.06;
	white-space: nowrap;
}

.sr-final-cta__output-card h3::after {
	display: block;
	width: 4.6rem;
	height: 0.18rem;
	margin-top: 1rem;
	border-radius: 999px;
	background: linear-gradient(90deg, #fdd100, rgb(255 255 255 / 0%));
	content: "";
	box-shadow: 0 0 1rem rgb(253 209 0 / 22%);
}

.sr-final-cta__outputs {
	position: relative;
	display: grid;
	margin-top: 1.35rem;
	gap: 0.68rem;
}

.sr-final-cta__outputs li {
	overflow: hidden;
	min-height: 3rem;
	padding: 0.7rem 0.82rem;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 0.85rem;
	background:
		linear-gradient(135deg, rgb(255 255 255 / 13%), rgb(255 255 255 / 8%)),
		rgb(255 255 255 / 8%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 17%),
		0 0.55rem 1.2rem rgb(0 0 0 / 5%);
	color: rgb(255 255 255 / 86%);
	font-size: 0.94rem;
	font-weight: 850;
	transition: background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease, color 240ms ease, transform 240ms ease;
}

.sr-final-cta__outputs li::before {
	position: relative;
	z-index: 1;
	color: #fdd100;
	filter: drop-shadow(0 0 0.45rem rgb(253 209 0 / 24%));
}

.sr-final-cta__outputs li::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 0%, rgb(255 255 255 / 18%) 42%, transparent 62%);
	content: "";
	opacity: 0;
	transform: translateX(-80%);
	transition: opacity 240ms ease, transform 520ms ease;
	pointer-events: none;
}

.is-final-cta-motion-ready [data-final-cta-reveal],
.is-final-cta-motion-ready [data-final-cta-card] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 620ms ease, transform 620ms ease;
}

.is-final-cta-motion-ready [data-final-cta-card] {
	transform: translateY(24px) scale(0.98);
}

.is-final-cta-motion-ready [data-final-cta-reveal].is-visible,
.is-final-cta-motion-ready [data-final-cta-card].is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.sr-final-cta *,
	.sr-final-cta *::before,
	.sr-final-cta *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.sr-final-cta__button:hover .sr-final-cta__button-arrow,
	.sr-final-cta__button:focus-visible .sr-final-cta__button-arrow,
	.sr-final-cta__button:active .sr-final-cta__button-arrow {
		transform: none;
	}
}

@media (hover: hover) and (pointer: fine) {
	.sr-final-cta__button:hover,
	.sr-final-cta__button:focus-visible {
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 54%),
			0 1rem 2.2rem rgb(253 209 0 / 21%),
			0 0.55rem 1.25rem rgb(0 0 0 / 14%);
		transform: translateY(-2px);
	}

	.sr-final-cta__button:hover .sr-final-cta__button-icon,
	.sr-final-cta__button:focus-visible .sr-final-cta__button-icon {
		background: rgb(255 255 255 / 58%);
		transform: scale(1.035);
	}

	.sr-final-cta__button:hover .sr-final-cta__button-arrow,
	.sr-final-cta__button:focus-visible .sr-final-cta__button-arrow {
		background: rgb(255 255 255 / 58%);
		transform: translateX(3px);
	}

	.sr-final-cta__button:active .sr-final-cta__button-arrow {
		transform: translateX(2px) scale(0.96);
	}

	.sr-final-cta__output-card:hover {
		border-color: rgb(253 209 0 / 42%);
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 38%),
			inset 0 -1rem 2.15rem rgb(4 50 76 / 12%),
			0 1.85rem 4rem rgb(0 0 0 / 24%),
			0 0.72rem 1.6rem rgb(0 143 215 / 13%),
			0 0 0 1px rgb(253 209 0 / 10%);
		transform: translateY(-3px);
	}

	.sr-final-cta__outputs li:hover {
		border-color: rgb(253 209 0 / 26%);
		background:
			linear-gradient(135deg, rgb(255 255 255 / 18%), rgb(255 255 255 / 10%)),
			rgb(255 255 255 / 10%);
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 22%),
			0 0.8rem 1.6rem rgb(0 0 0 / 8%),
			0 0 1.2rem rgb(253 209 0 / 7%);
		color: #fff;
		transform: translateX(4px);
	}

	.sr-final-cta__outputs li:hover::after {
		opacity: 1;
		transform: translateX(80%);
	}
}

@keyframes srFinalCtaCardOrb {
	0%,
	100% {
		opacity: 0.78;
		transform: translate3d(0, 0, 0) scale(1);
	}

	50% {
		opacity: 1;
		transform: translate3d(-0.8rem, 0.55rem, 0) scale(1.06);
	}
}

@keyframes srFinalCtaCardRing {
	0%,
	100% {
		opacity: 0.68;
		transform: translate3d(0, 0, 0) scale(1);
	}

	50% {
		opacity: 0.92;
		transform: translate3d(-0.35rem, -0.25rem, 0) scale(1.08);
	}
}

@media (max-width: 900px) {
  .sr-hero-grid,
  .sr-grid {
    grid-template-columns: 1fr;
  }

  .sr-hero {
    padding: 64px 0;
  }

  .sr-section {
    padding: 64px 0;
  }

  .sr-about-authority__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sr-about-authority__grid::before {
    display: none;
  }

  .sr-about-authority__card:nth-child(3) {
    width: 100%;
    justify-self: stretch;
    grid-column: auto;
  }

  .sr-about-compliance__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sr-about-compliance__card:nth-child(3) {
    width: 100%;
    justify-self: stretch;
    grid-column: auto;
  }

  .sr-about-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sr-about-team__card:nth-child(3) {
    width: calc((100% - var(--about-team-gap)) / 2);
    justify-self: center;
    grid-column: 1 / -1;
  }

  .sr-final-cta__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .sr-final-cta__content,
  .sr-final-cta h2,
  .sr-final-cta__description {
    max-width: 100%;
  }

  .sr-final-cta__output-card {
    max-width: 36rem;
  }
}

@media (max-width: 47.999rem) {
	.sr-about-authority {
		padding-block: clamp(3.5rem, 12vw, 4.5rem);
	}

	.sr-about :is(.sr-about-hero__eyebrow, .sr-about-authority__eyebrow, .sr-about-compliance__eyebrow, .sr-about-team__eyebrow, .sr-about-portfolio__eyebrow),
	.sr-final-cta__eyebrow {
		gap: 0.45rem;
		font-size: 0.68rem;
		letter-spacing: 0.11em;
		line-height: 1.25;
	}

	.sr-final-cta {
		padding-block: clamp(3.75rem, 13vw, 4.75rem);
	}

	.sr-final-cta__grid {
		gap: 1.55rem;
		text-align: center;
	}

	.sr-final-cta__grid::before {
		top: 41%;
		left: auto;
		right: -2.5rem;
		width: 5.5rem;
		height: 5.5rem;
	}

	.sr-final-cta__content {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
	}

	.sr-final-cta h2 {
		font-size: clamp(2.15rem, 11vw, 3rem);
		line-height: 1.04;
	}

	.sr-final-cta__heading-line {
		display: block;
	}

	.sr-final-cta__description {
		font-size: 1rem;
		line-height: 1.62;
	}

	.sr-final-cta__button {
		width: 100%;
		max-width: 22rem;
		min-height: 3.35rem;
		grid-template-columns: 2.2rem minmax(0, 1fr) 2.2rem;
		font-size: 0.9rem;
	}

	.sr-final-cta__button-icon,
	.sr-final-cta__button-arrow {
		width: 2.2rem;
		height: 2.2rem;
	}

	.sr-final-cta__trust {
		justify-content: center;
		gap: 0.55rem;
	}

	.sr-final-cta__trust li {
		padding: 0.56rem 0.72rem;
		font-size: 0.78rem;
	}

	.sr-final-cta__output-card {
		width: 100%;
		padding: 1.35rem;
		border-radius: 1.55rem;
		text-align: left;
	}

	.sr-final-cta .sr-final-cta__output-card h3 {
		font-size: clamp(1.125rem, 5vw, 1.3rem);
	}

	.sr-final-cta__outputs {
		gap: 0.65rem;
	}

	.sr-final-cta__outputs li {
		min-height: 2.8rem;
		font-size: 0.92rem;
	}

	.sr-about-authority::before,
	.sr-about-authority::after {
		width: 13rem;
		height: 13rem;
		opacity: 0.26;
	}

	.sr-about-authority h2 {
		font-size: clamp(2.1rem, 10vw, 2.6rem);
	}

	.sr-about-authority__intro p:not(.sr-about-authority__eyebrow) {
		font-size: 1rem;
		line-height: 1.55;
		margin: 0;
		overflow-wrap: break-word;
		text-align: left;
	}

	.sr-about-authority__intro h2 + p:not(.sr-about-authority__eyebrow) {
		margin-top: 26px;
	}

	.sr-about-authority__intro p:not(.sr-about-authority__eyebrow) + p {
		margin-top: 20px;
	}

	.sr-about-authority__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.sr-about-authority__card {
		min-height: auto;
		padding: 1rem;
		border-radius: 1.35rem;
	}

	.sr-about-authority__card:nth-child(3) {
		width: 100%;
		justify-self: stretch;
		grid-column: auto;
	}

	.sr-about-authority__main {
		grid-template-columns: minmax(5.8rem, 0.3fr) minmax(0, 0.7fr);
		gap: 0.78rem;
		align-items: center;
	}

	.sr-about-authority .sr-about-authority__visual {
		width: 100%;
		height: clamp(6.45rem, 29vw, 7.45rem);
		border-radius: 1.12rem;
	}

	.sr-about-authority .sr-about-authority__visual svg {
		width: var(--authority-icon-size-mobile, var(--authority-icon-size, 4.55rem));
		height: var(--authority-icon-size-mobile, var(--authority-icon-size, 4.55rem));
	}

	.sr-about-authority__top-row {
		gap: 0.58rem;
		margin-bottom: 0.55rem;
	}

	.sr-about-authority__accent-line {
		height: 0.1rem;
	}

	.sr-about-authority__step {
		width: 2.5rem;
		height: 2.5rem;
		font-size: 0.76rem;
	}

	.sr-about-authority__card h3 {
		max-width: 100%;
		margin-bottom: 0.36rem;
		font-size: clamp(0.94rem, 4.2vw, 1.05rem);
		line-height: 1.18;
	}

	.sr-about-authority__card p {
		font-size: 0.8rem;
		line-height: 1.42;
	}

	.sr-about-compliance {
		padding-block: clamp(3.5rem, 12vw, 4.5rem);
	}

	.sr-about-compliance::before,
	.sr-about-compliance::after {
		width: 13rem;
		height: 13rem;
		opacity: 0.25;
	}

	.sr-about-compliance h2 {
		max-width: none;
		font-size: clamp(1.5rem, 6.35vw, 1.9rem);
		line-height: 1.08;
		white-space: nowrap;
	}

	.sr-about-compliance__heading p {
		font-size: 1rem;
		line-height: 1.68;
	}

	.sr-about-compliance__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.sr-about-compliance__card {
		min-height: auto;
		padding: 1rem;
		border-radius: 1.35rem;
	}

	.sr-about-compliance__card:nth-child(3) {
		width: 100%;
		justify-self: stretch;
		grid-column: auto;
	}

	.sr-about-compliance__main {
		grid-template-columns: minmax(6.35rem, 0.34fr) minmax(0, 0.66fr);
		gap: 0.76rem;
		align-items: center;
	}

	.sr-about-compliance__content {
		padding-top: 0.64rem;
	}

	.sr-about-compliance__content::before {
		width: min(100%, 9.75rem);
		height: 0.1rem;
	}

	.sr-about-compliance__mark {
		width: 100%;
		height: clamp(7.05rem, 31vw, 7.8rem);
		margin: 0;
		border-radius: 1.12rem;
	}

	.sr-about-compliance__mark img {
		max-width: 82%;
		max-height: 74%;
	}

	.sr-about-compliance__card--halal .sr-about-compliance__mark img {
		max-width: 82%;
		max-height: 78%;
	}

	.sr-about-compliance__card--bpom .sr-about-compliance__mark img {
		max-width: 74%;
		max-height: 76%;
	}

	.sr-about-compliance__mark svg {
		width: 3.5rem;
		height: 3.5rem;
	}

	.sr-about-compliance__badge {
		max-width: 100%;
		min-height: 1.55rem;
		margin: 0.55rem 0 0.5rem;
		padding: 0.28rem 0.54rem;
		font-size: 0.55rem;
		letter-spacing: 0.095em;
	}

	.sr-about-compliance__card h3 {
		max-width: 100%;
		margin-bottom: 0.42rem;
		font-size: clamp(0.92rem, 4.1vw, 1.04rem);
		line-height: 1.14;
	}

	.sr-about-compliance__card p {
		max-width: 100%;
		margin: 0;
		font-size: 0.78rem;
		line-height: 1.42;
	}

	.sr-about-compliance__divider {
		margin: 0.82rem 0 0.72rem;
	}

	.sr-about-compliance__cta {
		min-height: 3.25rem;
		padding: 0.34rem 0.36rem 0.34rem 0.92rem;
		font-size: 0.84rem;
	}

	.sr-about-compliance__arrow {
		width: 2.1rem;
		height: 2.1rem;
	}

	.sr-about-team {
		padding-block: clamp(3.5rem, 12vw, 4.5rem);
	}

	.sr-about-team::before,
	.sr-about-team::after {
		width: 13rem;
		height: 13rem;
		opacity: 0.25;
	}

	.sr-about-team h2 {
		font-size: clamp(2rem, 9vw, 2.55rem);
	}

	.sr-about-team__heading p {
		font-size: 1rem;
		line-height: 1.68;
	}

	.sr-about-team__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.sr-about-team__card {
		min-height: auto;
		padding: 1.35rem;
		border-radius: 1.35rem;
	}

	.sr-about-team__card:nth-child(3) {
		width: 100%;
		justify-self: stretch;
		grid-column: auto;
	}

	.sr-about-team__avatar {
		width: 6.5rem;
		height: 6.5rem;
	}

	.sr-about-team__human-icon svg {
		width: 3.25rem;
		height: 3.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sr-about-authority.is-authority-motion-ready [data-authority-reveal],
	.sr-about-authority.is-authority-motion-ready [data-authority-card],
	.sr-about-authority__card,
	.sr-about-authority__card::after,
	.sr-about-authority__step,
	.sr-about-authority__visual {
		transition: none;
	}

	.sr-about-compliance.is-compliance-motion-ready [data-compliance-reveal],
	.sr-about-compliance.is-compliance-motion-ready [data-compliance-card],
	.sr-about-compliance__card,
	.sr-about-compliance__card::after,
	.sr-about-compliance__mark,
	.sr-about-compliance__cta,
	.sr-about-compliance__arrow {
		transition: none;
	}

	.sr-about-team__card,
	.sr-about-team__card::after,
	.sr-about-team__avatar {
		transition: none;
	}
}

@media (min-width: 56rem) {
	.sr-about-hero__grid {
		grid-template-columns: minmax(0, 1.13fr) minmax(20rem, 0.87fr);
	}
}

@media (min-width: 75rem) {
	.sr-about-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(20rem, 30.25rem);
		gap: 3rem;
	}

	.sr-about-hero h1 {
		max-width: min(100%, 40.5rem);
		font-size: 3.33rem;
		line-height: 1.02;
	}

}

@media (max-width: 74.999rem) {
	.sr-about-hero h1 {
		font-size: clamp(2.1rem, 4.1vw, 2.625rem);
		line-height: 1.02;
	}
}

@media (max-width: 55.999rem) {
	.sr-about-hero {
		padding-block: clamp(3.75rem, 10vw, 5.25rem);
	}

	.sr-about-hero::before {
		top: 38%;
		right: -20%;
		opacity: 0.72;
	}

	.sr-about-hero__grid {
		gap: 2.25rem;
	}

	.sr-about-hero__content {
		max-width: 100%;
	}

	.sr-about-hero h1 {
		max-width: min(100%, 38rem);
		font-size: clamp(2.05rem, 5.1vw, 2.45rem);
		line-height: 1.02;
	}

	.sr-about-hero__lead {
		max-width: 42rem;
	}

	.sr-about-hero__visual {
		aspect-ratio: 16 / 11;
		border-radius: 1.5rem;
	}
}

@media (max-width: 35rem) {
	.sr-about-hero {
		padding-block: 3.5rem;
	}

	.sr-about-hero__eyebrow {
		font-size: 0.68rem;
		letter-spacing: 0.12em;
	}

	.sr-about-hero h1 {
		max-width: 100%;
		margin-bottom: 1rem;
		font-size: clamp(1.84rem, 7.55vw, 2.05rem);
		line-height: 1.02;
	}

	.sr-about-hero h1 span {
		white-space: normal;
	}

	.sr-about-hero__lead {
		font-size: 1rem;
		line-height: 1.64;
	}

	.sr-about-hero__cta {
		width: 100%;
		justify-content: center;
	}

	.sr-about-hero__visual {
		aspect-ratio: 4 / 3;
		border-radius: 1.35rem;
	}

	.sr-about-hero__chip {
		right: 0.85rem;
		bottom: 0.85rem;
		max-width: calc(100% - 1.7rem);
		padding: 0.52rem 0.72rem;
		font-size: 0.64rem;
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sr-about-hero__cta,
	.sr-about-hero__cta span:last-child,
	.sr-about-hero__visual,
	.sr-about-hero__visual img {
		transition: none;
	}

	.sr-about-hero__cta:hover,
	.sr-about-hero__cta:focus-visible,
	.sr-about-hero__visual:hover,
	.sr-about-hero__visual:hover img {
		transform: none;
	}
}

/* Premium homepage readiness panel and compact trust strip. */
.sr-home-premium .sr-home-premium__hero-panel {
	padding: clamp(2rem, 4vw, 2.5rem);
	border: 1px solid rgb(253 209 0 / 30%);
	border-radius: 2rem;
	background: #04324c;
	color: #f4faf6;
}

.sr-home-premium .sr-home-premium__hero-panel::after {
	background: rgb(253 209 0 / 24%);
}

.sr-home-premium .sr-home-premium__hero-panel h2 {
	margin: 0;
	color: #fff;
	line-height: 1.2;
}

.sr-home-premium .sr-home-premium__hero-panel .sr-home-premium__panel-badge {
	padding: 0.55rem 0.9rem;
	margin-bottom: 1.25rem;
	border-color: #e1b33b;
	background: #fdd100;
	color: #332c2b;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.sr-home-premium .sr-home-premium__readiness-list {
	margin-top: 1.75rem;
	gap: 0.75rem;
}

.sr-home-premium .sr-home-premium__readiness-list li {
	padding: 1rem 1.125rem;
	border-color: rgb(255 255 255 / 14%);
	background: rgb(255 255 255 / 8%);
	align-items: center;
	gap: 1rem;
}

.sr-home-premium .sr-home-premium__readiness-list span {
	min-width: 1.75rem;
	color: #fdd100;
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.sr-home-premium .sr-home-premium__readiness-list p {
	margin: 0;
	color: #f4faf6;
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.5;
}

/* Responsive product composition used as the homepage LCP image. */
.sr-home-premium .sr-home-premium__hero-media {
	position: relative;
	display: grid;
	min-width: 0;
	margin: 0;
\tplace-items: center;
	isolation: isolate;
}

.sr-home-premium .sr-home-premium__hero-media::before,
.sr-home-premium .sr-home-premium__hero-media::after {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	content: "";
}

.sr-home-premium .sr-home-premium__hero-media::before {
	width: min(36rem, 92%);
	aspect-ratio: 1;
	background: radial-gradient(circle, rgb(0 149 218 / 18%) 0%, rgb(0 149 218 / 7%) 48%, transparent 72%);
}

.sr-home-premium .sr-home-premium__hero-media::after {
	width: min(29rem, 74%);
	aspect-ratio: 1;
	border: 1px solid rgb(253 209 0 / 38%);
}

.sr-home-premium .sr-home-premium__hero-media picture {
	display: block;
	width: 100%;
}

.sr-home-premium .sr-home-premium__hero-media img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 1.5rem 2rem rgb(4 50 76 / 18%));
}

.sr-home-premium .sr-home-premium__trust--compact {
	padding-block: 0;
	border-block: 1px solid #dce7ec;
	background: #fff;
}

.sr-home-premium__trust-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	list-style: none;
}

.sr-home-premium__trust-strip-item {
	display: flex;
	min-height: 12rem;
	padding: 1.5rem 1.25rem;
	color: #332c2b;
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
}

.sr-home-premium__trust-strip-item + .sr-home-premium__trust-strip-item {
	border-left: 1px solid #dce7ec;
}

.sr-home-premium__trust-mark {
	display: flex;
	width: 100%;
	height: 3.75rem;
	margin-bottom: 0.35rem;
	align-items: center;
	justify-content: center;
}

.sr-home-premium__trust-mark img {
	display: block;
	width: auto;
	max-width: 7rem;
	height: auto;
	max-height: 3.5rem;
	object-fit: contain;
}

.sr-home-premium__trust-strip-item--halal .sr-home-premium__trust-mark img {
	max-width: 7.75rem;
	max-height: 3.25rem;
}

.sr-home-premium__trust-mark--icon {
	color: #006fa8;
}

.sr-home-premium__trust-mark--icon svg {
	width: 3.25rem;
	height: 3.25rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sr-home-premium__trust-strip-item > strong {
	display: block;
	color: #04324c;
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.3;
}

.sr-home-premium__trust-description {
	display: block;
	max-width: 15rem;
	color: #5b6f67;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.45;
}

/* Final homepage visual polish. */
body.home .c-site-header .c-site-header__inner {
	min-height: 5rem;
}

body.home .c-site-header .c-site-header__logo .custom-logo {
	width: auto;
	max-width: min(16rem, 62vw);
	height: auto;
	max-height: 3.35rem;
}

body.home .sr-home-premium .sr-home-premium__portfolio-card {
	display: flex;
	height: 100%;
	min-height: 0;
	flex-direction: column;
	background: #fff;
}

body.home .sr-home-premium .sr-home-premium__portfolio-media {
	position: relative;
	inset: auto;
	display: block;
	aspect-ratio: 4 / 3;
	background: #dce9e3;
}

body.home .sr-home-premium .sr-home-premium__portfolio-media img,
body.home .sr-home-premium .sr-home-premium__case-media img {
	display: block;
	width: 100%;
	height: 100%;
	opacity: 1;
	object-fit: cover;
}

body.home .sr-home-premium .sr-home-premium__portfolio-body {
	position: static;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 1.7vw, 1.75rem);
}

body.home .sr-home-premium .sr-home-premium__portfolio-body h3,
body.home .sr-home-premium .sr-home-premium__portfolio-body h3 a {
	color: #04324c;
}

body.home .sr-home-premium .sr-home-premium__portfolio-body > p:last-child {
	color: #615c5a;
}

body.home .sr-home-premium .sr-home-premium__portfolio-body .sr-home-premium__card-meta {
	color: var(--portfolio-accent, #006fa8);
}

@media (max-width: 63.9375rem) {
	body.home .sr-home-premium .sr-home-premium__portfolio-body {
		padding: 1.5rem;
	}
}

@media (max-width: 47.9375rem) {
	body.home .sr-home-premium .sr-home-premium__portfolio-card {
		height: auto;
	}

	body.home .sr-home-premium .sr-home-premium__portfolio-media {
		aspect-ratio: 16 / 11;
	}

	body.home .sr-home-premium .sr-home-premium__portfolio-body {
		padding: 1.25rem;
	}
}

body.home .sr-home-premium .sr-home-premium__final-cta {
	padding-block: clamp(5rem, 8vw, 6.5rem);
}

body.home .sr-home-premium .sr-home-premium__final-cta-inner {
	gap: clamp(2rem, 5vw, 4rem);
}

body.home .sr-home-premium .sr-home-premium__final-cta h2 {
	margin-bottom: 1.25rem;
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
}

body.home .sr-home-premium .sr-home-premium__final-cta-inner p:last-child {
	font-size: 1.05rem;
	line-height: 1.7;
}

body.home .sr-home-premium .sr-home-premium__final-cta .c-button--primary {
	min-height: 3.75rem;
	padding: 1rem 1.75rem;
	font-size: 1rem;
	font-weight: 850;
}

body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button {
	position: relative;
	display: inline-flex;
	min-width: 19rem;
	min-height: 4.5rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #f0c34b;
	border-radius: 999px;
	background: linear-gradient(135deg, #f3c94f 0%, #d99f12 72%, #c98b05 100%);
	box-shadow: 0 1.25rem 2.75rem rgb(0 0 0 / 22%), inset 0 1px 0 rgb(255 255 255 / 48%);
	color: #332c2b;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, filter 220ms ease;
}

/* Premium certifications and authority sections. */
body.home .sr-home-premium .sr-home-premium__certifications {
	position: relative;
	background:
		radial-gradient(circle at 12% 18%, rgb(253 209 0 / 9%), transparent 24%),
		linear-gradient(180deg, #f8fbf9, #fff);
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 68rem;
	margin-inline: auto;
	gap: 1.25rem;
	text-align: left;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item {
	position: relative;
	display: flex;
	min-height: 18rem;
	padding: 1.75rem;
	border: 1px solid #dbe7ed;
	border-radius: 1.5rem;
	flex-direction: column;
	background: rgb(255 255 255 / 92%);
	box-shadow: 0 1rem 2.75rem rgb(4 50 76 / 7%);
	color: #04324c;
	text-decoration: none;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item:hover,
body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item:focus-visible {
	border-color: rgb(0 143 215 / 34%);
	box-shadow: 0 1.5rem 3.5rem rgb(4 50 76 / 12%);
	color: #04324c;
	transform: translateY(-0.3rem);
}

.sr-home-premium__certification-mark {
	display: flex;
	width: 100%;
	height: 5rem;
	margin-bottom: 1.25rem;
	align-items: center;
	justify-content: flex-start;
	color: #006fa8;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > .sr-home-premium__certification-mark {
	display: flex;
}

.sr-home-premium__certification-mark img {
	display: block;
	width: auto;
	max-width: 8rem;
	height: auto;
	max-height: 4.5rem;
	object-fit: contain;
}

.sr-home-premium__certification-mark svg {
	width: 4rem;
	height: 4rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sr-home-premium__certification-meta {
	display: flex;
	margin-bottom: 0.75rem;
	color: #806700;
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	justify-content: space-between;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > .sr-home-premium__certification-meta {
	display: flex;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > strong {
	color: #04324c;
	font-size: 1.2rem;
	line-height: 1.35;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > small {
	display: block;
	margin-top: 0.65rem;
	color: #5b6f67;
	font-size: 0.84rem;
	line-height: 1.55;
}

.sr-home-premium__certification-arrow {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	margin-top: auto;
	border-radius: 50%;
	place-items: center;
	background: #eaf7fd;
	color: #006fa8;
	font-weight: 900;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > .sr-home-premium__certification-arrow {
	display: grid;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__assurance-groups {
	display: grid;
	max-width: 72rem;
	margin: clamp(2rem, 4vw, 3rem) auto 0;
	gap: clamp(1.35rem, 2.4vw, 1.75rem);
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__assurance-group {
	display: grid;
	gap: 0.9rem;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__assurance-label,
body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__certification-meta {
	margin: 0;
	color: #04324c;
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__assurance-label {
	text-align: center;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: none;
	gap: clamp(1rem, 2vw, 1.35rem);
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item {
	min-height: 19rem;
	padding: clamp(1.75rem, 3vw, 2.25rem);
	border: 1px solid #dce7ec;
	border-radius: 1.375rem;
	align-items: center;
	background: #fff;
	box-shadow: 0 1.15rem 2.75rem rgb(4 50 76 / 8%);
	text-align: center;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item:hover,
body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item:focus-visible {
	border-color: rgb(225 166 31 / 68%);
	box-shadow: 0 1.65rem 3.75rem rgb(4 50 76 / 14%);
	color: #04324c;
	transform: translateY(-4px);
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > .sr-home-premium__certification-mark {
	height: 5rem;
	margin-bottom: 1rem;
	align-items: center;
	justify-content: center;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__certification-mark img {
	width: auto;
	max-width: 7.35rem;
	height: auto;
	max-height: 3.65rem;
	object-fit: contain;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__certification-mark .sr-home-premium__halal-logo {
	max-width: 8.65rem;
	max-height: 3.75rem;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__certification-mark svg {
	width: 3.6rem;
	height: 3.6rem;
	color: #006fa8;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > .sr-home-premium__certification-meta {
	display: block;
	margin-bottom: 0.85rem;
	text-align: center;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > strong {
	max-width: 16rem;
	color: #04324c;
	font-size: clamp(1.12rem, 1.6vw, 1.25rem);
	line-height: 1.35;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > small {
	max-width: 18rem;
	margin-top: 0.75rem;
	color: #5b6f67;
	font-size: 0.9rem;
	line-height: 1.6;
}

body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item > .sr-home-premium__certification-arrow {
	margin-top: 1.25rem;
}

@media (max-width: 47.999rem) {
	body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__assurance-groups {
		gap: 1.4rem;
	}

	body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-grid {
		grid-template-columns: 1fr;
	}

	body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item {
		min-height: 0;
		padding: 1.5rem;
	}
}
body.home .sr-home-premium .sr-home-premium__authority {
	border-top: 1px solid #dce7ec;
	background: linear-gradient(135deg, #fff 0%, #f8fbf9 100%);
}

body.home .sr-home-premium .sr-home-premium__authority-list article {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 1.6rem;
	align-items: start;
	gap: 1.1rem;
	border-color: rgb(0 111 168 / 14%);
	background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
	box-shadow: 0 0.85rem 2.4rem rgb(4 50 76 / 6%);
	transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
	body.home .sr-home-premium .sr-home-premium__authority-list article:hover,
	body.home .sr-home-premium .sr-home-premium__authority-list article:focus-within {
		border-color: rgb(253 209 0 / 46%);
		box-shadow: 0 1.35rem 3.25rem rgb(4 50 76 / 11%);
		transform: translateY(-4px);
	}
}

.sr-home-premium__authority-icon {
	display: grid;
	width: 3.6rem;
	height: 3.6rem;
	border: 1px solid rgb(253 209 0 / 32%);
	border-radius: 1.05rem;
	place-items: center;
	background: linear-gradient(145deg, #eaf7fd 0%, #fff8d7 100%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%), 0 0.85rem 1.8rem rgb(4 50 76 / 10%);
	color: #006fa8;
}

.sr-home-premium__authority-icon svg {
	width: 1.8rem;
	height: 1.8rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.home .sr-home-premium .sr-home-premium__authority-list h3 {
	margin-bottom: 0.4rem;
	color: #04324c;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	font-weight: 900;
	line-height: 1.2;
}

@media (prefers-reduced-motion: reduce) {
	body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item,
	body.home .sr-home-premium .sr-home-premium__authority-list article {
		transition: none;
	}

	body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item:hover,
	body.home .sr-home-premium .sr-home-premium__certifications .sr-home-premium__trust-item:focus-visible,
	body.home .sr-home-premium .sr-home-premium__authority-list article:hover,
	body.home .sr-home-premium .sr-home-premium__authority-list article:focus-within {
		transform: none;
	}
}

body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button::before {
	position: absolute;
	top: 0;
	left: -35%;
	width: 35%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 32%), transparent);
	content: "";
	transform: skewX(-18deg);
	transition: left 420ms ease;
}

body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button:hover,
body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button:focus-visible {
	border-color: #ffe47a;
	background: linear-gradient(135deg, #f7d56f 0%, #e2aa1c 72%, #cf9209 100%);
	box-shadow: 0 1.5rem 3.25rem rgb(0 0 0 / 28%), inset 0 1px 0 rgb(255 255 255 / 55%);
	color: #332c2b;
	filter: saturate(1.05);
	transform: translateY(-0.2rem);
}

body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button:hover::before,
body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button:focus-visible::before {
	left: 110%;
}

.sr-home-premium__final-cta-button-icon,
.sr-home-premium__final-cta-button-arrow,
.sr-home-premium__final-cta-button-label {
	position: relative;
	z-index: 1;
}

.sr-home-premium__final-cta-button-icon,
.sr-home-premium__final-cta-button-arrow {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid rgb(33 22 0 / 22%);
	border-radius: 50%;
	flex: 0 0 2.25rem;
	place-items: center;
	background: rgb(255 255 255 / 24%);
}

.sr-home-premium__final-cta-button-icon svg {
	width: 1.15rem;
	height: 1.15rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sr-home-premium__final-cta-button-label {
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -0.01em;
}

.sr-home-premium__final-cta-button-arrow {
	font-size: 1.15rem;
	font-weight: 900;
}

@media (prefers-reduced-motion: reduce) {
	body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button,
	body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button::before {
		transition: none;
	}

	body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button:hover,
	body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button:focus-visible {
		transform: none;
	}
}

body.home .sr-home-premium .sr-home-premium__portfolio,
body.home .sr-home-premium .sr-home-premium__cases,
body.home .sr-home-premium .sr-home-premium__certifications,
body.home .sr-home-premium .sr-home-premium__authority,
body.home .sr-home-premium .sr-home-premium__testimonials,
body.home .sr-home-premium .sr-home-premium__faq {
	padding-block: clamp(3.75rem, 6vw, 5rem);
}

body.home .c-site-footer--premium .c-site-footer__brand {
	display: inline-flex;
	margin-bottom: 1.25rem;
	align-items: center;
}

body.home .c-site-footer--premium .c-site-footer__brand-logo {
	display: block;
	width: auto;
	max-width: min(13rem, 70vw);
	height: auto;
	max-height: 4rem;
	object-fit: contain;
}

body.home .c-site-footer--premium .c-site-footer__brand-name {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 850;
}

body.home .c-site-footer--premium .c-site-footer__contacts span {
	display: inline-block;
	max-width: 17rem;
	color: #d5e6ee;
	line-height: 1.6;
}

body.home .c-site-footer--premium .c-site-footer__menu li + li,
body.home .c-site-footer--premium .c-site-footer__contacts--labeled li + li {
	margin-top: 0.2rem;
}

body.home .c-site-footer--premium .c-site-footer__contacts--labeled li {
	display: flex;
	min-height: 2.75rem;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

body.home .c-site-footer--premium .c-site-footer__contact-label {
	color: #f4faf6;
	font-weight: 700;
}

body.home .c-site-footer--premium .c-site-footer__contact-empty {
	color: #9fb8ad;
}

/* Premium homepage service cards. */
body.home .sr-home-premium .sr-home-premium__service-card {
	min-height: 18rem;
	padding: 2rem;
	border: 1px solid #dbe7ed;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 0.75rem 2rem rgb(4 50 76 / 5%);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

body.home .sr-home-premium .sr-home-premium__service-card:hover,
body.home .sr-home-premium .sr-home-premium__service-card:focus-within {
	border-color: rgb(0 143 215 / 35%);
	background: #fff;
	box-shadow: 0 1.5rem 3.5rem rgb(4 50 76 / 13%);
	transform: translateY(-0.35rem);
}

body.home .sr-home-premium .sr-home-premium__service-card--featured,
body.home .sr-home-premium .sr-home-premium__service-card--featured:hover,
body.home .sr-home-premium .sr-home-premium__service-card--featured:focus-within {
	border-color: rgb(253 209 0 / 38%);
	background: linear-gradient(135deg, #004c73, #006fa8);
	box-shadow: 0 1.25rem 3rem rgb(4 50 76 / 18%);
}

.sr-service-card__top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	min-height: 5.75rem;
	margin-bottom: 1.75rem;
	align-items: flex-start;
	gap: 1rem;
}

body.home .sr-home-premium .sr-home-premium__service-number {
	margin: 0;
	color: #806700;
	font-size: 0.85rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

body.home .sr-home-premium .sr-home-premium__service-card--featured .sr-home-premium__service-number {
	color: #ffe47a;
}

.sr-service-card__icon {
	display: grid;
	grid-column: 2;
	width: 5.25rem;
	height: 5.25rem;
	border: 1px solid rgb(0 143 215 / 24%);
	border-radius: 50%;
	place-items: center;
	background: linear-gradient(145deg, #f7fcf9, #dceff8);
	color: #006fa8;
	box-shadow: inset 0 0 0 0.35rem rgb(255 255 255 / 65%), 0 0.75rem 1.75rem rgb(4 50 76 / 10%);
	transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, color 220ms ease;
}

.sr-service-card__icon svg {
	width: 2.5rem;
	height: 2.5rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.home .sr-home-premium .sr-home-premium__service-card:hover .sr-service-card__icon,
body.home .sr-home-premium .sr-home-premium__service-card:focus-within .sr-service-card__icon {
	border-color: rgb(0 143 215 / 42%);
	background: linear-gradient(145deg, #f9fdfb, #d3ebf7);
	color: #006fa8;
	transform: translateY(-0.2rem) scale(1.045);
}

body.home .sr-home-premium .sr-home-premium__service-card--featured .sr-service-card__icon,
body.home .sr-home-premium .sr-home-premium__service-card--featured:hover .sr-service-card__icon,
body.home .sr-home-premium .sr-home-premium__service-card--featured:focus-within .sr-service-card__icon {
	border-color: rgb(246 215 125 / 70%);
	background: linear-gradient(145deg, rgb(255 255 255 / 16%), rgb(253 209 0 / 16%));
	color: #ffe47a;
	box-shadow: inset 0 0 0 0.35rem rgb(255 255 255 / 6%), 0 0.9rem 2rem rgb(0 0 0 / 16%);
}

.sr-service-card__icon--parfum {
	background: linear-gradient(145deg, #f5fbf8, #d8eef8);
}

.sr-service-card__icon--makeup {
	background: linear-gradient(145deg, #fffaf7, #f5e8df);
	color: #8a5b3f;
}

.sr-service-card__icon--bodycare {
	background: linear-gradient(145deg, #f7fbfa, #dcece8);
}

.sr-service-card__icon--mens-grooming {
	background: linear-gradient(145deg, #f8faf7, #e8eddf);
	color: #53672f;
}

body.home .sr-home-premium .sr-home-premium__service-card h3 {
	margin-bottom: 0.875rem;
	color: #04324c;
	font-size: clamp(1.35rem, 2vw, 1.65rem);
}

body.home .sr-home-premium .sr-home-premium__service-card h3 a,
body.home .sr-home-premium .sr-home-premium__service-card h3 a:hover,
body.home .sr-home-premium .sr-home-premium__service-card h3 a:focus-visible {
	color: #04324c;
}

body.home .sr-home-premium .sr-home-premium__service-card p {
	margin-bottom: 1.5rem;
	color: #536b63;
	line-height: 1.65;
}

body.home .sr-home-premium .sr-home-premium__service-card .sr-home-premium__text-link,
body.home .sr-home-premium .sr-home-premium__service-card .sr-home-premium__text-link:hover,
body.home .sr-home-premium .sr-home-premium__service-card .sr-home-premium__text-link:focus-visible {
	margin-top: auto;
	color: #006fa8;
}

body.home .sr-home-premium .sr-home-premium__service-card--featured h3,
body.home .sr-home-premium .sr-home-premium__service-card--featured h3 a,
body.home .sr-home-premium .sr-home-premium__service-card--featured h3 a:hover,
body.home .sr-home-premium .sr-home-premium__service-card--featured h3 a:focus-visible,
body.home .sr-home-premium .sr-home-premium__service-card--featured p,
body.home .sr-home-premium .sr-home-premium__service-card--featured .sr-home-premium__text-link,
body.home .sr-home-premium .sr-home-premium__service-card--featured .sr-home-premium__text-link:hover,
body.home .sr-home-premium .sr-home-premium__service-card--featured .sr-home-premium__text-link:focus-visible {
	color: #f7fbf9;
}

@media (prefers-reduced-motion: reduce) {
	body.home .sr-home-premium .sr-home-premium__service-card,
	.sr-service-card__icon {
		transition: none;
	}

	body.home .sr-home-premium .sr-home-premium__service-card:hover,
	body.home .sr-home-premium .sr-home-premium__service-card:focus-within,
	body.home .sr-home-premium .sr-home-premium__service-card:hover .sr-service-card__icon,
	body.home .sr-home-premium .sr-home-premium__service-card:focus-within .sr-service-card__icon {
		transform: none;
	}
}

/* Homepage capability metric icons. */
body.home .sr-home-premium .sr-home-premium__metrics-grid > .sr-home-premium__metric-card {
	display: flex;
	min-width: 0;
	min-height: 5.5rem;
	padding: 1rem 1.25rem;
	align-items: center;
	justify-content: flex-start;
	gap: 0.9rem;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.5rem rgb(4 50 76 / 7%);
}

body.home .sr-home-premium .sr-home-premium__metric-content {
	display: block;
	min-width: 0;
}

body.home .sr-home-premium .sr-home-premium__metric-content strong {
	display: block;
	color: #005a88;
	font-size: clamp(1.45rem, 2.5vw, 1.8rem);
	font-weight: 900;
	line-height: 1;
}

body.home .sr-home-premium .sr-home-premium__metric-content .sr-home-premium__metric-label {
	display: block;
	margin-top: 0.35rem;
	color: #4f625b;
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.3;
}

body.home .sr-home-premium .sr-home-premium__metric-icon {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	border: 0;
	border-radius: 0;
	flex: 0 0 4.5rem;
	background: transparent;
	color: #efb61f;
}

body.home .sr-home-premium .sr-home-premium__metric-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.home .sr-home-premium .sr-home-premium__metric-icon--brands svg {
	transform: scale(1.12);
}

body.home .sr-home-premium .sr-home-premium__metric-icon--categories svg {
	transform: scale(1.04);
}

body.home .sr-home-premium .sr-home-premium__metric-icon--categories {
	background: transparent;
	color: #efb61f;
}

body.home .sr-home-premium .sr-home-premium__metric-icon--categories svg {
	fill: currentcolor;
	stroke: #fff;
	stroke-width: 1.1;
}

body.home .sr-home-premium .sr-home-premium__metric-icon--moq {
	background: transparent;
	color: #efb61f;
}

/* Homepage business-problem icons. */
.sr-home-premium__problem-icon {
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: 1.25rem;
	border: 1px solid rgb(0 143 215 / 16%);
	border-radius: 1rem;
	place-items: center;
	background: #eaf7fd;
	color: #006fa8;
}

.sr-home-premium__problem-icon svg {
	width: 1.8rem;
	height: 1.8rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sr-home-premium__problem-icon--market-ready,
.sr-home-premium__problem-icon--legalitas {
	border-color: rgb(133 98 0 / 18%);
	background: #fbf5e5;
	color: #806700;
}

/* Homepage production-journey icons. */
.sr-home-premium__journey-top {
	display: flex;
	margin-bottom: 1.25rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sr-home-premium__journey-number {
	display: inline-grid;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	place-items: center;
	background: #ddf3fc;
	color: #04324c;
	font-size: 0.8rem;
	font-weight: 900;
}

.sr-home-premium__journey-icon {
	display: grid;
	width: 3.75rem;
	height: 3.75rem;
	border: 1px solid rgb(0 143 215 / 18%);
	border-radius: 1.125rem;
	place-items: center;
	background: linear-gradient(145deg, #f7fcf9, #dceff8);
	color: #006fa8;
	box-shadow: inset 0 0 0 0.25rem rgb(255 255 255 / 55%), 0 0.5rem 1.25rem rgb(4 50 76 / 8%);
}

.sr-home-premium__journey-icon svg {
	width: 1.9rem;
	height: 1.9rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sr-home-premium__journey-icon--development,
.sr-home-premium__journey-icon--legalitas {
	border-color: rgb(133 98 0 / 18%);
	background: linear-gradient(145deg, #fffaf0, #f7ebcb);
	color: #806700;
}

body.home .sr-home-premium .sr-home-premium__journey-list li {
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

body.home .sr-home-premium .sr-home-premium__journey-list li:hover {
	border-color: rgb(0 143 215 / 28%);
	box-shadow: 0 1.25rem 3rem rgb(4 50 76 / 9%);
	transform: translateY(-0.2rem);
}

@media (prefers-reduced-motion: reduce) {
	body.home .sr-home-premium .sr-home-premium__journey-list li {
		transition: none;
	}

	body.home .sr-home-premium .sr-home-premium__journey-list li:hover {
		transform: none;
	}
}

body.home .sr-home-premium .sr-home-premium__problem-grid article {
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

body.home .sr-home-premium .sr-home-premium__problem-grid article:hover {
	border-color: rgb(0 143 215 / 28%);
	box-shadow: 0 1.25rem 3rem rgb(4 50 76 / 9%);
	transform: translateY(-0.2rem);
}

@media (prefers-reduced-motion: reduce) {
	body.home .sr-home-premium .sr-home-premium__problem-grid article {
		transition: none;
	}

	body.home .sr-home-premium .sr-home-premium__problem-grid article:hover {
		transform: none;
	}
}

/* Global premium footer. */
.c-site-footer--global {
	padding: 0;
	border-top: 0.25rem solid #008fd7;
	background: linear-gradient(145deg, #021f31, #04324c);
	color: #dcebf2;
}

.c-site-footer--global a {
	color: #dcebf2;
	text-decoration: none;
}

.c-site-footer--global a:hover,
.c-site-footer--global a:focus-visible {
	color: #fff;
}

.c-site-footer--global .c-site-footer__top {
	padding-block: clamp(3.5rem, 7vw, 5.5rem) 3rem;
	border-bottom: 1px solid rgb(255 255 255 / 12%);
	text-align: center;
}

.c-site-footer--global .c-site-footer__top > .srcosme-container {
	position: relative;
	overflow: hidden;
	padding: clamp(2.4rem, 5vw, 4rem) clamp(1rem, 4vw, 3rem);
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: clamp(1.25rem, 3vw, 2rem);
	background:
		radial-gradient(circle at 50% 100%, rgb(253 209 0 / 10%), transparent 18rem),
		radial-gradient(circle at 78% 10%, rgb(0 143 215 / 10%), transparent 18rem),
		rgb(255 255 255 / 2%);
	box-shadow:
		0 2rem 5rem rgb(0 0 0 / 18%),
		inset 0 1px 0 rgb(255 255 255 / 8%);
}

.c-site-footer--global .c-site-footer__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.c-site-footer--global .c-site-footer__brand-logo {
	display: block;
	width: auto;
	max-width: min(18rem, 78vw);
	height: auto;
	max-height: 6rem;
	object-fit: contain;
}

.c-site-footer--global .c-site-footer__brand-name {
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 850;
}

.c-site-footer--global .c-site-footer__tagline {
	max-width: 42rem;
	margin: 1.25rem auto 0;
	color: #bcd2dc;
	font-size: 1rem;
	line-height: 1.7;
}

.c-site-footer--global .c-site-footer__trust-strip {
	display: flex;
	width: fit-content;
	max-width: 100%;
	margin: 1.15rem auto 0;
	padding: 0.62rem 0.95rem;
	border: 1px solid rgb(253 209 0 / 20%);
	border-radius: 999px;
	background: rgb(255 255 255 / 5%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.4rem 0.85rem;
	color: rgb(223 243 251 / 80%);
	font-size: 0.72rem;
	font-weight: 560;
	letter-spacing: 0.055em;
	list-style: none;
	text-transform: uppercase;
}

.c-site-footer--global .c-site-footer__trust-strip li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.c-site-footer--global .c-site-footer__trust-strip li::before {
	display: inline-grid;
	width: 1rem;
	height: 1rem;
	place-items: center;
	border-radius: 999px;
	background: rgb(253 209 0 / 16%);
	color: #fdd100;
	box-shadow: 0 0 0.8rem rgb(253 209 0 / 38%);
	content: "\2713";
	font-size: 0.66rem;
	line-height: 1;
}

.c-site-footer--global .c-site-footer__brand-divider {
	width: min(32rem, 72vw);
	height: 1px;
	margin: 1.75rem auto 0;
	background: linear-gradient(90deg, transparent, rgb(253 209 0 / 35%), rgb(255 255 255 / 18%), transparent);
}

.c-site-footer--global .c-site-footer__connected {
	margin-top: 1.6rem;
}

.c-site-footer--global .c-site-footer__connected > p {
	margin: 0 0 1rem;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 750;
}

.c-site-footer--global .c-site-footer__socials {
	display: flex;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	list-style: none;
}

.c-site-footer--global .c-site-footer__social-link {
	display: grid;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 50%;
	background: rgb(255 255 255 / 7%);
	place-items: center;
	transition:
		transform 260ms ease,
		border-color 260ms ease,
		background 260ms ease,
		box-shadow 260ms ease,
		color 260ms ease;
}

.c-site-footer--global span.c-site-footer__social-link {
	cursor: default;
}

.c-site-footer--global .c-site-footer__social-link:hover,
.c-site-footer--global .c-site-footer__social-link:focus-visible {
	border-color: #fdd100;
	background:
		radial-gradient(circle at 55% 80%, rgb(0 143 215 / 20%), transparent 58%),
		rgb(255 255 255 / 10%);
	box-shadow:
		0 0 0 0.2rem rgb(253 209 0 / 10%),
		0 0.9rem 1.8rem rgb(0 0 0 / 22%),
		0 0 1.6rem rgb(253 209 0 / 22%),
		0 0 1.8rem rgb(0 143 215 / 18%);
	color: #fff;
	transform: translateY(-0.2rem) scale(1.08);
}

.c-site-footer--global .c-site-footer__social-link.is-disabled {
	opacity: 0.82;
}

.c-site-footer--global .c-site-footer__social-link.is-disabled:hover {
	border-color: rgb(255 255 255 / 22%);
	background: rgb(255 255 255 / 7%);
	color: #dcebf2;
	transform: none;
}

.c-site-footer--global .c-site-footer__social-link svg {
	width: 1.35rem;
	height: 1.35rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.c-site-footer--global .c-site-footer__master-action {
	display: flex;
	width: fit-content;
	max-width: 100%;
	margin: 1.5rem auto 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.c-site-footer--global .c-site-footer__master-cta {
	position: relative;
	isolation: isolate;
	--footer-cta-icon-size: 2.75rem;
	display: inline-grid;
	overflow: hidden;
	min-width: min(100%, 23rem);
	min-height: 4rem;
	grid-template-columns: var(--footer-cta-icon-size) minmax(0, 1fr) var(--footer-cta-icon-size);
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	margin-top: 0;
	padding: 0.62rem 0.72rem;
	border: 1px solid rgb(253 209 0 / 68%);
	border-radius: 999px;
	background: linear-gradient(135deg, #ffe16a 0%, #fdd100 45%, #d89c00 100%);
	box-shadow:
		0 0.75rem 1.8rem rgb(0 0 0 / 18%),
		inset 0 0.12rem 0 rgb(255 255 255 / 46%);
	color: #04324c;
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
	font-weight: 850;
	text-decoration: none;
	transition:
		border-color 300ms ease,
		box-shadow 300ms ease,
		color 300ms ease,
		transform 300ms ease;
}

.c-site-footer--global .c-site-footer__master-cta::before {
	position: absolute;
	z-index: -1;
	inset: -40% -20%;
	background: linear-gradient(110deg, transparent 28%, rgb(255 255 255 / 42%) 44%, transparent 62%);
	content: "";
	transform: translateX(-120%) rotate(8deg);
	transition: transform 650ms ease;
}

.c-site-footer--global .c-site-footer__master-cta:hover,
.c-site-footer--global .c-site-footer__master-cta:focus-visible {
	border-color: #fff0a5;
	box-shadow:
		0 0.9rem 2.2rem rgb(0 0 0 / 24%),
		0 0 0 0.14rem rgb(253 209 0 / 12%),
		inset 0 0.12rem 0 rgb(255 255 255 / 55%);
	color: #021f31;
	transform: translateY(-0.18rem);
}

.c-site-footer--global .c-site-footer__master-cta:hover::before,
.c-site-footer--global .c-site-footer__master-cta:focus-visible::before {
	transform: translateX(120%) rotate(8deg);
}

.c-site-footer--global .c-site-footer__master-cta-icon,
.c-site-footer--global .c-site-footer__master-cta-arrow {
	display: inline-grid;
	width: var(--footer-cta-icon-size);
	height: var(--footer-cta-icon-size);
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid rgb(4 50 76 / 18%);
	border-radius: 999px;
	background: rgb(4 50 76 / 10%);
	color: #04324c;
	transition:
		background 300ms ease,
		border-color 300ms ease,
		box-shadow 300ms ease,
		transform 300ms ease;
}

.c-site-footer--global .c-site-footer__master-cta-icon svg {
	width: 1.65rem;
	height: 1.65rem;
	fill: currentColor;
	stroke: none;
}
.c-site-footer--global .c-site-footer__master-cta-icon {
	border-color: rgb(4 50 76 / 26%);
	background: rgb(4 50 76 / 16%);
	color: #021f31;
}

.c-site-footer--global .c-site-footer__master-cta-label {
	position: relative;
	z-index: 1;
	justify-self: center;
	text-align: center;
	white-space: nowrap;
}

.c-site-footer--global .c-site-footer__master-cta-arrow {
	font-size: 1.15rem;
	line-height: 1;
}

.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-icon,
.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-icon,
.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-arrow,
.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-arrow {
	border-color: rgb(4 50 76 / 22%);
	background: rgb(255 255 255 / 26%);
	box-shadow: 0 0.5rem 1rem rgb(4 50 76 / 10%);
}

.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-icon,
.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-icon {
	transform: scale(1.05);
}

.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-arrow,
.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-arrow {
	transform: translateX(0.25rem);
}

.c-site-footer--global .c-site-footer__master-cta-note {
	display: flex;
	width: min(100%, 23rem);
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin: 0.875rem 0 0;
	color: rgb(255 255 255 / 85%);
	font-size: 0.875rem;
	font-weight: 600;
}

.c-site-footer--global .c-site-footer__master-cta-note span {
	display: inline-grid;
	width: 1rem;
	height: 1rem;
	place-items: center;
	border: 1px solid rgb(253 209 0 / 45%);
	border-radius: 999px;
	color: #fdd100;
	font-size: 0.7rem;
	line-height: 1;
}

@media (max-width: 47.999rem) {
	.c-site-footer--global .c-site-footer__trust-strip {
		width: min(100%, 22rem);
		padding: 0.5rem 0.55rem;
		flex-wrap: nowrap;
		gap: 0.28rem;
		overflow: hidden;
		font-size: clamp(0.56rem, 2.35vw, 0.64rem);
		letter-spacing: 0.015em;
	}

	.c-site-footer--global .c-site-footer__trust-strip li {
		min-width: 0;
		flex: 0 1 auto;
		gap: 0.18rem;
		white-space: nowrap;
	}

	.c-site-footer--global .c-site-footer__trust-strip li::before {
		width: 0.68rem;
		height: 0.68rem;
		font-size: 0.45rem;
	}

	.c-site-footer--global .c-site-footer__master-action {
		width: min(100%, 23rem);
	}

	.c-site-footer--global .c-site-footer__master-cta {
		width: 100%;
		min-width: 0;
	}

	.c-site-footer--global .c-site-footer__master-cta-note {
		margin-top: 1rem;
		font-size: 0.8125rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.c-site-footer--global .c-site-footer__master-cta,
	.c-site-footer--global .c-site-footer__master-cta::before,
	.c-site-footer--global .c-site-footer__master-cta-icon,
	.c-site-footer--global .c-site-footer__master-cta-arrow,
	.c-site-footer--global .c-site-footer__social-link {
		transition: none;
	}

	.c-site-footer--global .c-site-footer__master-cta:hover,
	.c-site-footer--global .c-site-footer__master-cta:focus-visible,
	.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-icon,
	.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-icon,
	.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-arrow,
	.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-arrow,
	.c-site-footer--global .c-site-footer__social-link:hover,
	.c-site-footer--global .c-site-footer__social-link:focus-visible {
		transform: none;
	}
}

.c-site-footer--global .c-site-footer__social-link--facebook svg path,
.c-site-footer--global .c-site-footer__social-link--youtube svg path,
.c-site-footer--global .c-site-footer__social-link--linkedin svg path,
.c-site-footer--global .c-site-footer__social-link--tiktok svg path,
.c-site-footer--global .c-site-footer__social-link .is-filled {
	fill: currentColor;
	stroke: none;
}

.c-site-footer--global .c-site-footer__body {
	padding-block: clamp(3rem, 6vw, 4.75rem) 2rem;
}

.c-site-footer--global .c-site-footer__links-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem 2rem;
}

.c-site-footer--global .c-site-footer__title {
	margin: 0 0 1.25rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
}

.c-site-footer--global .c-site-footer__title::after {
	display: block;
	width: 2rem;
	height: 0.15rem;
	margin-top: 0.55rem;
	border-radius: 999px;
	background: #fdd100;
	content: "";
}

.c-site-footer--global .c-site-footer__menu,
.c-site-footer--global .c-site-footer__contacts {
	padding: 0;
	margin: 0;
	list-style: none;
}

.c-site-footer--global .c-site-footer__menu li,
.c-site-footer--global .c-site-footer__contacts li {
	position: relative;
	padding-left: 0.9rem;
}

.c-site-footer--global .c-site-footer__menu li::before,
.c-site-footer--global .c-site-footer__contacts li::before {
	position: absolute;
	top: 1.25rem;
	left: 0;
	width: 0.3rem;
	height: 0.3rem;
	border-radius: 50%;
	background: #fdd100;
	content: "";
}

.c-site-footer--global .c-site-footer__menu a,
.c-site-footer--global .c-site-footer__contacts a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: #bcd2dc;
	font-size: 0.95rem;
	line-height: 1.5;
}

.c-site-footer--global .c-site-footer__company-info {
	max-width: 60rem;
	margin: 3rem auto 0;
	text-align: center;
}

.c-site-footer--global .c-site-footer__company-info p {
	margin: 0.35rem 0;
	color: #bcd2dc;
	line-height: 1.7;
}

.c-site-footer--global .c-site-footer__legal {
	display: flex;
	margin-top: 0;
	padding: 1.5rem 0 0;
	border-top: 1px solid rgb(255 255 255 / 12%);
	justify-content: center;
	text-align: center;
}

.c-site-footer--global .c-site-footer__legal-menu,
.c-site-footer--global .c-site-footer__legal .menu {
	display: flex;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 1.5rem;
	list-style: none;
}

.c-site-footer--global .c-site-footer__legal a {
	color: #bcd2dc;
	font-size: 0.875rem;
}

.c-site-footer--global .c-site-footer__copyright {
	padding-block: 1rem;
	border-top: 1px solid rgb(255 255 255 / 10%);
	background: rgb(0 0 0 / 16%);
	text-align: center;
}

.c-site-footer--global .c-site-footer__copyright p {
	margin: 0;
	color: #9fb8c4;
	font-size: 0.8rem;
}

@media (min-width: 40rem) {
	.c-site-footer--global .c-site-footer__links-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.c-site-footer--global .c-site-footer__links-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: clamp(1.5rem, 3vw, 3.5rem);
	}
}

/* Footer closing experience polish. */
.c-site-footer--global {
	position: relative;
	overflow: hidden;
	font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	background:
		radial-gradient(ellipse at 50% 0%, rgb(92 190 197 / 18%), transparent 31rem),
		radial-gradient(circle at 14% 92%, rgb(0 143 215 / 10%), transparent 22rem),
		radial-gradient(circle at 88% 6%, rgb(137 216 225 / 15%), transparent 22rem),
		linear-gradient(160deg, #04283c 0%, #06384d 44%, #032235 100%);
}

.c-site-footer--global :where(a, p, h2, h3, li, span) {
	font-family: inherit;
}

.c-site-footer--global::before,
.c-site-footer--global::after {
	position: absolute;
	z-index: 0;
	width: 26rem;
	height: 26rem;
	border-radius: 999px;
	content: "";
	filter: blur(64px);
	opacity: 0.24;
	pointer-events: none;
}

.c-site-footer--global::before {
	top: -9rem;
	right: -8rem;
	background: rgb(71 188 196 / 38%);
}

.c-site-footer--global::after {
	bottom: -10rem;
	left: -9rem;
	background: rgb(0 143 215 / 22%);
}

.c-site-footer--global > * {
	position: relative;
	z-index: 1;
}

.c-site-footer--global .c-site-footer__top > .srcosme-container {
	isolation: isolate;
	background:
		radial-gradient(circle at 50% 20%, rgb(255 255 255 / 17%), transparent 14rem),
		radial-gradient(ellipse at 52% 40%, rgb(71 188 196 / 19%), transparent 23rem),
		radial-gradient(circle at 84% 10%, rgb(137 216 225 / 12%), transparent 16rem),
		linear-gradient(125deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 2%) 46%, rgb(0 143 215 / 7%)),
		linear-gradient(180deg, rgb(8 64 82 / 62%), rgb(3 41 61 / 72%));
	background-size: 100% 100%, 100% 100%, 100% 100%, 160% 160%, 100% 100%;
	box-shadow:
		0 2.4rem 6rem rgb(0 0 0 / 24%),
		inset 0 1px 0 rgb(255 255 255 / 10%);
}

.c-site-footer--global .c-site-footer__top > .srcosme-container::before,
.c-site-footer--global .c-site-footer__top > .srcosme-container::after {
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	content: "";
	pointer-events: none;
}

.c-site-footer--global .c-site-footer__top > .srcosme-container::before {
	inset: -1px;
	background:
		repeating-radial-gradient(circle at 22% 30%, rgb(255 255 255 / 1.8%) 0 1px, transparent 1px 4px),
		radial-gradient(circle at 50% 28%, rgb(255 255 255 / 12%), transparent 17rem),
		linear-gradient(180deg, rgb(255 255 255 / 2%), rgb(0 0 0 / 14%));
	box-shadow: inset 0 0 8rem rgb(0 0 0 / 18%);
	opacity: 0.62;
}

.c-site-footer--global .c-site-footer__top > .srcosme-container::after {
	top: 1.1rem;
	left: 50%;
	width: min(28rem, 78vw);
	height: 12rem;
	background:
		radial-gradient(circle, rgb(255 255 255 / 22%), rgb(116 207 211 / 13%) 42%, transparent 72%);
	filter: blur(22px);
	transform: translateX(-50%);
	opacity: 0.56;
}

.c-site-footer--global .c-site-footer__brand {
	position: relative;
	z-index: 2;
	padding: 0.65rem 1rem;
	border-radius: 1.75rem;
	filter: drop-shadow(0 1rem 1.8rem rgb(0 0 0 / 16%));
}

.c-site-footer--global .c-site-footer__brand::before {
	position: absolute;
	inset: -1.2rem -1.8rem;
	z-index: -1;
	border-radius: 2rem;
	background:
		radial-gradient(circle at 50% 50%, rgb(255 255 255 / 28%), transparent 62%);
	content: "";
	filter: blur(8px);
	opacity: 0.85;
}

.c-site-footer--global .c-site-footer__brand-logo {
	filter:
		drop-shadow(0 0 1.35rem rgb(255 255 255 / 24%))
		drop-shadow(0 1rem 1.4rem rgb(0 0 0 / 18%));
}

.c-site-footer--global .c-site-footer__tagline {
	max-width: 38.75rem;
	color: rgb(223 243 251 / 88%);
}

.c-site-footer--global .c-site-footer__trust-strip {
	width: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	gap: 0.65rem;
}

.c-site-footer--global .c-site-footer__trust-strip li {
	min-height: 2.35rem;
	padding: 0.58rem 0.82rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgb(255 255 255 / 10%), rgb(255 255 255 / 4%)),
		rgb(255 255 255 / 5%);
	color: rgb(255 255 255 / 88%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 14%),
		0 0.8rem 1.6rem rgb(0 0 0 / 10%);
	transition:
		transform 250ms ease,
		border-color 250ms ease,
		box-shadow 250ms ease,
		background 250ms ease,
		color 250ms ease;
}

.c-site-footer--global .c-site-footer__trust-strip li:hover {
	border-color: rgb(253 209 0 / 48%);
	background:
		radial-gradient(circle at 50% 100%, rgb(253 209 0 / 15%), transparent 70%),
		linear-gradient(180deg, rgb(255 255 255 / 14%), rgb(255 255 255 / 5%));
	box-shadow:
		0 0.8rem 1.8rem rgb(0 0 0 / 14%),
		0 0 1.6rem rgb(253 209 0 / 14%),
		inset 0 1px 0 rgb(255 255 255 / 18%);
	color: #ffffff;
	transform: translateY(-2px);
}

.c-site-footer--global .c-site-footer__trust-strip li::before {
	width: 1.1rem;
	height: 1.1rem;
	background:
		linear-gradient(135deg, #fff4ad, #fdd100);
	color: #04324c;
	box-shadow:
		0 0 0 0.18rem rgb(253 209 0 / 12%),
		0 0 0.8rem rgb(253 209 0 / 22%);
	font-weight: 900;
}

.c-site-footer--global .c-site-footer__social-link {
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 10%),
		0 0.6rem 1.2rem rgb(0 0 0 / 10%);
}

.c-site-footer--global .c-site-footer__social-link:hover,
.c-site-footer--global .c-site-footer__social-link:focus-visible {
	border-color: #008fd7;
	background:
		radial-gradient(circle at 55% 80%, rgb(253 209 0 / 16%), transparent 58%),
		rgb(255 255 255 / 12%);
	box-shadow:
		0 0 0 0.18rem rgb(0 143 215 / 14%),
		0 0.9rem 1.8rem rgb(0 0 0 / 24%),
		0 0 1.6rem rgb(0 143 215 / 24%);
	color: #ffffff;
	transform: scale(1.08);
}

.c-site-footer--global .c-site-footer__social-link:focus-visible,
.c-site-footer--global .c-site-footer__master-cta:focus-visible {
	outline: 3px solid rgb(253 209 0 / 78%);
	outline-offset: 4px;
}

.c-site-footer--global .c-site-footer__master-action {
	width: min(100%, 34rem);
	margin-top: 1.85rem;
}

.c-site-footer--global .c-site-footer__master-copy {
	max-width: 34rem;
	margin: 0 auto 1.1rem;
	text-align: center;
}

.c-site-footer--global .c-site-footer__master-heading {
	margin: 0;
	color: #ffffff;
	font-size: clamp(1.55rem, 3vw, 2.35rem);
	font-weight: 880;
	line-height: 1.08;
	letter-spacing: 0;
	text-wrap: balance;
}

.c-site-footer--global .c-site-footer__master-subheading {
	max-width: 30rem;
	margin: 0.55rem auto 0;
	color: rgb(223 243 251 / 84%);
	font-size: clamp(0.95rem, 1.4vw, 1.04rem);
	line-height: 1.65;
}

.c-site-footer--global .c-site-footer__master-cta {
	width: min(100%, 24rem);
	min-width: 0;
	min-height: 4.25rem;
	border-color: rgb(253 209 0 / 82%);
	background:
		radial-gradient(circle at 22% 20%, rgb(255 255 255 / 54%), transparent 28%),
		linear-gradient(135deg, #fff0a3 0%, #fdd100 48%, #d89c00 100%);
	box-shadow:
		0 1.05rem 2.6rem rgb(0 0 0 / 24%),
		0 0 0 0.16rem rgb(253 209 0 / 10%),
		0 0 2.5rem rgb(253 209 0 / 18%),
		inset 0 0.12rem 0 rgb(255 255 255 / 58%);
	font-size: clamp(1.06rem, 1.65vw, 1.18rem);
	line-height: 1.12;
}

.c-site-footer--global .c-site-footer__master-cta:hover,
.c-site-footer--global .c-site-footer__master-cta:focus-visible {
	box-shadow:
		0 1.35rem 3rem rgb(0 0 0 / 28%),
		0 0 0 0.18rem rgb(253 209 0 / 14%),
		0 0 3.5rem rgb(253 209 0 / 26%),
		inset 0 0.12rem 0 rgb(255 255 255 / 68%);
	transform: translateY(-3px);
}

.c-site-footer--global .c-site-footer__master-cta:active {
	transform: translateY(0);
}

.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-icon,
.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-icon {
	transform: scale(1.08);
}

.c-site-footer--global .c-site-footer__master-cta:hover .c-site-footer__master-cta-arrow,
.c-site-footer--global .c-site-footer__master-cta:focus-visible .c-site-footer__master-cta-arrow {
	transform: translateX(6px);
}

.c-site-footer--global .c-site-footer__master-cta-note {
	display: flex;
	width: 100%;
	max-width: 34rem;
	padding: 0;
	margin: 1rem auto 0;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.55rem 0.9rem;
	color: rgb(255 255 255 / 88%);
	font-size: 0.88rem;
	font-weight: 650;
	list-style: none;
}

.c-site-footer--global .c-site-footer__master-cta-note li {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
}

.c-site-footer--global .c-site-footer__master-cta-note span {
	display: inline-grid;
	width: 1rem;
	height: 1rem;
	place-items: center;
	border: 1px solid rgb(253 209 0 / 45%);
	border-radius: 999px;
	background: rgb(253 209 0 / 12%);
	color: #fdd100;
	font-size: 0.68rem;
	line-height: 1;
}

.c-site-footer--global.is-footer-motion-ready [data-footer-reveal] {
	opacity: 0;
	transform: translateY(1rem);
	transition:
		opacity 620ms ease,
		transform 620ms ease;
}

.c-site-footer--global.is-footer-motion-ready .c-site-footer__socials [data-footer-reveal] {
	transform: scale(0.92);
}

.c-site-footer--global.is-footer-motion-ready [data-footer-reveal].is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

@keyframes srFooterAmbientDrift {
	0%,
	100% {
		background-position: 50% 50%, 50% 50%, 50% 50%, 0% 50%, 50% 50%;
	}

	50% {
		background-position: 50% 50%, 51% 49%, 49% 51%, 100% 50%, 50% 50%;
	}
}

@media (min-width: 64rem) {
	.c-site-footer--global .c-site-footer__top > .srcosme-container {
		animation: srFooterAmbientDrift 26s ease-in-out infinite;
	}
}

@media (max-width: 64rem) {
	.c-site-footer--global .c-site-footer__top {
		padding-block: clamp(3rem, 6vw, 4.5rem) 2.5rem;
	}

	.c-site-footer--global .c-site-footer__top > .srcosme-container {
		padding-inline: clamp(1rem, 4vw, 2rem);
	}

	.c-site-footer--global .c-site-footer__master-action {
		margin-top: 1.55rem;
	}
}

@media (max-width: 47.999rem) {
	.c-site-footer--global .c-site-footer__top {
		padding-block: 3rem 2.2rem;
	}

	.c-site-footer--global .c-site-footer__top > .srcosme-container {
		border-radius: 1.35rem;
	}

	.c-site-footer--global .c-site-footer__brand-logo {
		max-width: min(14.5rem, 78vw);
	}

	.c-site-footer--global .c-site-footer__trust-strip {
		width: 100%;
		max-width: 24rem;
		flex-wrap: wrap;
		gap: 0.5rem;
		overflow: visible;
		font-size: 0.68rem;
	}

	.c-site-footer--global .c-site-footer__trust-strip li {
		flex: 1 1 calc(50% - 0.5rem);
		justify-content: center;
		padding-inline: 0.62rem;
	}

	.c-site-footer--global .c-site-footer__master-heading {
		font-size: clamp(1.45rem, 8vw, 2rem);
	}

	.c-site-footer--global .c-site-footer__master-cta {
		width: 100%;
		grid-template-columns: 2.55rem minmax(0, 1fr) 2.55rem;
	}

	.c-site-footer--global .c-site-footer__master-cta-label {
		white-space: normal;
	}

	.c-site-footer--global .c-site-footer__master-cta-note {
		align-items: flex-start;
		flex-direction: column;
		width: fit-content;
		max-width: 100%;
		text-align: left;
	}

	.c-site-footer--global .c-site-footer__social-link {
		width: 3.1rem;
		height: 3.1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.c-site-footer--global .c-site-footer__top > .srcosme-container {
		animation: none;
	}

	.c-site-footer--global.is-footer-motion-ready [data-footer-reveal],
	.c-site-footer--global.is-footer-motion-ready .c-site-footer__socials [data-footer-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Footer navigation visual polish. */
.c-site-footer--global .c-site-footer__body {
	position: relative;
	isolation: isolate;
	padding-block: clamp(3.25rem, 5.2vw, 4.4rem) 2.15rem;
}

.c-site-footer--global .c-site-footer__body::before {
	position: absolute;
	z-index: -1;
	top: 1rem;
	left: 50%;
	width: min(72rem, 92vw);
	height: 20rem;
	border-radius: 999px;
	background:
		radial-gradient(circle at 28% 46%, rgb(0 143 215 / 12%), transparent 16rem),
		radial-gradient(circle at 74% 44%, rgb(42 172 150 / 9%), transparent 17rem);
	content: "";
	filter: blur(16px);
	opacity: 0.72;
	transform: translateX(-50%);
	pointer-events: none;
}

.c-site-footer--global .c-site-footer__links-grid {
	position: relative;
	display: grid;
	width: 100%;
	max-width: 68rem;
	margin-inline: auto;
	gap: clamp(0.75rem, 1.2vw, 1rem);
	align-items: start;
}

.c-site-footer--global .c-site-footer__links-grid > nav,
.c-site-footer--global .c-site-footer__links-grid > section {
	min-width: 0;
	max-width: none;
	padding: 1rem 0.95rem 1.05rem;
	border: 1px solid transparent;
	border-radius: 1.25rem;
	transition:
		background 250ms ease,
		border-color 250ms ease,
		box-shadow 250ms ease,
		transform 250ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.c-site-footer--global .c-site-footer__links-grid > nav:hover,
	.c-site-footer--global .c-site-footer__links-grid > section:hover,
	.c-site-footer--global .c-site-footer__links-grid > nav:focus-within,
	.c-site-footer--global .c-site-footer__links-grid > section:focus-within {
		border-color: rgb(255 255 255 / 8%);
		background:
			linear-gradient(180deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 2%));
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 8%),
			0 1rem 2rem rgb(0 0 0 / 10%);
		transform: translateY(-2px);
	}
}

.c-site-footer--global .c-site-footer__title {
	position: relative;
	margin-bottom: 0.95rem;
	color: #ffffff;
	font-size: clamp(1.02rem, 1.15vw, 1.12rem);
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: 0.01em;
}

.c-site-footer--global .c-site-footer__title::after {
	width: 2.35rem;
	height: 0.1875rem;
	margin-top: 0.58rem;
	border-radius: 999px;
	background:
		linear-gradient(90deg, #fdd100, #ffe978 58%, rgb(253 209 0 / 42%));
	box-shadow: 0 0 0.8rem rgb(253 209 0 / 24%);
	transition:
		width 250ms ease,
		box-shadow 250ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.c-site-footer--global .c-site-footer__links-grid > nav:hover .c-site-footer__title::after,
	.c-site-footer--global .c-site-footer__links-grid > section:hover .c-site-footer__title::after,
	.c-site-footer--global .c-site-footer__links-grid > nav:focus-within .c-site-footer__title::after,
	.c-site-footer--global .c-site-footer__links-grid > section:focus-within .c-site-footer__title::after {
		width: 2.85rem;
		box-shadow: 0 0 1rem rgb(253 209 0 / 34%);
	}
}

.c-site-footer--global .c-site-footer__menu,
.c-site-footer--global .c-site-footer__contacts {
	display: grid;
	gap: 0.18rem;
}

.c-site-footer--global .c-site-footer__menu--services {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 0.55rem;
}

.c-site-footer--global .c-site-footer__menu li,
.c-site-footer--global .c-site-footer__contacts li {
	min-width: 0;
	padding-left: 0;
}

.c-site-footer--global .c-site-footer__menu li::before,
.c-site-footer--global .c-site-footer__contacts li::before {
	top: 50%;
	width: 0.375rem;
	height: 0.375rem;
	background:
		radial-gradient(circle, #fff4ad 0 18%, #fdd100 50%, #d89c00 100%);
	box-shadow:
		0 0 0 0.14rem rgb(253 209 0 / 10%),
		0 0 0.75rem rgb(253 209 0 / 24%);
	transform: translateY(-50%);
	transition:
		box-shadow 220ms ease,
		transform 220ms ease;
}

.c-site-footer--global .c-site-footer__menu a,
.c-site-footer--global .c-site-footer__contacts a {
	display: flex;
	width: 100%;
	min-height: 2.35rem;
	align-items: center;
	padding: 0.22rem 0 0.22rem 1.05rem;
	border-radius: 0.65rem;
	color: rgb(255 255 255 / 72%);
	font-size: 0.94rem;
	line-height: 1.42;
	overflow-wrap: anywhere;
	transition:
		color 220ms ease,
		transform 220ms ease,
		background 220ms ease;
}

.c-site-footer--global .c-site-footer__menu a:hover,
.c-site-footer--global .c-site-footer__menu a:focus-visible,
.c-site-footer--global .c-site-footer__contacts a:hover,
.c-site-footer--global .c-site-footer__contacts a:focus-visible {
	background: rgb(255 255 255 / 3%);
	color: #ffffff;
	transform: translateX(4px);
}

.c-site-footer--global .c-site-footer__menu li:has(a:hover)::before,
.c-site-footer--global .c-site-footer__menu li:has(a:focus-visible)::before,
.c-site-footer--global .c-site-footer__contacts li:has(a:hover)::before,
.c-site-footer--global .c-site-footer__contacts li:has(a:focus-visible)::before {
	box-shadow:
		0 0 0 0.18rem rgb(253 209 0 / 14%),
		0 0 1rem rgb(253 209 0 / 42%);
	transform: translateY(-50%) scale(1.25);
}

.c-site-footer--global .c-site-footer__menu a:focus-visible,
.c-site-footer--global .c-site-footer__contacts a:focus-visible {
	outline: 2px solid rgb(253 209 0 / 72%);
	outline-offset: 3px;
}

.c-site-footer--global .c-site-footer__legal {
	position: relative;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.45rem;
	border-top: 0;
}

.c-site-footer--global .c-site-footer__legal::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(62rem, 100%);
	height: 1px;
	background:
		linear-gradient(90deg, transparent, rgb(255 255 255 / 18%), transparent);
	content: "";
	transform: translateX(-50%);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column] .c-site-footer__title,
.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column] li {
	opacity: 0;
	transform: translateY(0.75rem);
	transition:
		opacity 500ms ease,
		transform 500ms ease;
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible .c-site-footer__title,
.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible li {
	opacity: 1;
	transform: translateY(0);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible .c-site-footer__title {
	transition-delay: var(--footer-nav-column-delay, 0ms);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible li:nth-child(1) {
	transition-delay: calc(var(--footer-nav-column-delay, 0ms) + 80ms);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible li:nth-child(2) {
	transition-delay: calc(var(--footer-nav-column-delay, 0ms) + 130ms);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible li:nth-child(3) {
	transition-delay: calc(var(--footer-nav-column-delay, 0ms) + 180ms);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible li:nth-child(4) {
	transition-delay: calc(var(--footer-nav-column-delay, 0ms) + 230ms);
}

.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column].is-visible li:nth-child(5) {
	transition-delay: calc(var(--footer-nav-column-delay, 0ms) + 280ms);
}

@media (min-width: 40rem) and (max-width: 63.999rem) {
	.c-site-footer--global .c-site-footer__links-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.9rem;
	}

	.c-site-footer--global .c-site-footer__nav-card--services {
		grid-column: 1 / -1;
	}
}

@media (min-width: 64rem) {
	.c-site-footer--global .c-site-footer__links-grid {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.95fr) minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 0.9fr);
	}
}

@media (max-width: 39.999rem) {
	.c-site-footer--global .c-site-footer__body {
		padding-block: 2.1rem 1.55rem;
	}

	.c-site-footer--global .c-site-footer__links-grid {
		--footer-nav-card-padding-inline: 0.78rem;
		--footer-nav-mobile-gap: 0.75rem;
		--footer-nav-mobile-gap-half: 0.375rem;

		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--footer-nav-mobile-gap);
		align-items: stretch;
	}

	.c-site-footer--global .c-site-footer__links-grid > nav,
	.c-site-footer--global .c-site-footer__links-grid > section {
		display: flex;
		min-height: 100%;
		flex-direction: column;
		padding: 0.92rem var(--footer-nav-card-padding-inline) 0.85rem;
		border-color: rgb(255 255 255 / 8%);
		background: rgb(255 255 255 / 3%);
	}

	.c-site-footer--global .c-site-footer__nav-card--services {
		grid-column: 1 / -1;
	}

	.c-site-footer--global .c-site-footer__title {
		margin-bottom: 0.68rem;
		font-size: 0.98rem;
	}

	.c-site-footer--global .c-site-footer__menu,
	.c-site-footer--global .c-site-footer__contacts {
		gap: 0.06rem;
	}

	.c-site-footer--global .c-site-footer__menu--services {
		grid-template-columns: calc(50% + var(--footer-nav-card-padding-inline) - var(--footer-nav-mobile-gap-half)) minmax(0, 1fr);
		column-gap: var(--footer-nav-mobile-gap);
	}

	.c-site-footer--global .c-site-footer__menu a,
	.c-site-footer--global .c-site-footer__contacts a {
		min-height: 2.75rem;
		padding: 0.3rem 0 0.3rem 0.95rem;
		font-size: 0.88rem;
		line-height: 1.35;
	}

	.c-site-footer--global .c-site-footer__menu li::before,
	.c-site-footer--global .c-site-footer__contacts li::before {
		width: 0.32rem;
		height: 0.32rem;
	}

	.c-site-footer--global .c-site-footer__company-info,
	.c-site-footer--global .c-site-footer__legal,
	.c-site-footer--global .c-site-footer__copyright {
		text-align: center;
	}

	.c-site-footer--global .c-site-footer__copyright {
		padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	}
}

@media (prefers-reduced-motion: reduce) {
	.c-site-footer--global .c-site-footer__links-grid > nav,
	.c-site-footer--global .c-site-footer__links-grid > section,
	.c-site-footer--global .c-site-footer__title::after,
	.c-site-footer--global .c-site-footer__menu a,
	.c-site-footer--global .c-site-footer__contacts a,
	.c-site-footer--global .c-site-footer__menu li::before,
	.c-site-footer--global .c-site-footer__contacts li::before,
	.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column] .c-site-footer__title,
	.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column] li {
		transition: none;
	}

	.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column] .c-site-footer__title,
	.c-site-footer--global.is-footer-nav-motion-ready [data-footer-nav-column] li {
		opacity: 1;
		transform: none;
	}
}

/* Single case study premium layout. */
.p-case-detail {
	background:
		radial-gradient(circle at 12% 8%, rgb(0 132 184 / 8%), transparent 28rem),
		linear-gradient(180deg, #fff 0%, #f6fbfd 44%, #fff 100%);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-case-detail,
.p-case-detail * {
	font-family: inherit;
}

.p-case-detail .s-detail-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3.5rem, 7vw, 6.25rem);
	background:
		radial-gradient(circle at 82% 18%, rgb(253 209 0 / 18%), transparent 19rem),
		linear-gradient(135deg, #fff 0%, #eef9fd 100%);
}

.p-case-detail .s-detail-hero::before {
	position: absolute;
	right: clamp(1rem, 7vw, 8rem);
	bottom: clamp(1rem, 5vw, 4rem);
	width: clamp(15rem, 30vw, 28rem);
	height: clamp(15rem, 30vw, 28rem);
	border: 1px solid rgb(253 209 0 / 42%);
	border-radius: 999px;
	background: radial-gradient(circle, rgb(0 132 184 / 15%), transparent 68%);
	content: "";
}

.p-case-detail .s-detail-hero__grid {
	position: relative;
	z-index: 1;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.p-case-detail__hero-copy {
	max-width: 46rem;
}

.p-case-detail__category-badge,
.p-case-detail__journey-label,
.p-case-detail__portfolio-type,
.p-case-detail__cta-eyebrow {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.p-case-detail__category-badge {
	padding: 0.55rem 0.9rem;
	border: 1px solid rgb(0 132 184 / 20%);
	background: rgb(255 255 255 / 78%);
	color: #0079ab;
	box-shadow: 0 1rem 2.5rem rgb(0 61 89 / 8%);
}

.p-case-detail__client-label {
	margin: 0;
	color: #0b3954;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.p-case-detail__hero-description {
	max-width: 42rem;
	color: #506675;
	font-size: clamp(1.05rem, 1.8vw, 1.22rem);
	line-height: 1.75;
}

.p-case-detail__hero-meta {
	display: flex;
	margin-top: clamp(1.5rem, 3vw, 2rem);
	flex-wrap: wrap;
	gap: 0.75rem;
}

.p-case-detail__hero-meta span {
	display: inline-flex;
	align-items: center;
	padding: 0.7rem 1rem;
	border: 1px solid rgb(0 132 184 / 16%);
	border-radius: 999px;
	background: #fff;
	color: #0b3954;
	font-weight: 700;
	box-shadow: 0 1rem 2rem rgb(0 61 89 / 8%);
}

.p-case-detail .s-detail-hero__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border: 1px solid rgb(191 228 244 / 90%);
	border-radius: 32px;
	background: #fff;
	box-shadow: 0 2rem 4.5rem rgb(0 61 89 / 16%);
}

.p-case-detail .s-detail-hero__media::before {
	position: absolute;
	inset: 8%;
	border-radius: 999px;
	background: radial-gradient(circle, rgb(0 132 184 / 18%), transparent 66%);
	content: "";
}

.p-case-detail .s-detail-hero__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-case-detail__section-heading {
	max-width: 54rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.p-case-detail__section-heading h2 {
	margin-block: 0.45rem 0.8rem;
	color: #063b5b;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.05;
}

.p-case-detail__section-heading p:not(.c-eyebrow) {
	margin: 0 auto;
	color: #5b6b75;
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.75;
}

.p-case-detail__overview-grid,
.p-case-detail__journey-grid,
.p-case-detail__metrics,
.p-case-detail__reference-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}

.p-case-detail__overview-card,
.p-case-detail__journey-card,
.p-case-detail__metric,
.p-case-detail .c-card--portfolio-reference,
.p-case-detail .c-card--testimonial {
	border: 1px solid rgb(0 132 184 / 12%);
	background: #fff;
	box-shadow: 0 1.35rem 3rem rgb(0 61 89 / 8%);
}

.p-case-detail__overview-card {
	display: flex;
	min-height: 9rem;
	align-items: center;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border-radius: 24px;
	gap: 1rem;
}

.p-case-detail__overview-card p,
.p-case-detail__overview-card strong {
	display: block;
	margin: 0;
}

.p-case-detail__overview-card p {
	color: #70818c;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.p-case-detail__overview-card strong {
	margin-top: 0.35rem;
	color: #063b5b;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.25;
}

.p-case-detail__overview-icon {
	position: relative;
	display: inline-flex;
	width: 3.4rem;
	height: 3.4rem;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border-radius: 1.15rem;
	background: linear-gradient(135deg, #eaf7fb, #fff7d4);
}

.p-case-detail__overview-icon::before {
	width: 1.35rem;
	height: 1.35rem;
	border: 2px solid #0079ab;
	border-radius: 0.35rem;
	content: "";
}

.p-case-detail__overview-icon--client::before {
	border-radius: 999px 999px 0.35rem 0.35rem;
}

.p-case-detail__overview-icon--industry::before {
	border-radius: 0.2rem;
	box-shadow: 0.45rem 0.45rem 0 -0.12rem #fdd100;
}

.p-case-detail__overview-icon--service::before {
	border-radius: 999px;
	box-shadow: inset 0 0 0 0.35rem #fff;
}

.p-case-detail__project-overview {
	position: relative;
	overflow: clip;
	scroll-margin-top: clamp(5rem, 9vw, 7rem);
	background:
		radial-gradient(circle at 12% 22%, rgb(0 143 215 / 7%), transparent 24rem),
		radial-gradient(circle at 84% 8%, rgb(117 89 201 / 5%), transparent 22rem),
		linear-gradient(180deg, #f8fcff 0%, #ffffff 100%);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-case-detail__project-overview::before {
	position: absolute;
	top: clamp(2rem, 7vw, 4.5rem);
	left: max(1rem, calc((100% - var(--container-max, 1180px)) / 2));
	width: 2.8rem;
	height: 0.28rem;
	border-radius: 999px;
	background: #fdd100;
	content: "";
	pointer-events: none;
}

.p-case-detail__overview-layout {
	position: relative;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.p-case-detail__overview-heading {
	position: relative;
	max-width: 31rem;
}

.p-case-detail__overview-heading .c-eyebrow {
	margin: 0 0 0.75rem;
	color: #0079ab;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.p-case-detail__overview-heading h2 {
	margin: 0;
	color: #063b5b;
	font-size: clamp(2rem, 3.2vw, 3rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
}

.p-case-detail__overview-heading p:not(.c-eyebrow) {
	margin: 1rem 0 0;
	color: #5b6b75;
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	font-weight: 400;
	line-height: 1.72;
}

.p-case-detail__overview-accent {
	display: block;
	width: 4.2rem;
	height: 0.22rem;
	margin-top: 1.35rem;
	border-radius: 999px;
	background: linear-gradient(90deg, #fdd100, rgb(253 209 0 / 18%));
}

.p-case-detail__overview-list {
	display: grid;
	gap: clamp(1rem, 2vw, 1.35rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-case-detail__overview-item {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	gap: 1rem;
	padding: clamp(1.2rem, 2.4vw, 1.55rem);
	border: 1px solid rgb(0 111 168 / 13%);
	border-radius: var(--radius-3, 0.75rem);
	background:
		linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(246 252 255 / 92%));
	box-shadow: 0 1rem 2.5rem rgb(4 50 76 / 7%);
	transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}

.p-case-detail__overview-item::before {
	position: absolute;
	top: 0;
	right: 1.2rem;
	left: 1.2rem;
	height: 0.18rem;
	border-radius: 0 0 999px 999px;
	background: rgb(253 209 0 / 72%);
	content: "";
	pointer-events: none;
}

.p-case-detail__overview-number {
	display: inline-flex;
	width: 2.6rem;
	height: 2.6rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	background: #f7fcff;
	color: #0079ab;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1;
}

.p-case-detail__overview-item h3,
.p-case-detail__overview-item p {
	margin: 0;
}

.p-case-detail__overview-item h3 {
	color: #063b5b;
	font-size: clamp(1rem, 1.35vw, 1.12rem);
	font-weight: 600;
	line-height: 1.3;
}

.p-case-detail__overview-item p {
	margin-top: 0.6rem;
	color: #566a76;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.68;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-detail__overview-item:hover {
		border-color: rgb(0 111 168 / 24%);
		box-shadow: 0 1.35rem 3rem rgb(4 50 76 / 10%);
		transform: translateY(-2px);
	}
}

.p-case-detail__journey-grid {
	grid-template-columns: 1fr;
}

.p-case-detail__journey {
	position: relative;
	overflow: clip;
	background:
		radial-gradient(circle at 88% 12%, rgb(0 143 215 / 6%), transparent 24rem),
		linear-gradient(180deg, #ffffff 0%, #f7fcff 52%, #ffffff 100%);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-case-detail__journey::before {
	position: absolute;
	top: clamp(3rem, 8vw, 6rem);
	right: max(1rem, calc((100% - var(--container-max, 1180px)) / 2));
	width: 4.4rem;
	height: 0.22rem;
	border-radius: 999px;
	background: linear-gradient(90deg, rgb(253 209 0 / 18%), #fdd100);
	content: "";
	pointer-events: none;
}

.p-case-detail__journey-layout {
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}

.p-case-detail__journey-rail {
	position: relative;
	min-width: 0;
}

.p-case-detail__journey-heading {
	max-width: 32rem;
}

.p-case-detail__journey-heading .c-eyebrow {
	margin: 0 0 0.75rem;
	color: #0079ab;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.p-case-detail__journey-heading h2 {
	margin: 0;
	color: #063b5b;
	font-size: clamp(2.1rem, 3.5vw, 3.25rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.06;
}

.p-case-detail__journey-heading p:not(.c-eyebrow) {
	margin: 1rem 0 0;
	color: #5b6b75;
	font-size: clamp(1rem, 1.25vw, 1.08rem);
	font-weight: 400;
	line-height: 1.72;
}

.p-case-detail__journey-progress,
.p-case-detail__journey-panels {
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-case-detail__journey-progress {
	position: relative;
	display: grid;
	gap: 1rem;
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.p-case-detail__journey-progress::before {
	position: absolute;
	top: 1.25rem;
	bottom: 1.25rem;
	left: 1.2rem;
	width: 1px;
	background: linear-gradient(180deg, rgb(0 111 168 / 20%), rgb(253 209 0 / 52%), rgb(0 111 168 / 12%));
	content: "";
	pointer-events: none;
}

.p-case-detail__journey-progress li {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: 2.4rem minmax(0, 1fr);
	align-items: center;
	gap: 0.8rem;
	color: #063b5b;
}

.p-case-detail__journey-progress span {
	position: relative;
	z-index: 1;
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(0 111 168 / 18%);
	border-radius: 999px;
	background: #ffffff;
	box-shadow: 0 0.55rem 1.4rem rgb(4 50 76 / 8%);
	color: #0079ab;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1;
}

.p-case-detail__journey-progress strong {
	font-size: 0.94rem;
	font-weight: 600;
	line-height: 1.35;
}

.p-case-detail__journey-panels {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	min-width: 0;
}

.p-case-detail__journey-panel {
	position: relative;
	min-width: 0;
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: var(--radius-3, 0.75rem);
	background:
		linear-gradient(135deg, rgb(255 255 255 / 98%), rgb(248 252 255 / 96%));
	box-shadow: 0 1rem 2.4rem rgb(4 50 76 / 6%);
	transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
}

.p-case-detail__journey-panel:not(:last-child)::after {
	position: absolute;
	bottom: calc(clamp(1.25rem, 3vw, 2rem) * -1);
	left: clamp(1.7rem, 3vw, 2.25rem);
	width: 1px;
	height: clamp(1.25rem, 3vw, 2rem);
	background: linear-gradient(180deg, rgb(253 209 0 / 68%), rgb(0 111 168 / 12%));
	content: "";
	pointer-events: none;
}

.p-case-detail__journey-number {
	position: absolute;
	top: 0.65rem;
	right: clamp(1rem, 2vw, 1.45rem);
	color: rgb(0 111 168 / 9%);
	font-size: clamp(3.3rem, 8vw, 5.8rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 0.9;
	pointer-events: none;
}

.p-case-detail__journey-panel-body {
	position: relative;
	z-index: 1;
	max-width: 68ch;
}

.p-case-detail__journey-stage {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #0079ab;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.p-case-detail__journey-stage::before {
	display: inline-block;
	width: 0.62rem;
	height: 0.62rem;
	border-radius: 999px;
	background: #fdd100;
	box-shadow: 0 0 0 0.25rem rgb(253 209 0 / 16%);
	content: "";
}

.p-case-detail__journey-panel h3 {
	margin: 0.8rem 0 0;
	color: #063b5b;
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.18;
}

.p-case-detail__journey-content {
	margin-top: 1rem;
	color: #566a76;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.74;
}

.p-case-detail__journey-content > :first-child {
	margin-top: 0;
}

.p-case-detail__journey-content > :last-child {
	margin-bottom: 0;
}

.p-case-detail__journey-content p,
.p-case-detail__journey-content ul,
.p-case-detail__journey-content ol {
	margin-block: 0 0.9rem;
}

.p-case-detail__journey-content ul,
.p-case-detail__journey-content ol {
	padding-left: 1.25rem;
}

.p-case-detail__journey-content li + li {
	margin-top: 0.45rem;
}

.p-case-detail__journey-content a {
	color: #0079ab;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.p-case-detail__journey-content a:focus-visible {
	outline: 3px solid rgb(253 209 0 / 75%);
	outline-offset: 0.2rem;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-detail__journey-panel:hover {
		border-color: rgb(0 111 168 / 22%);
		box-shadow: 0 1.3rem 3rem rgb(4 50 76 / 9%);
		transform: translateY(-2px);
	}
}

.p-case-detail__journey-card {
	position: relative;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: 26px;
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.p-case-detail__journey-card::before {
	position: absolute;
	top: -3rem;
	right: -2rem;
	width: 8rem;
	height: 8rem;
	border-radius: 999px;
	background: rgb(253 209 0 / 10%);
	content: "";
}

.p-case-detail__journey-card:hover {
	border-color: rgb(253 209 0 / 70%);
	box-shadow: 0 1.8rem 4rem rgb(0 61 89 / 13%);
	transform: translateY(-4px);
}

.p-case-detail__journey-label {
	padding: 0.45rem 0.7rem;
	border: 1px solid rgb(253 209 0 / 48%);
	background: #fff8d8;
	color: #063b5b;
}

.p-case-detail__journey-card h3 {
	position: relative;
	margin-block: 1rem 0.8rem;
	color: #063b5b;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.p-case-detail__journey-content {
	position: relative;
	color: #566a76;
	line-height: 1.75;
}

.p-case-detail__journey-card--results ul {
	padding: 0;
	list-style: none;
}

.p-case-detail__journey-card--results li {
	position: relative;
	padding-left: 1.6rem;
}

.p-case-detail__journey-card--results li::before {
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: #fdd100;
	box-shadow: 0 0 0 0.25rem rgb(253 209 0 / 18%);
	content: "";
}

.p-case-detail__metrics {
	margin-top: clamp(1.25rem, 3vw, 2rem);
}

.p-case-detail__metric {
	padding: 1.2rem;
	border-radius: 20px;
	text-align: center;
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.p-case-detail__metric:hover {
	border-color: rgb(253 209 0 / 65%);
	box-shadow: 0 1.5rem 3rem rgb(0 61 89 / 12%);
	transform: translateY(-4px);
}

.p-case-detail__metric strong,
.p-case-detail__metric span {
	display: block;
}

.p-case-detail__metric strong {
	color: #063b5b;
	font-size: clamp(1.45rem, 2vw, 1.85rem);
	line-height: 1.05;
}

.p-case-detail__metric span {
	margin-top: 0.35rem;
	color: #5f7180;
	font-size: 0.88rem;
	font-weight: 700;
}

.p-case-detail__gallery-grid {
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.75rem);
	grid-template-columns: 1fr;
}

.p-case-detail__gallery-item {
	margin: 0;
}

.p-case-detail__gallery-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
}

.p-case-detail__gallery-media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border: 1px solid rgb(0 132 184 / 13%);
	border-radius: 20px;
	background:
		radial-gradient(circle at 82% 8%, rgb(253 209 0 / 13%), transparent 7.5rem),
		linear-gradient(145deg, #ffffff 0%, #f3fafc 100%);
	box-shadow: 0 0.75rem 1.8rem rgb(0 61 89 / 8%);
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		transform 220ms ease;
}

.p-case-detail__gallery-number {
	position: absolute;
	z-index: 2;
	top: 0.85rem;
	left: 0.85rem;
	display: inline-flex;
	min-width: 2.2rem;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.55rem;
	border: 1px solid rgb(253 209 0 / 48%);
	border-radius: 999px;
	background: rgb(255 255 255 / 86%);
	color: #075f88;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0.45rem 1rem rgb(0 61 89 / 8%);
}

.p-case-detail__gallery-item img,
.p-case-detail__gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	transition: none;
}

.p-case-detail__gallery-view-label {
	display: inline-flex;
	width: fit-content;
	margin-top: 0.7rem;
	align-items: center;
	gap: 0.4rem;
	color: #0876a8;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.3;
	opacity: 0.82;
	transition:
		color 220ms ease,
		opacity 220ms ease,
		transform 220ms ease;
}

.p-case-detail__gallery-view-label::after {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

.p-case-detail__gallery-caption {
	margin-top: 0.55rem;
	color: #536c7c;
	font-size: 0.9rem;
	line-height: 1.5;
}

.p-case-detail__gallery-trigger:hover .p-case-detail__gallery-media,
.p-case-detail__gallery-trigger:focus-visible .p-case-detail__gallery-media {
	border-color: rgb(253 209 0 / 66%);
	box-shadow: 0 1.1rem 2.2rem rgb(0 61 89 / 11%);
	transform: translateY(-3px);
}

.p-case-detail__gallery-trigger:hover .p-case-detail__gallery-view-label,
.p-case-detail__gallery-trigger:focus-visible .p-case-detail__gallery-view-label {
	color: #005d87;
	opacity: 1;
	transform: translateX(0.15rem);
}

.p-case-detail__gallery-trigger:focus-visible {
	outline: 3px solid rgb(253 209 0 / 78%);
	outline-offset: 0.35rem;
}

@media (min-width: 30rem) {
	.p-case-detail__gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.p-case-detail__reference-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	align-items: stretch;
}

.p-case-detail .c-card--portfolio-reference {
	overflow: hidden;
	height: auto;
	padding: 0;
	border-radius: 24px;
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.p-case-detail .c-card--portfolio-reference:hover,
.p-case-detail .c-card--testimonial:hover {
	border-color: rgb(253 209 0 / 70%);
	box-shadow: 0 1.8rem 4rem rgb(0 61 89 / 14%);
	transform: translateY(-4px);
}

.p-case-detail .c-card--portfolio-reference .c-card__media {
	overflow: hidden;
	width: 100%;
	max-height: none;
	aspect-ratio: 16 / 10;
	background: #eef9fd;
}

.p-case-detail .c-card--portfolio-reference .c-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	transition: transform 300ms ease;
}

.p-case-detail .c-card--portfolio-reference:hover .c-card__media img {
	transform: scale(1.04);
}

.p-case-detail .c-card--portfolio-reference .c-card__body {
	display: flex;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	flex-direction: column;
	gap: 0.75rem;
}

.p-case-detail .c-card--portfolio-reference .c-card__body p {
	margin: 0;
}

.p-case-detail__portfolio-type {
	padding: 0.4rem 0.7rem;
	border: 1px solid rgb(253 209 0 / 45%);
	background: #fff7d4;
	color: #063b5b;
}

.p-case-detail__portfolio-brand {
	color: #063b5b;
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.p-case-detail__portfolio-excerpt {
	display: -webkit-box;
	color: #5d6f7a;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.p-case-detail .c-card--portfolio-reference .sr-btn {
	width: fit-content;
	margin-top: auto;
	color: #fff;
}

.p-case-detail .c-card--testimonial {
	position: relative;
	height: auto;
	padding: clamp(1.5rem, 3vw, 2rem);
	border-left: 0;
	border-radius: 24px;
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.p-case-detail .c-card--testimonial::before {
	position: absolute;
	top: 1.4rem;
	right: 1.5rem;
	color: rgb(253 209 0 / 34%);
	font-size: 5rem;
	font-weight: 800;
	line-height: 1;
	content: "\201C";
}

.p-case-detail .c-card--testimonial > * {
	position: relative;
	margin-block: 0;
}

.p-case-detail .c-card--testimonial .c-card__rating {
	display: inline-flex;
	width: fit-content;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgb(253 209 0 / 55%);
	border-radius: 999px;
	background: #fff8d8;
	color: #063b5b;
	font-size: 0.82rem;
	font-weight: 800;
}

.p-case-detail .c-card--testimonial .c-card__quote {
	margin-top: 1rem;
	color: #445a68;
	font-size: clamp(1.02rem, 1.5vw, 1.18rem);
	line-height: 1.75;
}

.p-case-detail .c-card--testimonial .c-card__quote p {
	margin: 0;
}

.p-case-detail .c-card--testimonial footer {
	display: grid;
	margin-top: 1.25rem;
	gap: 0.25rem;
	color: #657582;
}

.p-case-detail .c-card--testimonial footer strong {
	color: #063b5b;
	font-size: 1.05rem;
}

.p-case-detail__cta-card {
	position: relative;
	display: grid;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4.5rem);
	border: 1px solid rgb(253 209 0 / 18%);
	border-radius: 30px;
	background:
		radial-gradient(circle at 82% 0%, rgb(253 209 0 / 18%), transparent 22rem),
		linear-gradient(135deg, #05324b 0%, #075f87 100%);
	box-shadow: 0 2rem 4.5rem rgb(0 61 89 / 20%);
	gap: clamp(1.5rem, 4vw, 3rem);
}

.p-case-detail__cta-card::before {
	position: absolute;
	top: 0;
	left: clamp(2rem, 5vw, 4rem);
	width: 10rem;
	height: 0.18rem;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, #fdd100, transparent);
	content: "";
}

.p-case-detail__cta-card::after {
	position: absolute;
	top: -7rem;
	right: -5rem;
	width: 17rem;
	height: 17rem;
	border: 1px solid rgb(253 209 0 / 30%);
	border-radius: 999px;
	content: "";
}

.p-case-detail__cta-card > * {
	position: relative;
	z-index: 1;
}

.p-case-detail__cta-card h2 {
	max-width: 18ch;
	margin-bottom: 1rem;
	color: #fff;
	font-size: clamp(2.4rem, 5vw, 4.25rem);
	line-height: 0.98;
}

.p-case-detail__cta-card p:not(.p-case-detail__cta-eyebrow) {
	max-width: 45rem;
	margin: 0;
	color: #d5e6ee;
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.75;
}

.p-case-detail__cta-eyebrow {
	margin: 0 0 0.9rem;
	color: #fdd100;
}

.p-case-detail__cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem;
}

.p-case-detail__cta-actions .c-button {
	min-height: 3.25rem;
	padding-inline: 1.35rem;
	border-radius: 999px;
	font-weight: 800;
	transition: transform 300ms ease, box-shadow 300ms ease, background-color 300ms ease;
}

.p-case-detail__cta-actions .c-button--primary {
	border-color: #fdd100;
	background: linear-gradient(135deg, #fdd100 0%, #d9a10b 100%);
	color: #0c2432;
	box-shadow: 0 1rem 2.2rem rgb(0 0 0 / 18%);
}

.p-case-detail__cta-actions .c-button--secondary {
	border: 1px solid rgb(255 255 255 / 28%);
	background: rgb(255 255 255 / 8%);
	color: #fff;
}

.p-case-detail__cta-actions .c-button:hover {
	transform: translateY(-3px);
}

@media (min-width: 48rem) {
	.p-case-detail__overview-grid,
	.p-case-detail__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-case-detail__overview-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-case-detail__gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.p-case-detail .s-detail-hero__grid {
		grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 0.85fr);
	}

	.p-case-detail__overview-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-case-detail__overview-layout {
		grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
	}

	.p-case-detail__journey-layout {
		grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
		gap: clamp(4rem, 7vw, 6rem);
	}

	.p-case-detail__journey-rail {
		position: sticky;
		top: clamp(5.5rem, 8vw, 7rem);
	}

	.p-case-detail__journey-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-case-detail__metrics {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p-case-detail__gallery-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p-case-detail__gallery-item--featured {
		grid-column: auto;
		grid-row: auto;
		aspect-ratio: 4 / 5;
	}

	.p-case-detail__cta-card {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}
}

@media (min-width: 48rem) and (max-width: 63.98rem) {
	.p-case-detail__journey-progress {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-case-detail__journey-progress::before {
		top: 1.2rem;
		right: 12%;
		bottom: auto;
		left: 12%;
		width: auto;
		height: 1px;
		background: linear-gradient(90deg, rgb(0 111 168 / 20%), rgb(253 209 0 / 52%), rgb(0 111 168 / 12%));
	}

	.p-case-detail__journey-progress li {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}
}

@media (max-width: 47.98rem) {
	.p-case-detail__hero-meta,
	.p-case-detail__cta-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.p-case-detail__hero-meta span,
	.p-case-detail__cta-actions .c-button {
		width: 100%;
		justify-content: center;
	}

	.p-case-detail__cta-card {
		text-align: center;
	}

	.p-case-detail__cta-card h2,
	.p-case-detail__cta-card p {
		margin-inline: auto;
	}

	.p-case-detail__project-overview::before {
		left: var(--container-padding, 1rem);
		width: 2.2rem;
	}

	.p-case-detail__overview-heading {
		max-width: none;
	}

	.p-case-detail__overview-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.p-case-detail__overview-item {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.8rem;
	}

	.p-case-detail__overview-item p {
		font-size: 1rem;
		line-height: 1.66;
	}

	.p-case-detail__journey::before {
		right: var(--container-padding, 1rem);
		width: 2.4rem;
	}

	.p-case-detail__journey-heading {
		max-width: none;
	}

	.p-case-detail__journey-heading h2 {
		font-size: clamp(2rem, 9vw, 2.7rem);
	}

	.p-case-detail__journey-progress {
		gap: 0.9rem;
		margin-top: 1.3rem;
	}

	.p-case-detail__journey-progress::before {
		left: 1.05rem;
	}

	.p-case-detail__journey-progress li {
		grid-template-columns: 2.1rem minmax(0, 1fr);
	}

	.p-case-detail__journey-progress span {
		width: 2.1rem;
		height: 2.1rem;
	}

	.p-case-detail__journey-panel {
		padding: 1.2rem;
	}

	.p-case-detail__journey-number {
		top: 0.5rem;
		right: 0.8rem;
		font-size: clamp(3rem, 18vw, 4.5rem);
	}

	.p-case-detail__journey-panel-body {
		max-width: none;
	}

	.p-case-detail__journey-content {
		font-size: 1rem;
		line-height: 1.68;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-case-detail__overview-item,
	.p-case-detail__journey-panel,
	.p-case-detail__journey-card,
	.p-case-detail__metric,
	.p-case-detail .c-card--portfolio-reference,
	.p-case-detail .c-card--testimonial,
	.p-case-detail .c-card--portfolio-reference .c-card__media img,
	.p-case-detail__gallery-item img,
	.p-case-detail__gallery-media,
	.p-case-detail__gallery-view-label,
	.p-case-detail__cta-actions .c-button {
		transition: none;
	}

	.p-case-detail__overview-item:hover,
	.p-case-detail__journey-panel:hover,
	.p-case-detail__journey-card:hover,
	.p-case-detail__metric:hover,
	.p-case-detail .c-card--portfolio-reference:hover,
	.p-case-detail .c-card--testimonial:hover,
	.p-case-detail__gallery-trigger:hover .p-case-detail__gallery-media,
	.p-case-detail__gallery-trigger:focus-visible .p-case-detail__gallery-media,
	.p-case-detail__gallery-trigger:hover .p-case-detail__gallery-view-label,
	.p-case-detail__gallery-trigger:focus-visible .p-case-detail__gallery-view-label,
	.p-case-detail .c-card--portfolio-reference:hover .c-card__media img,
	.p-case-detail__cta-actions .c-button:hover {
		transform: none;
	}
}

/* Case study archive final experience. */
.p-case-archive {
	--case-navy: #04324c;
	--case-blue: #008fd7;
	--case-gold: #fdd100;
	--case-muted: #516875;
	--case-line: rgb(0 111 168 / 14%);
	overflow: clip;
	background:
		radial-gradient(circle at 12% 6%, rgb(0 143 215 / 12%), transparent 28rem),
		radial-gradient(circle at 86% 38%, rgb(253 209 0 / 8%), transparent 24rem),
		linear-gradient(180deg, #f7fcff 0%, #ffffff 48%, #eef7fb 100%);
	color: var(--case-navy);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-case-archive,
.p-case-archive * {
	box-sizing: border-box;
	font-family: inherit;
}

.p-case-archive__hero {
	position: relative;
	isolation: isolate;
	padding-block: clamp(4.25rem, 7vw, 6rem) clamp(2.5rem, 5vw, 3.75rem);
}

.p-case-archive__hero::before {
	position: absolute;
	top: 16%;
	right: 7%;
	z-index: -1;
	width: min(22rem, 46vw);
	height: min(22rem, 46vw);
	border-radius: 999px;
	background: rgb(0 111 168 / 9%);
	content: "";
	filter: blur(46px);
}

.p-case-archive__hero-grid {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.p-case-archive__hero-copy {
	max-width: 48rem;
}

.p-case-archive__eyebrow {
	display: inline-flex;
	margin: 0 0 1rem;
	align-items: center;
	gap: 0.55rem;
	color: #006fa8;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.p-case-archive__eyebrow::before {
	width: 0.58rem;
	height: 0.58rem;
	border: 0.18rem solid rgb(230 33 41 / 18%);
	border-radius: 999px;
	background: #e62129;
	content: "";
	box-shadow: 0 0 0 0.25rem rgb(230 33 41 / 8%);
}

.p-case-archive h1 {
	max-width: 14ch;
	margin: 0;
	color: var(--case-navy);
	font-size: clamp(3rem, 5.5vw, 5rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 0.98;
}

.p-case-archive__hero-copy > p:not(.p-case-archive__eyebrow) {
	width: 100%;
	max-width: none;
	margin: 1.35rem 0 0;
	color: var(--case-muted);
	font-size: clamp(1.05rem, 1.45vw, 1.2rem);
	font-weight: 400;
	line-height: 1.75;
	text-align: left;
	white-space: normal;
}

.p-case-archive__trust-row {
	display: grid;
	margin: 0;
	padding: clamp(1.2rem, 2.4vw, 1.6rem);
	gap: 0.8rem;
	border: 1px solid rgb(255 255 255 / 72%);
	border-radius: 1.75rem;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 82%), rgb(255 255 255 / 54%)),
		radial-gradient(circle at 90% 14%, rgb(253 209 0 / 13%), transparent 13rem);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 76%),
		0 1.3rem 3.2rem rgb(4 50 76 / 10%);
	list-style: none;
	backdrop-filter: blur(16px);
}

.p-case-archive__trust-row li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	color: #365867;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
}

.p-case-archive__trust-row span {
	display: grid;
	width: 2rem;
	height: 2rem;
	flex: 0 0 auto;
	border: 1px solid rgb(0 143 215 / 16%);
	border-radius: 999px;
	background: linear-gradient(145deg, #eef8fc, #fff);
	place-items: center;
}

.p-case-archive__trust-row span::before {
	width: 0.58rem;
	height: 0.34rem;
	border-bottom: 2px solid var(--case-blue);
	border-left: 2px solid var(--case-blue);
	content: "";
	transform: rotate(-45deg) translateY(-1px);
}

.p-case-archive__featured {
	padding-block: clamp(1rem, 3vw, 2rem) clamp(3.5rem, 6vw, 5rem);
}

.p-case-featured-card {
	position: relative;
	display: grid;
	overflow: hidden;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 2rem;
	background:
		radial-gradient(circle at 16% 18%, rgb(0 143 215 / 10%), transparent 22rem),
		linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(248 252 253 / 88%));
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 86%),
		0 1.8rem 4.6rem rgb(4 50 76 / 12%),
		0 0.25rem 0.9rem rgb(4 50 76 / 5%);
}

.p-case-featured-card__media {
	position: relative;
	min-height: clamp(22rem, 40vw, 38rem);
	overflow: hidden;
	background:
		radial-gradient(circle at 48% 40%, rgb(253 209 0 / 16%), transparent 18rem),
		linear-gradient(145deg, #e9f7fc, #ffffff 58%, #dff3fb);
}

.p-case-featured-card__media::before {
	position: absolute;
	right: 12%;
	bottom: 8%;
	left: 12%;
	height: 6rem;
	border-radius: 999px;
	background: rgb(4 50 76 / 16%);
	content: "";
	filter: blur(24px);
	transform: translateY(48%);
}

.p-case-featured-card__media img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: clamp(1.5rem, 4vw, 3rem);
	filter: drop-shadow(0 1.4rem 2.1rem rgb(4 50 76 / 16%));
	transition: transform 320ms ease;
}

.p-case-featured-card__content {
	display: flex;
	padding: clamp(1.6rem, 4vw, 3rem);
	flex-direction: column;
	justify-content: center;
}

.p-case-featured-card__category,
.p-case-featured-card__brand {
	margin: 0;
	color: #006fa8;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.p-case-featured-card h2 {
	max-width: 16ch;
	margin: 0.7rem 0 0;
	color: var(--case-navy);
	font-size: clamp(2.35rem, 4.1vw, 3.75rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1;
}

.p-case-featured-card__brand {
	margin-top: 0.8rem;
	color: #b58b18;
}

.p-case-featured-card__summary {
	max-width: 38rem;
	margin: 1.2rem 0 0;
	color: var(--case-muted);
	font-size: clamp(1rem, 1.25vw, 1.08rem);
	font-weight: 400;
	line-height: 1.68;
}

.p-case-featured-card__evidence {
	display: grid;
	margin-top: 1.35rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.p-case-featured-card__evidence div {
	padding: 0.85rem;
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: 1rem;
	background: rgb(255 255 255 / 72%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 78%);
}

.p-case-featured-card__evidence span,
.p-case-featured-card__evidence strong {
	display: block;
}

.p-case-featured-card__evidence span {
	color: #6b7d86;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.p-case-featured-card__evidence strong {
	margin-top: 0.25rem;
	color: var(--case-navy);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.25;
}

.p-case-featured-card__story {
	display: grid;
	margin-top: 1.5rem;
	gap: 0.85rem;
}

.p-case-featured-card__story-block {
	position: relative;
	padding: 1rem 1rem 1rem 1.15rem;
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: 1.1rem;
	background: rgb(255 255 255 / 76%);
	box-shadow: 0 0.7rem 1.5rem rgb(4 50 76 / 5%);
}

.p-case-featured-card__story-block::before {
	position: absolute;
	top: 1rem;
	bottom: 1rem;
	left: 0;
	width: 0.2rem;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--case-gold), rgb(0 143 215 / 44%));
	content: "";
}

.p-case-featured-card__story-block h3 {
	margin: 0 0 0.45rem;
	color: #006fa8;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.p-case-featured-card__story-block p,
.p-case-featured-card__story-block ul {
	margin: 0;
	color: #49626f;
	font-size: 0.94rem;
	font-weight: 400;
	line-height: 1.58;
}

.p-case-featured-card__story-block ul {
	padding-left: 1.1rem;
}

.p-case-featured-card__story-block--challenge::before {
	background: linear-gradient(180deg, #fdd100, rgb(181 139 24 / 42%));
}

.p-case-featured-card__story-block--challenge h3 {
	color: #b58b18;
}

.p-case-featured-card__story-block--solution::before {
	background: linear-gradient(180deg, #008fd7, rgb(0 111 168 / 38%));
}

.p-case-featured-card__story-block--solution h3 {
	color: #006fa8;
}

.p-case-featured-card__story-block--result::before {
	background: linear-gradient(180deg, #00a98f, rgb(0 143 125 / 38%));
}

.p-case-featured-card__story-block--result h3 {
	color: #008f7d;
}

.p-case-featured-card__result-list {
	display: grid;
	padding: 0;
	gap: 0.5rem;
	list-style: none;
}

.p-case-featured-card__result-list li {
	position: relative;
	padding-left: 1.35rem;
}

.p-case-featured-card__result-list li::before {
	position: absolute;
	top: 0.42rem;
	left: 0;
	width: 0.58rem;
	height: 0.34rem;
	border-bottom: 2px solid #00a98f;
	border-left: 2px solid #00a98f;
	content: "";
	transform: rotate(-45deg);
}

.p-case-featured-card__story-block li + li {
	margin-top: 0.35rem;
}

.p-case-featured-card__link {
	display: inline-flex;
	width: fit-content;
	min-height: 2.75rem;
	margin-top: 1.4rem;
	align-items: center;
	gap: 0.55rem;
	color: #006fa8;
	font-weight: 700;
	text-decoration: none;
}

.p-case-featured-card__link span,
.p-case-archive__cta-button span {
	transition: transform 220ms ease;
}

.p-case-featured-card__link:focus-visible,
.p-case-archive__cta-button:focus-visible {
	outline: 3px solid rgb(0 143 215 / 28%);
	outline-offset: 4px;
	border-radius: 0.65rem;
}

.p-case-archive__cta {
	padding-block: 0 clamp(2.5rem, 5vw, 3.75rem);
}

.p-case-archive__cta-card {
	position: relative;
	display: grid;
	overflow: hidden;
	padding: clamp(1.35rem, 2.6vw, 1.85rem);
	gap: 1.5rem;
	align-items: center;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 1.75rem;
	background:
		radial-gradient(circle at 88% 8%, rgb(255 255 255 / 12%), transparent 18rem),
		linear-gradient(135deg, #03283d 0%, #005a88 54%, #04324c 100%);
	box-shadow: 0 1.4rem 3.4rem rgb(4 50 76 / 16%);
	color: #fff;
}

.p-case-archive__cta-card .p-case-archive__eyebrow {
	color: var(--case-gold);
}

.p-case-archive__cta-card h2 {
	max-width: 34rem;
	margin: 0;
	color: #fff;
	font-size: clamp(1.85rem, 3vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.p-case-archive__cta-card p:not(.p-case-archive__eyebrow) {
	max-width: 42rem;
	margin: 0.75rem 0 0;
	color: rgb(255 255 255 / 78%);
	font-weight: 400;
	line-height: 1.65;
}

.p-case-archive__cta-button {
	display: inline-flex;
	min-height: 3.35rem;
	padding: 0.85rem 1rem 0.85rem 1.25rem;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 999px;
	background: linear-gradient(135deg, #ffe066 0%, #fdd100 48%, #d6a20f 100%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 46%),
		0 1rem 2.2rem rgb(253 209 0 / 19%),
		0 0.55rem 1.3rem rgb(0 0 0 / 13%);
	color: #241900;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: box-shadow 240ms ease, transform 240ms ease;
}

.p-case-archive__empty {
	padding: 2rem;
	border: 1px solid var(--case-line);
	border-radius: 1.25rem;
	background: #fff;
	color: var(--case-muted);
	text-align: center;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-featured-card:hover .p-case-featured-card__media img {
		transform: scale(1.025);
	}

	.p-case-featured-card__link:hover,
	.p-case-featured-card__link:focus-visible {
		color: #004f78;
	}

	.p-case-featured-card__link:hover span,
	.p-case-featured-card__link:focus-visible span,
	.p-case-archive__cta-button:hover span,
	.p-case-archive__cta-button:focus-visible span {
		transform: translateX(5px);
	}

	.p-case-archive__cta-button:hover,
	.p-case-archive__cta-button:focus-visible {
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 54%),
			0 1.25rem 2.65rem rgb(253 209 0 / 24%),
			0 0.65rem 1.45rem rgb(0 0 0 / 15%);
		transform: translateY(-3px);
	}
}

.is-case-archive-motion-ready [data-case-archive-reveal],
.is-case-archive-motion-ready [data-case-archive-card],
.is-case-archive-motion-ready [data-case-archive-image],
.is-case-archive-motion-ready [data-case-archive-content],
.is-case-archive-motion-ready [data-case-archive-story] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 620ms ease, transform 620ms ease;
}

.is-case-archive-motion-ready [data-case-archive-card] {
	transform: translateY(24px) scale(0.985);
}

.is-case-archive-motion-ready [data-case-archive-image] {
	transform: translateY(18px) scale(0.985);
}

.is-case-archive-motion-ready [data-case-archive-content] {
	transform: translateX(20px);
}

.is-case-archive-motion-ready [data-case-archive-reveal].is-visible,
.is-case-archive-motion-ready [data-case-archive-card].is-visible,
.is-case-archive-motion-ready [data-case-archive-image].is-visible,
.is-case-archive-motion-ready [data-case-archive-content].is-visible,
.is-case-archive-motion-ready [data-case-archive-story].is-visible {
	opacity: 1;
	transform: none;
}

@media (min-width: 48rem) {
	.p-case-archive__hero-grid {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.58fr);
	}

	.p-case-featured-card {
		grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
	}

	.p-case-archive__cta-card {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (max-width: 63.999rem) {
	.p-case-featured-card {
		grid-template-columns: 1fr;
	}

	.p-case-featured-card__media {
		min-height: clamp(18rem, 70vw, 30rem);
	}
}

@media (max-width: 47.999rem) {
	.p-case-archive__hero {
		padding-block: 3.5rem 2rem;
	}

	.p-case-archive h1 {
		max-width: 100%;
		font-size: clamp(2.55rem, 14vw, 3.4rem);
	}

	.p-case-archive__trust-row,
	.p-case-featured-card__evidence {
		grid-template-columns: 1fr;
	}

	.p-case-featured-card,
	.p-case-archive__cta-card {
		border-radius: 1.45rem;
	}

	.p-case-featured-card__content {
		padding: 1.25rem;
	}

	.p-case-featured-card h2 {
		max-width: 100%;
		font-size: clamp(2.15rem, 12vw, 3rem);
	}

	.p-case-featured-card__media img {
		padding: 1.25rem;
	}

	.p-case-archive__cta-button {
		width: 100%;
		min-height: 3.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-case-archive *,
	.p-case-archive *::before,
	.p-case-archive *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.is-case-archive-motion-ready [data-case-archive-reveal],
	.is-case-archive-motion-ready [data-case-archive-card],
	.is-case-archive-motion-ready [data-case-archive-image],
	.is-case-archive-motion-ready [data-case-archive-content],
	.is-case-archive-motion-ready [data-case-archive-story] {
		opacity: 1;
		transform: none;
	}
}

/* Case study archive aligned to Homepage Success Stories. */
.p-case-archive {
	--case-ink: #2f2733;
	--case-muted-soft: #52666f;
	--case-purple: #8c5bb4;
	background:
		radial-gradient(circle at 14% 12%, rgb(0 143 215 / 8%), transparent 22rem),
		radial-gradient(circle at 88% 34%, rgb(218 148 190 / 12%), transparent 24rem),
		linear-gradient(180deg, #fff 0%, #fbf7ff 42%, #f7fbff 100%);
}

.p-case-archive__hero {
	padding-block: clamp(4rem, 7vw, 5.6rem) clamp(1.75rem, 4vw, 2.75rem);
}

.p-case-archive__hero::before,
.p-case-archive__trust-row {
	display: none;
}

.p-case-archive__hero-copy {
	max-width: 48rem;
}

.p-case-archive h1 {
	max-width: 13ch;
	color: var(--case-navy);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(3rem, 5.3vw, 4.8rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 0.98;
}

.p-case-archive__hero-copy > p:not(.p-case-archive__eyebrow) {
	width: 100%;
	max-width: none;
	color: var(--case-muted-soft);
	font-size: 1.08rem;
	line-height: 1.7;
}

@media (min-width: 64rem) {
	.p-case-archive__hero-copy {
		max-width: 76rem;
	}

	.p-case-archive h1 {
		max-width: none;
		font-size: clamp(3.55rem, 4.75vw, 4.55rem);
		text-wrap: balance;
	}

	.p-case-archive__hero-copy > p:not(.p-case-archive__eyebrow) {
		max-width: none;
		text-wrap: initial;
	}
}

.p-case-archive__featured {
	padding-block: 0 clamp(1.75rem, 4vw, 3rem);
}

.p-case-featured-card {
	position: relative;
	display: block;
	overflow: hidden;
	border: 1px solid rgb(118 83 145 / 14%);
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 1.5rem 4.25rem rgb(45 27 62 / 10%);
	transition: border-color 280ms ease, box-shadow 280ms ease, transform 280ms ease;
	will-change: transform;
}

.p-case-featured-card::after {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	content: "";
	background:
		radial-gradient(circle at 16% 18%, rgb(255 208 225 / 32%), transparent 15rem),
		radial-gradient(circle at 88% 90%, rgb(155 96 203 / 18%), transparent 16rem);
	opacity: 0;
	transition: opacity 280ms ease;
}

.p-case-featured-card__main {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
}

.p-case-featured-card__media {
	position: relative;
	display: grid;
	min-height: auto;
	padding: clamp(1.6rem, 4vw, 3.2rem) clamp(1.6rem, 4vw, 3.2rem) clamp(6rem, 11vw, 7.6rem);
	overflow: hidden;
	align-items: center;
	justify-items: center;
	background:
		radial-gradient(circle at 26% 22%, rgb(255 255 255 / 82%), transparent 16rem),
		radial-gradient(circle at 78% 72%, rgb(218 148 190 / 20%), transparent 15rem),
		linear-gradient(145deg, #ffe5e9 0%, #fff3ec 48%, #f7e6ff 100%);
}

.p-case-featured-card__media::before {
	right: 18%;
	bottom: 16%;
	left: 18%;
	height: 5.8rem;
	background: rgb(80 38 62 / 15%);
	filter: blur(24px);
	transform: translateY(56%);
}

.p-case-featured-card__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: min(78%, 28rem);
	height: auto;
	max-height: 34rem;
	padding: 0;
	border-radius: var(--radius-6, 2rem);
	object-fit: contain;
	filter: drop-shadow(0 1.6rem 2.4rem rgb(80 38 62 / 18%));
	transition: filter 350ms ease, transform 700ms cubic-bezier(.22, .61, .36, 1);
}

.p-case-featured-card__info {
	position: absolute;
	right: clamp(1rem, 4vw, 2.25rem);
	bottom: clamp(1rem, 4vw, 2rem);
	left: clamp(1rem, 4vw, 2.25rem);
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / 76%);
	border-radius: 20px;
	background: rgb(255 255 255 / 76%);
	box-shadow: 0 1rem 2.35rem rgb(64 28 56 / 13%);
	backdrop-filter: blur(16px);
}

.p-case-featured-card__info span,
.p-case-featured-card__info strong {
	display: block;
}

.p-case-featured-card__info span {
	margin-bottom: 0.22rem;
	color: #7e6f7f;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
}

.p-case-featured-card__info strong {
	color: var(--case-ink);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.25;
}

.p-case-featured-card__content {
	display: flex;
	min-width: 0;
	padding: clamp(1.35rem, 2.4vw, 2.05rem);
	flex-direction: column;
	gap: 0.85rem;
	justify-content: stretch;
	background: #fff;
}

.p-case-featured-card__category {
	width: fit-content;
	margin: 0;
	padding: 0.42rem 0.7rem;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	background: #eef9ff;
	color: #006fa8;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
}

.p-case-featured-card h2 {
	max-width: 16ch;
	margin: 0;
	color: var(--case-ink);
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.85rem, 3vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.p-case-featured-card__story-block h3,
.p-case-featured-card__timeline h3,
.p-case-featured-card__cta h3 {
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-case-featured-card__summary {
	max-width: none;
	margin: 0;
	color: var(--case-muted-soft);
	font-size: 0.98rem;
	font-weight: 400;
	line-height: 1.65;
}

.p-case-featured-card__story {
	display: grid;
	margin-top: 0;
	gap: 0.6rem;
}

.p-case-archive .p-case-featured-card__summary + .p-case-featured-card__story {
	margin-top: clamp(0.875rem, 1.4vw, 1.25rem);
}

.p-case-featured-card__story-block {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.6rem;
	padding: 0.72rem;
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: 16px;
	background: #f8fcff;
	box-shadow: none;
}

.p-case-featured-card__story-block::before {
	display: none;
}

.p-case-featured-card__story-block--challenge {
	border-color: rgb(200 146 18 / 28%);
	background: #fffaf0;
}

.p-case-featured-card__story-block--solution {
	border-color: rgb(0 111 168 / 18%);
	background: #f4fbff;
}

.p-case-featured-card__story-block--result {
	border-color: rgb(34 139 91 / 18%);
	background: #f3fff8;
}

.p-case-featured-card__story-icon {
	display: grid;
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 999px;
	place-items: center;
	background: currentcolor;
}

.p-case-featured-card__story-icon::before {
	width: 0.54rem;
	height: 0.54rem;
	border-radius: 999px;
	background: #fff;
	content: "";
}

.p-case-featured-card__story-block--challenge .p-case-featured-card__story-icon {
	color: #b88410;
}

.p-case-featured-card__story-block--solution .p-case-featured-card__story-icon {
	color: #006fa8;
}

.p-case-featured-card__story-block--result .p-case-featured-card__story-icon {
	color: #228b5b;
}

.p-case-featured-card__story-block h3,
.p-case-featured-card__timeline h3 {
	margin: 0 0 0.24rem;
	color: var(--case-ink);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: uppercase;
}

.p-case-featured-card__story-block p,
.p-case-featured-card__story-block li {
	margin: 0;
	color: var(--case-muted-soft);
	font-size: 0.83rem;
	font-weight: 400;
	line-height: 1.5;
}

.p-case-featured-card__story-block ul,
.p-case-featured-card__result-list {
	display: grid;
	gap: 0.22rem;
	margin: 0;
	padding-left: 1rem;
	list-style: disc;
}

.p-case-featured-card__result-list li {
	padding-left: 0;
}

.p-case-featured-card__result-list li::before {
	display: none;
}

.p-case-featured-card__evidence {
	display: grid;
	margin-top: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
}

.p-case-featured-card__evidence div {
	padding: 0.74rem;
	border: 1px solid rgb(118 83 145 / 12%);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 0.65rem 1.6rem rgb(42 28 50 / 5%);
}

.p-case-featured-card__evidence div > span {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	margin-bottom: 0.48rem;
	border: 5px solid transparent;
	border-radius: 999px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, #8c5bb4, #f2b3c2) border-box;
}

.p-case-featured-card__evidence strong {
	display: block;
	margin-top: 0;
	color: var(--case-ink);
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.1;
}

.p-case-featured-card__evidence p {
	margin: 0.28rem 0 0;
	color: #657983;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1.3;
}

.p-case-featured-card__timeline {
	padding-top: 0.2rem;
}

.p-case-featured-card__timeline-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(7.4rem, 1fr));
	gap: 0.48rem;
	margin: 0.58rem 0 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: thin;
}

.p-case-featured-card__timeline-list li {
	position: relative;
	min-width: 0;
	padding-top: 1.55rem;
}

.p-case-featured-card__timeline-list li::before {
	position: absolute;
	top: 0.52rem;
	right: -0.55rem;
	left: 1.5rem;
	border-top: 1px dashed rgb(118 83 145 / 30%);
	content: "";
	transform-origin: left center;
}

.p-case-featured-card__timeline-list li:last-child::before {
	display: none;
}

.p-case-featured-card__timeline-list li > span {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: grid;
	width: 1.05rem;
	height: 1.05rem;
	border: 3px solid #fff;
	border-radius: 999px;
	background: var(--case-purple);
	box-shadow: 0 0 0 1px rgb(140 91 180 / 24%);
}

.p-case-featured-card__timeline-list strong {
	display: block;
	color: var(--case-ink);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
}

.p-case-featured-card__timeline-list p {
	margin: 0.22rem 0 0;
	color: #657983;
	font-size: 0.7rem;
	line-height: 1.35;
}

.p-case-featured-card__link {
	width: fit-content;
	min-height: 2.75rem;
	margin-top: 0.1rem;
	align-items: center;
	gap: 0.45rem;
	color: #006fa8;
	font-weight: 700;
	text-decoration: none;
}

.p-case-featured-card__cta {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0.85rem;
	padding: clamp(1.05rem, 2.4vw, 1.45rem);
	align-items: center;
	background: linear-gradient(135deg, #f4ecff 0%, #fff7fb 100%);
}

.p-case-featured-card__cta-copy {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
}

.p-case-featured-card__cta-icon {
	display: grid;
	width: 2.45rem;
	height: 2.45rem;
	border-radius: 999px;
	place-items: center;
	background: var(--case-purple);
	box-shadow: 0 0.75rem 1.5rem rgb(140 91 180 / 24%);
}

.p-case-featured-card__cta-icon::before {
	width: 1rem;
	height: 1rem;
	border: 2px solid #fff;
	border-top: 0;
	border-left: 0;
	content: "";
	transform: rotate(-45deg);
}

.p-case-featured-card__cta h3 {
	margin: 0;
	color: var(--case-ink);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.2;
}

.p-case-featured-card__cta p {
	margin: 0.25rem 0 0;
	color: #5b5260;
	font-size: 0.9rem;
	line-height: 1.5;
}

.p-case-featured-card__cta-button {
	display: inline-flex;
	min-height: 3rem;
	padding: 0.78rem 1.05rem;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	border-radius: 999px;
	background: var(--case-purple);
	box-shadow: 0 0.9rem 1.9rem rgb(123 69 168 / 22%);
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: box-shadow 240ms ease, transform 240ms ease;
}

.p-case-featured-card__cta-button span,
.p-case-featured-card__link span {
	transition: transform 220ms ease;
}

.p-case-featured-card__cta-button:focus-visible,
.p-case-featured-card__link:focus-visible {
	outline: 3px solid rgb(140 91 180 / 26%);
	outline-offset: 4px;
}

.is-case-archive-motion-ready [data-case-archive-kpi],
.is-case-archive-motion-ready [data-case-archive-timeline] {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 620ms ease, transform 620ms ease;
}

.is-case-archive-motion-ready [data-case-archive-timeline] .p-case-featured-card__timeline-list li::before {
	transform: scaleX(0);
	transition: transform 800ms ease-out;
}

.is-case-archive-motion-ready [data-case-archive-timeline].is-visible,
.is-case-archive-motion-ready [data-case-archive-kpi].is-visible {
	opacity: 1;
	transform: none;
}

.is-case-archive-motion-ready [data-case-archive-timeline].is-visible .p-case-featured-card__timeline-list li::before {
	transform: scaleX(1);
}

@media (hover: hover) and (pointer: fine) {
	.p-case-featured-card:hover,
	.p-case-featured-card:focus-within {
		border-color: rgb(140 91 180 / 22%);
		box-shadow:
			0 2.1rem 5.4rem rgb(45 27 62 / 16%),
			0 0.9rem 2.2rem rgb(123 69 168 / 10%);
		transform: translateY(-5px);
	}

	.p-case-featured-card:hover::after,
	.p-case-featured-card:focus-within::after {
		opacity: 1;
	}

	.p-case-featured-card__story-block:hover,
	.p-case-featured-card__story-block:focus-within {
		box-shadow: 0 1rem 2rem rgb(42 28 50 / 7%);
		transform: translateY(-2px);
	}

	.p-case-featured-card__evidence div:hover,
	.p-case-featured-card__evidence div:focus-within {
		box-shadow: 0 1rem 2.25rem rgb(42 28 50 / 8%);
		transform: translateY(-2px);
	}

	.p-case-featured-card__media:hover,
	.p-case-featured-card__media:focus-within {
		box-shadow: inset 0 0 0 1px rgb(255 255 255 / 45%);
	}

	.p-case-featured-card:hover .p-case-featured-card__media img {
		transform: scale(1.025);
	}

	.p-case-featured-card__link:hover span,
	.p-case-featured-card__link:focus-visible span,
	.p-case-featured-card__cta-button:hover span,
	.p-case-featured-card__cta-button:focus-visible span {
		transform: translateX(5px);
	}

	.p-case-featured-card__cta-button:hover,
	.p-case-featured-card__cta-button:focus-visible {
		box-shadow: 0 1.1rem 2.2rem rgb(123 69 168 / 28%);
		transform: translateY(-3px);
	}
}

@media (min-width: 48rem) {
	.p-case-featured-card__info {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p-case-featured-card__evidence {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-case-featured-card__cta {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.p-case-featured-card__cta-button {
		justify-self: end;
	}
}

@media (min-width: 64rem) {
	.p-case-featured-card__main {
		grid-template-columns: minmax(0, 52%) minmax(0, 48%);
	}

	.p-case-featured-card__media {
		min-height: 37rem;
	}

	.p-case-featured-card__content {
		justify-content: space-between;
		gap: 0.58rem;
		padding: 1.35rem;
	}

	.p-case-featured-card__summary {
		font-size: 0.92rem;
		line-height: 1.5;
	}

	.p-case-featured-card__story {
		gap: 0.48rem;
	}

	.p-case-featured-card__story-block {
		gap: 0.48rem;
		padding: 0.56rem;
	}

	.p-case-featured-card__story-block p,
	.p-case-featured-card__story-block li {
		font-size: 0.78rem;
		line-height: 1.38;
	}

	.p-case-featured-card__story-block--result ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1rem;
	}

	.p-case-featured-card__evidence div {
		padding: 0.58rem;
	}

	.p-case-featured-card__evidence strong {
		font-size: 0.98rem;
	}

	.p-case-featured-card__evidence p {
		font-size: 0.7rem;
	}

	.p-case-featured-card__timeline-list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		overflow-x: visible;
	}
}

@media (max-width: 47.999rem) {
	.p-case-archive {
		width: 100%;
		max-width: 100vw;
		overflow-x: hidden;
	}

	.p-case-archive .srcosme-container {
		width: calc(100vw - 2rem);
		max-width: calc(100vw - 2rem);
		margin-inline: auto;
	}

	.p-case-archive *,
	.p-case-archive *::before,
	.p-case-archive *::after {
		max-width: 100%;
	}

	.p-case-archive__hero-copy,
	.p-case-archive__hero-copy > p:not(.p-case-archive__eyebrow),
	.p-case-featured-card,
	.p-case-featured-card__main,
	.p-case-featured-card__media,
	.p-case-featured-card__content {
		max-width: 100%;
		min-width: 0;
	}

	.p-case-archive__hero-copy > p:not(.p-case-archive__eyebrow) {
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.p-case-featured-card {
		border-radius: 24px;
	}

	.p-case-featured-card__media {
		padding: clamp(1.25rem, 5vw, 1.75rem);
		gap: 1rem;
		overflow: visible;
	}

	.p-case-featured-card__media img {
		width: 100%;
		max-width: none;
	}

	.p-case-featured-card__info {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		width: 100%;
	}

	.p-case-featured-card__cta-copy {
		grid-template-columns: 1fr;
	}

	.p-case-featured-card__cta-button {
		width: 100%;
	}
}

@media (max-width: 35rem) {
	.p-case-featured-card__info,
	.p-case-featured-card__evidence {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.is-case-archive-motion-ready [data-case-archive-kpi],
	.is-case-archive-motion-ready [data-case-archive-timeline],
	.is-case-archive-motion-ready [data-case-archive-timeline] .p-case-featured-card__timeline-list li::before {
		opacity: 1;
		transform: none;
	}
}

/* Case study compact cards shared by Homepage, Archive, and Detail. */
.sr-home-premium__case-more,
.p-case-archive__all,
.p-case-detail__related {
	position: relative;
}

.p-case-detail__related {
	overflow: hidden;
	padding-block: clamp(4rem, 6vw, 5.25rem);
	background:
		linear-gradient(180deg, rgb(244 251 255 / 58%) 0%, rgb(255 255 255 / 94%) 48%, rgb(247 252 255 / 64%) 100%);
}

.p-case-detail__related::before {
	position: absolute;
	top: 0;
	right: max(var(--container-padding, 1rem), calc((100vw - var(--container-max, 1180px)) / 2));
	left: max(var(--container-padding, 1rem), calc((100vw - var(--container-max, 1180px)) / 2));
	height: 1px;
	background: linear-gradient(90deg, transparent, rgb(0 116 168 / 16%), rgb(253 209 0 / 28%), transparent);
	content: "";
}

.p-case-detail__related-heading {
	display: flex;
	margin-bottom: clamp(2.25rem, 3.2vw, 2.75rem);
	align-items: end;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2rem);
}

.p-case-detail__related-heading > div {
	max-width: 45rem;
}

.p-case-detail__related-heading .c-eyebrow {
	display: inline-flex;
	margin-bottom: clamp(1.25rem, 1.7vw, 1.5rem);
	align-items: center;
	gap: 0.625rem;
	color: #0074a8;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 700;
	line-height: 1.2;
}

.p-case-detail__related-heading .c-eyebrow::before {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #e62129;
	box-shadow: 0 0 0 5px rgb(230 33 41 / 10%);
	content: "";
	flex: 0 0 8px;
}

.p-case-detail__related-heading h2 {
	margin: 0;
	color: #06344d;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(2.25rem, 3.6vw, 3.5rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1;
	text-wrap: balance;
}

.p-case-detail__related-heading p:not(.c-eyebrow) {
	max-width: 40rem;
	margin: 0.75rem 0 0;
	color: #587083;
	font-size: clamp(1rem, 1.25vw, 1.08rem);
	font-weight: 400;
	line-height: 1.65;
	text-wrap: pretty;
}

.p-case-detail__related-archive-link {
	display: inline-flex;
	min-height: 2.85rem;
	padding: 0.55rem 0;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.35rem;
	color: #0074a8;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.p-case-detail__related-archive-link span {
	transition: transform 220ms ease;
}

.p-case-detail__related-archive-link:focus-visible {
	outline: 3px solid rgb(0 116 168 / 24%);
	outline-offset: 4px;
	border-radius: 0.55rem;
}

.p-case-archive__all {
	padding-block: 0 clamp(2.35rem, 4vw, 3.25rem);
}

.sr-home-premium__case-more {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.sr-home-premium__case-more-heading {
	display: flex;
	margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
	align-items: end;
	justify-content: space-between;
	gap: 1.25rem;
}

.p-case-archive__all-heading {
	display: grid;
	margin-bottom: clamp(1.15rem, 2.2vw, 1.55rem);
	grid-template-columns: minmax(14rem, 0.78fr) minmax(18rem, 1fr);
	column-gap: clamp(1.5rem, 5vw, 4rem);
	row-gap: 0.35rem;
	align-items: end;
}

.p-case-archive__all-heading .p-case-archive__eyebrow {
	grid-column: 1;
	margin-bottom: 0.2rem;
}

.p-case-archive .p-case-archive__all-heading .p-case-archive__eyebrow {
	font-size: clamp(0.76rem, 1.05vw, 0.86rem);
	letter-spacing: 0.1em;
}

.p-case-archive__all-heading > p:not(.p-case-archive__eyebrow) {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
}

.sr-home-premium__case-more-heading h3,
.p-case-archive__all-heading h2 {
	margin: 0;
	color: #06344d;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.12;
}

.p-case-archive .p-case-archive__all-heading h2 {
	font-size: clamp(2rem, 3.1vw, 2.85rem);
	letter-spacing: 0;
	line-height: 1.05;
}

.sr-home-premium__case-more-heading p,
.p-case-archive__all-heading p {
	max-width: 38rem;
	margin: 0.45rem 0 0;
	color: #587083;
	font-size: 1rem;
	line-height: 1.65;
}

.p-case-compact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.35rem);
}

.p-case-compact-card {
	position: relative;
	display: flex;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid rgb(8 86 122 / 11%);
	border-radius: 26px;
	background:
		radial-gradient(circle at 18% 8%, rgb(255 255 255 / 92%), transparent 12rem),
		linear-gradient(145deg, rgb(255 255 255 / 94%) 0%, rgb(248 253 255 / 92%) 100%);
	box-shadow: 0 1.2rem 3rem rgb(2 38 58 / 8%);
	transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
}

.p-case-compact-card::before {
	position: absolute;
	top: 0;
	right: 2rem;
	left: 2rem;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, #ffd51f 20%, rgb(0 135 179 / 55%) 62%, transparent);
	content: "";
}

.p-case-compact-card__media {
	display: block;
	flex: 0 0 auto;
	margin: 1rem 1rem 0;
	overflow: hidden;
	aspect-ratio: 16 / 11;
	border-radius: 20px;
	background:
		radial-gradient(circle at 50% 28%, rgb(255 255 255 / 82%), transparent 9rem),
		linear-gradient(145deg, #eff9ff 0%, #fff6f8 100%);
}

.p-case-compact-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 0.64rem;
	transition: transform 300ms ease, filter 300ms ease;
}

.p-case-compact-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgb(0 112 168 / 10%), rgb(255 213 31 / 12%));
}

.p-case-compact-card__body {
	display: flex;
	padding: 1.2rem;
	flex: 1;
	flex-direction: column;
	gap: 0.55rem;
}

.p-case-compact-card__category {
	width: fit-content;
	margin: 0;
	padding: 0.38rem 0.62rem;
	border: 1px solid rgb(0 111 168 / 14%);
	border-radius: 999px;
	background: #eef9ff;
	color: #006fa8;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
}

.p-case-compact-card h3 {
	margin: 0.15rem 0 0;
	color: #06344d;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.16;
}

.p-case-compact-card h3 a {
	color: inherit;
	text-decoration: none;
}

.p-case-compact-card__brand,
.p-case-compact-card__excerpt {
	margin: 0;
	color: #587083;
	font-size: 0.94rem;
	line-height: 1.55;
}

.p-case-compact-card__excerpt {
	display: -webkit-box;
	min-height: calc(0.94rem * 1.55 * 3);
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.p-case-compact-card--archive .p-case-compact-card__excerpt {
	color: #4d6570;
}

.p-case-compact-card__brand {
	color: #314f63;
	font-weight: 800;
}

.p-case-compact-card__link {
	display: inline-flex;
	min-height: 2.75rem;
	margin-top: auto;
	align-items: center;
	gap: 0.35rem;
	color: #0074a8;
	font-weight: 800;
	text-decoration: none;
}

.p-case-compact-card__link span {
	transition: transform 220ms ease;
}

.p-case-compact-card--archive {
	overflow: hidden;
}

.p-case-compact-card--archive .p-case-compact-card__media {
	margin: 0;
	aspect-ratio: auto;
	border-radius: 24px 24px 18px 18px;
}

.p-case-compact-card--archive .p-case-compact-card__media img {
	object-fit: cover;
	object-position: center;
	padding: clamp(0.24rem, 0.38vw, 0.38rem);
	border-radius: 20px;
}

.p-case-compact-card--archive .p-case-compact-card__body {
	min-height: 0;
	padding: clamp(0.88rem, 1.08vw, 1rem);
	gap: clamp(0.3rem, 0.48vw, 0.44rem);
}

.p-case-compact-card--archive .p-case-compact-card__category {
	display: block;
	max-width: 100%;
	padding: 0.34rem 0.52rem;
	overflow: hidden;
	font-size: clamp(0.58rem, 0.68vw, 0.66rem);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-case-compact-card--archive h3 {
	display: -webkit-box;
	min-height: calc(2em * 1.14);
	max-height: calc(2em * 1.14);
	margin-top: 0.08rem;
	overflow: hidden;
	font-size: clamp(1.02rem, 1.22vw, 1.22rem);
	line-height: 1.14;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-case-compact-card--archive h3 a {
	display: block;
	min-height: 0;
}

.p-case-compact-card--archive .p-case-compact-card__brand {
	display: -webkit-box;
	min-height: calc(1em * 1.32);
	max-height: calc(1em * 1.32);
	overflow: hidden;
	font-size: clamp(0.82rem, 0.9vw, 0.92rem);
	line-height: 1.32;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.p-case-compact-card--archive .p-case-compact-card__excerpt {
	min-height: calc(3em * 1.42);
	max-height: calc(3em * 1.42);
	font-size: clamp(0.82rem, 0.9vw, 0.92rem);
	line-height: 1.42;
	-webkit-line-clamp: 3;
}

.p-case-compact-card--archive .p-case-compact-card__link {
	min-height: 2.75rem;
	font-size: clamp(0.86rem, 0.92vw, 0.96rem);
	line-height: 1.15;
}

.p-case-compact-card a:focus-visible {
	outline: 3px solid rgb(0 116 168 / 24%);
	outline-offset: 4px;
	border-radius: 0.55rem;
	box-shadow: 0 0 0 0.3rem rgb(255 255 255 / 80%);
}

.is-case-archive-motion-ready [data-case-compact-card] {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 620ms ease, transform 620ms ease;
}

.is-case-archive-motion-ready [data-case-compact-card].is-visible {
	opacity: 1;
	transform: none;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-compact-card:hover,
	.p-case-compact-card:focus-within {
		border-color: rgb(0 116 168 / 24%);
		box-shadow: 0 1.45rem 3.4rem rgb(2 38 58 / 12%);
		transform: translateY(-4px);
	}

	.p-case-compact-card:hover .p-case-compact-card__media img,
	.p-case-compact-card:focus-within .p-case-compact-card__media img {
		filter: drop-shadow(0 1rem 1.4rem rgb(4 42 62 / 12%));
		transform: scale(1.03);
	}

	.p-case-compact-card:hover h3,
	.p-case-compact-card:focus-within h3 {
		color: #0074a8;
	}

	.p-case-compact-card__link:hover span,
	.p-case-detail__related-archive-link:hover span,
	.p-case-detail__related-archive-link:focus-visible span,
	.p-case-compact-card__link:focus-visible span {
		transform: translateX(5px);
	}

}

@media (min-width: 64rem) {
	.p-case-compact-grid--archive {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: clamp(0.9rem, 1.45vw, 1.2rem);
		align-items: stretch;
	}

	.p-case-compact-card--archive {
		display: grid;
		height: clamp(38.75rem, 44vw, 41.25rem);
		grid-template-rows: minmax(0, 55fr) minmax(0, 45fr);
	}
}

.p-case-archive__context-cta {
	position: relative;
	padding-block: 0 clamp(3.5rem, 6vw, 5rem);
}

.p-case-archive__context-cta-card {
	position: relative;
	display: grid;
	overflow: hidden;
	grid-template-columns: minmax(0, 0.96fr) minmax(26rem, 0.5fr);
	align-items: center;
	gap: clamp(1.5rem, 4vw, 3.25rem);
	padding: clamp(1.75rem, 3.4vw, 2.95rem);
	border: 1px solid rgb(214 171 68 / 34%);
	border-radius: 28px;
	background:
		radial-gradient(circle at 84% 18%, rgb(242 201 76 / 16%) 0 8rem, transparent 18rem),
		radial-gradient(circle at 12% 105%, rgb(0 111 168 / 13%) 0 10rem, transparent 24rem),
		linear-gradient(115deg, rgb(255 255 255 / 96%) 0%, rgb(246 252 255 / 94%) 48%, rgb(255 249 238 / 88%) 100%);
	box-shadow:
		0 1.25rem 2.75rem rgb(4 50 76 / 11%),
		0 0.2rem 0.7rem rgb(214 171 68 / 8%),
		inset 0 1px 0 rgb(255 255 255 / 84%);
}

.p-case-archive__context-cta-card::before {
	position: absolute;
	inset: 0 0 auto auto;
	width: min(32rem, 48%);
	height: 100%;
	background:
		linear-gradient(135deg, transparent 0%, rgb(221 243 252 / 18%) 36%, rgb(242 201 76 / 12%) 100%);
	clip-path: polygon(26% 0, 100% 0, 100% 100%, 0 100%);
	content: "";
	pointer-events: none;
}

.p-case-archive__context-cta-copy,
.p-case-archive__context-cta-action {
	position: relative;
	z-index: 1;
}

.p-case-archive__context-cta-copy {
	max-width: 44rem;
}

.p-case-archive__context-cta-copy .p-case-archive__eyebrow {
	margin-bottom: clamp(0.68rem, 1.2vw, 0.88rem);
	font-size: clamp(0.76rem, 1.05vw, 0.86rem);
	letter-spacing: 0.1em;
}

.p-case-archive__context-cta-copy h2 {
	max-width: 42rem;
	margin: 0;
	color: #06344d;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(2rem, 3.35vw, 2.85rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.02;
	text-wrap: balance;
}

.p-case-archive__context-cta-title-line {
	display: block;
	white-space: nowrap;
}

.p-case-archive__context-cta-copy p:not(.p-case-archive__eyebrow) {
	max-width: 39rem;
	margin: clamp(1.125rem, 1.5vw, 1.35rem) 0 0;
	color: #4d6570;
	font-size: clamp(0.96rem, 1.18vw, 1.04rem);
	line-height: 1.62;
}

.p-case-archive__context-cta-action {
	display: grid;
	align-self: center;
	justify-self: end;
	justify-items: center;
	gap: 1.25rem;
}

.p-case-archive__context-cta-button {
	position: relative;
	min-width: 18.5rem;
	min-height: 3.55rem;
	overflow: hidden;
	padding: 0.72rem 0.86rem 0.72rem 1.28rem;
	border: 1px solid rgb(224 177 54 / 88%);
	border-radius: 999px;
	background: linear-gradient(135deg, #f5d977 0%, #e3b12b 56%, #c98e10 100%);
	box-shadow: 0 0.9rem 1.9rem rgb(4 50 76 / 14%), inset 0 1px 0 rgb(255 255 255 / 56%);
	color: #24333a;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0;
	transition: border-color 220ms ease, box-shadow 220ms ease, filter 220ms ease, transform 220ms ease;
}

.p-case-archive__context-cta-button::before {
	position: absolute;
	top: 0;
	left: -35%;
	width: 35%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 32%), transparent);
	content: "";
	transform: skewX(-18deg);
	transition: left 420ms ease;
}

.p-case-archive__context-cta-button-label,
.p-case-archive__context-cta-button-arrow {
	position: relative;
	z-index: 1;
}

.p-case-archive__context-cta-button-arrow {
	display: grid;
	width: 2.08rem;
	height: 2.08rem;
	border: 1px solid rgb(33 22 0 / 18%);
	border-radius: 50%;
	flex: 0 0 2.08rem;
	place-items: center;
	background: rgb(255 255 255 / 32%);
	font-size: 1.1rem;
	font-weight: 900;
	transition: transform 220ms ease;
}

.p-case-archive__context-cta-button:hover,
.p-case-archive__context-cta-button:focus-visible {
	border-color: #ffe47a;
	background: linear-gradient(135deg, #f8df88 0%, #e7b633 58%, #d09514 100%);
	box-shadow: 0 1.05rem 2.25rem rgb(4 50 76 / 18%), inset 0 1px 0 rgb(255 255 255 / 62%);
	color: #24333a;
	filter: saturate(1.04);
	transform: translateY(-0.16rem);
}

.p-case-archive__context-cta-button:hover::before,
.p-case-archive__context-cta-button:focus-visible::before {
	left: 110%;
}

.p-case-archive__context-cta-button:hover .p-case-archive__context-cta-button-arrow,
.p-case-archive__context-cta-button:focus-visible .p-case-archive__context-cta-button-arrow {
	transform: translateX(4px);
}

.p-case-archive__context-cta-button:focus-visible {
	outline: 3px solid rgb(0 116 168 / 26%);
	outline-offset: 4px;
}

.p-case-archive__context-cta-trust {
	display: flex;
	max-width: 29rem;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45rem 0.78rem;
	color: #667985;
	font-size: 0.82rem;
	font-weight: 750;
	line-height: 1.3;
	list-style: none;
	text-align: center;
}

.p-case-archive__context-cta-trust li {
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
	white-space: nowrap;
}

.p-case-archive__context-cta-trust li::before {
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #f5d977, #d6a326);
	box-shadow: 0 0 0 0.16rem rgb(242 201 76 / 16%);
	content: "";
	flex: 0 0 0.42rem;
}

@media (max-width: 63.999rem) {
	.p-case-compact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-case-detail__portfolio-heading {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.p-case-detail__portfolio-grid,
	.p-case-detail__portfolio-grid--count-1,
	.p-case-detail__portfolio-grid--count-2,
	.p-case-detail__portfolio-grid--count-4,
	.p-case-detail__portfolio-grid--count-many {
		max-width: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card {
		height: clamp(30rem, 55vw, 33rem);
	}

	.p-case-compact-grid--archive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(1rem, 2vw, 1.25rem);
	}

	.p-case-compact-card--archive {
		display: grid;
		height: clamp(34.5rem, 52vw, 37rem);
		grid-template-rows: minmax(0, 55fr) minmax(0, 45fr);
	}

	.p-case-archive__context-cta-card {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.p-case-archive__context-cta-action {
		width: 100%;
		justify-items: start;
	}

	.p-case-archive__context-cta-action p {
		max-width: none;
		text-align: left;
	}

	.sr-home-premium__case-more-heading,
	.p-case-detail__related-heading,
	.p-case-archive__all-heading {
		align-items: start;
		flex-direction: column;
	}

	.p-case-detail__related-archive-link {
		min-height: 2.5rem;
		padding-block: 0;
	}

	.p-case-archive__all-heading {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 0.55rem;
	}

	.p-case-archive__all-heading > p:not(.p-case-archive__eyebrow) {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 39.999rem) {
	.p-case-compact-grid {
		grid-template-columns: 1fr;
	}

	.p-case-detail__related {
		padding-block: clamp(2.75rem, 11vw, 3.75rem);
	}

	.p-case-detail__portfolio-reference {
		padding-block: clamp(2.55rem, 10vw, 3.4rem);
	}

	.p-case-detail__portfolio-grid,
	.p-case-detail__portfolio-grid--count-1,
	.p-case-detail__portfolio-grid--count-2,
	.p-case-detail__portfolio-grid--count-4,
	.p-case-detail__portfolio-grid--count-many {
		grid-template-columns: 1fr;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card {
		height: clamp(29.5rem, 118vw, 32rem);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body {
		padding: 0.95rem;
	}

	.p-case-compact-grid--archive {
		grid-template-columns: 1fr;
		gap: 1.15rem;
	}

	.p-case-compact-card--archive {
		height: clamp(34rem, 122vw, 36.5rem);
	}

	.p-case-archive__context-cta {
		padding-block: 0 clamp(2.6rem, 11vw, 3.35rem);
	}

	.p-case-archive__context-cta-card {
		padding: clamp(1.18rem, 5vw, 1.42rem);
		border-radius: 22px;
	}

	.p-case-archive__context-cta-card::before {
		width: 100%;
		height: 45%;
		clip-path: polygon(0 0, 100% 0, 100% 76%, 0 100%);
	}

	.p-case-archive__context-cta-copy h2 {
		max-width: 100%;
		font-size: clamp(1.34rem, 6.05vw, 1.72rem);
		line-height: 1.08;
	}

	.p-case-archive__context-cta-title-line {
		display: block;
	}

	.p-case-archive__context-cta-copy p:not(.p-case-archive__eyebrow) {
		margin-top: clamp(1.125rem, 4.8vw, 1.32rem);
	}

	.p-case-archive__context-cta-button {
		width: 100%;
		min-width: 0;
		min-height: 3.25rem;
		justify-content: space-between;
	}

	.p-case-archive__context-cta-trust {
		width: 100%;
		justify-content: center;
		gap: 0.42rem 0.62rem;
		font-size: clamp(0.74rem, 3.2vw, 0.82rem);
	}

	.p-case-archive__context-cta-trust li {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.is-case-archive-motion-ready [data-case-compact-card] {
		opacity: 1;
		transform: none;
	}

	.p-case-featured-card,
	.p-case-featured-card__media,
	.p-case-featured-card__media img,
	.p-case-featured-card__story-block,
	.p-case-featured-card__evidence div,
	.p-case-featured-card__link span,
	.p-case-featured-card__cta-button,
		.p-case-featured-card__cta-button span,
		.p-case-detail__related-archive-link span,
		.p-case-detail__portfolio-archive-link span,
		.p-case-compact-card,
		.p-case-compact-card__media img,
		.p-case-compact-card__link span,
		.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card,
		.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media img,
		.p-case-detail__portfolio-reference .sr-home-premium__portfolio-link-icon,
		.p-case-archive__context-cta-button,
		.p-case-archive__context-cta-button::before,
		.p-case-archive__context-cta-button-arrow {
		transition: none !important;
		transform: none !important;
	}
}

/* Single case study final polish. */
.p-case-detail__result-pills {
	display: flex;
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
	flex-wrap: wrap;
	gap: 0.65rem;
}

.p-case-detail__result-pills span {
	position: relative;
	display: inline-flex;
	min-height: 2.4rem;
	align-items: center;
	padding: 0.55rem 0.9rem 0.55rem 2.1rem;
	border: 1px solid rgb(0 132 184 / 14%);
	border-radius: 999px;
	background: rgb(255 255 255 / 88%);
	color: #063b5b;
	font-size: 0.9rem;
	font-weight: 800;
	box-shadow: 0 0.9rem 1.8rem rgb(0 61 89 / 8%);
}

.p-case-detail__result-pills span::before {
	position: absolute;
	left: 0.9rem;
	width: 0.58rem;
	height: 0.34rem;
	border-bottom: 2px solid #d9a10b;
	border-left: 2px solid #d9a10b;
	content: "";
	transform: rotate(-45deg);
}

.p-case-detail .s-detail-hero {
	padding-block: clamp(2.25rem, 4vw, 2.75rem) clamp(3.75rem, 6vw, 5.5rem);
	background:
		radial-gradient(circle at 11% 9%, rgb(0 132 184 / 10%), transparent 27rem),
		radial-gradient(circle at 84% 10%, rgb(253 209 0 / 19%), transparent 24rem),
		radial-gradient(ellipse at 74% 93%, rgb(0 132 184 / 10%), transparent 28rem),
		linear-gradient(135deg, #fff 0%, #eef9fd 100%);
}

.p-case-detail .s-detail-hero::before {
	top: clamp(5rem, 10vw, 8rem);
	right: clamp(1rem, 5vw, 5rem);
	bottom: auto;
	width: clamp(12rem, 24vw, 24rem);
	height: clamp(12rem, 24vw, 24rem);
	border-color: rgb(253 209 0 / 34%);
	background: radial-gradient(circle, rgb(0 132 184 / 14%), transparent 70%);
	opacity: 0.68;
}

.p-case-detail__hero-shell {
	position: relative;
	z-index: 1;
}

.p-case-detail__breadcrumb {
	margin-bottom: clamp(1.75rem, 2.5vw, 2rem);
}

.p-case-detail__breadcrumb .c-breadcrumb {
	margin: 0;
	padding-block: 0;
	color: #607787;
	font-size: 0.92rem;
	font-weight: 650;
}

.p-case-detail__breadcrumb .c-breadcrumb__list {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
}

.p-case-detail__breadcrumb .c-breadcrumb__item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.p-case-detail__breadcrumb a {
	color: #315b70;
	text-decoration: none;
	text-underline-offset: 0.22em;
	transition: color 220ms ease, text-decoration-color 220ms ease;
}

.p-case-detail__breadcrumb a:hover,
.p-case-detail__breadcrumb a:focus-visible {
	color: #0079ab;
	text-decoration: underline;
}

.p-case-detail .s-detail-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
	gap: clamp(3rem, 5vw, 4.5rem);
	align-items: start;
}

.p-case-detail__hero-copy {
	max-width: min(100%, 46rem);
}

.p-case-detail__category-badge {
	padding: 0.58rem 1rem;
	border-color: rgb(0 132 184 / 20%);
	background: rgb(255 255 255 / 84%);
	color: #0079ab;
	box-shadow: 0 1rem 2.4rem rgb(0 61 89 / 8%);
}

.p-case-detail__client-label {
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	color: #315b70;
	font-size: clamp(0.86rem, 1vw, 0.98rem);
	font-weight: 800;
	letter-spacing: 0.12em;
}

.p-case-detail__hero-copy h1 {
	max-width: 48rem;
	margin: 0;
	color: #063b5b;
	font-size: clamp(2.75rem, 4.7vw, 4.95rem);
	font-weight: 850;
	letter-spacing: -0.018em;
	line-height: 1.03;
}

.p-case-detail__hero-description {
	max-width: 35.5rem;
	margin-top: 1.75rem;
	color: #506675;
	font-weight: 500;
	line-height: 1.65;
}

.p-case-detail__primary-meta {
	margin-top: 1.75rem;
	gap: 0.75rem;
}

.p-case-detail__primary-meta span {
	min-height: 2.75rem;
	padding: 0.66rem 1.08rem 0.66rem 2.45rem;
	border-color: rgb(0 132 184 / 18%);
	background:
		linear-gradient(180deg, rgb(255 255 255 / 96%) 0%, rgb(241 250 254 / 92%) 100%);
	color: #063b5b;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 85%),
		0 1rem 2.1rem rgb(0 61 89 / 9%);
	transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.p-case-detail__primary-meta span::before {
	left: 1.02rem;
	border-color: #d9a10b;
}

.p-case-detail__secondary-meta {
	margin-top: 1rem;
	gap: 0.6rem;
}

.p-case-detail__secondary-meta span {
	min-height: 2.35rem;
	padding: 0.52rem 0.88rem;
	border-color: rgb(0 132 184 / 12%);
	background: rgb(255 255 255 / 68%);
	color: #4d6675;
	font-size: 0.88rem;
	font-weight: 750;
	box-shadow: none;
	transition: transform 260ms ease, border-color 260ms ease, background-color 260ms ease;
}

.p-case-detail .s-detail-hero__media {
	isolation: isolate;
	width: min(100%, 35rem);
	margin-top: clamp(2.2rem, 4vw, 3.1rem);
	justify-self: end;
	border: 1px solid rgb(255 255 255 / 72%);
	border-radius: 36px;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 96%) 0%, rgb(239 249 253 / 92%) 100%);
	box-shadow:
		0 2.4rem 5.4rem rgb(0 61 89 / 18%),
		0 0.8rem 1.8rem rgb(0 132 184 / 10%);
	transition: transform 360ms ease, box-shadow 360ms ease, border-color 360ms ease;
}

.p-case-detail .s-detail-hero__media::before {
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 38%) 0%, transparent 34%),
		radial-gradient(circle at 34% 22%, rgb(255 255 255 / 26%), transparent 36%),
		radial-gradient(circle at 72% 78%, rgb(0 132 184 / 12%), transparent 44%);
	pointer-events: none;
}

.p-case-detail .s-detail-hero__media::after {
	position: absolute;
	inset: auto 7% 0;
	z-index: 3;
	height: 31%;
	border-radius: 0 0 30px 30px;
	background: linear-gradient(180deg, transparent 0%, rgb(255 255 255 / 18%) 58%, rgb(255 255 255 / 36%) 100%);
	content: "";
	pointer-events: none;
}

.p-case-detail .s-detail-hero__media img {
	transition: transform 460ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-detail .s-detail-hero__media:hover {
		border-color: rgb(253 209 0 / 34%);
		box-shadow:
			0 2.8rem 6rem rgb(0 61 89 / 20%),
			0 1rem 2rem rgb(0 132 184 / 12%);
		transform: scale(1.012);
	}

	.p-case-detail .s-detail-hero__media:hover img {
		transform: scale(1.01);
	}

	.p-case-detail__primary-meta span:hover,
	.p-case-detail__secondary-meta span:hover {
		border-color: rgb(0 132 184 / 28%);
		transform: translateY(-2px);
	}
}

.is-case-detail-motion-ready [data-case-detail-reveal],
.is-case-detail-motion-ready [data-case-detail-chip] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 620ms ease, transform 620ms ease;
}

.is-case-detail-motion-ready [data-case-detail-reveal="breadcrumb"] {
	transform: translateY(-12px);
}

.is-case-detail-motion-ready [data-case-detail-reveal="media"] {
	transform: translateY(18px) scale(0.97);
	transition-duration: 760ms;
}

.is-case-detail-motion-ready [data-case-detail-reveal].is-visible,
.is-case-detail-motion-ready [data-case-detail-chip].is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 64rem) {
	.p-case-detail .s-detail-hero {
		padding-block: clamp(2.25rem, 5vw, 3rem) clamp(3.5rem, 7vw, 4.5rem);
	}

	.p-case-detail .s-detail-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(2.5rem, 6vw, 3.5rem);
	}

	.p-case-detail__hero-copy,
	.p-case-detail__hero-copy h1 {
		max-width: 42rem;
	}

	.p-case-detail__hero-description {
		max-width: 35.5rem;
	}

	.p-case-detail .s-detail-hero__media {
		width: min(100%, 32rem);
		margin-top: 0;
		justify-self: center;
	}
}

@media (max-width: 47.98rem) {
	.p-case-detail .s-detail-hero {
		padding-block: 3rem 3.75rem;
	}

	.p-case-detail .s-detail-hero::before {
		opacity: 0.24;
		transform: translate(26%, -18%) scale(0.82);
	}

	.p-case-detail__breadcrumb {
		margin-bottom: 1.75rem;
	}

	.p-case-detail__breadcrumb .c-breadcrumb {
		font-size: 0.82rem;
	}

	.p-case-detail__hero-copy h1 {
		font-size: clamp(2.35rem, 12vw, 3.3rem);
		line-height: 1.04;
	}

	.p-case-detail__hero-description {
		font-size: 1rem;
		line-height: 1.6;
	}

	.p-case-detail__primary-meta,
	.p-case-detail__secondary-meta {
		align-items: stretch;
		flex-direction: column;
	}

	.p-case-detail__primary-meta span,
	.p-case-detail__secondary-meta span {
		width: 100%;
		justify-content: center;
	}

	.p-case-detail .s-detail-hero__media {
		width: 100%;
		border-radius: 28px;
	}
}

/* Single case study editorial hero cover. */
.p-case-detail .s-detail-hero {
	position: relative;
	min-height: clamp(45rem, 54vw, 48.75rem);
	overflow: clip;
	padding-block: clamp(2.75rem, 4.4vw, 4.25rem) clamp(3.5rem, 5vw, 4.75rem);
	background:
		radial-gradient(ellipse at 70% 46%, rgb(159 117 206 / 16%), transparent 31rem),
		radial-gradient(ellipse at 18% 38%, rgb(0 143 215 / 9%), transparent 27rem),
		linear-gradient(135deg, #fff 0%, #f8fcfe 56%, #eef9fd 100%);
}

.p-case-detail .s-detail-hero::before,
.p-case-detail .s-detail-hero::after,
.p-case-detail__hero-shell::before,
.p-case-detail__hero-shell::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.p-case-detail .s-detail-hero::before {
	top: 12%;
	right: max(-8rem, -7vw);
	width: clamp(26rem, 40vw, 42rem);
	height: clamp(26rem, 40vw, 42rem);
	border: 0;
	border-radius: 999px;
	background: radial-gradient(circle, rgb(165 111 207 / 19%) 0%, rgb(165 111 207 / 7%) 42%, transparent 72%);
	filter: blur(18px);
	opacity: 0.9;
	animation: srcosmeCaseGlowDrift 14s ease-in-out infinite alternate;
}

.p-case-detail .s-detail-hero::after {
	top: 18%;
	left: max(-10rem, -8vw);
	width: clamp(18rem, 27vw, 28rem);
	height: clamp(18rem, 27vw, 28rem);
	border-radius: 999px;
	background: radial-gradient(circle, rgb(0 143 215 / 10%) 0%, rgb(0 143 215 / 3%) 46%, transparent 72%);
	filter: blur(10px);
	opacity: 0.54;
}

.p-case-detail__hero-shell {
	position: relative;
	z-index: 1;
}

.p-case-detail__hero-shell::before {
	right: clamp(0.5rem, 3vw, 2.5rem);
	bottom: clamp(5rem, 8vw, 7rem);
	width: 0.58rem;
	height: 0.58rem;
	border-radius: 999px;
	background: var(--color-secondary-500, #fdd100);
	box-shadow: 0 0 0 0.62rem rgb(253 209 0 / 10%);
	opacity: 0.72;
	animation: srcosmeCaseAccentFloat 5.8s ease-in-out infinite alternate;
}

.p-case-detail__hero-shell::after {
	right: clamp(13rem, 24vw, 24rem);
	bottom: clamp(3rem, 7vw, 6rem);
	width: clamp(15rem, 24vw, 24rem);
	height: clamp(7rem, 11vw, 11rem);
	border: 1px solid rgb(0 76 115 / 8%);
	border-color: rgb(0 76 115 / 8%) transparent transparent;
	border-radius: 50%;
	opacity: 0.5;
	transform: rotate(-12deg);
}

.p-case-detail__breadcrumb {
	position: relative;
	z-index: 2;
	margin-bottom: clamp(0.85rem, 1.25vw, 1.25rem);
}

.p-case-detail__breadcrumb .c-breadcrumb {
	margin: 0;
	padding: 0;
	color: rgb(51 44 43 / 62%);
	font-family: Inter, var(--font-body);
	font-size: clamp(0.78rem, 0.82vw, 0.9rem);
	font-weight: 400;
}

.p-case-detail__breadcrumb .c-breadcrumb__list {
	display: flex;
	max-width: 100%;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.48rem;
	list-style: none;
	white-space: nowrap;
}

.p-case-detail__breadcrumb .c-breadcrumb__item {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: 0.48rem;
}

.p-case-detail__breadcrumb .c-breadcrumb__item:not(:last-child)::after {
	color: rgb(51 44 43 / 34%);
	content: "/";
}

.p-case-detail__breadcrumb a,
.p-case-detail__breadcrumb span {
	overflow: hidden;
	text-overflow: ellipsis;
}

.p-case-detail__breadcrumb a {
	color: rgb(0 76 115 / 76%);
	font-weight: 500;
	text-decoration: none;
	text-underline-offset: 0.24em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.p-case-detail__breadcrumb a:hover,
.p-case-detail__breadcrumb a:focus-visible {
	color: var(--color-primary-700, #006fa8);
	text-decoration: underline;
}

.p-case-detail .s-detail-hero__grid {
	display: grid;
	min-height: clamp(35.5rem, 44vw, 39.5rem);
	grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
	grid-template-areas:
		"copy media"
		"footer media";
	grid-template-rows: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: clamp(2.75rem, 5vw, 5.25rem);
	row-gap: clamp(1.45rem, 2vw, 2rem);
}

.p-case-detail__hero-copy {
	grid-area: copy;
	width: 100%;
	max-width: 42rem;
	align-self: end;
}

.p-case-detail__category-badge {
	display: inline-flex;
	width: fit-content;
	margin-bottom: clamp(1rem, 1.4vw, 1.35rem);
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--color-primary-700, #006fa8);
	font-family: Inter, var(--font-body);
	font-size: clamp(0.77rem, 0.78vw, 0.86rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.p-case-detail__hero-copy h1 {
	max-width: 42rem;
	margin: 0;
	color: var(--color-primary-900, #004c73);
	font-family: Inter, var(--font-heading);
	font-size: clamp(3.78rem, 4.9vw, 4.5rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.02;
	text-wrap: balance;
}

.p-case-detail__hero-description {
	max-width: 39.5rem;
	margin-top: clamp(1.2rem, 1.6vw, 1.55rem);
	margin-bottom: 0;
	color: rgb(51 44 43 / 72%);
	font-family: Inter, var(--font-body);
	font-size: clamp(1.06rem, 1.18vw, 1.15rem);
	font-weight: 400;
	line-height: 1.64;
}

.p-case-detail .s-detail-hero__media {
	position: relative;
	grid-area: media;
	isolation: isolate;
	width: min(100%, 40.25rem);
	margin: 0;
	justify-self: end;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 1px solid rgb(0 76 115 / 9%);
	border-radius: var(--radius-6, 1.5rem);
	background: #fff;
	box-shadow:
		0 2.7rem 6.2rem rgb(4 50 76 / 18%),
		0 0.9rem 2.4rem rgb(159 117 206 / 12%);
	transform: rotate(0.6deg);
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 360ms ease, border-color 360ms ease;
}

.p-case-detail .s-detail-hero__media::before {
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	background:
		linear-gradient(145deg, rgb(255 255 255 / 28%) 0%, transparent 30%),
		radial-gradient(circle at 52% 6%, rgb(255 255 255 / 22%), transparent 34%);
	pointer-events: none;
}

.p-case-detail .s-detail-hero__media::after {
	position: absolute;
	inset: auto 7% 0;
	z-index: 2;
	height: 25%;
	border-radius: 0 0 calc(var(--radius-6, 1.5rem) - 0.1rem) calc(var(--radius-6, 1.5rem) - 0.1rem);
	background: linear-gradient(180deg, transparent 0%, rgb(255 255 255 / 18%) 100%);
	content: "";
	pointer-events: none;
}

.p-case-detail .s-detail-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 52%;
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.p-case-detail__hero-footer {
	display: grid;
	grid-area: footer;
	max-width: 42rem;
	align-self: start;
	gap: clamp(1.15rem, 1.6vw, 1.4rem);
	padding-bottom: 0.7rem;
}

.p-case-detail__hero-meta-rail {
	display: flex;
	width: 100%;
	overflow: hidden;
	border-top: 1px solid rgb(0 76 115 / 12%);
	border-bottom: 1px solid rgb(0 76 115 / 12%);
	background: linear-gradient(90deg, rgb(255 255 255 / 74%), rgb(255 255 255 / 48%));
	backdrop-filter: blur(12px);
}

.p-case-detail__hero-meta-item {
	position: relative;
	display: grid;
	flex: 1 1 0;
	min-width: 0;
	gap: 0.22rem;
	padding: 0.95rem clamp(0.65rem, 0.85vw, 0.9rem);
}

.p-case-detail__hero-meta-item:nth-child(1) {
	flex: 0 1 28%;
}

.p-case-detail__hero-meta-item:nth-child(2) {
	flex: 0 1 24%;
}

.p-case-detail__hero-meta-item:nth-child(3) {
	flex: 0 1 26%;
}

.p-case-detail__hero-meta-item:nth-child(4) {
	flex: 0 1 22%;
}

.p-case-detail__hero-meta-item + .p-case-detail__hero-meta-item::before {
	position: absolute;
	top: 24%;
	bottom: 24%;
	left: 0;
	width: 1px;
	background: rgb(0 76 115 / 13%);
	content: "";
}

.p-case-detail__hero-meta-item span,
.p-case-detail__hero-meta-item strong {
	display: block;
	min-width: 0;
	font-family: Inter, var(--font-body);
	white-space: nowrap;
}

.p-case-detail__hero-meta-item span {
	overflow: hidden;
	text-overflow: ellipsis;
	color: rgb(51 44 43 / 54%);
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1.2;
}

.p-case-detail__hero-meta-item strong {
	overflow: visible;
	text-overflow: clip;
	color: var(--color-primary-900, #004c73);
	font-size: clamp(0.8rem, 0.84vw, 0.91rem);
	font-weight: 600;
	line-height: 1.28;
}

.p-case-detail__micro-cta {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 0.4rem;
	color: var(--color-primary-700, #006fa8);
	font-family: Inter, var(--font-body);
	font-size: 0.96rem;
	font-weight: 600;
	text-decoration: none;
	text-underline-offset: 0.28em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.p-case-detail__micro-cta span[aria-hidden="true"] {
	transition: transform 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-detail .s-detail-hero__media:hover {
		border-color: rgb(159 117 206 / 24%);
		box-shadow:
			0 3rem 6.6rem rgb(4 50 76 / 19%),
			0 1rem 2.8rem rgb(159 117 206 / 15%);
		transform: rotate(0.6deg) translateY(-0.28rem);
	}

	.p-case-detail .s-detail-hero__media:hover img {
		transform: scale(1.012);
	}

	.p-case-detail__micro-cta:hover,
	.p-case-detail__micro-cta:focus-visible {
		color: var(--color-primary-900, #004c73);
		text-decoration: underline;
	}

	.p-case-detail__micro-cta:hover span[aria-hidden="true"],
	.p-case-detail__micro-cta:focus-visible span[aria-hidden="true"] {
		transform: translateY(0.16rem);
	}
}

.is-case-detail-motion-ready [data-case-detail-reveal],
.is-case-detail-motion-ready [data-case-detail-chip] {
	opacity: 0;
	transform: translateY(0.9rem);
	transition: opacity 620ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

.is-case-detail-motion-ready [data-case-detail-reveal="breadcrumb"],
.is-case-detail-motion-ready [data-case-detail-reveal="eyebrow"] {
	transform: translateY(0.45rem);
}

.is-case-detail-motion-ready [data-case-detail-reveal="title"] {
	transform: translateY(1rem);
}

.is-case-detail-motion-ready [data-case-detail-reveal="media"] {
	transform: translateY(0.75rem) scale(0.98) rotate(0.6deg);
	transition-duration: 760ms;
}

.is-case-detail-motion-ready [data-case-detail-reveal].is-visible,
.is-case-detail-motion-ready [data-case-detail-chip].is-visible {
	opacity: 1;
	transform: none;
}

.is-case-detail-motion-ready [data-case-detail-reveal="media"].is-visible {
	transform: rotate(0.6deg);
}

@keyframes srcosmeCaseGlowDrift {
	from {
		transform: translate3d(0, 0, 0) scale(1);
	}

	to {
		transform: translate3d(-1.2rem, 0.8rem, 0) scale(1.04);
	}
}

@keyframes srcosmeCaseAccentFloat {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-0.65rem);
	}
}

@media (min-width: 74.01rem) {
	.p-case-detail__hero-copy,
	.p-case-detail__hero-footer {
		position: relative;
		top: clamp(-4.75rem, -5vw, -3.4rem);
	}
}

@media (max-width: 74rem) {
	.p-case-detail .s-detail-hero {
		min-height: auto;
	}

	.p-case-detail .s-detail-hero__grid {
		min-height: 0;
		grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
		column-gap: clamp(2rem, 4vw, 3rem);
	}

	.p-case-detail__hero-copy h1 {
		font-size: clamp(3.35rem, 5.4vw, 4.2rem);
	}

	.p-case-detail .s-detail-hero__media {
		width: min(100%, 35rem);
	}
}

@media (max-width: 58rem) {
	.p-case-detail .s-detail-hero {
		padding-block: clamp(2.45rem, 5vw, 3.2rem) clamp(3.25rem, 7vw, 4.25rem);
	}

	.p-case-detail .s-detail-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"copy"
			"media"
			"footer";
		gap: clamp(1.7rem, 4vw, 2.4rem);
	}

	.p-case-detail__hero-copy,
	.p-case-detail__hero-footer {
		max-width: 43rem;
	}

	.p-case-detail__hero-copy {
		align-self: auto;
	}

	.p-case-detail .s-detail-hero__media {
		width: min(100%, 34rem);
		justify-self: start;
	}
}

@media (max-width: 47.98rem) {
	.p-case-detail .s-detail-hero {
		padding-block: 2.35rem 3.25rem;
	}

	.p-case-detail .s-detail-hero::before {
		right: -12rem;
		opacity: 0.38;
		filter: blur(22px);
	}

	.p-case-detail .s-detail-hero::after,
	.p-case-detail__hero-shell::after {
		display: none;
	}

	.p-case-detail__hero-shell::before {
		right: 1.25rem;
		bottom: 42%;
		width: 0.46rem;
		height: 0.46rem;
	}

	.p-case-detail__breadcrumb {
		margin-bottom: 1.35rem;
	}

	.p-case-detail__breadcrumb .c-breadcrumb__list {
		flex-wrap: wrap;
		row-gap: 0.2rem;
		white-space: normal;
	}

	.p-case-detail__breadcrumb a,
	.p-case-detail__breadcrumb span {
		white-space: normal;
	}

	.p-case-detail__category-badge {
		margin-bottom: 0.9rem;
		font-size: 0.74rem;
		letter-spacing: 0.07em;
	}

	.p-case-detail__hero-copy h1 {
		max-width: 100%;
		font-size: clamp(2.65rem, 11vw, 3.25rem);
		line-height: 1.04;
	}

	.p-case-detail__hero-description {
		max-width: 100%;
		margin-top: 1rem;
		font-size: 1rem;
		line-height: 1.62;
	}

	.p-case-detail .s-detail-hero__media {
		width: 100%;
		border-radius: 1.25rem;
		transform: none;
	}

	.p-case-detail__hero-meta-rail {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border: 1px solid rgb(0 76 115 / 12%);
		border-radius: var(--radius-3, 0.75rem);
	}

	.p-case-detail__hero-meta-item {
		flex: initial;
		min-height: 4.55rem;
		padding: 0.85rem 0.9rem;
	}

	.p-case-detail__hero-meta-item:nth-child(1),
	.p-case-detail__hero-meta-item:nth-child(2),
	.p-case-detail__hero-meta-item:nth-child(3),
	.p-case-detail__hero-meta-item:nth-child(4) {
		flex: initial;
	}

	.p-case-detail__hero-meta-item + .p-case-detail__hero-meta-item::before {
		display: none;
	}

	.p-case-detail__hero-meta-item:nth-child(even)::before {
		position: absolute;
		top: 18%;
		bottom: 18%;
		left: 0;
		display: block;
		width: 1px;
		background: rgb(0 76 115 / 11%);
		content: "";
	}

	.p-case-detail__hero-meta-item:nth-child(n+3) {
		border-top: 1px solid rgb(0 76 115 / 10%);
	}

	.p-case-detail__hero-meta-item strong {
		white-space: normal;
	}

	.p-case-detail__micro-cta {
		font-size: 0.94rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-case-detail__breadcrumb a,
	.p-case-detail__primary-meta span,
	.p-case-detail__secondary-meta span,
	.p-case-detail .s-detail-hero__media,
	.p-case-detail .s-detail-hero__media img,
	.p-case-detail .s-detail-hero::before,
	.p-case-detail__hero-shell::before,
	.p-case-detail__micro-cta,
	.p-case-detail__micro-cta span,
	.is-case-detail-motion-ready [data-case-detail-reveal],
	.is-case-detail-motion-ready [data-case-detail-chip] {
		transition: none;
		animation: none;
	}

	.p-case-detail .s-detail-hero__media:hover,
	.p-case-detail .s-detail-hero__media:hover img,
	.p-case-detail__primary-meta span:hover,
	.p-case-detail__secondary-meta span:hover,
	.p-case-detail__micro-cta:hover span[aria-hidden="true"],
	.is-case-detail-motion-ready [data-case-detail-reveal],
	.is-case-detail-motion-ready [data-case-detail-chip] {
		opacity: 1;
		transform: none;
	}

	.is-case-detail-motion-ready [data-case-detail-reveal="media"].is-visible {
		transform: none;
	}
}

.p-case-detail__portfolio-reference {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 5.5vw, 4.75rem);
	background:
		linear-gradient(180deg, #fff 0%, rgb(248 253 255 / 82%) 44%, rgb(255 250 239 / 42%) 100%);
}

.p-case-detail__portfolio-reference::before {
	position: absolute;
	top: 0;
	right: max(var(--container-padding, 1rem), calc((100vw - var(--container-max, 1180px)) / 2));
	left: max(var(--container-padding, 1rem), calc((100vw - var(--container-max, 1180px)) / 2));
	height: 1px;
	background: linear-gradient(90deg, transparent, rgb(253 209 0 / 34%), rgb(0 116 168 / 14%), transparent);
	content: "";
}

.p-case-detail__portfolio-heading {
	display: grid;
	margin-bottom: clamp(1.3rem, 2.5vw, 1.9rem);
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: clamp(1rem, 3vw, 2rem);
}

.p-case-detail__portfolio-heading > div {
	max-width: 43rem;
}

.p-case-detail__portfolio-heading .c-eyebrow {
	margin-bottom: 0.7rem;
	color: #0074a8;
	font-weight: 600;
}

.p-case-detail__portfolio-heading h2 {
	margin: 0;
	color: #06344d;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.82rem, 3vw, 2.45rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	text-wrap: balance;
}

.p-case-detail__portfolio-heading p:not(.c-eyebrow) {
	max-width: 39rem;
	margin: 0.72rem 0 0;
	color: #587083;
	font-size: clamp(0.98rem, 1.2vw, 1.06rem);
	font-weight: 400;
	line-height: 1.65;
	text-wrap: pretty;
}

.p-case-detail__portfolio-archive-link {
	display: inline-flex;
	min-height: 2.75rem;
	padding: 0.45rem 0;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.35rem;
	color: #0074a8;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.p-case-detail__portfolio-archive-link span {
	transition: transform 220ms ease;
}

.p-case-detail__portfolio-archive-link:focus-visible {
	outline: 3px solid rgb(0 116 168 / 24%);
	outline-offset: 4px;
	border-radius: 0.55rem;
}

.p-case-detail__portfolio-grid {
	display: grid;
	align-items: stretch;
	gap: clamp(0.9rem, 1.45vw, 1.2rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	isolation: isolate;
}

.p-case-detail__portfolio-grid--count-1 {
	max-width: 24rem;
	margin-inline: auto;
	grid-template-columns: minmax(0, 1fr);
}

.p-case-detail__portfolio-grid--count-2 {
	max-width: 50rem;
	margin-inline: auto;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-case-detail__portfolio-grid--count-4,
.p-case-detail__portfolio-grid--count-many {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card {
	--portfolio-accent: #007cb5;
	--portfolio-accent-rgb: 0 124 181;
	position: relative;
	display: grid;
	height: clamp(36rem, 40vw, 39rem);
	min-width: 0;
	overflow: hidden;
	grid-template-rows: minmax(0, 55fr) minmax(0, 45fr);
	border: 1px solid rgb(var(--portfolio-accent-rgb) / 15%);
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 10%, rgb(var(--portfolio-accent-rgb) / 10%), transparent 9rem),
		linear-gradient(145deg, rgb(255 255 255 / 98%), rgb(248 253 255 / 94%));
	box-shadow: 0 1rem 2.4rem rgb(4 50 76 / 8%), inset 0 1px 0 rgb(255 255 255 / 86%);
	color: #04324c;
	transition:
		opacity 280ms ease,
		border-color 260ms ease,
		box-shadow 260ms ease,
		transform 260ms ease;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-skincare,
.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-skincare-series {
	--portfolio-accent: #008f8c;
	--portfolio-accent-rgb: 0 143 140;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-lip-care,
.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-makeup {
	--portfolio-accent: #c04f86;
	--portfolio-accent-rgb: 192 79 134;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-bodycare {
	--portfolio-accent: #007cb5;
	--portfolio-accent-rgb: 0 124 181;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-parfum {
	--portfolio-accent: #7b5dd7;
	--portfolio-accent-rgb: 123 93 215;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-men-s-grooming,
.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card--accent-mens-grooming {
	--portfolio-accent: #c79210;
	--portfolio-accent-rgb: 199 146 16;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media {
	position: relative;
	display: block;
	min-height: 0;
	overflow: hidden;
	padding: 0;
	aspect-ratio: auto;
	border-radius: 24px 24px 18px 18px;
	background:
		radial-gradient(circle at 50% 28%, rgb(255 255 255 / 82%), transparent 9rem),
		linear-gradient(145deg, #eff9ff 0%, #fff6f8 100%);
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media::after {
	display: none;
	content: none;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	overflow: hidden;
	padding: clamp(0.22rem, 0.34vw, 0.34rem);
	border: 0;
	border-radius: 20px;
	background: none;
	transition: transform 300ms ease, filter 300ms ease;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body {
	display: flex;
	min-height: 0;
	padding: clamp(0.9rem, 1.12vw, 1.05rem);
	flex-direction: column;
	gap: clamp(0.32rem, 0.5vw, 0.48rem);
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-meta-row {
	display: flex;
	margin: 0;
	align-items: center;
	gap: 0.45rem;
}

.p-case-detail__portfolio-reference .sr-home-premium__card-meta {
	display: block;
	max-width: 100%;
	margin: 0;
	padding: 0.34rem 0.58rem;
	overflow: hidden;
	border: 1px solid rgb(var(--portfolio-accent-rgb) / 18%);
	border-radius: 999px;
	background: rgb(var(--portfolio-accent-rgb) / 7%);
	color: var(--portfolio-accent);
	font-size: clamp(0.64rem, 0.72vw, 0.72rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-transform: none;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body h3 {
	display: -webkit-box;
	min-height: calc(2em * 1.14);
	max-height: calc(2em * 1.14);
	margin: 0.1rem 0 0;
	overflow: hidden;
	color: #04324c;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1rem, 1.18vw, 1.18rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.14;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body h3 a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.p-case-detail__portfolio-reference .p-case-detail__portfolio-brand {
	display: block;
	margin: 0;
	overflow: hidden;
	color: #314f63;
	font-size: clamp(0.78rem, 0.86vw, 0.88rem);
	font-weight: 800;
	line-height: 1.32;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-case-detail__portfolio-reference .p-case-detail__portfolio-excerpt {
	display: -webkit-box;
	min-height: calc(2em * 1.4);
	max-height: calc(2em * 1.4);
	margin: 0;
	overflow: hidden;
	color: #587083;
	font-size: clamp(0.78rem, 0.86vw, 0.88rem);
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-cta {
	display: flex;
	margin-top: auto;
	padding-top: 0.35rem;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-link {
	display: inline-flex;
	min-height: 2.45rem;
	align-items: center;
	gap: 0.55rem;
	color: #0074a8;
	font-size: clamp(0.84rem, 0.9vw, 0.94rem);
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-link-icon {
	display: inline-flex;
	width: 1.85rem;
	height: 1.85rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(var(--portfolio-accent-rgb) / 18%);
	border-radius: 50%;
	background: rgb(var(--portfolio-accent-rgb) / 7%);
	transition: transform 220ms ease;
}

.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media:focus-visible,
.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body h3 a:focus-visible,
.p-case-detail__portfolio-reference .sr-home-premium__portfolio-link:focus-visible {
	outline: 3px solid rgb(var(--portfolio-accent-rgb) / 26%);
	outline-offset: 4px;
	border-radius: 0.55rem;
}

.p-case-detail__portfolio-reference.is-portfolio-motion-ready [data-portfolio-reveal],
.p-case-detail__portfolio-reference.is-portfolio-motion-ready [data-portfolio-card] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 620ms ease, transform 620ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.p-case-detail__portfolio-reference.is-portfolio-motion-ready [data-portfolio-reveal].is-visible,
.p-case-detail__portfolio-reference.is-portfolio-motion-ready [data-portfolio-card].is-visible {
	opacity: 1;
	transform: none;
}

@media (hover: hover) and (pointer: fine) {
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:hover,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:focus-within {
		border-color: rgb(var(--portfolio-accent-rgb) / 26%);
		box-shadow: 0 1.35rem 2.8rem rgb(4 50 76 / 11%), inset 0 1px 0 rgb(255 255 255 / 88%);
		transform: translateY(-3px);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:hover .sr-home-premium__portfolio-media::after,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:focus-within .sr-home-premium__portfolio-media::after {
		opacity: 1;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:hover .sr-home-premium__portfolio-media img,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:focus-within .sr-home-premium__portfolio-media img {
		filter: drop-shadow(0 1rem 1.4rem rgb(4 42 62 / 12%));
		transform: scale(1.015);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:hover .sr-home-premium__portfolio-body h3 a,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:focus-within .sr-home-premium__portfolio-body h3 a,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:hover .sr-home-premium__portfolio-link,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:focus-within .sr-home-premium__portfolio-link {
		color: var(--portfolio-accent);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:hover .sr-home-premium__portfolio-link-icon,
	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card:focus-within .sr-home-premium__portfolio-link-icon,
	.p-case-detail__portfolio-archive-link:hover span,
	.p-case-detail__portfolio-archive-link:focus-visible span {
		transform: translateX(3px);
	}
}

@media (max-width: 63.999rem) {
	.p-case-detail__portfolio-grid,
	.p-case-detail__portfolio-grid--count-1,
	.p-case-detail__portfolio-grid--count-2,
	.p-case-detail__portfolio-grid--count-4,
	.p-case-detail__portfolio-grid--count-many {
		max-width: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card {
		height: clamp(34.5rem, 52vw, 37rem);
	}
}

@media (max-width: 39.999rem) {
	.p-case-detail__portfolio-grid,
	.p-case-detail__portfolio-grid--count-1,
	.p-case-detail__portfolio-grid--count-2,
	.p-case-detail__portfolio-grid--count-4,
	.p-case-detail__portfolio-grid--count-many {
		grid-template-columns: 1fr;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card {
		height: clamp(34rem, 122vw, 36.5rem);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body {
		padding: 0.95rem;
	}
}

.p-case-detail__gallery .p-case-detail__section-heading {
	margin-bottom: clamp(1.6rem, 3vw, 2.5rem);
}

.p-case-detail__gallery .p-case-detail__section-heading .c-eyebrow {
	font-weight: 600;
}

.p-case-detail__gallery .p-case-detail__section-heading h2 {
	font-weight: 700;
}

.p-case-detail__gallery .p-case-detail__section-heading p:not(.c-eyebrow) {
	max-width: 44rem;
	font-weight: 400;
}

.p-case-detail__gallery-trigger:hover .p-case-detail__gallery-media,
.p-case-detail__gallery-trigger:focus-visible .p-case-detail__gallery-media {
	border-color: rgb(253 209 0 / 68%);
	box-shadow: 0 1.2rem 2.35rem rgb(0 61 89 / 11%);
}

.p-case-detail__lightbox[hidden] {
	display: none;
}

.p-case-detail__lightbox {
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: grid;
	place-items: center;
	padding: clamp(1rem, 3vw, 2.5rem);
}

.p-case-detail__lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgb(3 25 39 / 76%);
	backdrop-filter: blur(10px);
}

.p-case-detail__lightbox-panel {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(100%, 72rem);
	height: min(100%, 44rem);
	align-items: center;
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 8%, rgb(253 209 0 / 13%), transparent 16rem),
		linear-gradient(145deg, rgb(255 255 255 / 97%), rgb(239 249 252 / 95%));
	box-shadow: 0 2rem 5rem rgb(0 0 0 / 34%);
}

.p-case-detail__lightbox-figure {
	display: grid;
	height: 100%;
	margin: 0;
	padding: clamp(1.4rem, 3vw, 2.2rem);
	place-items: center;
	gap: 0.85rem;
}

.p-case-detail__lightbox-image {
	display: block;
	max-width: 100%;
	max-height: min(72vh, 35rem);
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center center;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1rem 2.4rem rgb(0 61 89 / 12%);
}

.p-case-detail__lightbox-caption {
	max-width: 48rem;
	margin: 0;
	color: #304f62;
	font-size: 0.96rem;
	line-height: 1.55;
	text-align: center;
}

.p-case-detail__lightbox-close,
.p-case-detail__lightbox-nav {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(0 132 184 / 16%);
	border-radius: 999px;
	background: rgb(255 255 255 / 92%);
	color: #063b5b;
	box-shadow: 0 0.75rem 1.8rem rgb(0 61 89 / 12%);
	cursor: pointer;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.p-case-detail__lightbox-close {
	top: 1rem;
	right: 1rem;
	width: 2.85rem;
	height: 2.85rem;
	font-size: 1.6rem;
	line-height: 1;
}

.p-case-detail__lightbox-nav {
	top: 50%;
	width: 3rem;
	height: 3rem;
	font-size: 2rem;
	transform: translateY(-50%);
}

.p-case-detail__lightbox-nav--prev {
	left: 1rem;
}

.p-case-detail__lightbox-nav--next {
	right: 1rem;
}

.p-case-detail__lightbox-close:hover,
.p-case-detail__lightbox-nav:hover,
.p-case-detail__lightbox-close:focus-visible,
.p-case-detail__lightbox-nav:focus-visible {
	border-color: rgb(253 209 0 / 70%);
	box-shadow: 0 1rem 2rem rgb(0 61 89 / 16%);
}

.p-case-detail__lightbox-close:focus-visible,
.p-case-detail__lightbox-nav:focus-visible {
	outline: 3px solid rgb(253 209 0 / 78%);
	outline-offset: 0.25rem;
}

.p-case-detail__lightbox-nav[hidden] {
	display: none;
}

body.has-case-gallery-lightbox {
	overflow: hidden;
}

.p-case-detail__testimonial-reference .p-case-detail__reference-grid {
	max-width: 58rem;
	margin-inline: auto;
}

.p-case-detail__testimonial-reference .c-card--testimonial {
	overflow: hidden;
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0%, rgb(253 209 0 / 10%), transparent 13rem),
		#fff;
}

.p-case-detail__testimonial-reference .c-card--testimonial::before {
	top: -0.4rem;
	right: 1.35rem;
	color: rgb(0 132 184 / 8%);
	font-size: 8rem;
}

.p-case-detail__testimonial-reference .c-card--testimonial .c-card__quote {
	color: #263f50;
	font-size: clamp(1.12rem, 1.8vw, 1.36rem);
	font-weight: 650;
}

.p-case-detail__testimonial-reference .c-card--testimonial footer {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.p-case-detail__testimonial-avatar {
	display: inline-flex;
	width: 3.1rem;
	height: 3.1rem;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(253 209 0 / 52%);
	border-radius: 999px;
	background: linear-gradient(135deg, #fff8d8, #eaf7fb);
	color: #063b5b;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.p-case-detail__testimonial-meta {
	display: grid;
	gap: 0.15rem;
}

.p-case-detail__testimonial-meta strong {
	color: #063b5b;
	font-size: 1.08rem;
	font-weight: 900;
}

.p-case-detail__testimonial-meta span {
	color: #647785;
	font-size: 0.92rem;
	line-height: 1.35;
}

@media (min-width: 64rem) {
	.p-case-detail__portfolio-reference .c-card--portfolio-reference {
		display: grid;
		grid-template-columns: minmax(13rem, 0.42fr) minmax(0, 0.58fr);
		align-items: stretch;
	}

	.p-case-detail__portfolio-reference .c-card--portfolio-reference .c-card__media {
		height: 100%;
		min-height: 13rem;
		aspect-ratio: auto;
	}

	.p-case-detail__portfolio-reference .c-card--portfolio-reference .c-card__body {
		justify-content: center;
	}

	.p-case-detail__gallery-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-rows: auto;
	}

	.p-case-detail__gallery-item {
		min-height: 0;
	}

	.p-case-detail__gallery-item--featured {
		grid-column: auto;
		grid-row: auto;
		min-height: 0;
	}
}

@media (max-width: 47.98rem) {
	.p-case-detail__lightbox {
		padding: 0.75rem;
	}

	.p-case-detail__lightbox-panel {
		height: min(100%, 38rem);
		border-radius: 20px;
	}

	.p-case-detail__lightbox-figure {
		padding: 4rem 0.9rem 4.75rem;
	}

	.p-case-detail__lightbox-image {
		max-height: 68vh;
	}

	.p-case-detail__lightbox-nav {
		top: auto;
		bottom: 1rem;
		transform: none;
	}
}

@media (max-width: 47.98rem) {
	.p-case-detail__result-pills {
		flex-direction: column;
	}

	.p-case-detail__result-pills span {
		width: 100%;
	}

	.p-case-detail__testimonial-reference .c-card--testimonial footer {
		align-items: flex-start;
	}
}

@media (max-width: 47.98rem) {
	.p-case-compact-grid--archive,
	.p-case-detail__portfolio-grid,
	.p-case-detail__portfolio-grid--count-1,
	.p-case-detail__portfolio-grid--count-2,
	.p-case-detail__portfolio-grid--count-4,
	.p-case-detail__portfolio-grid--count-many,
	.p-case-detail__gallery-grid,
	.p-portfolio-detail .p-portfolio-detail__gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(0.625rem, 3vw, 0.875rem);
	}

	.p-case-compact-grid--archive > *,
	.p-case-detail__portfolio-grid > *,
	.p-case-detail__gallery-grid > *,
	.p-portfolio-detail .p-portfolio-detail__gallery-grid > * {
		min-width: 0;
	}

	.p-case-compact-card--archive {
		display: flex;
		height: auto;
		grid-template-rows: none;
		border-radius: clamp(1rem, 4vw, 1.25rem);
	}

	.p-case-compact-card--archive .p-case-compact-card__media {
		width: 100%;
		height: auto;
		min-height: 0;
		margin: 0;
		aspect-ratio: 4 / 5;
		border-radius: clamp(1rem, 4vw, 1.25rem) clamp(1rem, 4vw, 1.25rem) clamp(0.8rem, 3vw, 1rem) clamp(0.8rem, 3vw, 1rem);
	}

	.p-case-compact-card--archive .p-case-compact-card__media img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center center;
		padding: clamp(0.1875rem, 1vw, 0.3125rem);
		border-radius: clamp(0.75rem, 3vw, 1rem);
		transform: none;
	}

	.p-case-compact-card--archive .p-case-compact-card__body {
		padding: clamp(0.62rem, 2.4vw, 0.82rem);
		gap: clamp(0.26rem, 1.6vw, 0.38rem);
	}

	.p-case-compact-card--archive .p-case-compact-card__category {
		max-width: 100%;
		padding: 0.28rem 0.44rem;
		font-size: clamp(0.58rem, 2.5vw, 0.68rem);
	}

	.p-case-compact-card--archive h3 {
		min-height: 0;
		max-height: calc(2em * 1.16);
		font-size: clamp(0.94rem, 4.05vw, 1.08rem);
		line-height: 1.16;
	}

	.p-case-compact-card--archive .p-case-compact-card__brand,
	.p-case-compact-card--archive .p-case-compact-card__excerpt {
		font-size: clamp(0.72rem, 3.2vw, 0.82rem);
		line-height: 1.34;
	}

	.p-case-compact-card--archive .p-case-compact-card__brand {
		min-height: 0;
		max-height: calc(1em * 1.34);
	}

	.p-case-compact-card--archive .p-case-compact-card__excerpt {
		min-height: 0;
		max-height: calc(2em * 1.34);
		-webkit-line-clamp: 2;
	}

	.p-case-compact-card--archive .p-case-compact-card__link {
		min-height: 2.35rem;
		font-size: clamp(0.74rem, 3.25vw, 0.84rem);
		line-height: 1.1;
	}

	.p-case-detail__related {
		padding-block: clamp(4rem, 16vw, 4.75rem);
	}

	.p-case-detail__related-heading {
		margin-bottom: clamp(1.75rem, 7vw, 2rem);
	}

	.p-case-detail__related-heading .c-eyebrow {
		margin-bottom: clamp(1.25rem, 5.5vw, 1.5rem);
		font-size: clamp(11px, 3vw, 12px);
		font-weight: 700;
		letter-spacing: 0.16em;
		line-height: 1.2;
	}

	.p-case-detail__related-heading h2 {
		font-size: clamp(32px, 9.2vw, 38px);
		font-weight: 800;
		line-height: 1.1;
	}

	.p-case-detail__related-heading p:not(.c-eyebrow) {
		margin-top: 16px;
		font-size: clamp(15px, 4vw, 16px);
		line-height: 1.6;
	}

	.p-case-detail__related-archive-link {
		min-height: 42px;
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.2;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-card {
		display: flex;
		height: auto;
		min-width: 0;
		flex-direction: column;
		grid-template-rows: none;
		border-radius: clamp(1rem, 4vw, 1.25rem);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 5;
		border-radius: clamp(1rem, 4vw, 1.25rem) clamp(1rem, 4vw, 1.25rem) clamp(0.8rem, 3vw, 1rem) clamp(0.8rem, 3vw, 1rem);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-media img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center center;
		padding: clamp(0.1875rem, 1vw, 0.3125rem);
		border-radius: clamp(0.75rem, 3vw, 1rem);
		transform: none;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body {
		padding: clamp(0.62rem, 2.4vw, 0.82rem);
		gap: clamp(0.26rem, 1.6vw, 0.38rem);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__card-meta {
		max-width: 100%;
		padding: 0.28rem 0.44rem;
		font-size: clamp(0.58rem, 2.5vw, 0.68rem);
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-body h3 {
		min-height: 0;
		max-height: calc(2em * 1.16);
		font-size: clamp(0.94rem, 4.05vw, 1.08rem);
		line-height: 1.16;
	}

	.p-case-detail__portfolio-reference .p-case-detail__portfolio-brand,
	.p-case-detail__portfolio-reference .p-case-detail__portfolio-excerpt {
		font-size: clamp(0.72rem, 3.2vw, 0.82rem);
		line-height: 1.34;
	}

	.p-case-detail__portfolio-reference .p-case-detail__portfolio-excerpt {
		min-height: 0;
		max-height: calc(2em * 1.34);
		-webkit-line-clamp: 2;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-link {
		min-height: 2.35rem;
		font-size: clamp(0.74rem, 3.25vw, 0.84rem);
		line-height: 1.1;
	}

	.p-case-detail__portfolio-reference .sr-home-premium__portfolio-link-icon {
		width: 1.55rem;
		height: 1.55rem;
	}

	.p-case-detail__gallery-media,
	.p-portfolio-detail__gallery-media {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 5;
		border-radius: clamp(1rem, 4vw, 1.25rem);
	}

	.p-case-detail__gallery-item img,
	.p-case-detail__gallery-image,
	.p-portfolio-detail__gallery .c-gallery img,
	.p-portfolio-detail__gallery-image {
		display: block;
		width: 100%;
		height: 100%;
		aspect-ratio: 4 / 5;
		object-fit: cover;
		object-position: center center;
		transform: none;
	}

	.p-case-detail__gallery-number,
	.p-portfolio-detail__gallery-number {
		top: 0.45rem;
		left: 0.45rem;
		min-width: 1.75rem;
		padding: 0.26rem 0.4rem;
		font-size: 0.62rem;
	}

	.p-case-detail__gallery-view-label,
	.p-portfolio-detail__gallery-view-label {
		margin-top: 0.45rem;
		font-size: clamp(0.72rem, 3vw, 0.82rem);
	}

	.p-case-detail__gallery-caption {
		margin-top: 0.4rem;
		font-size: clamp(0.72rem, 3vw, 0.82rem);
		line-height: 1.35;
	}
}

@media (max-width: 22.5rem) {
	.p-case-compact-grid--archive,
	.p-case-detail__portfolio-grid,
	.p-case-detail__gallery-grid,
	.p-portfolio-detail .p-portfolio-detail__gallery-grid {
		gap: 0.625rem;
	}
}

.p-case-archive .p-case-archive__all .p-case-compact-grid--archive {
	column-gap: 0.5rem;
	row-gap: 0.5rem;
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
	.p-case-archive .p-case-archive__all .p-case-compact-grid--archive {
		column-gap: 1.125rem;
		row-gap: 1.125rem;
	}
}

@media (min-width: 64rem) {
	.p-case-archive .p-case-archive__all .p-case-compact-grid--archive {
		column-gap: 1.5rem;
		row-gap: 1.5rem;
	}
}

/* Case study archive hero and featured case mobile polish. */
@media (max-width: 47.98rem) {
	.p-case-archive .p-case-archive__hero {
		padding-block: clamp(2.6rem, 11vw, 3.35rem) clamp(1.35rem, 6vw, 1.85rem);
	}

	.p-case-archive .p-case-archive__hero-copy {
		display: grid;
		gap: clamp(0.46rem, 2vw, 0.62rem);
	}

	.p-case-archive .p-case-archive__hero-copy .p-case-archive__eyebrow {
		margin: 0;
		letter-spacing: 0.11em;
	}

	.p-case-archive .p-case-archive__hero-copy h1 {
		max-width: 12ch;
		margin: 0;
		font-size: clamp(2.35rem, 11.4vw, 3rem);
		letter-spacing: 0;
		line-height: 1.02;
	}

	.p-case-archive .p-case-archive__hero-copy > p:not(.p-case-archive__eyebrow) {
		width: 100%;
		max-width: none;
		margin: 0;
		font-size: clamp(0.94rem, 3.9vw, 1rem);
		line-height: 1.55;
	}

	.p-case-archive .p-case-archive__featured {
		padding-block-end: clamp(1.35rem, 6vw, 2rem);
	}

	.p-case-archive .p-case-featured-card {
		border-radius: clamp(1.15rem, 5vw, 1.45rem);
		box-shadow: 0 1rem 2.75rem rgb(45 27 62 / 9%);
	}

	.p-case-archive .p-case-featured-card__media {
		padding: clamp(0.82rem, 3.6vw, 1.12rem);
		gap: clamp(0.62rem, 2.4vw, 0.82rem);
		overflow: hidden;
	}

	.p-case-archive .p-case-featured-card__media::before {
		right: 20%;
		bottom: 45%;
		left: 20%;
		height: 3.2rem;
		filter: blur(18px);
	}

	.p-case-archive .p-case-featured-card__media img {
		width: min(82%, 18rem);
		max-height: clamp(13.8rem, 58vw, 16.6rem);
		object-fit: contain;
		filter: drop-shadow(0 1rem 1.65rem rgb(80 38 62 / 14%));
	}

	.p-case-archive .p-case-featured-card__info {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(0.42rem, 1.8vw, 0.55rem);
		padding: clamp(0.58rem, 2.4vw, 0.72rem);
		border-radius: clamp(0.85rem, 3.5vw, 1rem);
	}

	.p-case-archive .p-case-featured-card__info span {
		margin-bottom: 0.12rem;
		font-size: clamp(0.54rem, 2.25vw, 0.62rem);
		letter-spacing: 0.04em;
		line-height: 1.1;
	}

	.p-case-archive .p-case-featured-card__info strong {
		font-size: clamp(0.75rem, 3.2vw, 0.84rem);
		line-height: 1.18;
	}

	.p-case-archive .p-case-featured-card__content {
		padding: clamp(0.82rem, 3.6vw, 1.05rem);
		gap: clamp(0.44rem, 1.9vw, 0.58rem);
	}

	.p-case-archive .p-case-featured-card__category {
		padding: 0.34rem 0.56rem;
		font-size: clamp(0.58rem, 2.4vw, 0.66rem);
		letter-spacing: 0.04em;
	}

	.p-case-archive .p-case-featured-card h2 {
		max-width: 17ch;
		font-size: clamp(1.55rem, 7.1vw, 1.98rem);
		letter-spacing: 0;
		line-height: 1.08;
	}

	.p-case-archive .p-case-featured-card__summary {
		font-size: clamp(0.84rem, 3.45vw, 0.92rem);
		line-height: 1.46;
	}

	.p-case-archive .p-case-featured-card__story {
		gap: clamp(0.34rem, 1.55vw, 0.46rem);
	}

	.p-case-archive .p-case-featured-card__summary + .p-case-featured-card__story {
		margin-top: clamp(0.75rem, 3.8vw, 1rem);
	}

	.p-case-archive .p-case-featured-card__story-block {
		gap: clamp(0.34rem, 1.55vw, 0.46rem);
		padding: clamp(0.44rem, 1.9vw, 0.56rem);
		border-radius: clamp(0.78rem, 3.4vw, 0.95rem);
	}

	.p-case-archive .p-case-featured-card__story-icon {
		width: clamp(1.48rem, 6vw, 1.68rem);
		height: clamp(1.48rem, 6vw, 1.68rem);
	}

	.p-case-archive .p-case-featured-card__story-icon::before {
		width: 0.42rem;
		height: 0.42rem;
	}

	.p-case-archive .p-case-featured-card__story-block h3,
	.p-case-archive .p-case-featured-card__timeline h3 {
		margin-bottom: 0.16rem;
		font-size: clamp(0.66rem, 2.75vw, 0.72rem);
		line-height: 1.12;
	}

	.p-case-archive .p-case-featured-card__story-block p,
	.p-case-archive .p-case-featured-card__story-block li {
		font-size: clamp(0.72rem, 3vw, 0.78rem);
		line-height: 1.32;
	}

	.p-case-archive .p-case-featured-card__story-block ul,
	.p-case-archive .p-case-featured-card__result-list {
		gap: 0.12rem;
		padding-left: 0.92rem;
	}

	.p-case-archive .p-case-featured-card__evidence {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(0.34rem, 1.55vw, 0.46rem);
	}

	.p-case-archive .p-case-featured-card__evidence div {
		padding: clamp(0.44rem, 1.9vw, 0.58rem);
		border-radius: clamp(0.78rem, 3.2vw, 0.94rem);
	}

	.p-case-archive .p-case-featured-card__evidence div > span {
		width: 0.9rem;
		height: 0.9rem;
		margin-bottom: 0.24rem;
		border-width: 4px;
	}

	.p-case-archive .p-case-featured-card__evidence strong {
		font-size: clamp(0.78rem, 3.35vw, 0.92rem);
		line-height: 1.08;
	}

	.p-case-archive .p-case-featured-card__evidence p {
		margin-top: 0.14rem;
		font-size: clamp(0.58rem, 2.42vw, 0.66rem);
		line-height: 1.18;
	}

	.p-case-archive .p-case-featured-card__timeline {
		padding-top: 0;
	}

	.p-case-archive .p-case-featured-card__timeline-list {
		grid-template-columns: repeat(5, minmax(6.25rem, 1fr));
		gap: 0.4rem;
		margin-top: 0.46rem;
	}

	.p-case-archive .p-case-featured-card__timeline-list li {
		padding-top: 1.34rem;
	}

	.p-case-archive .p-case-featured-card__timeline-list li::before {
		top: 0.44rem;
		left: 1.28rem;
	}

	.p-case-archive .p-case-featured-card__timeline-list li > span {
		width: 0.94rem;
		height: 0.94rem;
		border-width: 2px;
	}

	.p-case-archive .p-case-featured-card__timeline-list strong {
		font-size: 0.72rem;
		line-height: 1.15;
	}

	.p-case-archive .p-case-featured-card__timeline-list p {
		margin-top: 0.16rem;
		font-size: 0.66rem;
		line-height: 1.28;
	}

	.p-case-archive .p-case-featured-card__link {
		min-height: 2.45rem;
		font-size: clamp(0.82rem, 3.4vw, 0.9rem);
	}
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
	.p-case-archive .p-case-featured-card__media {
		min-height: clamp(16rem, 48vw, 23rem);
		padding-bottom: clamp(5rem, 9vw, 6.6rem);
	}

	.p-case-archive .p-case-featured-card__media img {
		width: min(70%, 25rem);
		max-height: clamp(20rem, 44vw, 27rem);
	}

	.p-case-archive .p-case-featured-card__content {
		padding: clamp(1.15rem, 2.6vw, 1.55rem);
		gap: 0.72rem;
	}
}

/* Case study archive featured visual full-frame treatment. */
.p-case-archive .p-case-featured-card__media {
	--case-featured-visual-safe-area: clamp(0.45rem, 0.9vw, 0.7rem);
	align-self: start;
	display: block;
	padding: var(--case-featured-visual-safe-area);
	overflow: hidden;
	border-radius: clamp(1.05rem, 2.4vw, 1.7rem);
	box-sizing: border-box;
}

.p-case-archive .p-case-featured-card__media::before {
	display: none;
}

.p-case-archive .p-case-featured-card__media img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	max-height: none;
	aspect-ratio: 4 / 5;
	border-radius: inherit;
	object-fit: cover;
	object-position: center center;
	filter: none;
}

.p-case-archive .p-case-featured-card__info {
	right: clamp(1rem, 3vw, 1.5rem);
	bottom: clamp(1rem, 3vw, 1.5rem);
	left: clamp(1rem, 3vw, 1.5rem);
}

@media (max-width: 47.98rem) {
	.p-case-archive .p-case-archive__hero-copy h1 {
		max-width: 100%;
		width: max-content;
		font-size: clamp(2rem, 9.15vw, 2.42rem);
		letter-spacing: 0;
		line-height: 1.02;
		white-space: nowrap;
	}

	.p-case-archive .p-case-featured-card__media {
		--case-featured-visual-safe-area: clamp(0.375rem, 1.8vw, 0.5rem);
		padding: var(--case-featured-visual-safe-area);
		gap: 0;
		border-radius: clamp(1rem, 4.4vw, 1.2rem);
	}

	.p-case-archive .p-case-featured-card__media img {
		width: 100%;
		height: auto;
		max-height: none;
		aspect-ratio: 4 / 5;
		border-radius: inherit;
		object-fit: cover;
		object-position: center center;
	}

	.p-case-archive .p-case-featured-card__info {
		position: absolute;
		right: clamp(0.72rem, 3.2vw, 0.9rem);
		bottom: clamp(0.72rem, 3.2vw, 0.9rem);
		left: clamp(0.72rem, 3.2vw, 0.9rem);
		margin-top: 0;
		background: rgb(255 255 255 / 82%);
	}
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
	.p-case-archive .p-case-featured-card__media {
		min-height: 0;
		--case-featured-visual-safe-area: clamp(0.5rem, 1vw, 0.7rem);
		padding: var(--case-featured-visual-safe-area);
	}

	.p-case-archive .p-case-featured-card__media img {
		width: 100%;
		height: auto;
		max-height: none;
	}
}

@media (min-width: 64rem) {
	.p-case-archive .p-case-featured-card__media {
		min-height: 0;
		--case-featured-visual-safe-area: clamp(0.55rem, 0.75vw, 0.8rem);
		padding: var(--case-featured-visual-safe-area);
	}
}

/* Case study archive process timeline follows Homepage scroll pattern. */
.p-case-archive .p-case-featured-card__timeline-hint {
	margin: -0.08rem 0 0;
	color: #766a7c;
	font-size: clamp(0.68rem, 0.9vw, 0.76rem);
	font-weight: 600;
	line-height: 1.35;
}

.p-case-archive .p-case-featured-card__timeline-scroll {
	overflow-x: auto;
	overflow-y: visible;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.p-case-archive .p-case-featured-card__timeline-scroll::-webkit-scrollbar {
	display: none;
}

.p-case-archive .p-case-featured-card__timeline-list {
	--case-process-dot-size: 1.05rem;
	--case-process-line-color: rgb(118 83 145 / 26%);
	position: relative;
	overflow: visible;
	scrollbar-width: none;
}

.p-case-archive .p-case-featured-card__timeline-list::before {
	position: absolute;
	top: calc(var(--case-process-dot-size) / 2);
	z-index: 0;
	border-top: 1px dashed var(--case-process-line-color);
	content: "";
	pointer-events: none;
}

.p-case-archive .p-case-featured-card__timeline-list::-webkit-scrollbar {
	display: none;
}

.p-case-archive .p-case-featured-card__timeline-list li::before {
	display: none;
}

.p-case-archive .p-case-featured-card__timeline-list li > span {
	z-index: 1;
	background: var(--case-purple);
}

@media (max-width: 47.98rem) {
	.p-case-archive .p-case-featured-card__timeline h3 {
		margin-bottom: 0.12rem;
	}

	.p-case-archive .p-case-featured-card__timeline-hint {
		margin-top: 0;
		font-size: clamp(0.66rem, 2.8vw, 0.72rem);
	}

	.p-case-archive .p-case-featured-card__timeline-list {
		--case-process-gap: clamp(0.78rem, 3.6vw, 1rem);
		--case-process-dot-size: clamp(0.88rem, 3.8vw, 1rem);
		--case-process-item-width: clamp(8.45rem, 42vw, 10.6rem);
		display: inline-flex;
		width: 100%;
		min-width: calc(var(--case-process-item-width) + var(--case-process-item-width) + var(--case-process-item-width) + var(--case-process-item-width) + var(--case-process-item-width) + var(--case-process-gap) + var(--case-process-gap) + var(--case-process-gap) + var(--case-process-gap));
		margin-top: clamp(0.54rem, 2.5vw, 0.72rem);
		padding: 0 0 clamp(0.1rem, 1vw, 0.2rem);
		overflow: visible;
		gap: var(--case-process-gap);
		list-style: none;
		scroll-padding-inline: 0;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.p-case-archive .p-case-featured-card__timeline-list::before {
		left: calc(var(--case-process-item-width) / 2);
		width: calc(100% - var(--case-process-item-width));
		right: auto;
	}

	.p-case-archive .p-case-featured-card__timeline-list li {
		position: relative;
		min-width: 0;
		padding-top: clamp(1.34rem, 6vw, 1.55rem);
		flex: 0 0 var(--case-process-item-width);
		scroll-snap-align: start;
	}

	.p-case-archive .p-case-featured-card__timeline-list li::before {
		display: none;
	}

	.p-case-archive .p-case-featured-card__timeline-list li > span {
		top: 0;
		left: 50%;
		width: var(--case-process-dot-size);
		height: var(--case-process-dot-size);
		border: 2px solid #fff;
		transform: translateX(-50%);
	}

	.p-case-archive .p-case-featured-card__timeline-list strong,
	.p-case-archive .p-case-featured-card__timeline-list p {
		text-align: center;
	}

	.p-case-archive .p-case-featured-card__timeline-list strong {
		font-size: clamp(0.74rem, 3.2vw, 0.82rem);
		line-height: 1.14;
	}

	.p-case-archive .p-case-featured-card__timeline-list p {
		max-width: 10rem;
		margin: 0.2rem auto 0;
		font-size: clamp(0.66rem, 2.85vw, 0.72rem);
		line-height: 1.28;
	}
}

@media (min-width: 48rem) {
	.p-case-archive .p-case-featured-card__timeline-list {
		width: 100%;
		min-width: 0;
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.p-case-archive .p-case-featured-card__timeline-list::before {
		right: calc(10% - 0.192rem);
		left: calc(10% - 0.192rem);
		width: auto;
	}

	.p-case-archive .p-case-featured-card__timeline-list li > span {
		left: 50%;
		transform: translateX(-50%);
	}

	.p-case-archive .p-case-featured-card__timeline-list li::before {
		left: 50%;
	}

	.p-case-archive .p-case-featured-card__timeline-list strong,
	.p-case-archive .p-case-featured-card__timeline-list p {
		text-align: center;
	}
}

/* Case study typography normalization, scoped away from other pages. */
.p-case-archive,
.p-case-detail {
	font-family: Inter, var(--font-inter, ui-sans-serif), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-case-archive *,
.p-case-archive *::before,
.p-case-archive *::after,
.p-case-detail *,
.p-case-detail *::before,
.p-case-detail *::after {
	font-family: inherit;
}

.p-case-archive h1,
.p-case-archive h2,
.p-case-archive h3,
.p-case-archive h4,
.p-case-archive .p-case-featured-card h2,
.p-case-archive .p-case-compact-card h3,
.p-case-archive .p-case-archive__context-cta-copy h2,
.p-case-detail h1,
.p-case-detail h2,
.p-case-detail h3,
.p-case-detail h4,
.p-case-detail .p-case-detail__hero-copy h1,
.p-case-detail .p-case-detail__cta-card h2,
.p-case-detail .p-case-compact-card h3,
.p-case-detail .sr-home-premium__portfolio-body h3 {
	letter-spacing: 0;
}

.p-case-archive p,
.p-case-archive li,
.p-case-detail p,
.p-case-detail li {
	letter-spacing: normal;
}

.p-case-archive .p-case-archive__eyebrow,
.p-case-detail .c-eyebrow,
.p-case-detail .p-case-detail__category-badge,
.p-case-detail .p-case-detail__client-label,
.p-case-detail .p-case-detail__cta-eyebrow {
	letter-spacing: 0.1em;
}

.p-case-archive .p-case-featured-card__category,
.p-case-archive .p-case-featured-card__story-block h3,
.p-case-archive .p-case-featured-card__timeline h3,
.p-case-archive .p-case-compact-card__category,
.p-case-detail .p-case-detail__journey-stage,
.p-case-detail .p-case-detail__portfolio-type,
.p-case-detail .sr-home-premium__card-meta {
	letter-spacing: 0.04em;
}

.p-case-archive .p-case-featured-card__evidence div {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(0.18rem, 0.55vw, 0.28rem);
	text-align: center;
}

.p-case-archive .p-case-featured-card__evidence div > span {
	margin: 0;
	flex: 0 0 auto;
}

.p-case-archive .p-case-featured-card__evidence strong,
.p-case-archive .p-case-featured-card__evidence p {
	width: 100%;
	margin: 0;
	text-align: center;
}

.p-case-archive .p-case-featured-card__evidence strong {
	font-size: clamp(0.78rem, 1.1vw, 0.98rem);
	line-height: 1.12;
}

.p-case-archive .p-case-featured-card__evidence p {
	font-size: clamp(0.58rem, 0.82vw, 0.72rem);
	line-height: 1.22;
}

.p-case-archive .p-case-featured-card__evidence + .p-case-featured-card__timeline {
	margin-top: clamp(1.25rem, 2vw, 2rem);
}

@media (max-width: 47.98rem) {
	.p-case-archive .p-case-featured-card__evidence div {
		gap: clamp(0.14rem, 0.9vw, 0.22rem);
		padding-block: clamp(0.42rem, 1.8vw, 0.54rem);
	}

	.p-case-archive .p-case-featured-card__evidence + .p-case-featured-card__timeline {
		margin-top: clamp(1.125rem, 6vw, 1.75rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-case-detail__gallery-item,
	.p-case-detail__portfolio-reference .c-card--portfolio-reference,
	.p-case-detail__testimonial-reference .c-card--testimonial {
		transition: none;
	}
}
/* Premium services page. */
.sr-services-premium {
	--services-navy: #04324c;
	--services-blue: #008fd7;
	--services-soft: #eef8fd;
	--services-gold: #fdd100;
	--services-ink: #0b2435;
	--services-muted: #53616c;
	background: #fff;
	color: var(--services-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-services-premium h1,
.sr-services-premium h2 {
	color: var(--services-navy);
	font-family: inherit;
	font-weight: 850;
	letter-spacing: -0.05em;
}

.sr-services-premium h1 {
	max-width: 12.4em;
	font-size: clamp(2.85rem, 4.45vw, 4.45rem);
	line-height: 1;
}

.sr-services-premium h1 span {
	display: block;
}

.sr-services-premium h2 {
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.05;
}

.sr-services-premium h3 {
	color: var(--services-ink);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.14;
}

.sr-services-premium__eyebrow {
	margin: 0 0 1rem;
	color: var(--services-blue);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.sr-services-premium__hero .sr-services-premium__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

.sr-services-premium__hero .sr-services-premium__eyebrow::before {
	display: inline-block;
	width: 0.46rem;
	height: 0.46rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.24rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

.sr-services-premium__hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3.8rem, 7vw, 6.2rem);
	background:
		radial-gradient(circle at 84% 12%, rgb(253 209 0 / 18%), transparent 28rem),
		radial-gradient(circle at 8% 0%, rgb(0 143 215 / 12%), transparent 24rem),
		linear-gradient(135deg, #f3faff, #fff 52%, #eaf7fd);
}

.sr-services-premium__hero::before {
	position: absolute;
	top: -8rem;
	right: -5rem;
	width: 24rem;
	height: 24rem;
	border: 1px solid rgb(253 209 0 / 22%);
	border-radius: 999px;
	content: "";
}

.sr-services-premium__hero-grid,
.sr-services-premium__cta-grid {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(2.5rem, 4vw, 4.25rem);
	align-items: center;
}

.sr-services-premium__lead {
	max-width: 44rem;
	margin: 1.5rem 0 0;
	color: #3f5b67;
	font-size: clamp(1.06rem, 1.5vw, 1.25rem);
	line-height: 1.75;
}

.sr-services-premium__hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.8rem;
}

.sr-services-premium__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 3.25rem;
	padding: 0.9rem 1.45rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background 300ms ease,
		border-color 300ms ease,
		color 300ms ease,
		box-shadow 300ms ease,
		transform 300ms ease;
}

.sr-services-premium__button--primary {
	background: var(--services-blue);
	color: #fff;
	box-shadow: 0 1rem 2.4rem rgb(0 143 215 / 22%);
}

.sr-services-premium__button--primary:hover,
.sr-services-premium__button--primary:focus-visible {
	background: var(--services-navy);
	color: #fff;
	transform: translateY(-2px);
}

.sr-services-premium__button--secondary {
	border-color: rgb(0 111 168 / 18%);
	background: rgb(255 255 255 / 82%);
	color: var(--services-navy);
	box-shadow:
		0 0.72rem 1.75rem rgb(4 50 76 / 8%),
		inset 0 1px 0 rgb(255 255 255 / 86%);
}

.sr-services-premium__button--secondary:hover,
.sr-services-premium__button--secondary:focus-visible {
	border-color: rgb(253 209 0 / 62%);
	background: #fff;
	color: var(--services-navy);
	box-shadow:
		0 0.9rem 2rem rgb(4 50 76 / 11%),
		0 0 0 0.18rem rgb(253 209 0 / 13%);
	transform: translateY(-2px);
}

.sr-services-premium__hero-actions .sr-services-premium__button {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	gap: 0;
	min-width: min(100%, 15.5rem);
	min-height: 4rem;
	padding: 0.58rem 0.68rem;
	border-radius: 999px;
	text-align: center;
	transition:
		background-color 220ms ease,
		border-color 220ms ease,
		color 220ms ease,
		box-shadow 220ms ease,
		transform 220ms ease;
}

.sr-services-premium__hero-actions .sr-services-premium__button-label {
	min-width: 0;
	text-align: center;
	white-space: nowrap;
}

.sr-services-premium__hero-actions .sr-services-premium__button-icon,
.sr-services-premium__hero-actions .sr-services-premium__button-arrow {
	display: inline-grid;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-items: center;
	border-radius: 999px;
	line-height: 1;
	transition:
		background-color 220ms ease,
		color 220ms ease,
		transform 220ms ease;
}

.sr-services-premium__hero-actions .sr-services-premium__button-icon svg {
	display: block;
	width: 1.22rem;
	height: 1.22rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.sr-services-premium__hero-actions .sr-services-premium__button-arrow {
	font-size: 1.08rem;
	font-weight: 900;
}

.sr-services-premium__hero-actions .sr-services-premium__button--primary {
	border-color: rgb(253 209 0 / 76%);
	background: linear-gradient(135deg, #003b5c 0%, #005b86 48%, #0077a8 100%);
	color: #fff;
	box-shadow:
		0 18px 38px rgb(0 59 92 / 24%),
		inset 0 1px 0 rgb(255 255 255 / 18%);
}

.sr-services-premium__hero-actions .sr-services-premium__button--primary .sr-services-premium__button-icon {
	background: rgb(255 255 255 / 16%);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 18%);
}

.sr-services-premium__hero-actions .sr-services-premium__button--primary .sr-services-premium__button-arrow {
	background: rgb(253 209 0 / 22%);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgb(253 209 0 / 28%);
}

.sr-services-premium__hero-actions .sr-services-premium__button--primary:hover,
.sr-services-premium__hero-actions .sr-services-premium__button--primary:focus-visible {
	border-color: rgb(253 209 0 / 88%);
	background: linear-gradient(135deg, #004768 0%, #006a98 48%, #0087ba 100%);
	box-shadow:
		0 20px 42px rgb(0 59 92 / 28%),
		inset 0 1px 0 rgb(255 255 255 / 20%);
	transform: translateY(-2px);
}

.sr-services-premium__hero-actions .sr-services-premium__button--secondary {
	border-color: rgb(253 209 0 / 64%);
	background: rgb(255 255 255 / 92%);
	color: var(--services-navy);
	box-shadow: 0 0.72rem 1.45rem rgb(4 50 76 / 7%);
}

.sr-services-premium__hero-actions .sr-services-premium__button--secondary .sr-services-premium__button-icon {
	background: rgb(238 248 253 / 86%);
	color: var(--services-blue);
	box-shadow: inset 0 0 0 1px rgb(0 143 215 / 14%);
}

.sr-services-premium__hero-actions .sr-services-premium__button--secondary .sr-services-premium__button-arrow {
	background: rgb(253 209 0 / 18%);
	color: var(--services-navy);
	box-shadow: inset 0 0 0 1px rgb(253 209 0 / 28%);
}

.sr-services-premium__hero-actions .sr-services-premium__button--secondary:hover,
.sr-services-premium__hero-actions .sr-services-premium__button--secondary:focus-visible {
	border-color: rgb(253 209 0 / 78%);
	background: #f8fcff;
	box-shadow: 0 0.85rem 1.65rem rgb(4 50 76 / 9%);
	transform: translateY(-2px);
}

.sr-services-premium__hero-actions .sr-services-premium__button:hover .sr-services-premium__button-arrow,
.sr-services-premium__hero-actions .sr-services-premium__button:focus-visible .sr-services-premium__button-arrow {
	transform: translateX(3px);
}

.sr-services-premium__hero-actions .sr-services-premium__button:active {
	transform: translateY(0);
}

.sr-services-premium__hero-actions .sr-services-premium__button:focus-visible {
	outline: 3px solid rgb(253 209 0 / 34%);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.sr-services-premium__hero-actions .sr-services-premium__button,
	.sr-services-premium__hero-actions .sr-services-premium__button-icon,
	.sr-services-premium__hero-actions .sr-services-premium__button-arrow {
		transition: none;
	}

	.sr-services-premium__hero-actions .sr-services-premium__button:hover,
	.sr-services-premium__hero-actions .sr-services-premium__button:focus-visible,
	.sr-services-premium__hero-actions .sr-services-premium__button:hover .sr-services-premium__button-arrow,
	.sr-services-premium__hero-actions .sr-services-premium__button:focus-visible .sr-services-premium__button-arrow {
		transform: none;
	}
}

.sr-services-premium__button--gold {
	background: linear-gradient(135deg, #fdd100, #dca10a);
	color: #102b36;
	box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 18%);
}

.sr-services-premium__button--ghost {
	border-color: rgb(255 255 255 / 34%);
	background: rgb(255 255 255 / 10%);
	color: #fff;
}

.sr-services-premium__trust-section {
	padding-block: clamp(3.6rem, 7vw, 5.5rem);
	background:
		radial-gradient(circle at 12% 0%, rgb(0 143 215 / 9%), transparent 20rem),
		linear-gradient(180deg, #f3faff, #fff);
}

.sr-services-premium__trust-heading {
	max-width: 58rem;
	margin-inline: auto;
	margin-bottom: clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.sr-services-premium__trust-heading h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.85rem, 3.45vw, 3rem);
}

.sr-services-premium__trust-eyebrow {
	display: inline-flex;
	margin: 0 0 0.9rem;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	color: var(--services-blue);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.sr-services-premium__trust-eyebrow::before {
	display: inline-block;
	width: 0.46rem;
	height: 0.46rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.22rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

.sr-services-premium__trust-section .sr-services-premium__trust-heading h2::before {
	display: none;
	content: none;
}

body.home .sr-home-premium .sr-home-service-stats-master .sr-services-premium__trust-heading h2 {
	margin-bottom: 1rem;
	color: var(--services-navy);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.85rem, 3.45vw, 3rem);
	font-weight: 850;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

body.home .sr-home-premium .sr-home-service-stats-master .sr-services-premium__trust-heading p:not(.sr-services-premium__trust-eyebrow) {
	color: var(--services-muted);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.home .sr-home-premium .sr-home-service-stats-master .sr-services-premium__trust-eyebrow {
	color: var(--services-blue);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-services-premium__trust-heading h2::before,
.sr-services-premium__section-heading h2::before,
.sr-services-premium__cta h2::before {
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.58rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.25rem rgb(229 57 53 / 12%);
	content: "";
	vertical-align: 0.18em;
}

.sr-services-premium__trust-heading h2::before {
	transform: translateY(-0.18rem);
}

#service-categories .sr-services-premium__section-heading h2::before {
	display: none;
	content: none;
}

#service-categories .sr-services-premium__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

#service-categories .sr-services-premium__eyebrow::before {
	display: inline-block;
	width: 0.46rem;
	height: 0.46rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.24rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

#service-categories,
#service-categories :where(.sr-services-premium__section-heading, .sr-services-premium__service-grid, .sr-services-premium__service-card) {
	max-width: 100%;
	min-width: 0;
}

#service-categories :where(h2, h3, p, li, a) {
	overflow-wrap: anywhere;
	white-space: normal;
}

#service-categories .sr-services-premium__section-heading > p:not(.sr-services-premium__eyebrow) {
	margin-top: 22px;
	margin-bottom: 0;
	line-height: 1.55;
}

#manufacturing-process .sr-services-premium__section-heading {
	max-width: 44rem;
	margin-inline: auto;
	text-align: center;
}

#manufacturing-process .sr-services-premium__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	justify-content: center;
	margin-bottom: 0.82rem;
}

#manufacturing-process .sr-services-premium__eyebrow::before {
	display: inline-block;
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.24rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

#manufacturing-process .sr-services-premium__section-heading h2::before {
	display: none;
	content: none;
}

#manufacturing-process .sr-services-premium__section-heading h2 {
	width: 100%;
	max-width: none;
	margin-bottom: 0.94rem;
	font-size: clamp(2rem, 3.8vw, 3.15rem);
	line-height: 1.04;
}

#manufacturing-process .sr-services-premium__section-heading p:not(.sr-services-premium__eyebrow) {
	max-width: 40rem;
	margin-inline: auto;
	font-size: clamp(0.98rem, 1.25vw, 1.06rem);
	line-height: 1.68;
}

#portfolio-highlights .sr-services-premium__section-heading h2::before {
	display: none;
	content: none;
}

#portfolio-highlights .sr-services-premium__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

#portfolio-highlights .sr-services-premium__eyebrow::before {
	display: inline-block;
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.24rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

#portfolio-highlights .sr-services-premium__portfolio-grid {
	display: grid;
	align-items: start;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: clamp(1.15rem, 4.4vw, 1.7rem);
}

#portfolio-highlights .sr-services-premium__portfolio-card {
	--portfolio-accent: #007cb5;
	--portfolio-accent-rgb: 0 124 181;
	--portfolio-card-gold-rgb: 214 154 22;
	--portfolio-card-radius: clamp(1rem, 4vw, 1.25rem);
	--portfolio-media-radius: calc(var(--portfolio-card-radius) - 1px);
	display: flex;
	overflow: hidden;
	min-width: 0;
	height: auto;
	flex-direction: column;
	border: 1px solid rgb(var(--portfolio-card-gold-rgb) / 28%);
	border-radius: var(--portfolio-card-radius);
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, rgb(var(--portfolio-card-gold-rgb) / 26%), rgb(242 201 76 / 16%)) border-box;
	box-shadow: 0 1.2rem 3rem rgb(2 38 58 / 8%);
	color: var(--services-navy);
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		transform 220ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-card--accent-skincare,
#portfolio-highlights .sr-services-premium__portfolio-card--accent-skincare-series {
	--portfolio-accent: #008f8c;
	--portfolio-accent-rgb: 0 143 140;
}

#portfolio-highlights .sr-services-premium__portfolio-card--accent-lip-care,
#portfolio-highlights .sr-services-premium__portfolio-card--accent-makeup {
	--portfolio-accent: #c04f86;
	--portfolio-accent-rgb: 192 79 134;
}

#portfolio-highlights .sr-services-premium__portfolio-card--accent-bodycare {
	--portfolio-accent: #007cb5;
	--portfolio-accent-rgb: 0 124 181;
}

#portfolio-highlights .sr-services-premium__portfolio-card--accent-parfum {
	--portfolio-accent: #7b5dd7;
	--portfolio-accent-rgb: 123 93 215;
}

#portfolio-highlights .sr-services-premium__portfolio-card--accent-men-s-grooming,
#portfolio-highlights .sr-services-premium__portfolio-card--accent-mens-grooming {
	--portfolio-accent: #c79210;
	--portfolio-accent-rgb: 199 146 16;
}

#portfolio-highlights .sr-services-premium__portfolio-media {
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--portfolio-media-radius);
	background:
		radial-gradient(circle at 50% 28%, rgb(255 255 255 / 82%), transparent 9rem),
		linear-gradient(145deg, #eff9ff 0%, #fff6f8 100%);
	color: var(--services-navy);
	text-decoration: none;
}

#portfolio-highlights .sr-services-premium__portfolio-media img {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	object-fit: contain;
	object-position: center center;
	padding: clamp(0.1875rem, 1vw, 0.3125rem);
	border-radius: inherit;
	transition: transform 280ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-media:focus-visible,
#portfolio-highlights .sr-services-premium__portfolio-body h3 a:focus-visible,
#portfolio-highlights .sr-services-premium__portfolio-link:focus-visible,
#portfolio-highlights .sr-services-premium__text-link:focus-visible,
#portfolio-highlights .sr-services-premium__portfolio-section-cta:focus-visible {
	outline: 2px solid rgb(214 154 22 / 48%);
	outline-offset: 0.24rem;
	box-shadow: 0 0 0 0.2rem rgb(214 154 22 / 18%);
}

#portfolio-highlights .sr-services-premium__portfolio-body {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0;
	padding: clamp(0.42rem, 1.75vw, 0.58rem);
}

#portfolio-highlights .sr-services-premium__portfolio-meta-row {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0.35rem;
}

#portfolio-highlights .sr-services-premium__portfolio-meta {
	overflow: hidden;
	max-width: 100%;
	margin: 0;
	padding: 0.2rem 0.34rem;
	border: 1px solid rgb(214 154 22 / 34%);
	border-radius: 999px;
	background: rgb(253 209 0 / 12%);
	color: #9c7200;
	font-size: clamp(0.54rem, 2.32vw, 0.63rem);
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.15;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

#portfolio-highlights .sr-services-premium__portfolio-service {
	display: grid;
	gap: 0.18rem;
	margin-bottom: 0.35rem;
}

#portfolio-highlights .sr-services-premium__portfolio-service-label {
	color: #64798a;
	font-size: clamp(0.5rem, 2.15vw, 0.58rem);
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.1;
	text-transform: uppercase;
}

#portfolio-highlights .sr-services-premium__portfolio-service-list {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	gap: 0.3rem;
}

#portfolio-highlights .sr-services-premium__portfolio-service-pill {
	max-width: 100%;
	padding: 0.2rem 0.34rem;
	border: 1px solid rgb(var(--portfolio-accent-rgb) / 18%);
	border-radius: 999px;
	background: rgb(var(--portfolio-accent-rgb) / 7%);
	color: var(--services-navy);
	font-size: clamp(0.54rem, 2.32vw, 0.63rem);
	font-weight: 900;
	line-height: 1.1;
	overflow-wrap: anywhere;
}

#portfolio-highlights .sr-services-premium__portfolio-body h3 {
	margin: 0;
	color: var(--services-navy);
	font-size: clamp(0.82rem, 3.55vw, 0.93rem);
	font-weight: 900;
	letter-spacing: -0.015em;
	line-height: 1.14;
	overflow-wrap: anywhere;
}

#portfolio-highlights .sr-services-premium__portfolio-body h3 a {
	color: inherit;
	text-decoration: none;
	transition: color 220ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-brand {
	margin-top: 0.35rem;
	color: #64798a;
	font-size: clamp(0.62rem, 2.6vw, 0.72rem);
	font-weight: 800;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

#portfolio-highlights .sr-services-premium__portfolio-cta {
	margin-top: auto;
	padding-top: 0.42rem;
}

#portfolio-highlights .sr-services-premium__portfolio-link {
	display: inline-flex;
	width: 100%;
	min-height: 2.75rem;
	align-items: center;
	justify-content: space-between;
	gap: 0.42rem;
	padding: 0 0.35rem 0 0.7rem;
	border: 1px solid rgb(214 154 22 / 36%);
	border-radius: 999px;
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 0.72rem 1.55rem rgb(4 50 76 / 6%);
	color: var(--services-navy);
	font-size: clamp(0.74rem, 3.25vw, 0.84rem);
	font-weight: 900;
	line-height: 1.1;
	text-decoration: none;
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		color 220ms ease,
		transform 180ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-link-text--desktop {
	display: none;
}

#portfolio-highlights .sr-services-premium__portfolio-link-text--mobile {
	display: inline;
}

#portfolio-highlights .sr-services-premium__portfolio-link-icon {
	display: inline-grid;
	width: 1.65rem;
	height: 1.65rem;
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid rgb(214 154 22 / 34%);
	border-radius: 999px;
	background: rgb(253 209 0 / 12%);
	color: var(--services-navy);
	transition: transform 220ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-body > a:not(.sr-services-premium__portfolio-link) {
	display: none;
}

#portfolio-highlights > .sr-container > .sr-services-premium__text-link {
	display: none;
}

@media (max-width: 47.999rem) {
	#portfolio-highlights .sr-services-premium__portfolio-meta-row {
		margin-bottom: 0.5rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-service {
		gap: 0.35rem;
		margin-bottom: 0.7rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-brand {
		margin-top: 0.48rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-cta {
		padding-top: 0.52rem;
	}
}

#portfolio-highlights .sr-services-premium__portfolio-actions {
	display: flex;
	width: min(100%, 25rem);
	flex-direction: column;
	gap: 0.68rem;
	margin-top: clamp(1.18rem, 3.2vw, 1.75rem);
}

#portfolio-highlights .sr-services-premium__portfolio-section-cta {
	display: inline-flex;
	width: 100%;
	min-height: 3rem;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	box-sizing: border-box;
	padding: 0.18rem 0.38rem 0.18rem 0.94rem;
	border: 1px solid rgb(214 154 22 / 46%);
	border-radius: 999px;
	background: rgb(255 255 255 / 84%);
	box-shadow: 0 0.75rem 1.7rem rgb(4 50 76 / 7%);
	color: var(--services-navy);
	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1.1;
	text-decoration: none;
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		color 220ms ease,
		transform 180ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-section-cta > span:last-child {
	display: inline-grid;
	width: 1.96rem;
	height: 1.96rem;
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid rgb(214 154 22 / 36%);
	border-radius: 999px;
	background: rgb(253 209 0 / 12%);
	color: var(--services-navy);
	transition: transform 220ms ease;
}

#portfolio-highlights .sr-services-premium__portfolio-section-cta--outline {
	background: rgb(255 255 255 / 88%);
}

#portfolio-highlights .sr-services-premium__portfolio-section-cta--discuss {
	border-color: rgb(0 124 181 / 24%);
	background: linear-gradient(135deg, #073a58 0%, #047fbd 100%);
	box-shadow: 0 0.85rem 1.9rem rgb(4 50 76 / 11%);
	color: #fff;
}

#portfolio-highlights .sr-services-premium__portfolio-section-cta--discuss > span:last-child {
	border-color: rgb(253 209 0 / 38%);
	background: rgb(255 255 255 / 14%);
	color: #fff;
}

#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-reveal],
#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-card] {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 560ms ease,
		transform 560ms ease;
}

#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-card] {
	transform: translateY(24px) scale(0.985);
}

#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-reveal].is-visible,
#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-card].is-visible {
	opacity: 1;
	transform: none;
}

@media (min-width: 48rem) {
	#portfolio-highlights .sr-services-premium__portfolio-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	#portfolio-highlights .sr-services-premium__portfolio-media img {
		object-fit: cover;
		padding: clamp(0.24rem, 0.38vw, 0.38rem);
	}

	#portfolio-highlights .sr-services-premium__portfolio-body {
		padding: clamp(0.88rem, 1.08vw, 1rem);
	}

	#portfolio-highlights .sr-services-premium__portfolio-actions {
		width: auto;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.75rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-section-cta {
		width: auto;
		min-width: 13.25rem;
	}

}

@media (min-width: 64rem) {
	#portfolio-highlights .sr-services-premium__portfolio-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
	}

	#portfolio-highlights .sr-services-premium__portfolio-card {
		display: grid;
		height: clamp(31rem, 37vw, 34rem);
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(0, 60fr) minmax(0, 40fr);
	}

	#portfolio-highlights .sr-services-premium__portfolio-media {
		height: 100%;
		min-height: 0;
		aspect-ratio: auto;
	}

	#portfolio-highlights .sr-services-premium__portfolio-body {
		height: 100%;
		min-height: 0;
		padding: clamp(0.92rem, 1.1vw, 1.08rem) clamp(1rem, 1.25vw, 1.2rem);
	}

	#portfolio-highlights .sr-services-premium__portfolio-meta-row {
		gap: 0.45rem;
		margin-bottom: 0.48rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-service {
		gap: 0.35rem;
		margin-bottom: 0.68rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-body h3 {
		font-size: clamp(1.02rem, 1.22vw, 1.14rem);
		line-height: 1.18;
	}

	#portfolio-highlights .sr-services-premium__portfolio-cta {
		padding-top: clamp(0.55rem, 0.85vw, 0.8rem);
	}

	#portfolio-highlights .sr-services-premium__portfolio-link {
		width: min(100%, 16.4rem);
		min-height: 2.75rem;
		margin-top: 0;
		padding: 0 0.4rem 0 0.78rem;
		gap: 0.85rem;
		font-size: 0.88rem;
	}

	#portfolio-highlights .sr-services-premium__portfolio-link-text--desktop {
		display: inline;
	}

	#portfolio-highlights .sr-services-premium__portfolio-link-text--mobile {
		display: none;
	}

}

@media (hover: hover) and (pointer: fine) {
	#portfolio-highlights .sr-services-premium__portfolio-card:hover,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within {
		border-color: rgb(var(--portfolio-card-gold-rgb) / 48%);
		box-shadow: 0 1.75rem 4.2rem rgb(4 50 76 / 13%);
		transform: translateY(-4px);
	}

	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-media img,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-media img {
		transform: scale(1.035);
	}

	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-body h3 a,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-body h3 a {
		color: var(--portfolio-accent);
	}

	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-link,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-link {
		border-color: rgb(214 154 22 / 54%);
		box-shadow: 0 0.9rem 1.85rem rgb(4 50 76 / 9%);
		color: var(--portfolio-accent);
		transform: translateY(-1px);
	}

	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-link-icon,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-link-icon,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:hover > span:last-child,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:focus-visible > span:last-child,
	#portfolio-highlights .sr-services-premium__text-link:hover span,
	#portfolio-highlights .sr-services-premium__text-link:focus-visible span {
		transform: translateX(4px);
	}

	#portfolio-highlights .sr-services-premium__portfolio-section-cta:hover,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:focus-visible {
		border-color: rgb(var(--portfolio-card-gold-rgb) / 62%);
		box-shadow: 0 1rem 2rem rgb(4 50 76 / 12%);
		transform: translateY(-1px);
	}
}

@media (prefers-reduced-motion: reduce) {
	#portfolio-highlights .sr-services-premium__portfolio-card,
	#portfolio-highlights .sr-services-premium__portfolio-media img,
	#portfolio-highlights .sr-services-premium__portfolio-link,
	#portfolio-highlights .sr-services-premium__portfolio-link-icon,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta > span:last-child,
	#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-reveal],
	#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-card] {
		transition: none;
	}

	#portfolio-highlights .sr-services-premium__portfolio-card:hover,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within,
	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-media img,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-media img,
	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-link,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-link,
	#portfolio-highlights .sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-link-icon,
	#portfolio-highlights .sr-services-premium__portfolio-card:focus-within .sr-services-premium__portfolio-link-icon,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:hover,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:focus-visible,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:hover > span:last-child,
	#portfolio-highlights .sr-services-premium__portfolio-section-cta:focus-visible > span:last-child,
	#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-reveal],
	#portfolio-highlights.is-portfolio-motion-ready [data-portfolio-card] {
		opacity: 1;
		transform: none;
	}
}

.sr-services-premium__trust-heading p:not(.sr-services-premium__trust-eyebrow) {
	max-width: 48rem;
	margin-inline: auto;
	color: var(--services-muted);
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.75;
}

.sr-services-premium__stats {
	display: grid;
	gap: 1rem;
}

.sr-services-premium__stats div {
	position: relative;
	display: flex;
	overflow: hidden;
	min-width: 0;
	min-height: 13.5rem;
	padding: 1.25rem 0.75rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid #d7e4ea;
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 0.75rem 2rem rgb(4 50 76 / 6%);
	text-align: center;
	transition: transform 300ms ease, border-color 300ms ease, box-shadow 300ms ease;
}

.sr-services-premium__stats div::before {
	position: absolute;
	top: 0;
	right: 1.5rem;
	left: 1.5rem;
	height: 0.2rem;
	border-radius: 0 0 999px 999px;
	background: linear-gradient(90deg, #fdd100, #e1b33b);
	content: "";
	transform: scaleX(0.3);
	transition: transform 300ms ease;
}

.sr-services-premium__stat-icon {
	display: grid;
	width: 4.5rem;
	height: 4.5rem;
	margin-bottom: 1.25rem;
	border: 1px solid rgb(0 143 215 / 18%);
	border-radius: 1.25rem;
	background: linear-gradient(145deg, #eef8fc, #fff);
	color: #008fd7;
	place-items: center;
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.sr-services-premium__stat-icon svg {
	width: 2.35rem;
	height: 2.35rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sr-services-premium__stats strong,
.sr-services-premium__stats .sr-services-premium__stat-label,
.sr-services-premium__stats .sr-services-premium__stat-value--legal span {
	display: block;
}

.sr-services-premium__stats strong {
	color: var(--services-navy);
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.045em;
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 420ms ease,
		transform 420ms ease;
}

.sr-services-premium__stats .sr-services-premium__stat-label {
	margin-top: 0.75rem;
	color: #445963;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.45;
}

.sr-services-premium__stats .sr-services-premium__stat-value--legal {
	font-size: clamp(1.12rem, 2.1vw, 1.35rem);
	line-height: 1.15;
	letter-spacing: -0.035em;
	white-space: nowrap;
}

.sr-services-premium__stats .sr-services-premium__stat-value--legal span {
	margin: 0 0 0.35rem;
	color: #b58b18;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.sr-services-premium__stats:not(.is-counted) strong[data-count-to] {
	opacity: 0;
	transform: translateY(8px);
}

@media (hover: hover) and (pointer: fine) {
	.sr-services-premium__stats div:hover,
	.sr-services-premium__stats div:focus-within {
		border-color: rgb(225 179 59 / 72%);
		box-shadow: 0 1.25rem 2.75rem rgb(4 50 76 / 12%);
		transform: translateY(-0.25rem);
	}

	.sr-services-premium__stats div:hover::before,
	.sr-services-premium__stats div:focus-within::before {
		transform: scaleX(1);
	}

	.sr-services-premium__stats div:hover .sr-services-premium__stat-icon,
	.sr-services-premium__stats div:focus-within .sr-services-premium__stat-icon {
		border-color: rgb(0 143 215 / 24%);
		box-shadow: 0 0.75rem 1.7rem rgb(0 143 215 / 10%);
		transform: scale(1.05);
	}
}

.sr-services-premium__trust-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: center;
	margin-top: 1.35rem;
}

.sr-services-premium__trust-strip span {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.62rem 0.85rem;
	border: 1px solid rgb(0 143 215 / 14%);
	border-radius: 999px;
	background: rgb(255 255 255 / 86%);
	color: var(--services-navy);
	font-size: 0.82rem;
	font-weight: 900;
	box-shadow: 0 0.7rem 1.8rem rgb(4 50 76 / 6%);
}

.sr-services-premium__trust-strip span::before {
	display: inline-grid;
	width: 1.05rem;
	height: 1.05rem;
	place-items: center;
	border-radius: 999px;
	background: rgb(253 209 0 / 22%);
	color: #9c7200;
	font-size: 0.72rem;
	content: "\2713";
}

.sr-services-premium__hero-visual {
	position: relative;
	display: flex;
	min-height: clamp(26rem, 32.5vw, 33.5rem);
	align-items: stretch;
	border: 1px solid rgb(253 209 0 / 22%);
	border-radius: 2rem;
	background:
		radial-gradient(circle at 50% 42%, rgb(253 209 0 / 26%), transparent 24%),
		linear-gradient(90deg, rgb(255 255 255 / 7%) 1px, transparent 1px),
		linear-gradient(0deg, rgb(255 255 255 / 5%) 1px, transparent 1px),
		linear-gradient(145deg, #04324c, #008fd7);
	background-size: auto, 3rem 3rem, 3rem 3rem, auto;
	box-shadow: 0 2.2rem 5.5rem rgb(4 50 76 / 22%);
}

.sr-services-premium__hero-visual::before,
.sr-services-premium__hero-visual::after {
	position: absolute;
	border-radius: 999px;
	content: "";
}

.sr-services-premium__hero-visual::before {
	inset: 2rem;
	border: 1px solid rgb(255 255 255 / 22%);
}

.sr-services-premium__hero-visual::after {
	right: 2.5rem;
	bottom: 2.5rem;
	width: 8rem;
	height: 8rem;
	background: rgb(253 209 0 / 20%);
}

.sr-services-premium__particle {
	position: absolute;
	z-index: 1;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: rgb(255 255 255 / 70%);
	box-shadow: 0 0 1.4rem rgb(253 209 0 / 42%);
}

.sr-services-premium__particle--one {
	top: 23%;
	left: 21%;
}

.sr-services-premium__particle--two {
	top: 40%;
	right: 24%;
	width: 0.38rem;
	height: 0.38rem;
	background: rgb(253 209 0 / 70%);
}

.sr-services-premium__particle--three {
	right: 35%;
	bottom: 28%;
	width: 0.45rem;
	height: 0.45rem;
}

.sr-services-premium__visual-card {
	position: relative;
	z-index: 2;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
	margin: clamp(1.2rem, 2.7vw, 1.85rem);
	padding: clamp(1.35rem, 2.7vw, 1.85rem);
	border: 1px solid rgb(253 209 0 / 34%);
	border-radius: 1.75rem;
	background:
		radial-gradient(circle at 88% 12%, rgb(253 209 0 / 18%), transparent 12rem),
		rgb(255 255 255 / 13%);
	color: #fff;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%);
	backdrop-filter: blur(14px);
}

.sr-services-premium__visual-card > span,
.sr-services-premium__visual-card strong {
	display: block;
}

.sr-services-premium__visual-card > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin-inline: auto;
	padding: 0.5rem 1rem;
	border: 1px solid rgb(253 209 0 / 42%);
	border-radius: 999px;
	background: rgb(255 255 255 / 10%);
	color: #fdd100;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.sr-services-premium__visual-card strong {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: 0.55rem;
	row-gap: 0.2rem;
	max-width: 18rem;
	margin: 0.9rem auto 0;
	font-size: clamp(1.25rem, 2.1vw, 1.75rem);
	line-height: 1.18;
	text-align: center;
	text-shadow: 0 0 1rem rgb(253 209 0 / 12%);
}

.sr-services-premium__flow-title-text,
.sr-services-premium__flow-arrow {
	display: inline-flex;
	align-items: center;
}

.sr-services-premium__flow-arrow {
	color: var(--services-gold);
	font-weight: 900;
	text-shadow: 0 0 0.75rem rgb(253 209 0 / 35%);
}

.sr-services-premium__flow-steps {
	position: relative;
	display: grid;
	gap: 0.85rem;
	margin-top: clamp(1.35rem, 3.4vw, 2.15rem);
}

.sr-services-premium__flow-step {
	position: relative;
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: center;
	gap: 0.72rem;
	padding: 0.95rem 1rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 1.1rem;
	background: rgb(255 255 255 / 28%);
	box-shadow: 0 0.75rem 1.8rem rgb(0 0 0 / 10%);
	animation: sr-services-flow-step 4.8s ease-in-out infinite;
}

.sr-services-premium__flow-step:nth-child(2) {
	animation-delay: 0.4s;
}

.sr-services-premium__flow-step:nth-child(3) {
	animation-delay: 0.8s;
}

.sr-services-premium__flow-step:nth-child(4) {
	animation-delay: 1.2s;
}

.sr-services-premium__flow-step:not(:last-child)::after {
	position: absolute;
	bottom: -0.78rem;
	left: 2.2rem;
	width: 1px;
	height: 0.72rem;
	background: linear-gradient(180deg, rgb(253 209 0 / 80%), rgb(253 209 0 / 0%));
	content: "";
	animation: sr-services-flow-connector 4.8s ease-in-out infinite;
}

.sr-services-premium__flow-step:nth-child(2)::after {
	animation-delay: 0.4s;
}

.sr-services-premium__flow-step:nth-child(3)::after {
	animation-delay: 0.8s;
}

.sr-services-premium__flow-step i {
	display: inline-grid;
	width: 2.45rem;
	height: 2.45rem;
	place-items: center;
	border: 1px solid rgb(253 209 0 / 34%);
	border-radius: 0.85rem;
	background: rgb(253 209 0 / 14%);
	color: var(--services-gold);
	animation: sr-services-flow-icon 4.8s ease-in-out infinite;
}

.sr-services-premium__flow-step:nth-child(2) i {
	animation-delay: 0.4s;
}

.sr-services-premium__flow-step:nth-child(3) i {
	animation-delay: 0.8s;
}

.sr-services-premium__flow-step:nth-child(4) i {
	animation-delay: 1.2s;
}

.sr-services-premium__flow-step svg {
	width: 1.3rem;
	height: 1.3rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.sr-services-premium__flow-step small {
	color: var(--services-gold);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	animation: sr-services-flow-number 4.8s ease-in-out infinite;
}

.sr-services-premium__flow-step:nth-child(2) small {
	animation-delay: 0.4s;
}

.sr-services-premium__flow-step:nth-child(3) small {
	animation-delay: 0.8s;
}

.sr-services-premium__flow-step:nth-child(4) small {
	animation-delay: 1.2s;
}

.sr-services-premium__flow-step b {
	font-size: 0.98rem;
	letter-spacing: 0.01em;
}

@keyframes sr-services-flow-step {
	0%,
	68%,
	100% {
		opacity: 0.86;
		border-color: rgb(255 255 255 / 16%);
		background: rgb(255 255 255 / 24%);
		box-shadow: 0 0.75rem 1.8rem rgb(0 0 0 / 10%);
		transform: translateY(8px);
	}

	16%,
	36% {
		opacity: 1;
		border-color: rgb(253 209 0 / 72%);
		background: rgb(255 255 255 / 28%);
		box-shadow:
			0 0.95rem 2rem rgb(0 0 0 / 14%),
			0 0 1.6rem rgb(253 209 0 / 18%),
			inset 0 1px 0 rgb(255 255 255 / 18%);
		transform: translateY(0);
	}
}

@keyframes sr-services-flow-icon {
	0%,
	68%,
	100% {
		box-shadow: none;
		transform: scale(1);
	}

	16%,
	36% {
		box-shadow: 0 0 1.35rem rgb(253 209 0 / 30%);
		transform: scale(1.05);
	}
}

@keyframes sr-services-flow-number {
	0%,
	68%,
	100% {
		text-shadow: none;
	}

	16%,
	36% {
		text-shadow: 0 0 0.8rem rgb(253 209 0 / 42%);
	}
}

@keyframes sr-services-flow-connector {
	0%,
	68%,
	100% {
		opacity: 0.55;
		box-shadow: none;
	}

	16%,
	36% {
		opacity: 1;
		box-shadow: 0 0 0.9rem rgb(253 209 0 / 38%);
	}
}

.sr-services-premium__section {
	padding-block: clamp(4.5rem, 8vw, 7rem);
}

.sr-services-premium__section--soft {
	background: linear-gradient(180deg, #f3faff, #fff);
}

.sr-services-premium__section-heading {
	max-width: 48rem;
	margin-bottom: clamp(2.4rem, 5vw, 4rem);
}

.sr-services-premium__section-heading--center {
	margin-inline: auto;
	text-align: center;
}

.sr-services-premium__section-heading p:not(.sr-services-premium__eyebrow) {
	max-width: 43rem;
	color: var(--services-muted);
	font-size: 1.06rem;
	line-height: 1.72;
}

.sr-services-premium__section-heading--center p:not(.sr-services-premium__eyebrow) {
	margin-inline: auto;
}

.sr-services-premium__service-grid,
.sr-services-premium__process-grid,
.sr-services-premium__portfolio-grid,
.sr-services-premium__compliance-grid {
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.75rem);
}

.sr-services-premium [data-service-card] {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 600ms ease,
		transform 600ms ease,
		border-color 300ms ease,
		box-shadow 300ms ease,
		background 300ms ease,
		color 300ms ease;
	transition-delay: var(--service-card-delay, 0ms), var(--service-card-delay, 0ms), 0ms, 0ms, 0ms, 0ms;
}

.sr-services-premium [data-service-card].is-visible {
	opacity: 1;
	transform: translateY(0);
}

.sr-services-premium__service-card.is-visible {
	border-color: rgb(253 209 0 / 34%);
	box-shadow: 0 1.25rem 3rem rgb(4 50 76 / 10%);
}

.sr-services-premium__service-card.is-visible .sr-services-premium__service-icon {
	box-shadow: 0 0.75rem 1.7rem rgb(253 209 0 / 10%);
}

.sr-services-premium__service-card.is-visible a {
	color: var(--services-navy);
}

.sr-services-premium__service-card--featured.is-visible a {
	color: #fff;
}

.sr-services-premium__service-card,
.sr-services-premium__process-card,
.sr-services-premium__compliance-card,
.sr-services-premium__portfolio-card {
	position: relative;
	overflow: hidden;
	border: 1px solid #dce7ec;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 1rem 2.7rem rgb(4 50 76 / 7%);
}

.sr-services-premium__service-card {
	display: flex;
	min-height: 19rem;
	flex-direction: column;
	padding: clamp(1.45rem, 2vw, 2rem);
}

.sr-services-premium__service-card h3 {
	transition:
		color 300ms ease,
		transform 300ms ease;
}

.sr-services-premium__service-card--featured {
	border-color: rgb(253 209 0 / 54%);
	background: linear-gradient(145deg, #04324c, #008fd7);
	color: #fff;
	box-shadow: 0 1.8rem 4rem rgb(4 50 76 / 18%);
}

.sr-services-premium__service-card--featured h3,
.sr-services-premium__service-card--featured p,
.sr-services-premium__service-card--featured a {
	color: #fff;
}

.sr-services-premium__service-top,
.sr-services-premium__process-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.sr-services-premium__service-number,
.sr-services-premium__process-top span {
	color: #a57600;
	font-size: 0.85rem;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.sr-services-premium__service-icon,
.sr-services-premium__process-top i,
.sr-services-premium__compliance-card > span {
	display: inline-grid;
	width: 4.35rem;
	height: 4.35rem;
	place-items: center;
	border: 1px solid rgb(0 143 215 / 18%);
	border-radius: 1.35rem;
	background: linear-gradient(145deg, #eaf7fd, #fff);
	color: var(--services-blue);
	transition:
		background 300ms ease,
		border-color 300ms ease,
		box-shadow 300ms ease,
		color 300ms ease,
		transform 300ms ease;
}

.sr-services-premium__service-icon svg,
.sr-services-premium__process-top svg,
.sr-services-premium__compliance-card svg {
	width: 2.15rem;
	height: 2.15rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.sr-services-premium__service-card--featured .sr-services-premium__service-number,
.sr-services-premium__service-card--featured .sr-services-premium__service-icon {
	color: var(--services-gold);
}

.sr-services-premium__service-card--featured .sr-services-premium__service-icon {
	border-color: rgb(253 209 0 / 42%);
	background: rgb(255 255 255 / 11%);
}

.sr-services-premium__badge {
	width: fit-content;
	margin-bottom: 1.15rem;
	padding: 0.45rem 0.65rem;
	border: 1px solid rgb(253 209 0 / 52%);
	border-radius: 999px;
	background: rgb(253 209 0 / 16%);
	color: #fff8c9;
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sr-services-premium__service-card p {
	color: var(--services-muted);
	line-height: 1.66;
}

.sr-services-premium__mini-list {
	display: grid;
	gap: 0.48rem;
	margin: 1rem 0 1.45rem;
	padding: 0;
	list-style: none;
}

.sr-services-premium__mini-list li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--services-ink);
	font-size: 0.9rem;
	font-weight: 800;
}

.sr-services-premium__mini-list li::before {
	display: inline-grid;
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 999px;
	background: rgb(253 209 0 / 22%);
	color: #9c7200;
	font-size: 0.7rem;
	content: "\2713";
}

.sr-services-premium__service-card--featured .sr-services-premium__mini-list li {
	color: #fff;
}

.sr-services-premium__service-card--featured .sr-services-premium__mini-list li::before {
	background: rgb(255 255 255 / 16%);
	color: var(--services-gold);
}

.sr-services-premium__service-card a,
.sr-services-premium__portfolio-body > a,
.sr-services-premium__text-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	width: fit-content;
	margin-top: auto;
	color: #006fa8;
	font-weight: 700;
	text-decoration: none;
	transition:
		color 300ms ease,
		transform 300ms ease;
}

.sr-services-premium__service-card a::after {
	position: absolute;
	right: 0;
	bottom: -0.28rem;
	left: 0;
	height: 2px;
	border-radius: 999px;
	background: currentcolor;
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 300ms ease;
}

.sr-services-premium__service-card a span,
.sr-services-premium__portfolio-body > a span,
.sr-services-premium__text-link span {
	transition: transform 300ms ease;
}

#service-categories .sr-services-premium__service-card--visual {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 0;
	gap: clamp(1rem, 2vw, 1.25rem);
	padding: clamp(1rem, 2vw, 1.35rem);
	border-color: rgb(214 154 22 / 32%);
	background: linear-gradient(180deg, #fff, #fbfdff);
	color: var(--services-navy);
	box-shadow: 0 1.05rem 2.65rem rgb(4 50 76 / 8%);
}

#service-categories .sr-services-premium__service-meta {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	justify-content: center;
	min-width: 0;
}

#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-number {
	display: inline-grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border: 1px solid rgb(214 154 22 / 34%);
	border-radius: 999px;
	background: #fffaf0;
	box-shadow: 0 0.55rem 1.25rem rgb(214 154 22 / 10%);
	color: #9c7200;
	font-size: 0.78rem;
	line-height: 1;
}

#service-categories .sr-services-premium__service-pill {
	display: inline-flex;
	min-width: 0;
	max-width: min(100%, 15rem);
	align-items: center;
	justify-content: center;
	padding: 0.5rem 0.72rem;
	border: 1px solid rgb(0 143 215 / 16%);
	border-radius: 999px;
	background: #f1f9fd;
	color: var(--services-navy);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

#service-categories .sr-services-premium__service-visual-row {
	display: grid;
	grid-template-columns: minmax(14rem, 0.34fr) minmax(0, 1fr);
	align-items: start;
	gap: clamp(1rem, 2vw, 1.35rem);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

#service-categories .sr-services-premium__service-media {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 5;
	margin: 0;
	border: 1px solid rgb(214 154 22 / 34%);
	border-radius: 1.25rem;
	background: #f5f9fb;
	box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 10%);
}

#service-categories .sr-services-premium__service-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#service-categories .sr-services-premium__service-content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-self: stretch;
}

#service-categories .sr-services-premium__service-card--visual :where(.sr-services-premium__service-content, h3, p, li) {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	white-space: normal;
}

#service-categories .sr-services-premium__service-card--visual h3 {
	margin: 0;
	color: var(--services-navy);
	font-size: clamp(1.22rem, 2.4vw, 1.75rem);
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.08;
	overflow-wrap: break-word;
}

#service-categories .sr-services-premium__service-divider {
	display: block;
	width: 100%;
	height: 1px;
	margin: clamp(0.62rem, 1.3vw, 0.9rem) 0;
	border-radius: 999px;
	background: rgb(214 154 22 / 34%);
}

#service-categories .sr-services-premium__service-card--visual p {
	margin: 0;
	color: #526875;
	font-size: clamp(0.86rem, 1.4vw, 0.98rem);
	line-height: 1.52;
	overflow-wrap: break-word;
}

#service-categories .sr-services-premium__service-benefits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	gap: 0.5rem 0.58rem;
	margin: 0.82rem 0 0;
	padding: 0;
	list-style: none;
}

#service-categories .sr-services-premium__service-benefits li {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: 0.42rem;
	color: var(--services-navy);
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

#service-categories .sr-services-premium__service-benefits li::before {
	display: inline-grid;
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 999px;
	background: rgb(253 209 0 / 20%);
	color: #9c7200;
	font-size: 0.66rem;
	content: "\2713";
}

#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta {
	display: flex;
	width: 100%;
	min-height: 3rem;
	margin: 0;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	border: 1px solid rgb(214 154 22 / 48%);
	border-radius: 999px;
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 0.72rem 1.55rem rgb(4 50 76 / 7%);
	color: var(--services-navy);
	font-size: 0.95rem;
	font-weight: 900;
	text-decoration: none;
	transition:
		border-color 220ms ease,
		box-shadow 220ms ease,
		transform 180ms ease;
}

#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta::after {
	content: none;
}

#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta span {
	transition: transform 220ms ease;
}

#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta:focus-visible {
	outline: 3px solid rgb(253 209 0 / 48%);
	outline-offset: 3px;
}

.sr-services-premium__process-card,
.sr-services-premium__compliance-card {
	padding: clamp(1.45rem, 2vw, 1.9rem);
}

.sr-services-premium__process-grid {
	position: relative;
}

.sr-services-premium__process-card::before {
	position: absolute;
	top: 0;
	left: 1.5rem;
	width: 3.5rem;
	height: 0.2rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--services-gold), transparent);
	content: "";
}

.sr-services-premium__process-card p,
.sr-services-premium__compliance-card p {
	color: var(--services-muted);
	line-height: 1.66;
}

#manufacturing-process .sr-services-premium__process-grid {
	align-items: stretch;
}

#manufacturing-process .sr-services-premium__process-card {
	display: flex;
	min-height: 0;
	flex-direction: column;
	padding: clamp(1.15rem, 1.7vw, 1.55rem);
	border-color: rgb(214 154 22 / 22%);
	background: linear-gradient(180deg, #fff, #fbfdff);
	box-shadow: 0 0.9rem 2.25rem rgb(4 50 76 / 7%);
}

#manufacturing-process .sr-services-premium__process-card::before {
	top: 0;
	left: 1.15rem;
	width: 4.15rem;
	height: 1px;
	border-radius: 0 0 999px 999px;
	background: rgb(214 154 22 / 48%);
}

#manufacturing-process .sr-services-premium__process-top {
	gap: 0.72rem;
	margin-bottom: 0.72rem;
}

#manufacturing-process .sr-services-premium__process-top span {
	color: #9c7200;
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	line-height: 1;
}

#manufacturing-process .sr-services-premium__process-top i {
	width: 3.5rem;
	height: 3.5rem;
	border-color: rgb(0 143 215 / 16%);
	border-radius: 1.1rem;
	background: #f1f9fd;
	box-shadow: 0 0.65rem 1.45rem rgb(4 50 76 / 6%);
}

#manufacturing-process .sr-services-premium__process-top svg {
	width: 1.72rem;
	height: 1.72rem;
}

#manufacturing-process .sr-services-premium__process-card h3 {
	margin: 0 0 0.42rem;
	color: var(--services-navy);
	font-size: clamp(1.08rem, 1.6vw, 1.28rem);
	font-weight: 900;
	letter-spacing: -0.015em;
	line-height: 1.13;
	overflow-wrap: anywhere;
}

#manufacturing-process .sr-services-premium__process-card p {
	margin: 0;
	color: #526875;
	font-size: clamp(0.9rem, 1.15vw, 0.98rem);
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.sr-services-premium__portfolio-card {
	display: flex;
	flex-direction: column;
}

.sr-services-premium__portfolio-media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: linear-gradient(145deg, #eaf7fd, #fff);
	color: var(--services-navy);
	text-decoration: none;
}

.sr-services-premium__portfolio-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.sr-services-premium__portfolio-media span {
	display: grid;
	height: 100%;
	place-items: center;
	padding: 1.5rem;
	font-weight: 900;
	text-align: center;
}

.sr-services-premium__portfolio-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.35rem;
}

.sr-services-premium__portfolio-body p {
	width: fit-content;
	margin: 0 0 0.7rem;
	padding: 0.36rem 0.62rem;
	border: 1px solid rgb(253 209 0 / 42%);
	border-radius: 999px;
	background: rgb(253 209 0 / 14%);
	color: #a57600;
	font-size: 0.73rem;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sr-services-premium__portfolio-body h3 a {
	color: var(--services-ink);
	text-decoration: none;
}

.sr-services-premium__portfolio-body > span {
	margin-top: 0.25rem;
	color: var(--services-navy);
	font-size: 0.86rem;
	font-weight: 900;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.sr-services-premium__text-link {
	margin-top: 2rem;
	padding: 0.85rem 1.1rem;
	border: 1px solid rgb(253 209 0 / 42%);
	border-radius: 999px;
	background: rgb(253 209 0 / 12%);
	color: var(--services-navy);
	box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 8%);
}

.sr-services-premium__compliance-card {
	min-height: 16rem;
}

.sr-services-premium__compliance-intro {
	margin-top: 1rem !important;
	color: var(--services-navy) !important;
	font-weight: 800;
}

.sr-services-premium__compliance-card::before {
	position: absolute;
	top: 0;
	left: 1.6rem;
	width: 4rem;
	height: 0.2rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--services-gold), transparent);
	content: "";
}

#compliance-certifications .sr-services-premium__section-heading {
	max-width: 45rem;
	margin-inline: auto;
	text-align: center;
}

#compliance-certifications .sr-services-premium__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin-bottom: 0.82rem;
}

#compliance-certifications .sr-services-premium__eyebrow::before {
	display: inline-block;
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.24rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

#compliance-certifications .sr-services-premium__section-heading h2::before {
	display: none;
	content: none;
}

#compliance-certifications .sr-services-premium__section-heading h2 {
	width: 100%;
	max-width: none;
	margin-inline: auto;
	letter-spacing: 0;
}

#compliance-certifications .sr-services-premium__compliance-grid {
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(0.9rem, 3.4vw, 1.2rem);
	margin-top: clamp(1.35rem, 5vw, 1.85rem);
}

#compliance-certifications .sr-services-premium__compliance-card {
	display: grid;
	min-height: 0;
	grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
	align-items: center;
	gap: clamp(0.82rem, 3vw, 1rem);
	padding: clamp(0.82rem, 3.8vw, 1.05rem);
	border-color: rgb(214 154 22 / 28%);
	background:
		linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(248 252 255 / 96%)) padding-box,
		linear-gradient(135deg, rgb(214 154 22 / 28%), rgb(253 209 0 / 14%)) border-box;
	box-shadow: 0 1rem 2.45rem rgb(4 50 76 / 8%);
}

#compliance-certifications .sr-services-premium__compliance-card::before {
	display: none;
	content: none;
}

#compliance-certifications .sr-services-premium__compliance-visual {
	display: grid;
	width: 100%;
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
	place-items: center;
	align-self: center;
	justify-self: center;
	border: 1px solid rgb(214 154 22 / 24%);
	border-radius: clamp(1rem, 4vw, 1.25rem);
	background: linear-gradient(145deg, #fff, #f4fbff);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 90%),
		0 0.8rem 1.8rem rgb(4 50 76 / 7%);
}

#compliance-certifications .sr-services-premium__compliance-visual--logo {
	overflow: visible;
	padding: clamp(0.72rem, 4.8vw, 1rem);
}

#compliance-certifications .sr-services-premium__compliance-visual img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

#compliance-certifications .sr-services-premium__compliance-visual > span {
	display: inline-grid;
	width: 72%;
	height: 72%;
	place-items: center;
	color: var(--services-blue);
}

#compliance-certifications .sr-services-premium__compliance-visual svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

#compliance-certifications .sr-services-premium__compliance-content {
	min-width: 0;
}

#compliance-certifications .sr-services-premium__compliance-content h3 {
	margin: 0;
	color: var(--services-navy);
	font-size: clamp(1rem, 4.25vw, 1.14rem);
	font-weight: 900;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

#compliance-certifications .sr-services-premium__compliance-content p {
	margin: 0.5rem 0 0;
	color: var(--services-muted);
	font-size: clamp(0.8rem, 3.35vw, 0.92rem);
	font-weight: 700;
	line-height: 1.46;
}

@media (max-width: 47.98rem) {
	#compliance-certifications .sr-services-premium__section-heading {
		width: 100%;
		max-width: none;
		margin-bottom: clamp(1.45rem, 6vw, 1.9rem);
	}

	#compliance-certifications .sr-services-premium__section-heading h2 {
		width: 100%;
		max-width: none;
		font-size: clamp(1.5rem, 6.25vw, 1.82rem);
		line-height: 1.1;
		letter-spacing: 0;
		white-space: nowrap;
	}

	#compliance-certifications .sr-services-premium__eyebrow {
		gap: 0.5rem;
		margin-bottom: 0.68rem;
	}

	#compliance-certifications .sr-services-premium__eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	#compliance-certifications .sr-services-premium__compliance-grid {
		gap: 0.82rem;
		margin-top: 0;
	}

	#compliance-certifications .sr-services-premium__compliance-card {
		grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
		gap: clamp(0.68rem, 2.8vw, 0.86rem);
		padding: clamp(0.76rem, 3.4vw, 0.92rem);
	}

	#compliance-certifications .sr-services-premium__compliance-content h3 {
		font-size: clamp(0.96rem, 4.15vw, 1.08rem);
		line-height: 1.14;
	}

	#compliance-certifications .sr-services-premium__compliance-content p {
		margin-top: 0.38rem;
		font-size: clamp(0.76rem, 3.25vw, 0.86rem);
		line-height: 1.38;
	}
}

@media (min-width: 48rem) {
	#compliance-certifications .sr-services-premium__compliance-grid {
		grid-template-columns: minmax(0, 1fr);
		max-width: 48rem;
		margin-inline: auto;
	}

	#compliance-certifications .sr-services-premium__compliance-card {
		grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
		padding: 1rem;
	}
}

@media (min-width: 64rem) {
	#compliance-certifications .sr-services-premium__section-heading {
		width: 100%;
		max-width: var(--container-width, 75rem);
	}

	#compliance-certifications .sr-services-premium__compliance-grid {
		max-width: none;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1rem, 1.6vw, 1.35rem);
	}

	#compliance-certifications .sr-services-premium__compliance-card {
		height: 100%;
		grid-template-columns: minmax(0, 1fr);
		align-content: start;
		gap: 1rem;
		padding: clamp(1rem, 1.4vw, 1.28rem);
		text-align: left;
	}

	#compliance-certifications .sr-services-premium__compliance-visual {
		width: min(100%, 8.4rem);
	}

	#compliance-certifications .sr-services-premium__compliance-content p {
		font-size: 0.94rem;
		line-height: 1.52;
	}
}

.sr-services-premium__trust-note {
	max-width: 46rem;
	margin: 1.6rem auto 0;
	color: var(--services-muted);
	font-weight: 800;
	line-height: 1.6;
	text-align: center;
}

.sr-services-premium__trust-note::before {
	margin-right: 0.45rem;
	color: #a57600;
	content: "\2713";
}

.sr-services-premium__cta {
	position: relative;
	overflow: hidden;
	margin: clamp(3.5rem, 7vw, 6rem) 0;
}

.sr-services-premium__cta-grid {
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid rgb(253 209 0 / 22%);
	border-radius: 2rem;
	background:
		radial-gradient(circle at 88% 10%, rgb(253 209 0 / 16%), transparent 28rem),
		linear-gradient(135deg, #04324c, #005a88);
	color: #dff3fb;
	box-shadow: 0 2rem 5rem rgb(4 50 76 / 18%);
}

.sr-services-premium__cta h2 {
	color: #fff;
}

.sr-services-premium__cta p:not(.sr-services-premium__eyebrow) {
	max-width: 48rem;
	color: #dff3fb;
	font-size: 1.06rem;
	line-height: 1.72;
}

.sr-services-premium__cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	gap: 0.85rem;
	justify-content: flex-start;
}

.sr-services-premium__cta-actions .sr-services-premium__button {
	min-height: 3.65rem;
	padding-inline: 1.75rem;
}

.sr-services-premium__cta-actions .sr-services-premium__button--gold {
	display: inline-grid;
	width: min(100%, 20rem);
	min-height: 4.25rem;
	grid-template-columns: minmax(0, 1fr) 2.55rem;
	align-items: center;
	gap: 1rem;
	padding: 0.7rem 0.78rem 0.7rem 1.5rem;
	border-color: rgb(253 209 0 / 72%);
	background: linear-gradient(135deg, #ffe16a 0%, #fdd100 48%, #d89c00 100%);
	box-shadow:
		0 0.9rem 2.25rem rgb(0 0 0 / 22%),
		inset 0 0.12rem 0 rgb(255 255 255 / 42%);
	color: #04324c;
	font-weight: 850;
	justify-items: center;
	text-decoration: none;
	white-space: nowrap;
}

.sr-services-premium__cta-actions .sr-services-premium__button--gold::after {
	display: inline-grid;
	width: 2.55rem;
	height: 2.55rem;
	place-items: center;
	border: 1px solid rgb(4 50 76 / 16%);
	border-radius: 999px;
	background: rgb(4 50 76 / 9%);
	color: #04324c;
	content: "->";
	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1;
	transition:
		background 300ms ease,
		border-color 300ms ease,
		transform 300ms ease;
}

.sr-services-premium__cta-actions .sr-services-premium__button--gold:hover,
.sr-services-premium__cta-actions .sr-services-premium__button--gold:focus-visible {
	border-color: #fff0a5;
	box-shadow:
		0 1.15rem 2.8rem rgb(0 0 0 / 28%),
		0 0 0 0.14rem rgb(253 209 0 / 14%),
		inset 0 0.12rem 0 rgb(255 255 255 / 54%);
	color: #021f31;
	transform: translateY(-3px);
}

.sr-services-premium__cta-actions .sr-services-premium__button--gold:hover::after,
.sr-services-premium__cta-actions .sr-services-premium__button--gold:focus-visible::after {
	border-color: rgb(4 50 76 / 22%);
	background: rgb(255 255 255 / 28%);
	transform: translateX(4px);
}

.sr-services-premium__cta-notes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.4rem 0 0;
	padding: 0;
	list-style: none;
}

.sr-services-premium__cta-notes li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #eefaff;
	font-size: 0.9rem;
	font-weight: 800;
}

.sr-services-premium__cta-notes li::before {
	display: inline-grid;
	width: 1.1rem;
	height: 1.1rem;
	place-items: center;
	border-radius: 999px;
	background: rgb(253 209 0 / 20%);
	color: var(--services-gold);
	font-size: 0.72rem;
	content: "\2713";
}

#services-final-cta {
	margin: clamp(2.1rem, 4.6vw, 3.75rem) 0 clamp(2.65rem, 5vw, 4.25rem);
}

#services-final-cta .sr-services-premium__cta-grid {
	padding: clamp(1.72rem, 4.3vw, 3.55rem);
	border-color: rgb(253 209 0 / 20%);
	background:
		radial-gradient(circle at 88% 8%, rgb(253 209 0 / 12%), transparent 24rem),
		linear-gradient(135deg, #05344f 0%, #00567f 100%);
	box-shadow: 0 1.75rem 4.35rem rgb(4 50 76 / 16%);
}

#services-final-cta .sr-services-premium__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin-bottom: 0.75rem;
}

#services-final-cta .sr-services-premium__eyebrow::before {
	display: inline-block;
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 999px;
	background: #e53935;
	box-shadow: 0 0 0 0.24rem rgb(229 57 53 / 12%);
	content: "";
	flex: 0 0 auto;
}

#services-final-cta h2::before {
	display: none;
	content: none;
}

#services-final-cta h2 {
	max-width: 44rem;
	margin-bottom: 0.9rem;
	font-size: clamp(2.05rem, 4.4vw, 3.25rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

#services-final-cta h2 span {
	display: block;
}

#services-final-cta p:not(.sr-services-premium__eyebrow) {
	max-width: 42rem;
	font-size: clamp(0.94rem, 1.2vw, 1.02rem);
	line-height: 1.58;
}

#services-final-cta .sr-services-premium__cta-notes {
	gap: 0.52rem 0.68rem;
	margin-top: 1.05rem;
}

#services-final-cta .sr-services-premium__cta-notes li {
	gap: 0.38rem;
	font-size: 0.84rem;
	line-height: 1.25;
}

#services-final-cta .sr-services-premium__cta-notes li::before {
	width: 1rem;
	height: 1rem;
	font-size: 0.66rem;
}

#services-final-cta .sr-services-premium__cta-actions {
	gap: 0.8rem;
}

#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button {
	min-height: 3.05rem;
	padding-block: 0.68rem;
}

#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--gold {
	min-height: 3.35rem;
	grid-template-columns: minmax(0, 1fr) 2.2rem;
	padding: 0.56rem 0.62rem 0.56rem 1.18rem;
	box-shadow:
		0 0.78rem 1.95rem rgb(0 0 0 / 18%),
		inset 0 0.1rem 0 rgb(255 255 255 / 40%);
}

#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--gold::after {
	width: 2.2rem;
	height: 2.2rem;
	content: "\2192";
}

#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--ghost {
	width: min(100%, 20rem);
	min-height: 3.05rem;
	border-color: rgb(255 255 255 / 32%);
	background: rgb(255 255 255 / 7%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%);
	color: rgb(255 255 255 / 88%);
}

#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--ghost:hover,
#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--ghost:focus-visible {
	border-color: rgb(255 255 255 / 48%);
	background: rgb(255 255 255 / 11%);
	color: #fff;
	transform: translateY(-2px);
}

.sr-services-premium > .sr-services-premium__section {
	padding-block: clamp(4rem, 7vw, 6.25rem);
}

.sr-services-premium > .sr-services-premium__trust-section {
	padding-block: clamp(3.25rem, 6.5vw, 5rem);
}

.sr-services-premium__trust-section + #service-categories,
#service-categories + #manufacturing-process,
#manufacturing-process + #portfolio-highlights,
#portfolio-highlights + #compliance-certifications {
	padding-top: clamp(3.45rem, 6.2vw, 5.25rem);
}

#compliance-certifications + #services-final-cta {
	margin-top: clamp(1.85rem, 4vw, 3.25rem);
}

.sr-about > .sr-about-hero {
	padding-block: clamp(4.35rem, 6.8vw, 6rem);
}

.sr-about > :is(.sr-about-authority, .sr-about-compliance, .sr-about-team, .sr-about-portfolio) {
	padding-block: clamp(3.85rem, 5.9vw, 5rem);
}

.sr-about > .sr-final-cta {
	padding-block: clamp(4.05rem, 6.6vw, 5.45rem);
}

@media (min-width: 64rem) {
	#services-final-cta h2 {
		max-width: 100%;
		font-size: clamp(2.7rem, 3.25vw, 2.95rem);
		line-height: 1.05;
	}
}

@media (hover: hover) and (pointer: fine) {
	.sr-services-premium__service-card:hover,
	.sr-services-premium__process-card:hover,
	.sr-services-premium__portfolio-card:hover,
	.sr-services-premium__compliance-card:hover {
		border-color: rgb(253 209 0 / 64%);
		box-shadow: 0 1.9rem 4.2rem rgb(4 50 76 / 15%);
		transform: translateY(-6px);
	}

	.sr-services-premium__service-card:not(.sr-services-premium__service-card--featured):hover {
		background: linear-gradient(145deg, #04324c, #008fd7);
		color: #fff;
	}

	.sr-services-premium__service-card:hover h3,
	.sr-services-premium__service-card:hover p,
	.sr-services-premium__service-card:hover a,
	.sr-services-premium__service-card:hover .sr-services-premium__mini-list li {
		color: #fff;
	}

	.sr-services-premium__service-card:hover .sr-services-premium__mini-list li::before {
		background: rgb(255 255 255 / 16%);
		color: var(--services-gold);
	}

	.sr-services-premium__service-card:hover {
		border-color: rgb(253 209 0 / 76%);
		box-shadow: 0 2.1rem 4.8rem rgb(4 50 76 / 18%);
	}

	.sr-services-premium__service-card--featured:hover {
		border-color: rgb(253 209 0 / 86%);
		box-shadow:
			0 2.2rem 5rem rgb(4 50 76 / 22%),
			0 0 0 1px rgb(253 209 0 / 16%);
	}

	.sr-services-premium__service-card:hover .sr-services-premium__service-icon {
		border-color: rgb(253 209 0 / 58%);
		background: rgb(255 255 255 / 14%);
		box-shadow: 0 0.95rem 2rem rgb(253 209 0 / 18%);
		color: var(--services-gold);
		transform: scale(1.05);
	}

	.sr-services-premium__service-card:hover h3 {
		transform: translateY(-3px);
	}

	.sr-services-premium__service-card:hover a {
		color: #f7d64b;
		transform: translateX(4px);
	}

	.sr-services-premium__service-card:hover a::after {
		transform: scaleX(1);
	}

	.sr-services-premium__process-card:hover .sr-services-premium__process-top i,
	.sr-services-premium__compliance-card:hover > span {
		border-color: rgb(253 209 0 / 42%);
		box-shadow: 0 0.8rem 1.7rem rgb(253 209 0 / 14%);
		color: #a57600;
	}

	.sr-services-premium__portfolio-card:hover img {
		transform: scale(1.04);
	}

	.sr-services-premium__service-card:hover a span,
	.sr-services-premium__portfolio-card:hover .sr-services-premium__portfolio-body > a span,
	.sr-services-premium__text-link:hover span {
		transform: translateX(4px);
	}

	.sr-services-premium__service-card:hover a span {
		transform: translateX(8px);
	}

	#service-categories .sr-services-premium__service-card--visual:hover,
	#service-categories .sr-services-premium__service-card--visual:focus-within {
		border-color: rgb(214 154 22 / 54%);
		background: linear-gradient(180deg, #fff, #fbfdff);
		color: var(--services-navy);
		box-shadow: 0 1.45rem 3.25rem rgb(4 50 76 / 12%);
		transform: translateY(-3px);
	}

	#service-categories .sr-services-premium__service-card--visual:hover h3,
	#service-categories .sr-services-premium__service-card--visual:focus-within h3 {
		color: var(--services-navy);
		transform: none;
	}

	#service-categories .sr-services-premium__service-card--visual:hover p,
	#service-categories .sr-services-premium__service-card--visual:focus-within p,
	#service-categories .sr-services-premium__service-card--visual:hover .sr-services-premium__service-benefits li,
	#service-categories .sr-services-premium__service-card--visual:focus-within .sr-services-premium__service-benefits li {
		color: #526875;
	}

	#service-categories .sr-services-premium__service-card--visual:hover .sr-services-premium__service-cta,
	#service-categories .sr-services-premium__service-card--visual:focus-within .sr-services-premium__service-cta {
		border-color: rgb(214 154 22 / 66%);
		background: rgb(253 209 0 / 10%);
		box-shadow: 0 0.9rem 1.8rem rgb(4 50 76 / 9%);
		color: var(--services-navy);
		transform: none;
	}

	#service-categories .sr-services-premium__service-card--visual:hover .sr-services-premium__service-cta span,
	#service-categories .sr-services-premium__service-card--visual:focus-within .sr-services-premium__service-cta span {
		transform: translateX(4px);
	}

	#manufacturing-process .sr-services-premium__process-card:hover,
	#manufacturing-process .sr-services-premium__process-card:focus-within {
		border-color: rgb(214 154 22 / 42%);
		box-shadow: 0 1.1rem 2.55rem rgb(4 50 76 / 10%);
		transform: translateY(-3px);
	}

	#manufacturing-process .sr-services-premium__process-card:hover .sr-services-premium__process-top i,
	#manufacturing-process .sr-services-premium__process-card:focus-within .sr-services-premium__process-top i {
		border-color: rgb(0 143 215 / 22%);
		box-shadow: 0 0.75rem 1.55rem rgb(4 50 76 / 8%);
		color: var(--services-blue);
	}
}

@media (hover: none), (pointer: coarse) {
	.sr-services-premium__service-card:not(.sr-services-premium__service-card--featured).is-visible,
	.sr-services-premium__service-card:not(.sr-services-premium__service-card--featured):active,
	.sr-services-premium__service-card:not(.sr-services-premium__service-card--featured):focus-within {
		border-color: rgb(253 209 0 / 72%);
		background: linear-gradient(145deg, #04324c, #008fd7);
		color: #fff;
		box-shadow: 0 1.7rem 3.8rem rgb(4 50 76 / 18%);
	}

	.sr-services-premium__service-card--featured.is-visible,
	.sr-services-premium__service-card:active,
	.sr-services-premium__service-card:focus-within {
		border-color: rgb(253 209 0 / 72%);
		box-shadow: 0 1.6rem 3.5rem rgb(4 50 76 / 14%);
		transform: translateY(-4px);
	}

	.sr-services-premium__service-card:active h3,
	.sr-services-premium__service-card:focus-within h3 {
		transform: translateY(-2px);
	}

	.sr-services-premium__service-card.is-visible h3,
	.sr-services-premium__service-card:active h3,
	.sr-services-premium__service-card:focus-within h3,
	.sr-services-premium__service-card.is-visible .sr-services-premium__mini-list li,
	.sr-services-premium__service-card:active .sr-services-premium__mini-list li,
	.sr-services-premium__service-card:focus-within .sr-services-premium__mini-list li {
		color: #fff;
	}

	.sr-services-premium__service-card.is-visible p,
	.sr-services-premium__service-card:active p,
	.sr-services-premium__service-card:focus-within p {
		color: rgb(255 255 255 / 92%);
	}

	.sr-services-premium__service-card.is-visible a,
	.sr-services-premium__service-card:active a,
	.sr-services-premium__service-card:focus-within a {
		color: #f7d64b;
	}

	.sr-services-premium__service-card.is-visible .sr-services-premium__mini-list li::before,
	.sr-services-premium__service-card:active .sr-services-premium__mini-list li::before,
	.sr-services-premium__service-card:focus-within .sr-services-premium__mini-list li::before {
		background: rgb(255 255 255 / 16%);
		color: var(--services-gold);
	}

	.sr-services-premium__service-card--featured:active h3,
	.sr-services-premium__service-card--featured:active p,
	.sr-services-premium__service-card--featured:active a,
	.sr-services-premium__service-card--featured:focus-within h3,
	.sr-services-premium__service-card--featured:focus-within p,
	.sr-services-premium__service-card--featured:focus-within a {
		color: #fff;
	}

	.sr-services-premium__service-card--featured p,
	.sr-services-premium__service-card--featured:active p,
	.sr-services-premium__service-card--featured:focus-within p {
		color: rgb(255 255 255 / 92%);
	}

	.sr-services-premium__service-card.is-visible .sr-services-premium__service-icon,
	.sr-services-premium__service-card:active .sr-services-premium__service-icon,
	.sr-services-premium__service-card:focus-within .sr-services-premium__service-icon {
		border-color: rgb(253 209 0 / 58%);
		background: rgb(255 255 255 / 14%);
		box-shadow: 0 0.95rem 2rem rgb(253 209 0 / 18%);
		color: var(--services-gold);
		transform: scale(1.05);
	}

	.sr-services-premium__service-card.is-visible a::after,
	.sr-services-premium__service-card:active a::after,
	.sr-services-premium__service-card:focus-within a::after {
		transform: scaleX(1);
	}

	.sr-services-premium__service-card:active a span,
	.sr-services-premium__service-card:focus-within a span {
		transform: translateX(4px);
	}

	#service-categories .sr-services-premium__service-card--visual.is-visible,
	#service-categories .sr-services-premium__service-card--visual:active,
	#service-categories .sr-services-premium__service-card--visual:focus-within {
		border-color: rgb(214 154 22 / 40%);
		background: linear-gradient(180deg, #fff, #fbfdff);
		color: var(--services-navy);
		box-shadow: 0 1.05rem 2.65rem rgb(4 50 76 / 8%);
		transform: none;
	}

	#service-categories .sr-services-premium__service-card--visual.is-visible h3,
	#service-categories .sr-services-premium__service-card--visual:active h3,
	#service-categories .sr-services-premium__service-card--visual:focus-within h3 {
		color: var(--services-navy);
		transform: none;
	}

	#service-categories .sr-services-premium__service-card--visual.is-visible p,
	#service-categories .sr-services-premium__service-card--visual:active p,
	#service-categories .sr-services-premium__service-card--visual:focus-within p {
		color: #526875;
	}

	#service-categories .sr-services-premium__service-card--visual.is-visible .sr-services-premium__service-benefits li,
	#service-categories .sr-services-premium__service-card--visual:active .sr-services-premium__service-benefits li,
	#service-categories .sr-services-premium__service-card--visual:focus-within .sr-services-premium__service-benefits li {
		color: var(--services-navy);
	}

	#service-categories .sr-services-premium__service-card--visual:active .sr-services-premium__service-cta {
		transform: scale(0.985);
	}
}

@media (min-width: 48rem) {
	.sr-services-premium__stats,
	.sr-services-premium__service-grid,
	.sr-services-premium__process-grid,
	.sr-services-premium__portfolio-grid,
	.sr-services-premium__compliance-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sr-services-premium__stats div {
		min-height: 15rem;
		padding: 1.75rem 1.25rem;
	}

	.sr-services-premium__stats strong {
		font-size: 3rem;
	}

	.sr-services-premium__stats .sr-services-premium__stat-value--legal {
		font-size: 1.8rem;
	}
}

@media (min-width: 64rem) {
	.sr-services-premium__hero-grid,
	.sr-services-premium__cta-grid {
		grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr);
		align-items: stretch;
	}

	.sr-services-premium__hero-content {
		align-self: center;
	}

	.sr-services-premium__service-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sr-services-premium__trust-section .sr-services-premium__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sr-services-premium__trust-section .sr-services-premium__stats strong {
		font-size: 3.5rem;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats .sr-services-premium__stat-value--legal {
		font-size: 2rem;
	}

	.sr-services-premium__service-card--featured {
		grid-column: span 2;
	}

	.sr-services-premium__process-grid,
	.sr-services-premium__portfolio-grid,
	.sr-services-premium__compliance-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sr-services-premium__process-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.sr-services-premium__process-grid::before {
		position: absolute;
		top: 4.1rem;
		right: 3rem;
		left: 3rem;
		height: 1px;
		background: linear-gradient(90deg, rgb(253 209 0 / 0%), rgb(253 209 0 / 60%), rgb(253 209 0 / 0%));
		content: "";
	}

	.sr-services-premium__process-card {
		z-index: 1;
		min-height: 18rem;
		padding: 1.35rem;
	}

	.sr-services-premium__process-card h3 {
		font-size: 1.1rem;
	}

	.sr-services-premium__cta-actions {
		justify-content: flex-end;
	}
}

@media (max-width: 47.999rem) {
	.sr-services-premium__hero {
		padding-block: clamp(3rem, 10vw, 3.8rem) clamp(3.35rem, 10vw, 4.2rem);
		text-align: center;
	}

	.sr-services-premium__hero .sr-services-premium__eyebrow {
		margin-bottom: 0.68rem;
	}

	.sr-services-premium h1 {
		max-width: none;
		font-size: clamp(2.36rem, 11.6vw, 2.92rem);
		line-height: 0.98;
	}

	.sr-services-premium__hero .sr-services-premium__eyebrow {
		gap: 0.5rem;
	}

	.sr-services-premium__hero .sr-services-premium__eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	.sr-services-premium__lead,
	.sr-services-premium__section-heading p:not(.sr-services-premium__eyebrow) {
		margin-inline: auto;
	}

	.sr-services-premium__lead {
		max-width: 23.5rem;
		margin-top: 1.08rem;
		font-size: clamp(0.98rem, 4.2vw, 1.05rem);
		line-height: 1.64;
	}

	.sr-services-premium__hero-actions {
		width: min(100%, 22rem);
		margin: 1.28rem auto 0;
		flex-direction: column;
		gap: 0.9rem;
	}

	.sr-services-premium__hero-actions .sr-services-premium__button {
		width: 100%;
		min-height: 4.45rem;
		padding: 0.68rem 0.72rem;
		grid-template-columns: 44px minmax(0, 1fr) 44px;
	}

	.sr-services-premium__button,
	.sr-services-premium__service-card a,
	.sr-services-premium__text-link {
		margin-inline: auto;
	}

	.sr-services-premium__hero-visual {
		min-height: clamp(20.5rem, 91vw, 22rem);
		border-radius: 1.5rem;
		box-shadow: 0 1.45rem 3.35rem rgb(4 50 76 / 18%);
	}

	.sr-services-premium__visual-card {
		margin: clamp(0.82rem, 3.2vw, 1rem);
		padding: clamp(1rem, 4vw, 1.16rem);
		border-radius: 1.35rem;
		text-align: center;
	}

	.sr-services-premium__visual-card > span {
		padding: 0.42rem 0.78rem;
		font-size: 0.66rem;
	}

	.sr-services-premium__visual-card strong {
		margin-top: 0.68rem;
		font-size: clamp(1.08rem, 5vw, 1.32rem);
	}

	.sr-services-premium__flow-steps {
		gap: 0.66rem;
		margin-top: 1rem;
	}

	.sr-services-premium__flow-step {
		grid-template-columns: auto auto minmax(0, 1fr);
		gap: 0.58rem;
		padding: 0.7rem 0.74rem;
		border-radius: 0.9rem;
		text-align: left;
	}

	.sr-services-premium__flow-step:not(:last-child)::after {
		bottom: -0.61rem;
		left: 1.82rem;
		height: 0.55rem;
	}

	.sr-services-premium__flow-step i {
		width: 2.05rem;
		height: 2.05rem;
		border-radius: 0.72rem;
	}

	.sr-services-premium__flow-step svg {
		width: 1.08rem;
		height: 1.08rem;
	}

	.sr-services-premium__flow-step b {
		font-size: 0.9rem;
	}

	.sr-services-premium__trust-heading h2::before,
	.sr-services-premium__section-heading h2::before,
	.sr-services-premium__cta h2::before {
		width: 0.42rem;
		height: 0.42rem;
		margin-right: 0.48rem;
		box-shadow: 0 0 0 0.22rem rgb(229 57 53 / 12%);
	}

	.sr-services-premium__trust-heading h2::before {
		transform: translateY(-0.16rem);
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-heading h2::before {
		display: none;
	}

	#service-categories .sr-services-premium__eyebrow {
		gap: 0.5rem;
	}

	#service-categories .sr-services-premium__eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	#manufacturing-process .sr-services-premium__section-heading {
		width: 100%;
		max-width: none;
		margin-bottom: clamp(1.55rem, 7vw, 2.15rem);
	}

	#manufacturing-process .sr-services-premium__eyebrow {
		gap: 0.5rem;
		margin-bottom: 0.68rem;
	}

	#manufacturing-process .sr-services-premium__eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	#manufacturing-process .sr-services-premium__section-heading h2 {
		width: 100%;
		max-width: none;
		margin-bottom: 0.78rem;
		font-size: clamp(1.75rem, 7.8vw, 2.08rem);
		line-height: 1.1;
		white-space: nowrap;
	}

	#manufacturing-process .sr-services-premium__section-heading p:not(.sr-services-premium__eyebrow) {
		max-width: 21.5rem;
		font-size: clamp(0.92rem, 3.8vw, 0.98rem);
		line-height: 1.58;
	}

	#manufacturing-process .sr-services-premium__process-grid {
		gap: 0.9rem;
	}

	#manufacturing-process .sr-services-premium__process-card {
		padding: 0.92rem 0.95rem 1rem;
		border-radius: 1.18rem;
		box-shadow: 0 0.75rem 1.75rem rgb(4 50 76 / 7%);
	}

	#manufacturing-process .sr-services-premium__process-card::before {
		left: 0.95rem;
		width: 3.55rem;
	}

	#manufacturing-process .sr-services-premium__process-top {
		gap: 0.6rem;
		margin-bottom: 0.5rem;
	}

	#manufacturing-process .sr-services-premium__process-top span {
		font-size: 0.72rem;
	}

	#manufacturing-process .sr-services-premium__process-top i {
		width: 2.9rem;
		height: 2.9rem;
		border-radius: 0.9rem;
	}

	#manufacturing-process .sr-services-premium__process-top svg {
		width: 1.44rem;
		height: 1.44rem;
	}

	#manufacturing-process .sr-services-premium__process-card h3 {
		margin-bottom: 0.3rem;
		font-size: clamp(1rem, 4.35vw, 1.12rem);
		line-height: 1.08;
	}

	#manufacturing-process .sr-services-premium__process-card p {
		font-size: clamp(0.8rem, 3.3vw, 0.88rem);
		line-height: 1.43;
	}

	#portfolio-highlights .sr-services-premium__eyebrow {
		gap: 0.5rem;
	}

	#portfolio-highlights .sr-services-premium__eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	#service-categories .sr-services-premium__service-card--visual {
		gap: 0.78rem;
		padding: 0.84rem;
		border-radius: 1.25rem;
	}

	#service-categories .sr-services-premium__service-meta {
		gap: 0.55rem;
	}

	#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-number {
		width: 2rem;
		height: 2rem;
		font-size: 0.72rem;
	}

	#service-categories .sr-services-premium__service-pill {
		padding: 0.44rem 0.58rem;
		font-size: 0.64rem;
		letter-spacing: 0.07em;
	}

	#service-categories .sr-services-premium__service-visual-row {
		grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
		gap: 0.58rem;
	}

	#service-categories .sr-services-premium__service-media {
		border-radius: 1rem;
	}

	#service-categories .sr-services-premium__service-content {
		display: flex;
		min-width: 0;
		flex-direction: column;
		align-self: start;
	}

	#service-categories .sr-services-premium__service-card--visual h3 {
		font-size: clamp(1rem, 4.65vw, 1.13rem);
		line-height: 1.06;
	}

	#service-categories .sr-services-premium__service-divider {
		margin: 0.45rem 0;
	}

	#service-categories .sr-services-premium__service-card--visual p {
		font-size: clamp(0.72rem, 3.05vw, 0.8rem);
		line-height: 1.36;
	}

	#service-categories .sr-services-premium__service-benefits {
		display: flex;
		width: 100%;
		flex-direction: column;
		gap: 0.48rem;
		margin-top: 0.56rem;
	}

	#service-categories .sr-services-premium__service-benefits li {
		display: flex;
		align-items: flex-start;
		gap: 0.44rem;
		min-width: 0;
		font-size: clamp(0.68rem, 2.7vw, 0.76rem);
		line-height: 1.22;
		hyphens: none;
		overflow-wrap: normal;
		word-break: normal;
	}

	#service-categories .sr-services-premium__service-benefits li::before {
		width: 0.84rem;
		height: 0.84rem;
		margin-top: 0.01rem;
		font-size: 0.54rem;
	}

	#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta {
		min-height: 3rem;
		font-size: 0.88rem;
	}

	#service-categories .sr-services-premium__service-card--visual:nth-child(2) .sr-services-premium__service-divider {
		margin: 0.28rem 0;
	}

	#service-categories .sr-services-premium__service-card--visual:nth-child(2) .sr-services-premium__service-benefits {
		gap: 0.34rem;
		margin-top: 0.36rem;
	}

	.sr-services-premium__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		text-align: left;
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-heading {
		margin-bottom: clamp(1.5rem, 6vw, 1.75rem);
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-eyebrow {
		gap: 0.48rem;
		margin-bottom: 0.68rem;
		font-size: 0.68rem;
		letter-spacing: 0.105em;
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-heading h2 {
		margin-bottom: 0.8rem;
		font-size: clamp(1.24rem, 5.3vw, 1.42rem);
		letter-spacing: -0.025em;
		line-height: 1.13;
	}

	body.home .sr-home-premium .sr-home-service-stats-master .sr-services-premium__trust-heading h2 {
		margin-bottom: 0.8rem;
		font-size: calc(clamp(1.24rem, 5.3vw, 1.42rem) + 1px);
		letter-spacing: -0.025em;
		line-height: 1.13;
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-title-line {
		display: block;
	}

	.sr-services-premium__trust-section .sr-services-premium__trust-heading p:not(.sr-services-premium__trust-eyebrow) {
		font-size: 0.98rem;
		line-height: 1.62;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats {
		gap: 0.85rem;
		grid-auto-rows: 1fr;
	}

	.sr-services-premium__stats div {
		min-height: 12rem;
		padding: 1.2rem 0.85rem;
		text-align: center;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats div {
		min-height: 12.1rem;
		padding: 1.05rem 0.76rem;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats div::before {
		right: 1.4rem;
		left: 1.4rem;
		height: 0.14rem;
		background: linear-gradient(90deg, rgb(253 209 0 / 72%), rgb(225 179 59 / 68%));
	}

	.sr-services-premium__stat-icon {
		width: 3.75rem;
		height: 3.75rem;
		margin-bottom: 1rem;
		border-radius: 1rem;
	}

	.sr-services-premium__trust-section .sr-services-premium__stat-icon {
		margin-bottom: 0.82rem;
	}

	.sr-services-premium__stat-icon svg {
		width: 2rem;
		height: 2rem;
	}

	.sr-services-premium__stats strong {
		font-size: clamp(2rem, 11vw, 2.7rem);
	}

	.sr-services-premium__trust-section .sr-services-premium__stats strong {
		font-size: clamp(1.95rem, 10.25vw, 2.55rem);
		letter-spacing: -0.035em;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats .sr-services-premium__stat-label {
		margin-top: 0.62rem;
		font-size: 0.88rem;
		line-height: 1.36;
	}

	.sr-services-premium__stats .sr-services-premium__stat-value--legal {
		font-size: clamp(1.05rem, 5.15vw, 1.26rem);
		letter-spacing: -0.052em;
		max-width: 100%;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats .sr-services-premium__stat-value--legal {
		font-size: clamp(0.98rem, 4.5vw, 1.12rem);
		letter-spacing: -0.024em;
		line-height: 1.1;
	}

	.sr-services-premium__trust-section .sr-services-premium__stats .sr-services-premium__stat-value--legal span {
		margin-bottom: 0.28rem;
		font-size: 0.68rem;
		letter-spacing: 0.11em;
	}

	.sr-services-premium__trust-strip {
		justify-content: center;
	}

	.sr-services-premium__cta-grid {
		text-align: center;
	}

	.sr-services-premium__cta-actions {
		justify-content: center;
	}

	.sr-services-premium__cta-actions .sr-services-premium__button--gold {
		width: 100%;
		max-width: 20rem;
		min-height: 3.75rem;
		grid-template-columns: minmax(0, 1fr) 2.3rem;
		padding: 0.62rem 0.65rem 0.62rem 1.25rem;
	}

	.sr-services-premium__cta-actions .sr-services-premium__button--gold::after {
		width: 2.3rem;
		height: 2.3rem;
	}

	.sr-services-premium__cta-notes {
		justify-content: center;
	}

	#services-final-cta {
		margin-top: clamp(1.65rem, 7vw, 2.45rem);
	}

	#services-final-cta .sr-services-premium__cta-grid {
		padding: clamp(1.45rem, 7vw, 2rem) clamp(1rem, 5vw, 1.35rem);
	}

	#services-final-cta .sr-services-premium__eyebrow {
		gap: 0.5rem;
		margin-bottom: 0.62rem;
	}

	#services-final-cta .sr-services-premium__eyebrow::before {
		width: 0.4rem;
		height: 0.4rem;
		box-shadow: 0 0 0 0.2rem rgb(229 57 53 / 12%);
	}

	#services-final-cta h2 {
		max-width: 20.25rem;
		margin-inline: auto;
		margin-bottom: 0.72rem;
		font-size: clamp(1.72rem, 7.58vw, 2rem);
		line-height: 1.04;
		letter-spacing: -0.035em;
	}

	#services-final-cta h2 span {
		display: block;
		white-space: nowrap;
	}

	#services-final-cta p:not(.sr-services-premium__eyebrow) {
		max-width: 21rem;
		margin-inline: auto;
		font-size: clamp(0.88rem, 3.75vw, 0.96rem);
		line-height: 1.52;
	}

	#services-final-cta .sr-services-premium__cta-notes {
		max-width: 19.5rem;
		margin: 0.92rem auto 0;
		gap: 0.46rem;
	}

	#services-final-cta .sr-services-premium__cta-notes li {
		font-size: 0.8rem;
	}

	#services-final-cta .sr-services-premium__cta-actions {
		width: min(100%, 20.5rem);
		margin-inline: auto;
		flex-direction: column;
		gap: 0.78rem;
	}

	#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button,
	#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--gold {
		width: 100%;
		max-width: none;
		min-height: 3.05rem;
	}

	#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--gold {
		grid-template-columns: minmax(0, 1fr) 2.05rem;
		padding: 0.5rem 0.56rem 0.5rem 1.05rem;
	}

	#services-final-cta .sr-services-premium__cta-actions .sr-services-premium__button--gold::after {
		width: 2.05rem;
		height: 2.05rem;
	}

	.sr-services-premium > .sr-services-premium__section {
		padding-block: clamp(2.75rem, 8vw, 3.45rem);
	}

	.sr-services-premium > .sr-services-premium__trust-section {
		padding-block: clamp(2.85rem, 8vw, 3.45rem);
	}

	.sr-services-premium__trust-section + #service-categories,
	#service-categories + #manufacturing-process,
	#manufacturing-process + #portfolio-highlights,
	#portfolio-highlights + #compliance-certifications {
		padding-top: clamp(2.45rem, 7vw, 3.05rem);
	}

	#compliance-certifications + #services-final-cta {
		margin-top: clamp(1.25rem, 5vw, 1.85rem);
		margin-bottom: clamp(2.35rem, 6vw, 2.75rem);
	}

	.sr-about > .sr-about-hero {
		padding-block: clamp(2.9rem, 9vw, 3.35rem);
	}

	.sr-about > :is(.sr-about-authority, .sr-about-compliance, .sr-about-team, .sr-about-portfolio) {
		padding-block: clamp(2.7rem, 8vw, 3.25rem);
	}

	.sr-about > .sr-final-cta {
		padding-block: clamp(3rem, 9vw, 3.65rem);
	}
}

@media (min-width: 22.5rem) and (max-width: 29.125rem) {
	.sr-about > .sr-about-authority {
		padding-block: 2.7rem;
	}

	.sr-about-authority {
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}

	.sr-about-authority__eyebrow {
		margin-bottom: 0.82rem;
	}

	.sr-about-authority h2 {
		max-width: 32rem;
		margin-bottom: 0.44rem;
		font-size: 2.6rem;
		line-height: 1.05;
	}

	.sr-about-authority__intro p:not(.sr-about-authority__eyebrow) {
		font-size: 1rem;
		line-height: 1.55;
		letter-spacing: 0;
	}

	.sr-about-authority__intro h2 + p:not(.sr-about-authority__eyebrow) {
		margin-top: 26px;
	}

	.sr-about-authority__intro p:not(.sr-about-authority__eyebrow) + p {
		margin-top: 20px;
	}
}

@media (max-width: 24rem) {
	.sr-services-premium__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#service-categories .sr-services-premium__service-card--visual {
		padding: 0.8rem;
	}

	#service-categories .sr-services-premium__service-visual-row {
		grid-template-columns: minmax(0, 39%) minmax(0, 1fr);
		gap: 0.52rem;
	}

	#service-categories .sr-services-premium__service-benefits {
		gap: 0.44rem;
	}

	#service-categories .sr-services-premium__service-benefits li {
		font-size: clamp(0.66rem, 2.68vw, 0.74rem);
	}

	#service-categories .sr-services-premium__service-card--visual:nth-child(2) .sr-services-premium__service-divider {
		margin: 0.12rem 0;
	}

	#service-categories .sr-services-premium__service-card--visual:nth-child(2) .sr-services-premium__service-benefits {
		gap: 0.12rem;
		margin-top: 0.12rem;
	}

	.sr-services-premium__flow-step {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sr-services-premium__flow-step small {
		display: none;
	}
}

@media (max-width: 25rem) {
	#service-categories .sr-services-premium__service-card--visual:nth-child(2) .sr-services-premium__service-divider {
		margin: 0.24rem 0;
	}

	#service-categories .sr-services-premium__service-card--visual:nth-child(2) .sr-services-premium__service-benefits {
		gap: 0.24rem;
		margin-top: 0.24rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sr-services-premium *,
	.sr-services-premium [data-service-card] {
		transition: none !important;
		transform: none !important;
	}

	.sr-services-premium__service-card:active,
	.sr-services-premium__service-card:focus-within,
	.sr-services-premium__service-card:active .sr-services-premium__service-icon,
	.sr-services-premium__service-card:focus-within .sr-services-premium__service-icon {
		transform: none !important;
	}

	.sr-services-premium__flow-step,
	.sr-services-premium__flow-step i,
	.sr-services-premium__flow-step small,
	.sr-services-premium__flow-step::after {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.sr-services-premium [data-service-card] {
		opacity: 1;
	}

	#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta,
	#service-categories .sr-services-premium__service-card--visual .sr-services-premium__service-cta span {
		transform: none !important;
	}

	.sr-services-premium__stats strong[data-count-to] {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* CONS-01 Consultation Hero */
.p-contact-consultation-hero {
  --consultation-navy: #04324c;
  --consultation-deep: #062b4f;
  --consultation-blue: #0077b6;
  --consultation-gold: #d69a16;
  --consultation-gold-soft: #f8d36b;
  --consultation-muted: #5c6d7b;
  position: relative;
  overflow: hidden;
  padding: clamp(3.3rem, 6vw, 5.2rem) 0 clamp(2.5rem, 4.6vw, 4.1rem);
  background:
    radial-gradient(circle at 84% 18%, rgb(223 243 255 / 78%), transparent 31rem),
    radial-gradient(circle at 32% 88%, rgb(248 211 107 / 14%), transparent 34rem),
    linear-gradient(135deg, #ffffff 0%, #f9fdff 48%, #eef8ff 100%);
  color: var(--consultation-navy);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.p-contact-consultation-hero,
.p-contact-consultation-hero * {
  box-sizing: border-box;
}

.p-contact-consultation-hero :where(h1, p, a, span, strong) {
  font-family: inherit;
}

.p-contact-consultation-hero::before,
.p-contact-consultation-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.p-contact-consultation-hero::before {
  inset: auto auto -15rem -12rem;
  width: 34rem;
  height: 34rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgb(0 119 182 / 9%), transparent 68%);
}

.p-contact-consultation-hero::after {
  inset: 3rem -12rem auto auto;
  width: 42rem;
  height: 42rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgb(248 211 107 / 18%), transparent 62%);
}

.p-contact-consultation-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
  align-items: center;
  gap: clamp(1.6rem, 3.8vw, 4rem);
}

.p-contact-consultation-hero__content,
.p-contact-consultation-hero__visual,
.p-contact-consultation-hero .srcosme-container {
  min-width: 0;
  max-width: 100%;
}

.p-contact-consultation-hero__content {
  display: grid;
  align-content: center;
  gap: clamp(1rem, 1.55vw, 1.28rem);
  max-width: 36rem;
}

.p-contact-consultation-hero__eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  color: #b67508;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.p-contact-consultation-hero__eyebrow::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--consultation-gold-soft);
  box-shadow: 0 0 0 0.18rem rgb(248 211 107 / 22%);
}

.p-contact-consultation-hero h1 {
  max-width: 34rem;
  margin: 0;
  color: var(--consultation-deep);
  font-size: clamp(2.85rem, 3.9vw, 3.78rem);
  font-weight: 850;
  line-height: 0.96;
  letter-spacing: -0.035em;
}

.p-contact-consultation-hero__lead {
  max-width: 35rem;
  margin: 0;
  color: rgb(48 68 80 / 86%);
  font-size: clamp(1rem, 1.08vw, 1.11rem);
  line-height: 1.68;
  overflow-wrap: break-word;
}

.p-contact-consultation-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.2rem;
}

.p-contact-consultation-hero__button {
  position: relative;
  display: grid !important;
  grid-template-columns: 2rem minmax(0, 1fr) 2rem;
  column-gap: 0.5rem;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 3.55rem;
  padding: 0.9rem 1.55rem;
  border-radius: 999px;
  background-clip: padding-box;
  font-weight: 820;
  line-height: 1;
  text-align: center;
}

.p-contact-consultation-hero__button > * {
  position: relative;
  z-index: 1;
}

.p-contact-consultation-hero__button-icon,
.p-contact-consultation-hero__button-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.p-contact-consultation-hero__button-icon {
  width: 1.42rem;
  height: 1.42rem;
  flex: 0 0 auto;
}

.p-contact-consultation-hero__button-icon--left {
  justify-self: start;
}

.p-contact-consultation-hero__button-icon--right {
  justify-self: end;
}

.p-contact-consultation-hero__button-label {
  min-width: 0;
  justify-self: center;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.p-contact-consultation-hero__button-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.p-contact-consultation-hero__button--primary {
  background: linear-gradient(135deg, #063765 0%, #0077b6 100%);
  background-clip: padding-box;
  box-shadow: 0 1rem 2.4rem rgb(0 70 115 / 20%);
}

.p-contact-consultation-hero__button--primary .p-contact-consultation-hero__button-arrow {
  transition: transform var(--transition-fast);
}

.p-contact-consultation-hero__button--primary:hover .p-contact-consultation-hero__button-arrow,
.p-contact-consultation-hero__button--primary:focus-visible .p-contact-consultation-hero__button-arrow {
  transform: translateX(3px);
}

.p-contact-consultation-hero__button--secondary {
  border-color: rgb(214 154 22 / 54%);
  background: rgb(255 255 255 / 74%);
  color: var(--consultation-deep);
  box-shadow: 0 0.85rem 2rem rgb(4 50 76 / 5%);
}

.p-contact-consultation-hero__trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  margin-top: clamp(0.25rem, 1vw, 0.6rem);
  padding: 0.72rem 0.78rem;
  border: 1px solid rgb(0 119 182 / 10%);
  border-radius: 1.25rem;
  background: rgb(255 255 255 / 76%);
  box-shadow: 0 1rem 3rem rgb(4 50 76 / 7%);
  backdrop-filter: blur(16px);
}

.p-contact-consultation-hero__trust-item {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 0.52rem;
  min-height: 5.35rem;
  padding: 0.25rem 0.5rem;
  color: var(--consultation-deep);
  font-size: 0.82rem;
  font-weight: 760;
  line-height: 1.18;
  text-align: center;
}

.p-contact-consultation-hero__trust-item + .p-contact-consultation-hero__trust-item::before {
  content: "";
  position: absolute;
  top: 1.05rem;
  bottom: 1.05rem;
  left: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgb(4 50 76 / 14%), transparent);
}

.p-contact-consultation-hero__trust-icon {
  display: inline-flex;
  width: 2.85rem;
  height: 2.85rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(214 154 22 / 22%);
  border-radius: 50%;
  background: rgb(248 211 107 / 10%);
  box-shadow: 0 0.7rem 1.35rem rgb(214 154 22 / 10%);
  color: var(--consultation-blue);
}

.p-contact-consultation-hero__trust-icon img {
  display: block;
  width: 2.06rem;
  height: 2.06rem;
  object-fit: contain;
}

.p-contact-consultation-hero__trust-icon svg {
  width: 1.55rem;
  height: 1.55rem;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.p-contact-consultation-hero__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(28rem, 44vw, 41rem);
  isolation: isolate;
}

.p-contact-consultation-hero__visual::before {
  content: "";
  position: absolute;
  inset: 4% -2% 2% 3%;
  z-index: -1;
  border-radius: 2rem;
  background:
    radial-gradient(circle at 58% 42%, rgb(0 119 182 / 10%), transparent 56%),
    radial-gradient(circle at 42% 88%, rgb(248 211 107 / 12%), transparent 45%);
  filter: blur(2px);
}

.p-contact-consultation-hero__visual::after {
  content: "";
  position: absolute;
  inset: 8% 2% 9% -4%;
  z-index: -1;
  border-radius: 52% 0 0 52%;
  background: linear-gradient(135deg, rgb(255 255 255 / 50%), rgb(223 243 255 / 30%));
  box-shadow: 0 1.8rem 4.5rem rgb(4 50 76 / 10%);
}

.p-contact-consultation-hero__visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 57rem);
  max-height: clamp(28rem, 43vw, 41rem);
  object-fit: contain;
  border-radius: 1.55rem;
  filter: drop-shadow(0 1.45rem 2.7rem rgb(4 50 76 / 12%));
}

@media (max-width: 74rem) {
  .p-contact-consultation-hero h1 {
    font-size: clamp(2.8rem, 5vw, 4.2rem);
  }

  .p-contact-consultation-hero__trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
  }

  .p-contact-consultation-hero__trust-item + .p-contact-consultation-hero__trust-item::before {
    display: none;
  }

  .p-contact-consultation-hero__trust-item {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    min-height: 4.6rem;
    padding: 0.65rem 0.72rem;
    border: 1px solid rgb(0 119 182 / 10%);
    border-radius: 1rem;
    text-align: left;
  }
}

@media (max-width: 64rem) {
  .p-contact-consultation-hero__grid {
    grid-template-columns: 1fr;
  }

  .p-contact-consultation-hero__content {
    max-width: 46rem;
  }

  .p-contact-consultation-hero__visual {
    min-height: auto;
  }
}

@media (max-width: 40rem) {
  .p-contact-consultation-hero {
    width: 100vw;
    max-width: 100vw;
    overflow-x: hidden;
    padding: 2.35rem 0 2.7rem;
  }

  .p-contact-consultation-hero .srcosme-container,
  .p-contact-consultation-hero__grid,
  .p-contact-consultation-hero__content,
  .p-contact-consultation-hero__lead,
  .p-contact-consultation-hero__actions,
  .p-contact-consultation-hero__trust,
  .p-contact-consultation-hero__visual {
    width: calc(100vw - 2rem) !important;
    max-width: calc(100vw - 2rem) !important;
  }

  .p-contact-consultation-hero__grid {
    gap: 1.55rem;
  }

  .p-contact-consultation-hero h1 {
    max-width: 22rem;
    font-size: clamp(2.35rem, 12vw, 3.2rem);
    line-height: 1;
  }

  .p-contact-consultation-hero__lead {
    max-width: 21.5rem !important;
    font-size: 1rem;
    line-height: 1.64;
    white-space: normal !important;
    word-break: normal;
  }

  .p-contact-consultation-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.78rem;
    width: min(100%, 22.25rem) !important;
    max-width: calc(100vw - 2.25rem) !important;
  }

  .p-contact-consultation-hero__button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 3.35rem;
    justify-content: center;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .p-contact-consultation-hero__trust {
    width: min(100%, 22.25rem) !important;
    max-width: calc(100vw - 2.25rem) !important;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .p-contact-consultation-hero__trust-item {
    max-width: 100% !important;
    min-height: 4.25rem;
    background: rgb(255 255 255 / 78%);
    box-shadow: 0 0.75rem 1.8rem rgb(4 50 76 / 6%);
  }

  .p-contact-consultation-hero__visual {
    width: min(100%, 22.25rem) !important;
    max-width: calc(100vw - 2.25rem) !important;
  }

  .p-contact-consultation-hero__visual::before {
    inset: 3% -3% 0;
    border-radius: 1.4rem;
  }

  .p-contact-consultation-hero__visual::after {
    inset: 7% 0 8%;
    border-radius: 1.25rem;
  }

  .p-contact-consultation-hero__visual img {
    width: 100%;
    max-width: 100%;
    max-height: 24rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-consultation-hero__button--primary .p-contact-consultation-hero__button-arrow {
    transition: none !important;
  }
}

/* CONS-01 Contact Page Overflow Guard */
.p-contact {
  overflow-x: hidden;
}

.p-contact :where(address, address p, address a) {
  overflow-wrap: anywhere;
}
/* CONS-01 Consultation Experience Audit */
@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero {
    min-height: clamp(57.5rem, 68vw, 61.25rem);
    display: flex;
    align-items: center;
    padding-top: clamp(4rem, 6vw, 5.8rem);
    padding-bottom: clamp(4rem, 6vw, 5.8rem);
  }

  .p-contact-consultation-hero .srcosme-container {
    width: min(100% - 4rem, 82rem);
  }

  .p-contact-consultation-hero__grid {
    min-height: clamp(48rem, 58vw, 54rem);
  }

  .p-contact-consultation-hero__visual {
    min-height: clamp(42rem, 52vw, 50rem);
  }

  .p-contact-consultation-hero__visual::before {
    inset: -5% -6% -5% -7%;
    border-radius: 4rem;
    background:
      radial-gradient(circle at 56% 40%, rgb(0 119 182 / 14%), transparent 56%),
      radial-gradient(circle at 48% 86%, rgb(248 211 107 / 15%), transparent 48%);
    filter: blur(4px);
  }

  .p-contact-consultation-hero__visual::after {
    inset: 3% -2% 3% -10%;
    border-radius: 54% 0 0 54%;
    background: linear-gradient(135deg, rgb(255 255 255 / 42%), rgb(223 243 255 / 36%));
  }

  .p-contact-consultation-hero__visual img {
    width: min(100%, 61rem);
    max-height: clamp(40rem, 50vw, 49rem);
  }
}

@media (min-width: 74.0625rem) {
  .p-contact-consultation-hero__trust {
    width: fit-content;
    max-width: 35rem;
    padding: 0.42rem 0.5rem;
    border-color: rgb(0 119 182 / 7%);
    border-radius: 999px;
    background: rgb(255 255 255 / 54%);
    box-shadow: 0 0.7rem 2rem rgb(4 50 76 / 5%);
  }

  .p-contact-consultation-hero__trust-item {
    min-height: auto;
    gap: 0.34rem;
    padding: 0.2rem 0.76rem;
    font-size: 0.72rem;
    font-weight: 720;
  }

  .p-contact-consultation-hero__trust-icon {
    width: 2.2rem;
    height: 2.2rem;
    background: rgb(255 255 255 / 58%);
    box-shadow: none;
  }

  .p-contact-consultation-hero__trust-icon img {
    width: 1.55rem;
    height: 1.55rem;
  }

  .p-contact-consultation-hero__trust-icon svg {
    width: 1.18rem;
    height: 1.18rem;
  }
}

.p-contact-section-heading {
  display: grid;
  gap: 0.72rem;
  max-width: 42rem;
}

.p-contact-section-heading--center {
  max-width: 44rem;
  margin-inline: auto;
  text-align: center;
}

.p-contact-section-heading__eyebrow {
  margin: 0;
  color: #0077b6;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.p-contact-section-heading h2,
.p-contact-map__info h2 {
  margin: 0;
  color: #04324c;
  font-size: clamp(2rem, 3.1vw, 3.4rem);
  font-weight: 850;
  line-height: 1.06;
  letter-spacing: -0.035em;
}

.p-contact-section-heading p,
.p-contact-map__info p,
.p-contact-map__hours {
  margin: 0;
  color: rgb(48 68 80 / 82%);
  font-size: clamp(1rem, 1.05vw, 1.08rem);
  line-height: 1.72;
}

.p-contact-project,
.p-contact-why,
.p-contact-timeline,
.p-contact-form-section,
.p-contact-map {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 6vw, 6rem) 0;
}

.p-contact-project {
  background: #fff;
}

.p-contact-project__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 3.5vw, 3rem);
}

.p-contact-project__card,
.p-contact-why__card,
.p-contact-form-section__card,
.p-contact-map__info,
.p-contact-map__embed {
  border: 1px solid rgb(0 119 182 / 10%);
  border-radius: 1.2rem;
  background: rgb(255 255 255 / 82%);
  box-shadow: 0 1rem 2.8rem rgb(4 50 76 / 6%);
}

.p-contact-project__card {
  display: grid;
  gap: 0.8rem;
  min-height: 14rem;
  padding: 1.25rem;
  color: #04324c;
  text-decoration: none;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.p-contact-project__card:hover,
.p-contact-project__card:focus-visible {
  transform: translateY(-4px);
  border-color: rgb(214 154 22 / 42%);
  box-shadow: 0 1.35rem 3.2rem rgb(4 50 76 / 9%);
}

.p-contact-project__card span,
.p-contact-why__card::before {
  display: inline-flex;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(214 154 22 / 24%);
  border-radius: 50%;
  background: rgb(248 211 107 / 10%);
  color: #0077b6;
}

.p-contact-project__card svg {
  width: 1.45rem;
  height: 1.45rem;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
}

.p-contact-project__card strong,
.p-contact-why__card strong,
.p-contact-timeline__step strong {
  color: #04324c;
  font-size: 1.08rem;
  font-weight: 820;
  line-height: 1.18;
}

.p-contact-project__card em {
  color: rgb(48 68 80 / 78%);
  font-size: 0.94rem;
  font-style: normal;
  line-height: 1.58;
}

.p-contact-why {
  background:
    radial-gradient(circle at 12% 18%, rgb(248 211 107 / 13%), transparent 27rem),
    linear-gradient(180deg, #f8fcff 0%, #fff 100%);
}

.p-contact-why__grid,
.p-contact-form-section__grid,
.p-contact-map__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4rem);
}

.p-contact-why__cards {
  display: grid;
  gap: 1rem;
}

.p-contact-why__card {
  position: relative;
  display: grid;
  gap: 0.38rem;
  padding: 1.2rem 1.3rem 1.2rem 4.6rem;
}

.p-contact-why__card::before {
  content: "";
  position: absolute;
  top: 1.15rem;
  left: 1.2rem;
  width: 2.35rem;
  height: 2.35rem;
  background:
    linear-gradient(135deg, rgb(0 119 182 / 0%) 45%, rgb(0 119 182 / 100%) 46% 54%, rgb(0 119 182 / 0%) 55%),
    rgb(248 211 107 / 10%);
}

.p-contact-why__card p {
  margin: 0;
  color: rgb(48 68 80 / 78%);
  line-height: 1.62;
}

.p-contact-timeline {
  background: #fff;
}

.p-contact-timeline__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: clamp(2rem, 3vw, 2.6rem);
}

.p-contact-timeline__track::before {
  content: "";
  position: absolute;
  top: 2.2rem;
  right: 7%;
  left: 7%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(214 154 22 / 42%), transparent);
}

.p-contact-timeline__step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 0.65rem;
  text-align: center;
}

.p-contact-timeline__step span {
  display: inline-flex;
  width: 4.4rem;
  height: 4.4rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(214 154 22 / 24%);
  border-radius: 50%;
  background: #fff;
  color: #b67508;
  font-size: 0.82rem;
  font-weight: 850;
  box-shadow: 0 0.85rem 2rem rgb(4 50 76 / 6%);
}

.p-contact-form-section {
  padding: clamp(2.8rem, 4.2vw, 4.25rem) 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 82% 20%, rgb(223 243 255 / 76%), transparent 28rem),
    linear-gradient(180deg, #f8fcff 0%, #fff 100%);
}

.p-contact-form-section :where(h2, p, span, label, input, textarea, select, button) {
  font-family: inherit;
}

.p-contact-form-section__card {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}

.p-contact-form-section__grid {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: clamp(1.55rem, 2.8vw, 2.6rem);
}

.p-contact-form-section .p-contact-section-heading,
.p-contact-form-section__card {
  width: min(100%, 840px);
}

.p-contact-form-section .p-contact-section-heading {
  justify-items: center;
  text-align: center;
}

.p-contact-form-section .p-contact-section-heading h2,
.p-contact-form-section .p-contact-section-heading > p:not(.p-contact-section-heading__eyebrow) {
  justify-self: stretch;
  width: 100%;
  text-align: center;
}

.p-contact-form-section .p-contact-section-heading__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
  font-weight: 600;
}

.p-contact-form-section .p-contact-section-heading__eyebrow::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% + 0.52rem);
  display: block;
  width: 0.68rem;
  height: 0.68rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 38% 35%, #ff6b72 0 28%, #ef2f3d 55%, #b91424 100%);
  box-shadow: 0 0 0 0.26rem rgb(239 47 61 / 12%);
}

.p-contact-form-section .p-contact-section-heading h2 {
  font-family: inherit;
  font-size: clamp(2.05rem, 3.05vw, 2.72rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
}

@media (min-width: 64.01rem) {
  .p-contact-form-section .p-contact-section-heading h2 {
    white-space: nowrap;
  }
}

.p-contact-form-section__card {
  padding: clamp(1rem, 2.2vw, 1.5rem);
  border-radius: 1rem;
  background: #fff;
}

.p-contact-map {
  background: #fff;
}

.p-contact-map__info {
  display: grid;
  gap: 1rem;
  padding: clamp(1.35rem, 2.6vw, 2.2rem);
}

.p-contact-map__info address {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  font-style: normal;
}

.p-contact-map__embed {
  overflow: hidden;
  min-height: 26rem;
}

.p-contact-map__embed iframe {
  width: 100%;
  min-height: 26rem;
}

@media (max-width: 64rem) {
  .p-contact-project__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-contact-why__grid,
  .p-contact-form-section__grid,
  .p-contact-map__grid {
    grid-template-columns: 1fr;
  }

  .p-contact-timeline__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 1.5rem;
  }

  .p-contact-timeline__track::before {
    display: none;
  }
}

@media (max-width: 40rem) {
  .p-contact-project,
  .p-contact-why,
  .p-contact-timeline,
  .p-contact-form-section,
  .p-contact-map {
    padding: 3.2rem 0;
  }

  .p-contact-project__grid,
  .p-contact-timeline__track {
    grid-template-columns: 1fr;
  }

  .p-contact-project__card {
    min-height: auto;
  }

  .p-contact-map__embed,
  .p-contact-map__embed iframe {
    min-height: 22rem;
  }
}
/* CONS-01 Mobile Experience Guard */
@media (max-width: 40rem) {
  .p-contact-section-heading,
  .p-contact-section-heading--center,
  .p-contact-map__info {
    max-width: calc(100vw - 2rem);
  }

  .p-contact-section-heading h2,
  .p-contact-map__info h2 {
    font-size: clamp(1.9rem, 8.6vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
    overflow-wrap: break-word;
  }

  .p-contact-section-heading p,
  .p-contact-map__info p,
  .p-contact-map__hours {
    font-size: 0.98rem;
    overflow-wrap: break-word;
  }

  .p-contact-project .srcosme-container,
  .p-contact-why .srcosme-container,
  .p-contact-timeline .srcosme-container,
  .p-contact-form-section .srcosme-container,
  .p-contact-map .srcosme-container {
    max-width: calc(100vw - 2rem);
  }
}
/* CONS-01 Mobile Copy Width Lock */
@media (max-width: 40rem) {
  .p-contact-section-heading--center,
  .p-contact-section-heading--center > * {
    width: min(100%, calc(100vw - 2rem));
    max-width: min(100%, calc(100vw - 2rem));
  }

  .p-contact-section-heading--center p {
    margin-right: auto;
    margin-left: auto;
    white-space: normal;
    overflow-wrap: break-word;
  }
}
/* CONS-01 Project Intro Mobile Wrap */
@media (max-width: 40rem) {
  .p-contact-project .p-contact-section-heading--center p {
    width: min(100%, 19.5rem) !important;
    max-width: 19.5rem !important;
  }
}
/* Contact Visit & Maps Premium Polish */
.p-contact-map {
  padding: clamp(3.8rem, 5.4vw, 5.4rem) 0 clamp(4.6rem, 6.2vw, 6.4rem);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 86% 12%, rgb(223 243 255 / 64%), transparent 24rem),
    radial-gradient(circle at 10% 78%, rgb(248 211 107 / 10%), transparent 22rem),
    linear-gradient(180deg, #fff 0%, #f8fcff 100%);
}

.p-contact-map :where(h2, p, span, a, address, div) {
  font-family: inherit;
}

.p-contact-map__grid {
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  align-items: stretch;
  gap: clamp(1.5rem, 1.9vw, 1.75rem);
}

.p-contact-map__info,
.p-contact-map__embed {
  min-height: clamp(38.75rem, 43vw, 41.75rem);
  border: 1px solid rgb(0 119 182 / 13%);
  border-radius: clamp(1.15rem, 1.8vw, 1.55rem);
  background: rgb(255 255 255 / 90%);
  box-shadow: 0 1.25rem 3.5rem rgb(4 50 76 / 8%);
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.p-contact-map__info {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: clamp(0.56rem, 0.8vw, 0.78rem);
  overflow: hidden;
  padding: clamp(1.35rem, 1.85vw, 1.7rem);
}

.p-contact-map__info::before {
  content: "";
  position: absolute;
  inset: auto -18% -20% 22%;
  z-index: -1;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(223 243 255 / 58%), transparent 68%);
  pointer-events: none;
}

.p-contact-map__info h2 {
  max-width: 100%;
  font-size: clamp(2.25rem, 2.85vw, 2.75rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: 0;
}

.p-contact-map .p-contact-section-heading__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.52rem;
  font-size: clamp(0.8rem, 0.78vw, 0.9rem);
  font-weight: 600;
  letter-spacing: 0.16em;
}

.p-contact-map .p-contact-section-heading__eyebrow::before {
  content: "";
  display: inline-block;
  width: 0.68rem;
  height: 0.68rem;
  flex: 0 0 0.68rem;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 35%, #ff6b72 0 28%, #ef2f3d 55%, #b91424 100%);
  box-shadow: 0 0 0 0.26rem rgb(239 47 61 / 12%);
}

.p-contact-map__lead {
  max-width: 29rem;
  color: rgb(48 68 80 / 78%);
  font-size: clamp(0.96rem, 0.9vw, 1rem);
  font-weight: 400;
  line-height: 1.55;
}

.p-contact-map__list {
  display: grid;
  gap: 0;
  margin-top: 0.08rem;
  padding: 0.1rem 0;
}

.p-contact-map__item {
  display: grid;
  grid-template-columns: 2.45rem minmax(0, 1fr);
  align-items: flex-start;
  gap: 0.72rem;
  padding: 0.56rem 0;
  border: 0;
  border-bottom: 1px solid rgb(0 119 182 / 12%);
  border-radius: 0;
  background: transparent;
}

.p-contact-map__item:last-child {
  border-bottom: 0;
}

.p-contact-map__item-icon {
  display: inline-grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  margin-top: 0.12rem;
  border: 1px solid rgb(0 119 182 / 12%);
  border-radius: 50%;
  background: linear-gradient(145deg, rgb(223 243 255 / 92%), rgb(255 255 255 / 90%));
  color: #0077b6;
}

.p-contact-map__item-icon svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.p-contact-map__item-body {
  min-width: 0;
}

.p-contact-map__item-label {
  display: block;
  margin-bottom: 0.12rem;
  color: rgb(48 68 80 / 68%);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.3;
  text-transform: none;
}

.p-contact-map__item-value,
.p-contact-map__item address {
  display: block;
  margin: 0;
  color: #04324c;
  font-size: clamp(0.94rem, 0.9vw, 0.98rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

a.p-contact-map__item-value {
  text-decoration: none;
}

a.p-contact-map__item-value:hover,
a.p-contact-map__item-value:focus-visible {
  color: #0077b6;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.p-contact-map__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.58rem;
  margin-top: clamp(0.78rem, 1.1vw, 1rem);
  padding-top: 0;
}

.p-contact-map__button {
  display: inline-flex;
  min-height: 2.85rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 999px;
  font-size: clamp(0.875rem, 0.86vw, 0.94rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.p-contact-map__button span {
  transition: transform var(--transition-fast);
}

.p-contact-map__button--primary {
  width: 100%;
  padding: 0.84rem 1.2rem;
  border: 1px solid rgb(0 119 182 / 22%);
  background: linear-gradient(135deg, #0077b6 0%, #0099c7 100%);
  color: #fff;
  box-shadow: 0 0.9rem 2rem rgb(0 119 182 / 20%);
}

.p-contact-map__button--secondary {
  width: 100%;
  min-height: 2.85rem;
  padding: 0.84rem 1.2rem;
  border: 1px solid rgb(0 119 182 / 18%);
  background: rgb(255 255 255 / 92%);
  color: #0077b6;
}

.p-contact-map__button:hover,
.p-contact-map__button:focus-visible {
  transform: translateY(-2px);
}

.p-contact-map__button:hover span,
.p-contact-map__button:focus-visible span {
  transform: translateX(3px);
}

.p-contact-map__button:focus-visible,
.p-contact-map__item a:focus-visible {
  outline: 3px solid rgb(248 211 107 / 72%);
  outline-offset: 3px;
}

.p-contact-map__embed {
  position: relative;
  overflow: hidden;
  padding: 0;
  background:
    linear-gradient(135deg, rgb(223 243 255 / 70%), rgb(255 255 255 / 92%));
}

.p-contact-map__embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.p-contact-map + .c-cta {
  margin-top: clamp(1rem, 1.8vw, 1.5rem);
}

@media (min-width: 64.01rem) {
  .p-contact-map__info h2 {
    font-size: clamp(2.25rem, 2.35vw, 2.65rem);
    white-space: nowrap;
  }
}

.p-contact-map__info:hover,
.p-contact-map__info:focus-within,
.p-contact-map__embed:hover,
.p-contact-map__embed:focus-within {
  border-color: rgb(0 119 182 / 20%);
  box-shadow: 0 1.55rem 4.25rem rgb(4 50 76 / 11%);
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-map__info,
  .p-contact-map__embed,
  .p-contact-map__button,
  .p-contact-map__button span {
    transition: none;
  }

  .p-contact-map__button:hover,
  .p-contact-map__button:focus-visible,
  .p-contact-map__button:hover span,
  .p-contact-map__button:focus-visible span {
    transform: none;
  }
}

@media (max-width: 64rem) {
  .p-contact-map__grid {
    grid-template-columns: 1fr;
  }

  .p-contact-map__info {
    min-height: auto;
  }

  .p-contact-map__embed {
    min-height: clamp(27.5rem, 54vw, 31.25rem);
  }

  .p-contact-map__info h2 {
    max-width: 100%;
  }
}

@media (max-width: 40rem) {
  .p-contact-map {
    padding: 3.2rem 0 4.4rem;
  }

  .p-contact-map__info,
  .p-contact-map__embed {
    border-radius: 1.1rem;
  }

  .p-contact-map__info {
    max-width: none;
    padding: 1.5rem;
  }

  .p-contact-map__info h2 {
    font-size: clamp(2rem, 8.8vw, 2.25rem);
  }

  .p-contact-map__item {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    padding: 0.72rem 0;
  }

  .p-contact-map__item-icon {
    width: 2.15rem;
    height: 2.15rem;
  }

  .p-contact-map__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .p-contact-map__button {
    width: 100%;
    min-height: 3.1rem;
  }

  .p-contact-map__embed,
  .p-contact-map__embed iframe {
    min-height: clamp(21.25rem, 100vw, 26.25rem);
  }
}
/* CONS-01 Hero Art Director Final Polish */
.p-contact-consultation-hero {
  min-height: clamp(57.5rem, 68vw, 61.25rem);
  display: flex;
  align-items: center;
  padding-top: clamp(4.5rem, 6.6vw, 6.25rem);
  padding-bottom: clamp(4.5rem, 6.6vw, 6.25rem);
  background:
    radial-gradient(ellipse at 73% 44%, rgb(218 240 255 / 76%) 0%, rgb(218 240 255 / 46%) 28%, transparent 58%),
    radial-gradient(circle at 43% 76%, rgb(248 211 107 / 18%) 0%, transparent 34%),
    radial-gradient(circle at 13% 18%, rgb(255 255 255 / 96%) 0%, transparent 38%),
    linear-gradient(135deg, #ffffff 0%, #f9fdff 42%, #edf8ff 100%);
}

.p-contact-consultation-hero::before {
  inset: -8rem auto auto -8rem;
  width: 28rem;
  height: 28rem;
  background:
    radial-gradient(circle, rgb(0 119 182 / 5%) 1px, transparent 1.5px),
    radial-gradient(circle, rgb(0 119 182 / 6%), transparent 68%);
  background-size: 16px 16px, auto;
  opacity: 0.42;
}

.p-contact-consultation-hero::after {
  inset: auto -12rem -10rem auto;
  width: 54rem;
  height: 34rem;
  border-radius: 999px;
  background: radial-gradient(ellipse, rgb(0 119 182 / 10%), transparent 68%);
  transform: rotate(-10deg);
}

.p-contact-consultation-hero .srcosme-container {
  width: min(100% - 4rem, 86rem);
}

.p-contact-consultation-hero__grid {
  min-height: clamp(48rem, 58vw, 54rem);
  grid-template-columns: minmax(25rem, 0.4fr) minmax(0, 0.6fr);
  gap: clamp(2rem, 4vw, 4.4rem);
}

.p-contact-consultation-hero__content {
  position: relative;
  z-index: 3;
  max-width: 39rem;
  gap: clamp(1.05rem, 1.55vw, 1.35rem);
}

.p-contact-consultation-hero__content::after {
  content: "";
  width: 5.6rem;
  height: 0.18rem;
  margin-top: -0.18rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(214 154 22 / 92%), rgb(248 211 107 / 40%), transparent);
}

.p-contact-consultation-hero h1 {
  max-width: 39rem;
  font-size: clamp(3.45rem, 4.95vw, 5.05rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.p-contact-consultation-hero__lead {
  max-width: 33rem;
  line-height: 1.7;
}

.p-contact-consultation-hero__actions {
  margin-top: 0.55rem;
}

.p-contact-consultation-hero__visual {
  min-height: clamp(43rem, 52vw, 51rem);
  transform: translateX(0.6rem);
}

.p-contact-consultation-hero__visual::before {
  inset: -7% -5% -6% -12%;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 52% 42%, rgb(255 255 255 / 62%), transparent 42%),
    radial-gradient(ellipse at 58% 48%, rgb(0 119 182 / 13%), transparent 62%),
    radial-gradient(ellipse at 32% 88%, rgb(248 211 107 / 18%), transparent 48%);
  filter: blur(0);
}

.p-contact-consultation-hero__visual::after {
  inset: 3% -8% 2% -18%;
  border-radius: 52% 0 0 52% / 58% 0 0 58%;
  background:
    linear-gradient(120deg, rgb(255 255 255 / 62%) 0%, rgb(232 247 255 / 34%) 42%, rgb(255 255 255 / 0%) 100%),
    radial-gradient(ellipse at 54% 50%, rgb(255 255 255 / 22%), transparent 64%);
  box-shadow: none;
}

.p-contact-consultation-hero__visual img {
  width: min(100%, 66rem);
  max-height: clamp(41rem, 50vw, 49rem);
  border-radius: 42% 0 0 42% / 50% 0 0 50%;
  object-fit: contain;
  -webkit-mask-image: radial-gradient(ellipse at 55% 52%, #000 0%, #000 72%, rgb(0 0 0 / 68%) 82%, transparent 100%);
  mask-image: radial-gradient(ellipse at 55% 52%, #000 0%, #000 72%, rgb(0 0 0 / 68%) 82%, transparent 100%);
  filter: drop-shadow(0 2.4rem 4.2rem rgb(4 50 76 / 13%));
}

.p-contact-consultation-hero__trust {
  width: min(100%, 39rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0.58rem 0.68rem;
  border-color: rgb(255 255 255 / 62%);
  border-radius: 999px;
  background: linear-gradient(180deg, rgb(255 255 255 / 72%), rgb(255 255 255 / 52%));
  box-shadow: 0 1rem 2.8rem rgb(4 50 76 / 7%);
}

.p-contact-consultation-hero__trust-item {
  min-height: 3.35rem;
  gap: 0.38rem;
  padding: 0.2rem 0.75rem;
  font-size: 0.76rem;
  font-weight: 720;
}

.p-contact-consultation-hero__trust-icon {
  width: 2.15rem;
  height: 2.15rem;
  border-color: rgb(214 154 22 / 20%);
  background: rgb(255 255 255 / 62%);
  box-shadow: 0 0.5rem 1.2rem rgb(4 50 76 / 5%);
}

.p-contact-consultation-hero__trust-icon img {
  width: 1.52rem;
  height: 1.52rem;
}

.p-contact-consultation-hero__trust-icon svg {
  width: 1.12rem;
  height: 1.12rem;
  stroke-width: 1.45;
}

@media (max-width: 74rem) {
  .p-contact-consultation-hero__grid {
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  }

  .p-contact-consultation-hero h1 {
    font-size: clamp(2.8rem, 4.65vw, 4.2rem);
  }
}

@media (max-width: 64rem) {
  .p-contact-consultation-hero {
    min-height: auto;
    display: block;
  }

  .p-contact-consultation-hero__grid {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .p-contact-consultation-hero__visual {
    transform: none;
  }
}

@media (max-width: 40rem) {
  .p-contact-consultation-hero {
    min-height: auto;
    padding-top: 2.35rem;
    padding-bottom: 2.7rem;
  }

  .p-contact-consultation-hero__content::after {
    width: 4.2rem;
  }

  .p-contact-consultation-hero h1 {
    font-size: clamp(2.45rem, 12vw, 3.16rem);
    line-height: 1;
  }

  .p-contact-consultation-hero__trust {
    grid-template-columns: 1fr;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .p-contact-consultation-hero__trust-item {
    min-height: 4.2rem;
  }

  .p-contact-consultation-hero__visual img {
    border-radius: 1.6rem;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
/* CONS-01 Hero Art Director Refinement */
@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero__visual::before {
    inset: -8% -10% -8% -16%;
    background:
      radial-gradient(ellipse at 54% 45%, rgb(255 255 255 / 54%), transparent 40%),
      radial-gradient(ellipse at 58% 50%, rgb(0 119 182 / 14%), transparent 64%),
      radial-gradient(ellipse at 35% 88%, rgb(248 211 107 / 19%), transparent 50%);
  }

  .p-contact-consultation-hero__visual::after {
    inset: 0 -10% -1% -22%;
    border-radius: 999px;
    background:
      radial-gradient(ellipse at 52% 50%, rgb(255 255 255 / 28%), transparent 58%),
      linear-gradient(115deg, rgb(255 255 255 / 58%) 0%, rgb(232 247 255 / 34%) 46%, rgb(255 255 255 / 0%) 100%);
  }

  .p-contact-consultation-hero__visual img {
    border-radius: 42% 16% 16% 42% / 50% 22% 22% 50%;
    -webkit-mask-image: radial-gradient(ellipse at 55% 52%, #000 0%, #000 64%, rgb(0 0 0 / 76%) 78%, transparent 100%);
    mask-image: radial-gradient(ellipse at 55% 52%, #000 0%, #000 64%, rgb(0 0 0 / 76%) 78%, transparent 100%);
  }
}

@media (max-width: 64rem) {
  .p-contact-consultation-hero__visual {
    min-height: auto;
  }
}

@media (max-width: 40rem) {
  .p-contact-consultation-hero h1 {
    max-width: 21.25rem;
    font-size: clamp(2.25rem, 10.5vw, 2.82rem);
    line-height: 1.03;
  }

  .p-contact-consultation-hero__visual {
    min-height: auto !important;
    margin-top: 0.4rem;
  }

  .p-contact-consultation-hero__visual::before {
    inset: -8% -8% -2%;
  }

  .p-contact-consultation-hero__visual::after {
    inset: 6% -3% 6%;
  }
}
/* CONS-01 Hero Final Optical Polish */
@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero {
    min-height: clamp(50.5rem, 59vw, 53.75rem);
    padding-top: clamp(3.8rem, 5.4vw, 5.15rem);
    padding-bottom: clamp(3.8rem, 5.4vw, 5.15rem);
  }

  .p-contact-consultation-hero .srcosme-container {
    width: min(100% - 5.5rem, 84rem);
  }

  .p-contact-consultation-hero__grid {
    min-height: clamp(42rem, 50vw, 47rem);
    gap: clamp(2rem, 4.4vw, 4.6rem);
  }

  .p-contact-consultation-hero__content {
    gap: clamp(0.9rem, 1.35vw, 1.16rem);
  }

  .p-contact-consultation-hero h1 {
    font-size: clamp(3.2rem, 4.55vw, 4.68rem);
    line-height: 0.99;
  }

  .p-contact-consultation-hero__lead {
    max-width: 32rem;
  }

  .p-contact-consultation-hero__actions {
    margin-top: -0.15rem;
  }

  .p-contact-consultation-hero__visual {
    min-height: clamp(38rem, 47vw, 45.5rem);
    transform: translateX(2rem);
  }

  .p-contact-consultation-hero__visual img {
    width: min(95%, 62.5rem);
    max-height: clamp(38.8rem, 47.5vw, 46.5rem);
  }

  .p-contact-consultation-hero__trust {
    width: min(100%, 35.8rem);
    padding: 0.42rem 0.54rem;
  }

  .p-contact-consultation-hero__trust-item {
    min-height: 3rem;
    gap: 0.28rem;
    padding: 0.14rem 0.6rem;
    font-size: 0.7rem;
  }

  .p-contact-consultation-hero__trust-icon {
    width: 1.95rem;
    height: 1.95rem;
  }

  .p-contact-consultation-hero__trust-icon img {
    width: 1.38rem;
    height: 1.38rem;
  }

  .p-contact-consultation-hero__trust-icon svg {
    width: 1.02rem;
    height: 1.02rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-consultation-hero h1 {
    font-size: clamp(2.16rem, 10vw, 2.7rem);
  }

  .p-contact-consultation-hero__actions {
    margin-top: -0.1rem;
  }
}
/* CONS-01 Hero Foundation Grid Alignment */
.p-contact-consultation-hero .srcosme-container {
  width: min(100% - (2 * var(--container-gutter)), var(--container-width)) !important;
  max-width: var(--container-width) !important;
  margin-inline: auto;
}

@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero .srcosme-container {
    width: min(100% - (2 * var(--container-gutter)), var(--container-width)) !important;
    max-width: var(--container-width) !important;
  }

  .p-contact-consultation-hero__grid {
    grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
    gap: clamp(2rem, 4vw, 4rem);
  }

  .p-contact-consultation-hero__visual {
    transform: translateX(0);
  }
}

@media (max-width: 40rem) {
  .p-contact-consultation-hero .srcosme-container {
    width: min(100% - (2 * var(--container-gutter)), var(--container-width)) !important;
    max-width: var(--container-width) !important;
  }
}
/* CONS-01 Hero Final Polish */
@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero {
    min-height: clamp(46.5rem, 54vw, 50rem);
    padding-top: clamp(3.35rem, 4.8vw, 4.65rem);
    padding-bottom: clamp(3.35rem, 4.8vw, 4.65rem);
  }

  .p-contact-consultation-hero .srcosme-container {
    width: min(100% - (2 * var(--container-gutter)), var(--container-width)) !important;
    max-width: var(--container-width) !important;
  }

  .p-contact-consultation-hero__grid {
    min-height: clamp(39rem, 46vw, 43.5rem);
    grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
    gap: clamp(2rem, 4vw, 4rem);
  }

  .p-contact-consultation-hero__content {
    gap: clamp(0.78rem, 1.15vw, 1.02rem);
  }

  .p-contact-consultation-hero h1 {
    font-size: clamp(2.95rem, 4.08vw, 4.2rem);
    line-height: 0.965;
  }

  .p-contact-consultation-hero__lead {
    max-width: 29.5rem;
  }

  .p-contact-consultation-hero__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.9rem;
    margin-top: -0.35rem;
  }

  .p-contact-consultation-hero__button {
    width: auto !important;
    white-space: nowrap;
  }

  .p-contact-consultation-hero__trust {
    width: min(100%, 33.8rem);
    margin-top: -0.08rem;
    padding: 0.36rem 0.48rem;
  }

  .p-contact-consultation-hero__trust-item {
    min-height: 2.8rem;
    padding: 0.1rem 0.54rem;
    font-size: 0.68rem;
  }

  .p-contact-consultation-hero__trust-icon {
    width: 1.82rem;
    height: 1.82rem;
  }

  .p-contact-consultation-hero__trust-icon img {
    width: 1.28rem;
    height: 1.28rem;
  }

  .p-contact-consultation-hero__trust-icon svg {
    width: 0.98rem;
    height: 0.98rem;
  }

  .p-contact-consultation-hero__visual {
    min-height: clamp(36rem, 44vw, 42rem);
    transform: translateX(1.65rem);
  }

  .p-contact-consultation-hero__visual img {
    width: min(95%, 62.5rem);
    max-height: clamp(36rem, 44vw, 42.5rem);
  }
}

@media (max-width: 40rem) {
  .p-contact-consultation-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
/* CONS-01 Hero Laptop Visual Match */
@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero h1 {
    font-size: clamp(3rem, 3.62vw, 3.85rem);
    line-height: 0.985;
    max-width: 36rem;
  }

  .p-contact-consultation-hero__lead {
    max-width: 30rem;
  }

  .p-contact-consultation-hero__content {
    max-width: 36.5rem;
  }
}

@media (min-width: 90rem) {
  .p-contact-consultation-hero h1 {
    font-size: 3.85rem;
  }
}
/* CONS-01 Hero FAQ Scale Alignment */
@media (min-width: 64.0625rem) {
  .p-contact-consultation-hero {
    min-height: auto;
    padding-top: clamp(3.15rem, 4.3vw, 4.35rem);
    padding-bottom: clamp(3.2rem, 4.6vw, 4.75rem);
  }

  .p-contact-consultation-hero__grid {
    min-height: clamp(35.5rem, 41vw, 40.5rem);
    align-items: center;
    gap: clamp(2.6rem, 4.3vw, 4.35rem);
  }

  .p-contact-consultation-hero__content {
    max-width: 38rem;
  }

  .p-contact-consultation-hero h1 {
    max-width: 37.25rem;
    font-size: clamp(3.32rem, 3.72vw, 4.08rem);
    line-height: 1.01;
  }

  .p-contact-consultation-hero__lead {
    max-width: 31.5rem;
  }

  .p-contact-consultation-hero__visual {
    min-height: clamp(34rem, 39vw, 38.5rem);
    transform: translate(1.55rem, -0.35rem);
  }

  .p-contact-consultation-hero__visual img {
    width: min(108%, 68rem);
    max-height: clamp(33rem, 39vw, 38.75rem);
  }
}

@media (min-width: 90rem) {
  .p-contact-consultation-hero h1 {
    font-size: clamp(3.62rem, 3.24vw, 4.08rem);
  }
}
/* CONS-02 Choose Your Project Decision Cards */
.p-contact-project {
  background:
    radial-gradient(circle at 10% 10%, rgb(0 119 182 / 7%), transparent 18rem),
    radial-gradient(circle at 92% 8%, rgb(248 211 107 / 10%), transparent 20rem),
    linear-gradient(135deg, #f8fcff 0%, #ffffff 36%, #f5fbff 100%);
}

.p-contact-project::before,
.p-contact-project::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}

.p-contact-project::before {
  inset: -16rem auto auto -12rem;
  width: 36rem;
  height: 36rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgb(0 119 182 / 6%), transparent 68%);
}

.p-contact-project::after {
  right: -10rem;
  bottom: -12rem;
  width: 42rem;
  height: 30rem;
  border-radius: 999px;
  background: radial-gradient(ellipse, rgb(248 211 107 / 8%), transparent 68%);
  transform: rotate(-12deg);
}

.p-contact-project .srcosme-container {
  position: relative;
  z-index: 1;
}

.p-contact-project .p-contact-section-heading--center {
  max-width: 43rem;
}

.p-contact-project .p-contact-section-heading__eyebrow {
  color: #b88305;
}

.p-contact-project .p-contact-section-heading__eyebrow::after {
  display: block;
  width: 2.3rem;
  height: 0.14rem;
  margin: 0.82rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgb(214 154 22 / 86%), transparent);
  content: "";
}

.p-contact-project__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.78rem, 1.15vw, 1.05rem);
  margin-top: clamp(2.15rem, 3.3vw, 3rem);
}

.p-contact-project__card {
  position: relative;
  overflow: hidden;
  display: grid;
  min-height: clamp(22.75rem, 28vw, 26.25rem);
  grid-template-rows: minmax(0, 60%) minmax(0, 40%);
  gap: 0;
  padding: 0.5rem;
  border: 1px solid rgb(214 154 22 / 22%);
  border-radius: 1.18rem;
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 1rem 2.7rem rgb(4 50 76 / 7%);
  color: #04324c;
  text-align: center;
  transition: transform 230ms ease, box-shadow 230ms ease, border-color 230ms ease;
}

.p-contact-project__card::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 50% 42%, rgb(248 211 107 / 10%), transparent 52%);
  opacity: 0;
  content: "";
  transition: opacity 230ms ease;
}

.p-contact-project__card:hover,
.p-contact-project__card:focus-visible {
  border-color: rgb(214 154 22 / 58%);
  box-shadow: 0 1.45rem 3.4rem rgb(4 50 76 / 12%);
  transform: translateY(-4px);
}

.p-contact-project__card:hover::before,
.p-contact-project__card:focus-visible::before {
  opacity: 1;
}

.p-contact-project__card:focus-visible {
  outline: 3px solid rgb(0 119 182 / 18%);
  outline-offset: 4px;
}

.p-contact-project__card .p-contact-project__number {
  position: absolute;
  top: 0.82rem;
  left: 0.82rem;
  z-index: 3;
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(214 154 22 / 48%);
  border-radius: 0.82rem;
  background: rgb(255 255 255 / 90%);
  box-shadow: 0 0.65rem 1.3rem rgb(4 50 76 / 8%);
  color: #b88305;
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1;
}

.p-contact-project__card .p-contact-project__media {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 0;
  border-radius: 0.92rem 0.92rem 0.35rem 0.35rem;
  background: linear-gradient(135deg, #f6fbff 0%, #ffffff 54%, #f7fbff 100%);
  color: inherit;
}

.p-contact-project__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1);
  transition: transform 230ms ease;
}

.p-contact-project__card:hover .p-contact-project__media img,
.p-contact-project__card:focus-visible .p-contact-project__media img {
  transform: scale(1.03);
}

.p-contact-project__card .p-contact-project__body {
  position: relative;
  z-index: 1;
  display: grid;
  width: auto;
  height: auto;
  min-height: 0;
  align-content: start;
  gap: 0.48rem;
  padding: clamp(0.86rem, 1.1vw, 1.05rem) 0.35rem 0.18rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
}

.p-contact-project__card strong {
  color: #04324c;
  font-size: clamp(0.98rem, 1.05vw, 1.16rem);
  font-weight: 850;
  line-height: 1.15;
  text-transform: none;
}

.p-contact-project__card em {
  min-height: 2.85rem;
  color: rgb(48 68 80 / 78%);
  font-size: clamp(0.78rem, 0.86vw, 0.92rem);
  line-height: 1.45;
}

.p-contact-project__card .p-contact-project__cta {
  display: inline-flex;
  width: 100%;
  height: auto;
  min-height: 2.42rem;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  margin-top: auto;
  border: 1px solid rgb(214 154 22 / 48%);
  border-radius: 0.52rem;
  background: rgb(255 255 255 / 82%);
  box-shadow: none;
  color: #b88305;
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1;
  transition: border-color 230ms ease, color 230ms ease, background-color 230ms ease;
}

.p-contact-project__card .p-contact-project__cta span {
  display: inline;
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  transition: transform 230ms ease;
}

.p-contact-project__card:hover .p-contact-project__cta,
.p-contact-project__card:focus-visible .p-contact-project__cta {
  border-color: rgb(214 154 22 / 72%);
  background: rgb(248 211 107 / 9%);
  color: #946703;
}

.p-contact-project__card:hover .p-contact-project__cta span,
.p-contact-project__card:focus-visible .p-contact-project__cta span {
  transform: translateX(3px);
}

@media (max-width: 64rem) {
  .p-contact-project__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.85rem, 2vw, 1.15rem);
  }

  .p-contact-project__card {
    min-height: clamp(21.5rem, 48vw, 25rem);
  }
}

@media (max-width: 40rem) {
  .p-contact-project__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
  }

  .p-contact-project__card {
    min-height: clamp(17.5rem, 74vw, 20.5rem);
    padding: 0.36rem;
    border-radius: 0.95rem;
  }

  .p-contact-project__card .p-contact-project__number {
    top: 0.58rem;
    left: 0.58rem;
    width: 1.95rem;
    height: 1.95rem;
    border-radius: 0.7rem;
    font-size: 0.78rem;
  }

  .p-contact-project__card .p-contact-project__media {
    border-radius: 0.78rem 0.78rem 0.28rem 0.28rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.36rem;
    padding: 0.68rem 0.22rem 0.12rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.78rem, 3.45vw, 0.98rem);
  }

  .p-contact-project__card em {
    min-height: 2.25rem;
    font-size: clamp(0.68rem, 2.9vw, 0.8rem);
    line-height: 1.35;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 2.08rem;
    font-size: 0.78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-project__card,
  .p-contact-project__card::before,
  .p-contact-project__media img,
  .p-contact-project__cta,
  .p-contact-project__cta span {
    transition: none !important;
  }
}
/* CONS-02 Mobile Fit Polish */
@media (max-width: 40rem) {
  .p-contact-project .srcosme-container {
    width: min(100% - 1.15rem, 86rem);
  }

  .p-contact-project .p-contact-section-heading--center {
    max-width: 21rem;
  }

  .p-contact-project .p-contact-section-heading h2 {
    max-width: 20rem;
    margin-inline: auto;
    font-size: clamp(2rem, 8.7vw, 2.36rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-wrap: balance;
  }

  .p-contact-project .p-contact-section-heading p {
    max-width: 18rem;
    margin-inline: auto;
  }

  .p-contact-project__grid {
    gap: 0.58rem;
  }

  .p-contact-project__card {
    min-width: 0;
  }
}
/* CONS-02 Mobile Two Column Guard */
@media (max-width: 40rem) {
  .p-contact-project .srcosme-container {
    width: min(100% - 2rem, 86rem);
    padding-right: 0;
    padding-left: 0;
  }

  .p-contact-project__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
  }

  .p-contact-project__card,
  .p-contact-project__card * {
    box-sizing: border-box;
    min-width: 0;
  }

  .p-contact-project__card {
    min-height: clamp(16.75rem, 69vw, 19.25rem);
  }

  .p-contact-project__card em {
    min-height: 2.05rem;
    font-size: clamp(0.64rem, 2.72vw, 0.76rem);
  }
}
/* CONS-02 Fix Before Lock */
.p-contact-project {
  padding-top: clamp(2.7rem, 4vw, 4.05rem);
  padding-bottom: clamp(2.8rem, 4.15vw, 4.15rem);
}

.p-contact-project,
.p-contact-project * {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-contact-project .p-contact-section-heading--center {
  max-width: 38rem;
  gap: 0.54rem;
}

.p-contact-project .p-contact-section-heading__eyebrow {
  font-size: clamp(0.66rem, 0.68vw, 0.72rem);
  font-weight: 820;
  letter-spacing: 0.17em;
}

.p-contact-project .p-contact-section-heading__eyebrow::after {
  width: 1.9rem;
  height: 0.12rem;
  margin-top: 0.64rem;
}

.p-contact-project .p-contact-section-heading h2 {
  font-size: clamp(2rem, 2.45vw, 2.72rem);
  font-weight: 790;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.p-contact-project .p-contact-section-heading p {
  max-width: 35rem;
  margin-inline: auto;
  font-size: clamp(0.92rem, 0.94vw, 1rem);
  line-height: 1.62;
}

.p-contact-project__grid {
  gap: clamp(0.65rem, 0.92vw, 0.88rem);
  margin-top: clamp(1.35rem, 2.1vw, 2rem);
}

.p-contact-project__card {
  min-height: clamp(18rem, 21vw, 20.6rem);
  grid-template-rows: minmax(0, 55%) minmax(0, 45%);
  padding: 0.42rem;
  border-radius: 1rem;
}

.p-contact-project__card .p-contact-project__number {
  top: 0.66rem;
  left: 0.66rem;
  width: 2rem;
  height: 2rem;
  border-radius: 0.68rem;
  font-size: 0.78rem;
  font-weight: 820;
}

.p-contact-project__card .p-contact-project__media {
  border-radius: 0.78rem 0.78rem 0.28rem 0.28rem;
}

.p-contact-project__media img {
  object-fit: cover;
}

.p-contact-project__card .p-contact-project__body {
  gap: 0.34rem;
  padding: clamp(0.6rem, 0.78vw, 0.78rem) 0.26rem 0.08rem;
}

.p-contact-project__card strong {
  font-size: clamp(0.86rem, 0.88vw, 1rem);
  font-weight: 780;
  line-height: 1.16;
}

.p-contact-project__card em {
  min-height: 2.05rem;
  font-size: clamp(0.7rem, 0.74vw, 0.82rem);
  line-height: 1.38;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 2rem;
  border-radius: 0.46rem;
  font-size: clamp(0.74rem, 0.78vw, 0.84rem);
  font-weight: 820;
}

@media (max-width: 64rem) {
  .p-contact-project {
    padding-top: clamp(2.55rem, 5vw, 3.5rem);
    padding-bottom: clamp(2.65rem, 5.2vw, 3.65rem);
  }

  .p-contact-project__card {
    min-height: clamp(17rem, 40vw, 20rem);
  }
}

@media (max-width: 40rem) {
  .p-contact-project {
    padding-top: 2.55rem;
    padding-bottom: 2.75rem;
  }

  .p-contact-project .p-contact-section-heading--center {
    max-width: 20.5rem;
    gap: 0.5rem;
  }

  .p-contact-project .p-contact-section-heading__eyebrow {
    font-size: 0.64rem;
  }

  .p-contact-project .p-contact-section-heading h2 {
    max-width: 19rem;
    font-size: clamp(1.82rem, 7.6vw, 2.14rem);
    line-height: 1.08;
  }

  .p-contact-project .p-contact-section-heading p {
    max-width: 17.5rem;
    font-size: 0.88rem;
    line-height: 1.58;
  }

  .p-contact-project__grid {
    gap: 0.48rem;
    margin-top: 1.35rem;
  }

  .p-contact-project__card {
    min-height: clamp(15.4rem, 63vw, 17.4rem);
    grid-template-rows: minmax(0, 55%) minmax(0, 45%);
    padding: 0.32rem;
    border-radius: 0.86rem;
  }

  .p-contact-project__card .p-contact-project__number {
    top: 0.48rem;
    left: 0.48rem;
    width: 1.68rem;
    height: 1.68rem;
    border-radius: 0.56rem;
    font-size: 0.68rem;
  }

  .p-contact-project__card .p-contact-project__media {
    border-radius: 0.66rem 0.66rem 0.24rem 0.24rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.24rem;
    padding: 0.5rem 0.16rem 0.06rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.72rem, 3.05vw, 0.86rem);
  }

  .p-contact-project__card em {
    min-height: 1.75rem;
    font-size: clamp(0.6rem, 2.48vw, 0.7rem);
    line-height: 1.32;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.76rem;
    font-size: 0.68rem;
  }
}
/* CONS-02 Card Polish Before Lock */
.p-contact-project__grid {
  gap: clamp(0.55rem, 0.78vw, 0.75rem);
}

.p-contact-project__card {
  height: clamp(15.6rem, 18vw, 17.6rem);
  min-height: 0;
  grid-template-rows: 57% 43%;
  padding: 0.36rem;
}

.p-contact-project__card .p-contact-project__media {
  padding: clamp(0.35rem, 0.55vw, 0.55rem);
  background: linear-gradient(135deg, #fbfaf5 0%, #ffffff 52%, #f8fcff 100%);
}

.p-contact-project__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
}

.p-contact-project__card:hover .p-contact-project__media img,
.p-contact-project__card:focus-visible .p-contact-project__media img {
  transform: scale(1.018);
}

.p-contact-project__card .p-contact-project__body {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  justify-content: flex-start;
  padding: clamp(0.42rem, 0.55vw, 0.58rem) 0.22rem 0.04rem;
}

.p-contact-project__card strong {
  font-size: clamp(0.78rem, 0.78vw, 0.92rem);
  font-weight: 760;
  line-height: 1.14;
}

.p-contact-project__card em {
  min-height: 0;
  margin: 0 auto;
  color: rgb(48 68 80 / 76%);
  font-size: clamp(0.64rem, 0.66vw, 0.74rem);
  line-height: 1.32;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 1.62rem;
  margin-top: 0.4rem;
  border-radius: 0.4rem;
  font-size: clamp(0.66rem, 0.68vw, 0.76rem);
  line-height: 1;
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    height: clamp(15.25rem, 35vw, 17.4rem);
    min-height: 0;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__grid {
    gap: 0.45rem;
  }

  .p-contact-project__card {
    height: clamp(13.9rem, 57vw, 15.7rem);
    min-height: 0;
    padding: 0.28rem;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.3rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.18rem;
    padding: 0.38rem 0.12rem 0.02rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.68rem, 2.86vw, 0.8rem);
  }

  .p-contact-project__card em {
    font-size: clamp(0.55rem, 2.28vw, 0.64rem);
    line-height: 1.26;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.5rem;
    margin-top: 0.3rem;
    font-size: 0.62rem;
  }
}
/* CONS-02 Premium Reference Alignment */
.p-contact-project {
  padding-top: clamp(2.45rem, 3.65vw, 3.65rem);
  padding-bottom: clamp(2.65rem, 3.9vw, 3.9rem);
  background:
    radial-gradient(circle at 10% 8%, rgb(0 119 182 / 7%), transparent 17rem),
    radial-gradient(circle at 94% 8%, rgb(248 211 107 / 9%), transparent 19rem),
    linear-gradient(135deg, #f7fcff 0%, #ffffff 34%, #f7fbff 100%);
}

.p-contact-project .p-contact-section-heading--center {
  max-width: 40rem;
}

.p-contact-project .p-contact-section-heading h2 {
  font-size: clamp(2.18rem, 2.65vw, 3rem);
  font-weight: 800;
  line-height: 1.06;
}

.p-contact-project .p-contact-section-heading p {
  max-width: 35.5rem;
  color: rgb(48 68 80 / 74%);
}

.p-contact-project__grid {
  gap: clamp(0.72rem, 0.9vw, 0.92rem);
  margin-top: clamp(1.45rem, 2.25vw, 2.15rem);
}

.p-contact-project__card {
  height: clamp(19.6rem, 22vw, 21.85rem);
  grid-template-rows: 61% 39%;
  padding: 0.42rem;
  border-color: rgb(214 154 22 / 24%);
  background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(255 255 255 / 88%));
  box-shadow: 0 1rem 2.4rem rgb(4 50 76 / 6%);
}

.p-contact-project__card .p-contact-project__number {
  top: 0.72rem;
  left: 0.72rem;
  width: 2.12rem;
  height: 2.12rem;
  border-radius: 0.7rem;
  background: rgb(255 255 255 / 92%);
}

.p-contact-project__card .p-contact-project__media {
  padding: 0;
  overflow: hidden;
  border-radius: 0.78rem 0.78rem 0.24rem 0.24rem;
  background: #fbfaf6;
}

.p-contact-project__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.p-contact-project__card:hover .p-contact-project__media img,
.p-contact-project__card:focus-visible .p-contact-project__media img {
  transform: scale(1.025);
}

.p-contact-project__card .p-contact-project__body {
  justify-content: start;
  gap: 0.3rem;
  padding: clamp(0.58rem, 0.7vw, 0.72rem) 0.32rem 0.08rem;
}

.p-contact-project__card strong {
  font-size: clamp(0.88rem, 0.86vw, 1rem);
  font-weight: 800;
  line-height: 1.12;
}

.p-contact-project__card em {
  max-width: 14.5rem;
  min-height: 2.1rem;
  font-size: clamp(0.69rem, 0.7vw, 0.8rem);
  line-height: 1.34;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 1.9rem;
  margin-top: auto;
  border-color: rgb(214 154 22 / 52%);
  background: rgb(255 255 255 / 86%);
  font-size: clamp(0.72rem, 0.72vw, 0.82rem);
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    height: clamp(18.2rem, 41vw, 21rem);
    grid-template-rows: 60% 40%;
  }
}

@media (max-width: 40rem) {
  .p-contact-project {
    padding-top: 2.65rem;
    padding-bottom: 2.9rem;
  }

  .p-contact-project .p-contact-section-heading h2 {
    font-size: clamp(1.9rem, 7.9vw, 2.2rem);
  }

  .p-contact-project__grid {
    gap: 0.56rem;
  }

  .p-contact-project__card {
    height: clamp(15.6rem, 64vw, 17.5rem);
    grid-template-rows: 59% 41%;
    padding: 0.32rem;
  }

  .p-contact-project__card .p-contact-project__number {
    width: 1.74rem;
    height: 1.74rem;
    font-size: 0.68rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.2rem;
    padding: 0.42rem 0.14rem 0.04rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.7rem, 2.95vw, 0.84rem);
  }

  .p-contact-project__card em {
    max-width: 8.6rem;
    min-height: 1.7rem;
    font-size: clamp(0.56rem, 2.35vw, 0.66rem);
    line-height: 1.27;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.55rem;
    font-size: 0.62rem;
  }
}
/* CONS-02 Image No-Crop Fix */
.p-contact-project__card {
  grid-template-rows: 58% 42%;
}

.p-contact-project__card .p-contact-project__media {
  padding: clamp(0.35rem, 0.45vw, 0.5rem);
  background:
    radial-gradient(circle at 50% 42%, rgb(248 211 107 / 7%), transparent 56%),
    linear-gradient(135deg, #fbfaf6 0%, #ffffff 54%, #f8fcff 100%);
}

.p-contact-project__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.p-contact-project__card:hover .p-contact-project__media img,
.p-contact-project__card:focus-visible .p-contact-project__media img {
  transform: scale(1.012);
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    grid-template-rows: 58% 42%;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.38rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__card {
    grid-template-rows: 57% 43%;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.28rem;
  }
}
/* CONS-02 Premium Reference Scale Lock */
.p-contact-project__grid {
  gap: clamp(0.82rem, 1vw, 1.05rem);
}

.p-contact-project__card {
  height: clamp(24.75rem, 27.4vw, 27.25rem);
  grid-template-rows: 62% 38%;
  padding: 0.48rem;
  border-radius: 1.08rem;
}

.p-contact-project__card .p-contact-project__media {
  padding: clamp(0.22rem, 0.32vw, 0.36rem);
  border-radius: 0.86rem 0.86rem 0.32rem 0.32rem;
  background:
    radial-gradient(circle at 50% 42%, rgb(248 211 107 / 5%), transparent 58%),
    linear-gradient(135deg, #fbfaf6 0%, #ffffff 52%, #f8fcff 100%);
}

.p-contact-project__media img {
  object-fit: contain;
  object-position: center center;
}

.p-contact-project__card .p-contact-project__body {
  gap: 0.36rem;
  padding: clamp(0.72rem, 0.86vw, 0.92rem) 0.36rem 0.14rem;
}

.p-contact-project__card strong {
  font-size: clamp(0.92rem, 0.92vw, 1.08rem);
  font-weight: 800;
  line-height: 1.13;
}

.p-contact-project__card em {
  max-width: 15.25rem;
  font-size: clamp(0.72rem, 0.74vw, 0.84rem);
  line-height: 1.36;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 2.05rem;
  margin-top: auto;
  font-size: clamp(0.76rem, 0.76vw, 0.86rem);
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    height: clamp(22.5rem, 49vw, 25.5rem);
    grid-template-rows: 61% 39%;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__grid {
    gap: 0.58rem;
  }

  .p-contact-project__card {
    height: clamp(17.7rem, 73vw, 20.25rem);
    grid-template-rows: 60% 40%;
    padding: 0.34rem;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.2rem;
    border-radius: 0.72rem 0.72rem 0.24rem 0.24rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.22rem;
    padding: 0.5rem 0.16rem 0.06rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.74rem, 3.15vw, 0.9rem);
  }

  .p-contact-project__card em {
    max-width: 8.85rem;
    font-size: clamp(0.58rem, 2.42vw, 0.68rem);
    line-height: 1.28;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.65rem;
    font-size: 0.64rem;
  }
}
/* CONS-02 Product Card Final Visual Polish */
.p-contact-project__card {
  height: clamp(24.2rem, 27vw, 27rem);
  grid-template-rows: 68% 32%;
  padding: 0.48rem;
}

.p-contact-project__card .p-contact-project__media {
  padding: 0.75rem;
  background:
    radial-gradient(circle at 50% 42%, rgb(248 211 107 / 5%), transparent 58%),
    linear-gradient(135deg, #fbfaf6 0%, #ffffff 52%, #f8fcff 100%);
}

.p-contact-project__media img {
  object-fit: cover;
  object-position: center top;
}

.p-contact-project__card:hover .p-contact-project__media img,
.p-contact-project__card:focus-visible .p-contact-project__media img {
  transform: scale(1.018);
}

.p-contact-project__card .p-contact-project__body {
  gap: 0.26rem;
  justify-content: start;
  padding: clamp(0.54rem, 0.66vw, 0.72rem) 0.34rem 0.02rem;
}

.p-contact-project__card strong {
  font-size: clamp(0.88rem, 0.88vw, 1rem);
  line-height: 1.12;
}

.p-contact-project__card em {
  display: -webkit-box;
  max-width: 14.75rem;
  min-height: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(0.68rem, 0.68vw, 0.78rem);
  line-height: 1.3;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 1.82rem;
  margin-top: 0.35rem;
  font-size: clamp(0.72rem, 0.72vw, 0.8rem);
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    height: clamp(22rem, 48vw, 25rem);
    grid-template-rows: 67% 33%;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.62rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__card {
    height: clamp(17.2rem, 71vw, 19.5rem);
    grid-template-rows: 66% 34%;
    padding: 0.34rem;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.42rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.16rem;
    padding: 0.36rem 0.14rem 0.02rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.7rem, 3vw, 0.84rem);
  }

  .p-contact-project__card em {
    max-width: 8.6rem;
    font-size: clamp(0.54rem, 2.28vw, 0.64rem);
    line-height: 1.24;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.48rem;
    margin-top: 0.26rem;
    font-size: 0.6rem;
  }
}
/* CONS-02 Product Image Fill Polish */
.p-contact-project__card {
  height: clamp(24.6rem, 27.6vw, 27.8rem);
  grid-template-rows: 70% 30%;
  padding: 0.42rem;
}

.p-contact-project__card .p-contact-project__media {
  padding: 0.28rem;
  border-radius: 1rem 1rem 0.36rem 0.36rem;
  background: linear-gradient(135deg, #fbfaf6 0%, #ffffff 48%, #f7fbff 100%);
}

.p-contact-project__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 0.82rem 0.82rem 0.26rem 0.26rem;
}

.p-contact-project__card:hover .p-contact-project__media img,
.p-contact-project__card:focus-visible .p-contact-project__media img {
  transform: scale(1.012);
}

.p-contact-project__card .p-contact-project__body {
  gap: 0.2rem;
  padding: 0.52rem 0.28rem 0.02rem;
}

.p-contact-project__card strong {
  font-size: clamp(0.88rem, 0.9vw, 1.02rem);
  line-height: 1.1;
}

.p-contact-project__card em {
  max-width: 15rem;
  line-height: 1.26;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 1.72rem;
  margin-top: 0.24rem;
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    height: clamp(22.8rem, 50vw, 25.6rem);
    grid-template-rows: 69% 31%;
    padding: 0.38rem;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.24rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__card {
    height: clamp(17.8rem, 74vw, 20.4rem);
    grid-template-rows: 68% 32%;
    padding: 0.3rem;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.16rem;
    border-radius: 0.78rem 0.78rem 0.24rem 0.24rem;
  }

  .p-contact-project__media img {
    border-radius: 0.66rem 0.66rem 0.22rem 0.22rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.14rem;
    padding: 0.34rem 0.12rem 0.02rem;
  }

  .p-contact-project__card em {
    max-width: 8.7rem;
    line-height: 1.22;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.42rem;
    margin-top: 0.18rem;
  }
}
/* CONS-02 Product Photo Badge Alignment Polish */
.p-contact-project__card {
  grid-template-rows: 72% 28%;
}

.p-contact-project__card .p-contact-project__media {
  padding: 0.12rem;
}

.p-contact-project__media img {
  border-radius: 0.86rem 0.86rem 0.24rem 0.24rem;
}

.p-contact-project__card .p-contact-project__number {
  top: 0.84rem;
  left: 0.84rem;
  z-index: 3;
}

.p-contact-project__card .p-contact-project__body {
  gap: 0.16rem;
  padding-top: 0.42rem;
}

.p-contact-project__card .p-contact-project__cta {
  margin-top: 0.18rem;
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    grid-template-rows: 71% 29%;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.1rem;
  }

  .p-contact-project__card .p-contact-project__number {
    top: 0.72rem;
    left: 0.72rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__card {
    grid-template-rows: 70% 30%;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.08rem;
  }

  .p-contact-project__card .p-contact-project__number {
    top: 0.54rem;
    left: 0.54rem;
  }

  .p-contact-project__card .p-contact-project__body {
    padding-top: 0.28rem;
  }
}
/* CONS-02 Product Card Height Fix */
.p-contact-project__card {
  height: clamp(21.5rem, 23vw, 23.8rem);
  grid-template-rows: 70% 30%;
  padding: 0.38rem;
}

.p-contact-project__card .p-contact-project__media {
  padding: 0.1rem;
}

.p-contact-project__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.p-contact-project__card .p-contact-project__body {
  display: grid;
  align-content: start;
  justify-content: stretch;
  gap: 0.36rem;
  padding: 0.66rem 0.72rem 0.5rem;
}

.p-contact-project__card strong {
  font-size: clamp(1rem, 1vw, 1.12rem);
  line-height: 1.15;
  margin-bottom: 0;
}

.p-contact-project__card em {
  display: -webkit-box;
  max-width: 100%;
  min-height: 0;
  margin-bottom: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.86rem;
  line-height: 1.35;
}

.p-contact-project__card .p-contact-project__cta {
  min-height: 2.15rem;
  margin-top: 0.12rem;
  padding-block: 0.45rem;
}

.p-contact-project__card .p-contact-project__number {
  top: 0.72rem;
  left: 0.72rem;
}

@media (max-width: 64rem) {
  .p-contact-project__card {
    height: clamp(21.2rem, 47vw, 24rem);
    grid-template-rows: 69% 31%;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.3rem;
    padding: 0.58rem 0.56rem 0.42rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__card {
    height: clamp(16.9rem, 70vw, 19rem);
    grid-template-rows: 68% 32%;
    padding: 0.28rem;
  }

  .p-contact-project__card .p-contact-project__media {
    padding: 0.08rem;
  }

  .p-contact-project__card .p-contact-project__body {
    gap: 0.16rem;
    padding: 0.32rem 0.16rem 0.24rem;
  }

  .p-contact-project__card strong {
    font-size: clamp(0.72rem, 3vw, 0.88rem);
    line-height: 1.12;
  }

  .p-contact-project__card em {
    font-size: clamp(0.56rem, 2.35vw, 0.66rem);
    line-height: 1.24;
  }

  .p-contact-project__card .p-contact-project__cta {
    min-height: 1.5rem;
    margin-top: 0.1rem;
    padding-block: 0.28rem;
    font-size: 0.62rem;
  }

  .p-contact-project__card .p-contact-project__number {
    top: 0.48rem;
    left: 0.48rem;
  }
}
/* CONS-02 Final Optical Balance */
.p-contact-project__card .p-contact-project__body {
  display: flex;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.24rem;
  padding: 0.46rem 0.72rem 0.1rem;
}

.p-contact-project__card strong,
.p-contact-project__card em {
  flex: 0 0 auto;
}

.p-contact-project__card .p-contact-project__cta {
  flex: 0 0 auto;
  margin-top: auto;
  margin-bottom: 0;
}

@media (max-width: 64rem) {
  .p-contact-project__card .p-contact-project__body {
    gap: 0.22rem;
    padding: 0.42rem 0.56rem 0.1rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-project__card .p-contact-project__body {
    gap: 0.12rem;
    padding: 0.26rem 0.16rem 0.08rem;
  }

  .p-contact-project__card .p-contact-project__cta {
    margin-top: auto;
  }
}
/* CONS-03 What You'll Get */
.p-contact-get {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 6.5rem) 0;
  background:
    radial-gradient(circle at 14% 12%, rgb(42 149 211 / 10%), transparent 34%),
    radial-gradient(circle at 86% 84%, rgb(248 211 107 / 12%), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #fbfdff 46%, #fffdf8 100%);
}

.p-contact-get::before,
.p-contact-get::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}

.p-contact-get::before {
  inset: 9% auto auto -7rem;
  width: 24rem;
  height: 24rem;
  border-radius: 999px;
  background: rgb(42 149 211 / 7%);
  filter: blur(2px);
}

.p-contact-get::after {
  right: -9rem;
  bottom: -10rem;
  width: 30rem;
  height: 30rem;
  border-radius: 999px;
  background: rgb(248 211 107 / 9%);
}

.p-contact-get__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  gap: clamp(2.1rem, 4vw, 4.5rem);
  align-items: center;
}

.p-contact-get__visual {
  position: relative;
  min-height: clamp(28rem, 42vw, 43rem);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgb(248 211 107 / 32%);
  border-radius: clamp(1.5rem, 2vw, 2rem);
  background: #fff;
  box-shadow: 0 24px 70px rgb(4 50 76 / 12%);
}

.p-contact-get__visual::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 24%), transparent 34%),
    radial-gradient(circle at 18% 18%, rgb(255 255 255 / 42%), transparent 24%);
  content: "";
  pointer-events: none;
}

.p-contact-get__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}

.p-contact-get__content {
  display: grid;
  gap: clamp(1.65rem, 2.6vw, 2.4rem);
}

.p-contact-get__heading {
  max-width: 38rem;
  margin-inline: auto;
  text-align: center;
}

.p-contact-get__heading .p-contact-section-heading__eyebrow {
  color: #b47a00;
}

.p-contact-get__heading h2 {
  max-width: 34rem;
  margin-inline: auto;
  color: #062f4a;
  font-family: inherit;
  font-size: clamp(2.4rem, 3.9vw, 4.6rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.06;
}

.p-contact-get__heading p {
  max-width: 36rem;
  margin-inline: auto;
  color: rgb(4 50 76 / 72%);
  font-size: clamp(1rem, 1.08vw, 1.18rem);
  line-height: 1.72;
}

.p-contact-get__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 1.35vw, 1.25rem);
}

.p-contact-get__card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.95rem, 1.25vw, 1.2rem);
  min-height: clamp(9.6rem, 10vw, 11.2rem);
  align-items: center;
  padding: clamp(1.15rem, 1.5vw, 1.45rem);
  overflow: hidden;
  border: 1px solid rgb(248 211 107 / 34%);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 20% 22%, rgb(248 211 107 / 8%), transparent 34%),
    rgb(255 255 255 / 92%);
  box-shadow: 0 16px 40px rgb(4 50 76 / 7%);
  transition: transform 230ms ease, border-color 230ms ease, box-shadow 230ms ease;
}

.p-contact-get__card:hover {
  transform: translateY(-2px);
  border-color: rgb(214 154 22 / 58%);
  box-shadow: 0 22px 52px rgb(4 50 76 / 11%);
}

.p-contact-get__number {
  position: absolute;
  top: 0.82rem;
  right: 0.86rem;
  display: inline-flex;
  width: 2.15rem;
  height: 2.15rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(214 154 22 / 50%);
  border-radius: 999px;
  background: rgb(255 255 255 / 82%);
  color: #b47a00;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 10px 24px rgb(248 211 107 / 16%);
}

.p-contact-get__icon {
  display: inline-flex;
  width: clamp(4rem, 4.7vw, 5.1rem);
  height: clamp(4rem, 4.7vw, 5.1rem);
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(214 154 22 / 48%);
  border-radius: 999px;
  background:
    radial-gradient(circle at 42% 30%, rgb(255 255 255 / 95%), rgb(255 248 229 / 58%));
  box-shadow: 0 14px 32px rgb(248 211 107 / 14%);
}

.p-contact-get__icon img {
  display: block;
  width: 62%;
  height: 62%;
  object-fit: contain;
}

.p-contact-get__copy {
  display: grid;
  gap: 0.42rem;
  padding-right: 1.55rem;
}

.p-contact-get__copy strong {
  color: #062f4a;
  font-size: clamp(1rem, 1.08vw, 1.18rem);
  font-weight: 800;
  line-height: 1.18;
}

.p-contact-get__copy span {
  color: rgb(4 50 76 / 72%);
  font-size: clamp(0.9rem, 0.95vw, 1rem);
  line-height: 1.58;
}

@media (max-width: 64rem) {
  .p-contact-get {
    padding: clamp(3.8rem, 8vw, 5.2rem) 0;
  }

  .p-contact-get__grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .p-contact-get__visual {
    min-height: clamp(21rem, 54vw, 32rem);
    order: 1;
  }

  .p-contact-get__content {
    order: 2;
  }
}

@media (max-width: 40rem) {
  .p-contact-get {
    padding: 3.15rem 0;
  }

  .p-contact-get__grid {
    gap: 1.7rem;
  }

  .p-contact-get__visual {
    min-height: 18.5rem;
    border-radius: 1.2rem;
  }

  .p-contact-get__heading {
    text-align: left;
  }

  .p-contact-get__heading h2,
  .p-contact-get__heading p {
    margin-inline: 0;
  }

  .p-contact-get__heading h2 {
    font-size: clamp(2.05rem, 10vw, 2.75rem);
    line-height: 1.08;
  }

  .p-contact-get__heading p {
    font-size: 0.95rem;
    line-height: 1.65;
  }

  .p-contact-get__cards {
    grid-template-columns: 1fr;
    gap: 0.82rem;
  }

  .p-contact-get__card {
    min-height: 8.6rem;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: 1rem;
  }

  .p-contact-get__number {
    top: 0.7rem;
    right: 0.72rem;
    width: 1.85rem;
    height: 1.85rem;
    font-size: 0.72rem;
  }

  .p-contact-get__icon {
    width: 3.55rem;
    height: 3.55rem;
  }

  .p-contact-get__copy {
    gap: 0.28rem;
    padding-right: 1.1rem;
  }

  .p-contact-get__copy strong {
    font-size: 0.98rem;
  }

  .p-contact-get__copy span {
    font-size: 0.86rem;
    line-height: 1.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-get__card {
    transition: none !important;
  }
}
/* CONS-03 Final Art Direction Polish */
.p-contact-get__grid {
  gap: clamp(1.8rem, 3.2vw, 3.8rem);
}

.p-contact-get__content {
  gap: clamp(1.35rem, 2vw, 1.9rem);
}

.p-contact-get__heading h2 {
  max-width: 31rem;
  font-size: clamp(2.24rem, 3.45vw, 4.15rem);
  line-height: 1.04;
}

.p-contact-get__heading p {
  max-width: 34rem;
  font-size: clamp(0.98rem, 1.02vw, 1.12rem);
  line-height: 1.62;
}

.p-contact-get__cards {
  gap: clamp(0.78rem, 1.05vw, 1rem);
}

.p-contact-get__card {
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.82rem, 1vw, 1.05rem);
  min-height: clamp(7.8rem, 8.2vw, 9rem);
  align-items: center;
  padding: clamp(0.95rem, 1.12vw, 1.16rem) clamp(1.55rem, 1.75vw, 1.85rem) clamp(0.95rem, 1.12vw, 1.16rem) clamp(0.95rem, 1.12vw, 1.16rem);
  border-color: rgb(248 211 107 / 38%);
  box-shadow: 0 14px 34px rgb(4 50 76 / 6%);
}

.p-contact-get__number {
  top: 0.94rem;
  right: 0.94rem;
  width: 2rem;
  height: 2rem;
  background: rgb(255 255 255 / 90%);
  color: #a97100;
  font-size: 0.78rem;
}

.p-contact-get__icon {
  width: clamp(4.45rem, 5vw, 5.75rem);
  height: clamp(4.45rem, 5vw, 5.75rem);
  border-color: rgb(214 154 22 / 62%);
  background:
    radial-gradient(circle at 42% 30%, rgb(255 255 255 / 100%), rgb(255 245 213 / 68%));
  box-shadow: 0 16px 34px rgb(248 211 107 / 18%);
}

.p-contact-get__icon img {
  width: 72%;
  height: 72%;
  opacity: 1;
  filter: saturate(1.16) contrast(1.12);
}

.p-contact-get__copy {
  gap: 0.28rem;
  padding-right: 1.4rem;
}

.p-contact-get__copy strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(0.98rem, 1.02vw, 1.12rem);
  font-weight: 800;
  line-height: 1.14;
}

.p-contact-get__copy span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: clamp(0.84rem, 0.86vw, 0.94rem);
  line-height: 1.42;
}

@media (max-width: 64rem) {
  .p-contact-get__heading h2 {
    max-width: 34rem;
  }

  .p-contact-get__card {
    min-height: 8rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-get__heading h2 {
    font-size: clamp(1.92rem, 8.9vw, 2.48rem);
    line-height: 1.07;
  }

  .p-contact-get__cards {
    gap: 0.72rem;
  }

  .p-contact-get__card {
    min-height: 7.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.72rem;
    padding: 0.9rem 1.45rem 0.9rem 0.86rem;
  }

  .p-contact-get__number {
    top: 0.66rem;
    right: 0.66rem;
    width: 1.72rem;
    height: 1.72rem;
    font-size: 0.68rem;
  }

  .p-contact-get__icon {
    width: 3.85rem;
    height: 3.85rem;
  }

  .p-contact-get__copy {
    gap: 0.22rem;
    padding-right: 0.84rem;
  }

  .p-contact-get__copy strong {
    font-size: 0.94rem;
  }

  .p-contact-get__copy span {
    font-size: 0.8rem;
    line-height: 1.38;
  }
}
/* CONS-03 Final Polish Option A */
.p-contact-get__grid {
  grid-template-columns: minmax(0, 44%) minmax(0, 56%);
  gap: clamp(1.7rem, 3vw, 3.45rem);
}

.p-contact-get__visual {
  width: 96%;
  min-height: clamp(26.5rem, 39vw, 40.5rem);
}

.p-contact-get__content {
  gap: clamp(1.25rem, 1.8vw, 1.7rem);
}

.p-contact-get__heading {
  max-width: 36rem;
}

.p-contact-get__heading h2 {
  max-width: 30rem;
  font-family: inherit;
  font-size: clamp(2.08rem, 3.15vw, 3.82rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
}

.p-contact-get__heading p {
  max-width: 34.5rem;
  font-family: inherit;
  font-size: clamp(0.98rem, 1vw, 1.1rem);
  line-height: 1.62;
}

.p-contact-get__cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.72rem, 0.95vw, 0.95rem);
}

.p-contact-get__card {
  grid-template-columns: 4.6rem minmax(0, 1fr);
  gap: clamp(0.78rem, 0.9vw, 0.98rem);
  min-height: clamp(7.05rem, 7.2vw, 8.2rem);
  padding: clamp(0.9rem, 1vw, 1.08rem);
  border-color: rgb(248 211 107 / 40%);
  border-radius: 1.18rem;
  box-shadow: 0 14px 34px rgb(4 50 76 / 6%);
}

.p-contact-get__number {
  display: none !important;
}

.p-contact-get__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-color: rgb(214 154 22 / 66%);
  background:
    radial-gradient(circle at 42% 28%, #fff 0%, #fff 34%, rgb(255 244 207 / 78%) 100%);
  box-shadow: 0 14px 30px rgb(248 211 107 / 18%);
}

.p-contact-get__icon img {
  width: 76%;
  height: 76%;
  opacity: 1;
  filter: saturate(1.26) contrast(1.18);
}

.p-contact-get__copy {
  gap: 0.26rem;
  padding-right: 0;
}

.p-contact-get__copy strong {
  display: block;
  overflow: visible;
  font-family: inherit;
  font-size: clamp(0.96rem, 0.98vw, 1.08rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.16;
  -webkit-line-clamp: unset;
}

.p-contact-get__copy span {
  display: block;
  overflow: visible;
  font-family: inherit;
  font-size: clamp(0.78rem, 0.82vw, 0.9rem);
  line-height: 1.43;
  -webkit-line-clamp: unset;
}

@media (max-width: 64rem) {
  .p-contact-get__grid {
    grid-template-columns: 1fr;
  }

  .p-contact-get__visual {
    width: 100%;
    min-height: clamp(21rem, 52vw, 31rem);
  }

  .p-contact-get__heading {
    max-width: 38rem;
  }

  .p-contact-get__heading h2 {
    max-width: 34rem;
  }

  .p-contact-get__card {
    grid-template-columns: 4.4rem minmax(0, 1fr);
    min-height: 7.2rem;
  }
}

@media (max-width: 40rem) {
  .p-contact-get__visual {
    min-height: 18.2rem;
  }

  .p-contact-get__heading h2 {
    font-size: clamp(1.86rem, 8.5vw, 2.36rem);
    line-height: 1.08;
  }

  .p-contact-get__heading p {
    font-size: 0.93rem;
    line-height: 1.62;
  }

  .p-contact-get__cards {
    grid-template-columns: 1fr;
    gap: 0.68rem;
  }

  .p-contact-get__card {
    grid-template-columns: 3.8rem minmax(0, 1fr);
    min-height: 7.05rem;
    gap: 0.72rem;
    padding: 0.82rem;
    border-radius: 1rem;
  }

  .p-contact-get__icon {
    width: 3.35rem;
    height: 3.35rem;
  }

  .p-contact-get__copy strong {
    font-size: 0.92rem;
    line-height: 1.14;
  }

  .p-contact-get__copy span {
    font-size: 0.78rem;
    line-height: 1.38;
  }
}

/* CONS-03 Final Art Direction Alignment */
.p-contact-get {
  padding-block: clamp(3.2rem, 5.15vw, 5.9rem);
}

.p-contact-get__grid {
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  align-items: center;
  gap: clamp(2rem, 3.45vw, 4rem);
}

.p-contact-get__visual {
  width: 100%;
  min-height: clamp(23.85rem, 35vw, 36.45rem);
  aspect-ratio: 1.17 / 1;
  border-radius: clamp(1.25rem, 1.75vw, 1.8rem);
  box-shadow: 0 1.35rem 3.8rem rgb(4 50 76 / 11%), 0 0.8rem 2.25rem rgb(214 154 22 / 7%);
}

.p-contact-get__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-contact-get__content {
  gap: clamp(1.25rem, 2vw, 1.9rem);
}

.p-contact-get__heading {
  max-width: 38.75rem;
}

.p-contact-get__heading h2 {
  max-width: 34rem;
  font-family: inherit;
  font-size: clamp(2.15rem, 3.05vw, 3.58rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: 0;
}

.p-contact-get__heading p:not(.p-contact-section-heading__eyebrow) {
  max-width: 38.75rem;
  font-family: inherit;
  font-size: clamp(1rem, 1vw, 1.08rem);
  font-weight: 400;
  line-height: 1.7;
  color: rgb(63 82 100 / 88%);
}

.p-contact-get__cards {
  gap: clamp(0.85rem, 1.12vw, 1.12rem);
}

.p-contact-get__card {
  grid-template-columns: 4.85rem minmax(0, 1fr);
  min-height: clamp(7rem, 6.9vw, 7.85rem);
  padding: clamp(0.9rem, 1vw, 1.08rem) clamp(1rem, 1.18vw, 1.24rem);
  border-color: rgb(214 154 22 / 18%);
  background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(255 255 255 / 86%));
  box-shadow: 0 1rem 2.6rem rgb(4 50 76 / 9%), 0 0.45rem 1.35rem rgb(214 154 22 / 5%);
  transform: translateY(-1px);
}

.p-contact-get__card:hover,
.p-contact-get__card:focus-within {
  border-color: rgb(214 154 22 / 34%);
  box-shadow: 0 1.25rem 3rem rgb(4 50 76 / 11%), 0 0.7rem 1.75rem rgb(214 154 22 / 7%);
  transform: translateY(-3px);
}

.p-contact-get__icon {
  width: 3.75rem;
  height: 3.75rem;
  border-color: rgb(214 154 22 / 62%);
  background: radial-gradient(circle at 35% 25%, #fff 0 32%, rgb(255 247 225 / 92%) 74%, rgb(255 255 255 / 95%) 100%);
  box-shadow: inset 0 0.08rem 0.5rem rgb(255 255 255 / 80%), 0 0.7rem 1.45rem rgb(214 154 22 / 13%);
}

.p-contact-get__icon img {
  width: 1.625rem;
  height: 1.625rem;
  opacity: 1;
  filter: saturate(1.32) contrast(1.2);
}

.p-contact-get__copy {
  gap: 0.24rem;
}

.p-contact-get__copy strong {
  font-family: inherit;
  font-size: clamp(0.98rem, 0.95vw, 1.08rem);
  font-weight: 750;
  line-height: 1.18;
  letter-spacing: 0;
  color: var(--color-navy, #04324c);
}

.p-contact-get__copy span {
  font-family: inherit;
  font-size: clamp(0.86rem, 0.82vw, 0.94rem);
  font-weight: 400;
  line-height: 1.48;
  color: rgb(63 82 100 / 88%);
}

@media (max-width: 64rem) {
  .p-contact-get {
    padding-block: clamp(2.9rem, 6vw, 4.4rem);
  }

  .p-contact-get__grid {
    grid-template-columns: 1fr;
    gap: clamp(1.6rem, 4vw, 2.4rem);
  }

  .p-contact-get__visual {
    width: 100%;
    min-height: clamp(20rem, 47vw, 29rem);
    aspect-ratio: 1.25 / 1;
  }

  .p-contact-get__heading,
  .p-contact-get__heading h2,
  .p-contact-get__heading p:not(.p-contact-section-heading__eyebrow) {
    max-width: 38.75rem;
  }
}

@media (max-width: 42rem) {
  .p-contact-journey {
    padding-block: clamp(2.15rem, 8vw, 3rem);
  }

  .p-contact-journey__scroller {
    margin-top: 1.65rem;
    padding-bottom: 0.72rem;
  }

  .p-contact-journey__item {
    flex-basis: 10.85rem;
  }

  .p-contact-journey__card {
    height: 16.9rem;
    padding: 1.06rem 0.78rem;
  }

  .p-contact-journey__icon {
    width: 4.05rem;
    min-width: 4.05rem;
    height: 4.05rem;
    min-height: 4.05rem;
    aspect-ratio: 1 / 1;
    margin-bottom: 0.82rem;
  }

  .p-contact-journey__card strong {
    min-height: 2.42rem;
    font-size: 0.92rem;
  }

  .p-contact-journey__card p {
    font-size: 0.78rem;
    line-height: 1.46;
  }

  .p-contact-journey__callout {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    margin-top: 1.45rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-journey__card,
  .p-contact-journey__marker,
  .p-contact-journey__icon {
    transition: none !important;
  }
}
/* LOCKED: Contact Consultation Journey slides 01-08 approved by Owner. Do not alter structure, order, or copy without explicit unlock. */
/* CONS-04 Final Polish Before Lock */
.p-contact-journey {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3rem, 4.6vw, 4.75rem) clamp(2.85rem, 4.25vw, 4.35rem);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--color-navy, #04324c);
  background:
    radial-gradient(circle at 5% 0%, rgb(222 244 255 / 62%) 0 14rem, transparent 31rem),
    radial-gradient(circle at 92% 100%, rgb(255 238 184 / 38%) 0 13rem, transparent 28rem),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 54%, #ffffff 100%);
}

.p-contact-journey :where(h2, p, strong, span, a, li, article) {
  font-family: inherit;
}

.p-contact-journey__heading {
  max-width: 52rem;
  margin-inline: auto;
}

.p-contact-journey__heading .p-contact-section-heading__eyebrow {
  font-family: inherit;
  font-size: clamp(0.72rem, 0.78vw, 0.86rem);
  font-weight: 760;
  letter-spacing: 0.26em;
}

.p-contact-journey__heading h2 {
  font-family: inherit;
  max-width: none;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.04;
  margin-inline: auto;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: normal;
}

@media (max-width: 80rem) {
  .p-contact-journey__heading h2 {
    font-size: clamp(1.8225rem, calc(1.35rem + 2.1vw), 2.48rem);
  }
}

.p-contact-journey__heading p:not(.p-contact-section-heading__eyebrow) {
  max-width: 43rem;
  margin-top: clamp(0.72rem, 1.05vw, 0.96rem);
  font-family: inherit;
  font-size: clamp(0.98rem, 1vw, 1.08rem);
  line-height: 1.62;
  color: rgb(35 58 78 / 82%);
}

.p-contact-journey__scroller {
  --journey-line-y: clamp(2rem, 2.6vw, 2.45rem);
  position: relative;
  margin-top: clamp(2rem, 3.4vw, 3.35rem);
  padding-top: 0;
  overflow-x: visible;
}

.p-contact-journey__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: clamp(0.82rem, 1.25vw, 1.35rem);
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-contact-journey__track::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: var(--journey-line-y);
  left: calc(6.25% - clamp(0.35875rem, 0.546875vw, 0.590625rem));
  right: calc(6.25% - clamp(0.35875rem, 0.546875vw, 0.590625rem));
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgb(214 154 22 / 28%) 7%, rgb(214 154 22 / 72%) 50%, rgb(214 154 22 / 28%) 93%, transparent 100%);
  pointer-events: none;
}

.p-contact-journey__item {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  padding-top: clamp(4.4rem, 5.2vw, 5.2rem);
}

.p-contact-journey__item::before,
.p-contact-journey__item::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

.p-contact-journey__item::before {
  top: calc(var(--journey-line-y) - 0.14rem);
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgb(214 154 22 / 68%);
  box-shadow: 0 0 0 0.26rem rgb(255 202 60 / 12%);
}

.p-contact-journey__item::after {
  top: calc(var(--journey-line-y) + 0.48rem);
  width: 1px;
  height: clamp(2.05rem, 2.6vw, 2.55rem);
  background: linear-gradient(180deg, rgb(214 154 22 / 46%), rgb(214 154 22 / 0%));
}

.p-contact-journey__card {
  position: relative;
  z-index: 2;
  width: 100%;
  height: clamp(16.65rem, 17.1vw, 18.35rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(1.35rem, 1.5vw, 1.58rem) clamp(0.88rem, 1.05vw, 1.08rem) clamp(1.18rem, 1.32vw, 1.35rem);
  border: 1px solid rgb(214 154 22 / 19%);
  border-radius: clamp(1rem, 1.25vw, 1.2rem);
  background: linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(255 255 255 / 91%));
  box-shadow: 0 1.05rem 2.35rem rgb(4 50 76 / 7%), inset 0 1px 0 rgb(255 255 255 / 92%);
  text-align: center;
  outline: none;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.p-contact-journey__marker {
  position: absolute;
  z-index: 4;
  top: calc(-1 * clamp(4.4rem, 5.2vw, 5.2rem));
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  width: clamp(3.45rem, 4.05vw, 3.95rem);
  min-width: clamp(3.45rem, 4.05vw, 3.95rem);
  height: clamp(3.45rem, 4.05vw, 3.95rem);
  min-height: clamp(3.45rem, 4.05vw, 3.95rem);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid rgb(214 154 22 / 66%);
  background: radial-gradient(circle at 32% 22%, #fff 0 35%, #fffaf0 100%);
  box-shadow: 0 0.8rem 1.7rem rgb(214 154 22 / 12%), 0 0 0 0.32rem rgb(255 255 255 / 88%);
  font-family: inherit;
  font-size: clamp(0.92rem, 1.02vw, 1.08rem);
  font-weight: 780;
  letter-spacing: 0.04em;
  color: var(--color-navy, #04324c);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.p-contact-journey__drop {
  display: none;
}

.p-contact-journey__icon {
  display: grid;
  place-items: center;
  width: clamp(4.15rem, 4.65vw, 4.75rem);
  min-width: clamp(4.15rem, 4.65vw, 4.75rem);
  height: clamp(4.15rem, 4.65vw, 4.75rem);
  min-height: clamp(4.15rem, 4.65vw, 4.75rem);
  aspect-ratio: 1 / 1;
  margin-bottom: clamp(0.82rem, 1vw, 1rem);
  border-radius: 50%;
  border: 1px solid rgb(214 154 22 / 34%);
  color: var(--color-navy, #04324c);
  background: radial-gradient(circle at 35% 24%, #fff 0 33%, rgb(255 249 234 / 94%) 72%, #fff 100%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 92%), 0 0.95rem 1.9rem rgb(214 154 22 / 10%);
  transition: transform 220ms ease, color 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.p-contact-journey__icon svg,
.p-contact-journey__callout-icon svg {
  width: 58%;
  height: 58%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.28;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.p-contact-journey__card strong {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 2.46rem;
  margin: 0;
  font-family: inherit;
  font-size: clamp(0.94rem, 0.96vw, 1.06rem);
  font-weight: 720;
  line-height: 1.15;
  letter-spacing: 0;
  color: var(--color-navy, #04324c);
}

.p-contact-journey__divider {
  display: block;
  width: 1.45rem;
  height: 1px;
  margin: clamp(0.7rem, 0.82vw, 0.82rem) auto clamp(0.7rem, 0.82vw, 0.86rem);
  background: linear-gradient(90deg, transparent, rgb(214 154 22 / 82%), transparent);
}

.p-contact-journey__card p {
  max-width: 11.2rem;
  margin: 0 auto;
  font-family: inherit;
  font-size: clamp(0.78rem, 0.78vw, 0.88rem);
  font-weight: 400;
  line-height: 1.45;
  color: rgb(21 45 68 / 84%);
}

.p-contact-journey__card:hover,
.p-contact-journey__card:focus-visible {
  transform: translateY(-2px);
  border-color: rgb(214 154 22 / 43%);
  box-shadow: 0 1.3rem 2.8rem rgb(4 50 76 / 10%), 0 0 0 0.22rem rgb(255 202 60 / 8%);
}

.p-contact-journey__card:hover .p-contact-journey__icon,
.p-contact-journey__card:focus-visible .p-contact-journey__icon {
  transform: translateY(-1px);
  color: #052b63;
  border-color: rgb(214 154 22 / 50%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 96%), 0 1.15rem 2.15rem rgb(214 154 22 / 16%);
}

.p-contact-journey__card:hover .p-contact-journey__marker,
.p-contact-journey__card:focus-visible .p-contact-journey__marker {
  border-color: rgb(214 154 22 / 78%);
  box-shadow: 0 0.9rem 1.85rem rgb(214 154 22 / 16%), 0 0 0 0.36rem rgb(255 202 60 / 12%);
}

.p-contact-journey__callout {
  max-width: 54rem;
  margin: clamp(1.65rem, 2.6vw, 2.35rem) auto 0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(0.95rem, 1.3vw, 1.25rem);
  padding: clamp(1.05rem, 1.45vw, 1.35rem) clamp(1.2rem, 2vw, 1.9rem);
  border: 1px solid rgb(214 154 22 / 18%);
  border-radius: clamp(1rem, 1.25vw, 1.2rem);
  background: rgb(255 255 255 / 82%);
  box-shadow: 0 1rem 2.4rem rgb(4 50 76 / 6%);
}

.p-contact-journey__callout-icon {
  display: grid;
  place-items: center;
  width: 3.05rem;
  min-width: 3.05rem;
  height: 3.05rem;
  min-height: 3.05rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid rgb(214 154 22 / 34%);
  color: var(--color-navy, #04324c);
  background: radial-gradient(circle at 35% 24%, #fff 0 35%, rgb(255 247 225 / 94%) 100%);
}

.p-contact-journey__callout p {
  margin: 0;
  font-family: inherit;
  font-size: clamp(0.94rem, 0.94vw, 1.04rem);
  font-weight: 500;
  line-height: 1.56;
  color: rgb(21 45 68 / 88%);
}

@media (max-width: 72rem) {
  .p-contact-journey__scroller {
    overflow-x: auto;
    overflow-y: visible;
    padding-top: 1.35rem;
    padding-bottom: 0.9rem;
    scrollbar-width: none;
  }

  .p-contact-journey__scroller::-webkit-scrollbar {
    display: none;
  }

  .p-contact-journey__track {
    display: flex;
    gap: 1rem;
    min-width: max-content;
    padding-inline: 0.25rem;
    scroll-snap-type: x mandatory;
  }

  .p-contact-journey__track::before {
    left: 6rem;
    right: 6rem;
  }

  .p-contact-journey__item {
    flex: 0 0 11.5rem;
    scroll-snap-align: start;
  }

  .p-contact-journey__card {
    height: 17.35rem;
  }
}

@media (max-width: 42rem) {
  .p-contact-journey {
    padding-block: clamp(2.35rem, 8vw, 3.15rem) clamp(2.15rem, 7.4vw, 2.9rem);
  }

  .p-contact-journey__heading h2 {
    line-height: 1.08;
  }

  .p-contact-journey__heading p:not(.p-contact-section-heading__eyebrow) {
    font-size: 0.96rem;
    line-height: 1.62;
  }

  .p-contact-journey__scroller {
    margin-top: 0.55rem;
    padding-top: clamp(1.18rem, 5.2vw, 1.55rem);
  }

  .p-contact-journey__item {
    flex-basis: 10.85rem;
    padding-top: 4.45rem;
  }

  .p-contact-journey__track::before {
    left: 5.675rem;
    right: 5.675rem;
  }

  .p-contact-journey__card {
    height: 16.9rem;
    padding: 1.1rem 0.78rem 1rem;
  }

  .p-contact-journey__marker {
    top: -4.45rem;
    width: 3.25rem;
    min-width: 3.25rem;
    height: 3.25rem;
    min-height: 3.25rem;
    font-size: 0.9rem;
  }

  .p-contact-journey__icon {
    width: 4.05rem;
    min-width: 4.05rem;
    height: 4.05rem;
    min-height: 4.05rem;
    margin-bottom: 0.78rem;
  }

  .p-contact-journey__card strong {
    min-height: 2.36rem;
    font-size: 0.92rem;
  }

  .p-contact-journey__card p {
    font-size: 0.78rem;
    line-height: 1.44;
  }

  .p-contact-journey__callout {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    margin-top: 1.45rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-journey__card,
  .p-contact-journey__marker,
  .p-contact-journey__icon {
    transition: none !important;
  }
}
/* CONS-04 Bug Fix: keep CONS-03 asset icons scoped inside benefit cards */
.p-contact-get__cards .p-contact-get__card > .p-contact-get__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(3.5rem, 3.9vw, 3.75rem);
  min-width: clamp(3.5rem, 3.9vw, 3.75rem);
  height: clamp(3.5rem, 3.9vw, 3.75rem);
  min-height: clamp(3.5rem, 3.9vw, 3.75rem);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
}

.p-contact-get__cards .p-contact-get__card > .p-contact-get__icon > img[src*="icon-cons-03-"] {
  display: block;
  position: static;
  width: 1.625rem;
  min-width: 1.625rem;
  max-width: 1.625rem;
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 42rem) {
  .p-contact-get__cards .p-contact-get__card > .p-contact-get__icon {
    width: 3.5rem;
    min-width: 3.5rem;
    height: 3.5rem;
    min-height: 3.5rem;
  }

  .p-contact-get__cards .p-contact-get__card > .p-contact-get__icon > img[src*="icon-cons-03-"] {
    width: 1.5rem;
    min-width: 1.5rem;
    max-width: 1.5rem;
    height: 1.5rem;
    min-height: 1.5rem;
    max-height: 1.5rem;
  }
}

/* Contact benefits icon clarity polish */
.p-contact .p-contact-get__cards .p-contact-get__card {
  grid-template-columns: clamp(4.35rem, 4.9vw, 4.75rem) minmax(0, 1fr);
  gap: clamp(1.12rem, 1.55vw, 1.38rem);
}

.p-contact .p-contact-get__cards .p-contact-get__card > .p-contact-get__icon {
  width: clamp(4.35rem, 4.9vw, 4.75rem);
  min-width: clamp(4.35rem, 4.9vw, 4.75rem);
  height: clamp(4.35rem, 4.9vw, 4.75rem);
  min-height: clamp(4.35rem, 4.9vw, 4.75rem);
  border: 1px solid rgb(214 154 22 / 52%);
  background:
    radial-gradient(circle at 34% 24%, #fff 0 32%, rgb(255 249 232 / 88%) 72%, rgb(255 255 255 / 96%) 100%);
  box-shadow:
    inset 0 0.08rem 0.55rem rgb(255 255 255 / 86%),
    inset 0 0 1.1rem rgb(214 154 22 / 7%),
    0 0.85rem 1.65rem rgb(214 154 22 / 12%);
}

.p-contact .p-contact-get__cards .p-contact-get__icon svg {
  display: block;
  width: clamp(1.78rem, 2.05vw, 2.05rem);
  height: clamp(1.78rem, 2.05vw, 2.05rem);
  fill: none;
  stroke: var(--consultation-gold, #c79200);
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

@media (max-width: 42rem) {
  .p-contact .p-contact-get__cards .p-contact-get__card {
    grid-template-columns: clamp(4rem, 18.5vw, 4.75rem) minmax(0, 1fr);
    gap: clamp(1.12rem, 5.2vw, 1.38rem);
    align-items: center;
  }

  .p-contact .p-contact-get__cards .p-contact-get__card > .p-contact-get__icon {
    width: clamp(4rem, 18.5vw, 4.75rem);
    min-width: clamp(4rem, 18.5vw, 4.75rem);
    height: clamp(4rem, 18.5vw, 4.75rem);
    min-height: clamp(4rem, 18.5vw, 4.75rem);
  }

  .p-contact .p-contact-get__cards .p-contact-get__icon svg {
    width: clamp(1.65rem, 7.6vw, 2rem);
    height: clamp(1.65rem, 7.6vw, 2rem);
    stroke-width: 2.3;
  }
}
/* CONS-03 Assurance Strip Bug Fix */
.p-contact-get__assurance {
  position: relative;
  z-index: 1;
  margin-top: clamp(1.55rem, 2.6vw, 2.35rem);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-contact-get__assurance-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 0;
  padding: clamp(0.86rem, 1.35vw, 1.15rem) clamp(1.05rem, 1.7vw, 1.65rem);
  border: 1px solid rgb(214 154 22 / 16%);
  border-radius: clamp(1rem, 1.45vw, 1.35rem);
  background: linear-gradient(180deg, rgb(255 255 255 / 92%), rgb(255 255 255 / 82%));
  box-shadow: 0 1rem 2.75rem rgb(4 50 76 / 7%), inset 0 1px 0 rgb(255 255 255 / 90%);
  backdrop-filter: blur(10px);
}

.p-contact-get__assurance-item {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(0.72rem, 0.95vw, 0.95rem);
  min-width: 0;
  padding-inline: clamp(0.7rem, 1vw, 1rem);
}

.p-contact-get__assurance-item + .p-contact-get__assurance-item {
  border-left: 1px solid rgb(214 154 22 / 24%);
}

.p-contact-get__assurance-icon {
  display: grid;
  place-items: center;
  width: clamp(3rem, 3.35vw, 3.35rem);
  min-width: clamp(3rem, 3.35vw, 3.35rem);
  height: clamp(3rem, 3.35vw, 3.35rem);
  min-height: clamp(3rem, 3.35vw, 3.35rem);
  aspect-ratio: 1 / 1;
  border: 1px solid rgb(214 154 22 / 34%);
  border-radius: 50%;
  color: #b47a00;
  background: radial-gradient(circle at 35% 24%, #fff 0 34%, rgb(255 247 225 / 90%) 100%);
  box-shadow: 0 0.75rem 1.55rem rgb(214 154 22 / 10%);
}

.p-contact-get__assurance-icon svg {
  display: block;
  width: 1.45rem;
  height: 1.45rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.p-contact-get__assurance-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.p-contact-get__assurance-copy strong,
.p-contact-get__assurance-copy span {
  display: block;
  font-family: inherit;
  letter-spacing: 0;
}

.p-contact-get__assurance-copy strong {
  color: var(--color-navy, #04324c);
  font-size: clamp(0.92rem, 0.9vw, 1.02rem);
  font-weight: 720;
  line-height: 1.16;
}

.p-contact-get__assurance-copy span {
  color: rgb(63 82 100 / 82%);
  font-size: clamp(0.76rem, 0.76vw, 0.86rem);
  font-weight: 400;
  line-height: 1.34;
}

.p-contact-get__tagline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.7rem 1.05rem;
  margin: clamp(1.2rem, 1.9vw, 1.7rem) 0 0;
  font-family: inherit;
  color: rgb(63 82 100 / 72%);
  font-size: clamp(0.92rem, 0.9vw, 1.02rem);
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-align: center;
}

.p-contact-get__tagline strong {
  color: #b47a00;
  font-weight: 760;
}

@media (max-width: 64rem) {
  .p-contact-get__assurance-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 0;
  }

  .p-contact-get__assurance-item:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 42rem) {
  .p-contact-get__assurance {
    margin-top: 1.35rem;
  }

  .p-contact-get__assurance-list {
    grid-template-columns: 1fr;
    padding: 0.85rem;
    border-radius: 1rem;
  }

  .p-contact-get__assurance-item,
  .p-contact-get__assurance-item + .p-contact-get__assurance-item {
    border-left: 0;
  }

  .p-contact-get__assurance-item {
    padding: 0.68rem;
    border-top: 1px solid rgb(214 154 22 / 14%);
  }

  .p-contact-get__assurance-item:first-child {
    border-top: 0;
  }

  .p-contact-get__assurance-icon {
    width: 2.85rem;
    min-width: 2.85rem;
    height: 2.85rem;
    min-height: 2.85rem;
  }

  .p-contact-get__assurance-icon svg {
    width: 1.32rem;
    height: 1.32rem;
  }

  .p-contact-get__tagline {
    margin-top: 1rem;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
  }
}

/* Contact hero mobile viewport polish */
.p-contact {
  font-family: Inter, var(--font-inter, ui-sans-serif), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-contact .p-contact-consultation-hero :where(h1, p, a, span, strong) {
  font-family: inherit;
}

@media (max-width: 40rem) {
  .p-contact .p-contact-consultation-hero {
    --contact-hero-safe-width: min(100%, calc(100vw - clamp(2.25rem, 9.3vw, 2.5rem)));
    padding: clamp(1.18rem, 4.8vw, 1.5rem) 0 clamp(1.45rem, 5.4vw, 1.82rem);
    background:
      radial-gradient(circle at 82% 16%, rgb(223 243 255 / 48%), transparent 20rem),
      radial-gradient(circle at 10% 88%, rgb(248 211 107 / 9%), transparent 17rem),
      linear-gradient(135deg, #ffffff 0%, #f9fdff 46%, #eef8ff 100%);
  }

  .p-contact .p-contact-consultation-hero::before {
    opacity: 0.22;
  }

  .p-contact .p-contact-consultation-hero::after {
    opacity: 0.36;
  }

  .p-contact .p-contact-consultation-hero .srcosme-container,
  .p-contact .p-contact-consultation-hero__grid,
  .p-contact .p-contact-consultation-hero__content,
  .p-contact .p-contact-consultation-hero__lead,
  .p-contact .p-contact-consultation-hero__actions,
  .p-contact .p-contact-consultation-hero__trust,
  .p-contact .p-contact-consultation-hero__visual {
    width: var(--contact-hero-safe-width) !important;
    max-width: var(--contact-hero-safe-width) !important;
  }

  .p-contact .p-contact-consultation-hero__grid {
    gap: clamp(1.35rem, 5.8vw, 1.62rem);
  }

  .p-contact .p-contact-consultation-hero__content {
    justify-items: center;
    gap: 0;
    text-align: center;
  }

  .p-contact .p-contact-consultation-hero__content::after {
    display: none;
  }

  .p-contact .p-contact-consultation-hero__eyebrow {
    margin-bottom: clamp(0.75rem, 3.2vw, 0.88rem);
    letter-spacing: 0.11em;
  }

  .p-contact .p-contact-consultation-hero h1 {
    margin-top: 16px;
    max-width: min(21rem, 100%);
    font-size: clamp(2.2rem, 10.15vw, 2.52rem);
    line-height: 1.02;
    letter-spacing: 0;
  }

  .p-contact .p-contact-consultation-hero__title-line {
    display: block;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .p-contact .p-contact-consultation-hero__lead {
    max-width: min(21rem, 100%) !important;
    margin: clamp(1.12rem, 5vw, 1.32rem) auto 0;
    color: rgb(48 68 80 / 84%);
    font-size: clamp(0.88rem, 3.75vw, 0.96rem);
    line-height: 1.58;
    letter-spacing: normal;
    text-align: center;
  }

  .p-contact .p-contact-consultation-hero__actions {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0.75rem;
    margin-top: clamp(1.5rem, 6.5vw, 1.72rem);
  }

  .p-contact .p-contact-consultation-hero__button {
    grid-template-columns: 1.85rem minmax(0, 1fr) 1.85rem;
    column-gap: 0.45rem;
    min-height: clamp(3.38rem, 14.7vw, 3.63rem);
    padding: 0.78rem 1rem;
    border-radius: 999px;
  }

  .p-contact .p-contact-consultation-hero__button-label {
    font-size: clamp(0.9rem, 3.9vw, 0.98rem);
  }

  .p-contact .p-contact-consultation-hero__button-icon {
    width: 1.32rem;
    height: 1.32rem;
  }

  .p-contact .p-contact-consultation-hero__button--secondary {
    border-color: rgb(214 154 22 / 52%);
    background: rgb(255 255 255 / 78%);
    box-shadow: 0 0.6rem 1.3rem rgb(4 50 76 / 5%);
  }

  .p-contact .p-contact-consultation-hero__trust {
    display: grid;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.62rem, 2.8vw, 0.75rem);
    margin-top: clamp(1.25rem, 5.4vw, 1.5rem);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .p-contact .p-contact-consultation-hero__trust-item {
    display: grid;
    grid-template-columns: clamp(2.5rem, 10.5vw, 2.75rem) minmax(0, 1fr);
    min-height: clamp(4.5rem, 19vw, 4.88rem);
    padding: clamp(0.62rem, 2.7vw, 0.72rem);
    align-items: center;
    justify-items: start;
    gap: clamp(0.46rem, 2vw, 0.58rem);
    border: 1px solid rgb(214 154 22 / 20%);
    border-radius: 1rem;
    background: rgb(255 255 255 / 76%);
    box-shadow: 0 0.58rem 1.15rem rgb(4 50 76 / 5%);
    color: var(--consultation-deep);
    font-size: clamp(0.72rem, 3.25vw, 0.86rem);
    font-weight: 780;
    line-height: 1.12;
    text-align: left;
  }

  .p-contact .p-contact-consultation-hero__trust-icon {
    width: clamp(2.5rem, 10.5vw, 2.75rem);
    height: clamp(2.5rem, 10.5vw, 2.75rem);
    border-color: rgb(214 154 22 / 22%);
    background: #fff;
    box-shadow: 0 0.4rem 0.85rem rgb(4 50 76 / 5%);
  }

  .p-contact .p-contact-consultation-hero__trust-icon img {
    width: 78%;
    height: 78%;
    object-fit: contain;
  }

  .p-contact .p-contact-consultation-hero__trust-icon svg {
    width: 58%;
    height: 58%;
    stroke-width: 1.65;
  }

  .p-contact .p-contact-consultation-hero__visual {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0;
    min-height: auto !important;
    place-items: center;
  }

  .p-contact .p-contact-consultation-hero__visual::before {
    inset: -3% -2% -2%;
    border-radius: 1.65rem;
    background:
      radial-gradient(circle at 54% 42%, rgb(0 119 182 / 10%), transparent 58%),
      radial-gradient(circle at 46% 92%, rgb(248 211 107 / 11%), transparent 48%);
    filter: blur(1px);
  }

  .p-contact .p-contact-consultation-hero__visual::after {
    inset: 4% 2% 5%;
    border: 1px solid rgb(214 154 22 / 15%);
    border-radius: 1.55rem;
    background: rgb(255 255 255 / 34%);
    box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 7%);
  }

  .p-contact .p-contact-consultation-hero__visual img {
    width: 100%;
    max-height: none;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center;
    border: 1px solid rgb(214 154 22 / 22%);
    border-radius: clamp(1.45rem, 6vw, 1.75rem);
    filter: drop-shadow(0 1rem 1.85rem rgb(4 50 76 / 11%));
  }

  .p-contact .p-contact-project {
    padding-top: clamp(2.6rem, 9vw, 3.25rem);
  }
}

@media (max-width: 20rem) {
  .p-contact .p-contact-consultation-hero__trust {
    grid-template-columns: 1fr;
  }

  .p-contact .p-contact-consultation-hero__trust-item {
    min-height: 3.25rem;
  }
}

/* Contact eyebrow unification */
.p-contact {
  --contact-eyebrow-color: #b67508;
  --contact-eyebrow-dot: var(--consultation-gold-soft, #f8d36b);
  --contact-eyebrow-dot-ring: rgb(248 211 107 / 22%);
}

.p-contact .p-contact-consultation-hero .p-contact-consultation-hero__eyebrow,
.p-contact .p-contact-section-heading .p-contact-section-heading__eyebrow,
.p-contact .p-contact-map .p-contact-section-heading__eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  gap: clamp(0.62rem, 1vw, 0.75rem);
  margin: 0;
  color: var(--contact-eyebrow-color);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.p-contact .p-contact-section-heading.p-contact-section-heading--center .p-contact-section-heading__eyebrow,
.p-contact .p-contact-form-section .p-contact-section-heading .p-contact-section-heading__eyebrow {
  margin-inline: auto;
}

.p-contact .p-contact-consultation-hero .p-contact-consultation-hero__eyebrow::before,
.p-contact .p-contact-section-heading .p-contact-section-heading__eyebrow::before,
.p-contact .p-contact-map .p-contact-section-heading__eyebrow::before {
  content: "";
  position: static;
  display: block;
  flex: 0 0 0.42rem;
  width: 0.42rem;
  height: 0.42rem;
  transform: none;
  border-radius: 999px;
  background: var(--contact-eyebrow-dot);
  box-shadow: 0 0 0 0.18rem var(--contact-eyebrow-dot-ring);
}

.p-contact .p-contact-consultation-hero h1 {
  margin-top: 2px;
}

@media (max-width: 40rem) {
  .p-contact .p-contact-consultation-hero h1 {
    margin-top: 16px;
  }
}

.p-contact .p-contact-section-heading .p-contact-section-heading__eyebrow::after {
  content: none;
}

/* Contact consultation form premium polish */
.p-contact .p-contact-form-section {
  padding: clamp(3rem, 4.5vw, 4.55rem) 0;
  background:
    radial-gradient(circle at 78% 18%, rgb(223 243 255 / 58%), transparent 27rem),
    radial-gradient(circle at 14% 76%, rgb(248 211 107 / 10%), transparent 22rem),
    linear-gradient(180deg, #f8fcff 0%, #ffffff 100%);
}

.p-contact .p-contact-form-section .srcosme-container {
  width: min(100% - 2.5rem, 960px);
}

.p-contact .p-contact-form-section__grid {
  gap: clamp(1.55rem, 2.4vw, 2.35rem);
}

.p-contact .p-contact-form-section .p-contact-section-heading {
  max-width: 43rem;
}

.p-contact .p-contact-form-section .p-contact-section-heading h2 {
  color: #04324c;
  font-size: clamp(2rem, 4.7vw, 2.76rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.06;
}

.p-contact .p-contact-form-section .p-contact-section-heading > p:not(.p-contact-section-heading__eyebrow) {
  max-width: 40rem;
  margin: 0 auto;
  color: rgb(48 68 80 / 76%);
  font-size: clamp(0.98rem, 1.35vw, 1.08rem);
  line-height: 1.62;
}

.p-contact .p-contact-form-section__card {
  width: min(100%, 840px);
  padding: clamp(1.05rem, 2.2vw, 1.45rem);
  border: 1px solid rgb(214 154 22 / 16%);
  border-radius: clamp(1.45rem, 2.4vw, 1.75rem);
  background: rgb(255 255 255 / 92%);
  box-shadow: 0 1.2rem 3.4rem rgb(4 50 76 / 8%);
}

.p-contact .p-contact-form-section .c-form--consultation {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.05rem, 1.8vw, 1.25rem);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.p-contact .p-contact-form-section .c-form__field {
  gap: 0;
}

.p-contact .p-contact-form-section .c-form label {
  margin-bottom: 0.58rem;
  color: #04324c;
  font-size: clamp(0.92rem, 1.5vw, 0.98rem);
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: 0;
}

.p-contact .p-contact-form-section .c-form label span[aria-hidden="true"] {
  color: var(--consultation-gold, #c79200);
}

.p-contact .p-contact-form-section .c-form input:not([type="checkbox"]):not([type="hidden"]),
.p-contact .p-contact-form-section .c-form select,
.p-contact .p-contact-form-section .c-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgb(0 78 117 / 18%);
  border-radius: 0.95rem;
  background-color: #fff;
  color: #04324c;
  font-size: 1rem;
  line-height: 1.45;
  letter-spacing: 0;
  box-shadow: 0 0.35rem 1rem rgb(4 50 76 / 3%);
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.p-contact .p-contact-form-section .c-form input:not([type="checkbox"]):not([type="hidden"]),
.p-contact .p-contact-form-section .c-form select {
  height: clamp(3.35rem, 8.2vw, 3.58rem);
  padding: 0 1rem;
}

.p-contact .p-contact-form-section .c-form select {
  padding-right: 2.8rem;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #04324c 50%),
    linear-gradient(135deg, #04324c 50%, transparent 50%);
  background-position:
    calc(100% - 1.42rem) 50%,
    calc(100% - 1.06rem) 50%;
  background-size: 0.36rem 0.36rem, 0.36rem 0.36rem;
  background-repeat: no-repeat;
}

.p-contact .p-contact-form-section .c-form textarea {
  min-height: clamp(9.5rem, 32vw, 10.6rem);
  padding: 0.95rem 1rem;
  line-height: 1.55;
  resize: vertical;
}

.p-contact .p-contact-form-section .c-form input::placeholder,
.p-contact .p-contact-form-section .c-form textarea::placeholder {
  color: rgb(48 68 80 / 46%);
}

.p-contact .p-contact-form-section .c-form input:not([type="checkbox"]):not([type="hidden"]):focus,
.p-contact .p-contact-form-section .c-form select:focus,
.p-contact .p-contact-form-section .c-form textarea:focus {
  border-color: rgb(0 119 182 / 72%);
  outline: 0;
  background-color: #fff;
  box-shadow:
    0 0 0 0.2rem rgb(0 119 182 / 13%),
    0 0.65rem 1.4rem rgb(4 50 76 / 5%);
}

.p-contact .p-contact-form-section .c-form input:not([type="checkbox"]):not([type="hidden"]):focus-visible,
.p-contact .p-contact-form-section .c-form select:focus-visible,
.p-contact .p-contact-form-section .c-form textarea:focus-visible {
  outline: 2px solid rgb(214 154 22 / 42%);
  outline-offset: 2px;
}

.p-contact .p-contact-form-section .c-form__field--consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.2rem 0.82rem;
  min-height: 2.75rem;
  padding-top: 0.18rem;
}

.p-contact .p-contact-form-section .c-form__field--consent input[type="checkbox"] {
  width: clamp(1.38rem, 5.8vw, 1.5rem);
  height: clamp(1.38rem, 5.8vw, 1.5rem);
  margin: 0.12rem 0 0;
  border-radius: 0.38rem;
  accent-color: #0077b6;
}

.p-contact .p-contact-form-section .c-form__field--consent input[type="checkbox"]:focus-visible {
  outline: 2px solid rgb(214 154 22 / 46%);
  outline-offset: 3px;
}

.p-contact .p-contact-form-section .c-form__field--consent label {
  margin: 0;
  color: rgb(4 50 76 / 86%);
  font-size: clamp(0.9rem, 2.8vw, 0.96rem);
  font-weight: 625;
  line-height: 1.5;
}

.p-contact .p-contact-form-section .c-form__field--consent .c-form__error {
  grid-column: 2;
}

.p-contact .p-contact-form-section .c-form button[type="submit"] {
  position: relative;
  display: inline-flex;
  min-height: clamp(3.4rem, 8.5vw, 3.62rem);
  align-items: center;
  justify-content: center;
  margin-top: clamp(0.28rem, 1.3vw, 0.55rem);
  padding: 0.82rem 3.1rem 0.82rem 1.25rem;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, #04324c 0%, #0077b6 58%, #026492 100%);
  color: #fff;
  font-size: clamp(0.98rem, 2.8vw, 1.04rem);
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 1rem 2.2rem rgb(0 78 117 / 20%);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.p-contact .p-contact-form-section .c-form--consultation button[type="submit"] {
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid rgb(212 175 55 / 72%);
  border-radius: 999px;
  background-clip: padding-box;
  box-shadow:
    inset 0 0 0 1px rgb(255 236 170 / 18%),
    0 0.75rem 1.625rem rgb(6 71 119 / 18%);
}

.p-contact .p-contact-form-section .c-form button[type="submit"]::after {
  content: "\2192";
  position: absolute;
  top: 50%;
  right: 0.82rem;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 999px;
  background: rgb(255 255 255 / 16%);
  color: #fff;
  font-size: 1.05rem;
  line-height: 1;
  transition: transform 180ms ease, background-color 180ms ease;
}

.p-contact .p-contact-form-section .c-form button[type="submit"]:hover,
.p-contact .p-contact-form-section .c-form button[type="submit"]:focus-visible {
  transform: translateY(-1px);
  border-color: rgb(248 211 107 / 34%);
  box-shadow: 0 1.18rem 2.6rem rgb(0 78 117 / 24%);
}

.p-contact .p-contact-form-section .c-form button[type="submit"]:hover::after,
.p-contact .p-contact-form-section .c-form button[type="submit"]:focus-visible::after {
  transform: translate(0.14rem, -50%);
  background: rgb(255 255 255 / 22%);
}

.p-contact .p-contact-form-section .c-form button[type="submit"]:focus-visible {
  outline: 2px solid rgb(248 211 107 / 72%);
  outline-offset: 3px;
}

.p-contact .p-contact-form-section .c-form__error {
  margin-top: 0.48rem;
  color: #b42318;
  font-size: 0.86rem;
  line-height: 1.35;
}

@media (prefers-reduced-motion: reduce) {
  .p-contact .p-contact-form-section .c-form input:not([type="checkbox"]):not([type="hidden"]),
  .p-contact .p-contact-form-section .c-form select,
  .p-contact .p-contact-form-section .c-form textarea,
  .p-contact .p-contact-form-section .c-form button[type="submit"],
  .p-contact .p-contact-form-section .c-form button[type="submit"]::after {
    transition: none;
  }
}

@media (max-width: 40rem) {
  .p-contact .p-contact-form-section {
    padding: 3.05rem 0;
  }

  .p-contact .p-contact-form-section .srcosme-container {
    width: min(100% - 2.25rem, 100%);
  }

  .p-contact .p-contact-form-section__grid {
    gap: 1.45rem;
  }

  .p-contact .p-contact-form-section .p-contact-section-heading {
    max-width: 22rem;
  }

  .p-contact .p-contact-form-section .p-contact-section-heading h2 {
    font-size: clamp(2rem, 8.4vw, 2.22rem);
    line-height: 1.07;
  }

  .p-contact .p-contact-form-section .p-contact-section-heading > p:not(.p-contact-section-heading__eyebrow) {
    max-width: 20.8rem;
    font-size: 0.96rem;
    line-height: 1.58;
  }

  .p-contact .p-contact-form-section__card {
    padding: clamp(1rem, 4.8vw, 1.22rem);
    border-radius: 1.55rem;
  }

  .p-contact .p-contact-form-section .c-form--consultation {
    gap: 1.08rem;
  }

  .p-contact .p-contact-form-section .c-form label {
    margin-bottom: 0.5rem;
  }

  .p-contact .p-contact-form-section .c-form input:not([type="checkbox"]):not([type="hidden"]),
  .p-contact .p-contact-form-section .c-form select {
    height: clamp(3.38rem, 14.8vw, 3.55rem);
    padding-right: 1rem;
    padding-left: 1rem;
    font-size: 0.98rem;
  }

  .p-contact .p-contact-form-section .c-form select {
    padding-right: 2.65rem;
  }

  .p-contact .p-contact-form-section .c-form textarea {
    min-height: clamp(9.45rem, 42vw, 10.35rem);
    font-size: 0.98rem;
  }

  .p-contact .p-contact-form-section .c-form__field--consent {
    gap: 0.16rem 0.78rem;
  }

  .p-contact .p-contact-form-section .c-form button[type="submit"] {
    min-height: clamp(3.42rem, 15vw, 3.58rem);
    border-radius: 0.98rem;
  }

  .p-contact .p-contact-form-section .c-form--consultation button[type="submit"] {
    border-radius: 999px;
  }
}

/* Contact location and map final polish */
.p-contact .p-contact-map {
  padding: clamp(3.2rem, 5vw, 5rem) 0 clamp(2.35rem, 3.7vw, 3.4rem);
  background:
    radial-gradient(circle at 84% 14%, rgb(223 243 255 / 54%), transparent 24rem),
    radial-gradient(circle at 8% 78%, rgb(248 211 107 / 9%), transparent 21rem),
    linear-gradient(180deg, #fff 0%, #f8fcff 100%);
}

.p-contact .p-contact-map .srcosme-container,
.p-contact .p-contact-map-cta .srcosme-container {
  width: min(100% - 2.5rem, var(--container-width));
}

.p-contact .p-contact-map__grid {
  align-items: stretch;
  gap: clamp(1.75rem, 2.5vw, 2.25rem);
}

.p-contact .p-contact-map__info,
.p-contact .p-contact-map__embed {
  border: 1px solid rgb(214 154 22 / 16%);
  border-radius: clamp(1.55rem, 2.2vw, 1.85rem);
  background: linear-gradient(180deg, rgb(255 255 255 / 94%) 0%, rgb(248 252 255 / 88%) 100%);
  box-shadow:
    0 1.1rem 3rem rgb(4 50 76 / 8%),
    inset 0 1px 0 rgb(255 255 255 / 88%);
}

.p-contact .p-contact-map__info {
  gap: clamp(0.68rem, 0.9vw, 0.9rem);
  padding: clamp(1.45rem, 2.2vw, 2rem);
}

.p-contact .p-contact-map__info::before {
  opacity: 0.72;
}

.p-contact .p-contact-map__info h2 {
  color: #04324c;
  font-weight: 850;
  letter-spacing: 0;
}

.p-contact .p-contact-map__info #contact-map-title {
  max-width: 100%;
  white-space: nowrap;
}

.p-contact .p-contact-map__lead {
  max-width: 28rem;
  color: rgb(48 68 80 / 76%);
  line-height: 1.6;
}

.p-contact .p-contact-map__list {
  margin-top: 0.16rem;
  padding: 0.2rem 0 0;
}

.p-contact .p-contact-map__item {
  grid-template-columns: clamp(2.75rem, 4vw, 3rem) minmax(0, 1fr);
  gap: clamp(1rem, 1.55vw, 1.12rem);
  padding: clamp(0.82rem, 1.4vw, 1rem) 0;
  border-bottom: 1px solid rgb(214 154 22 / 11%);
}

.p-contact .p-contact-map__item-icon {
  display: inline-grid;
  width: clamp(2.75rem, 4vw, 3rem);
  height: clamp(2.75rem, 4vw, 3rem);
  min-width: clamp(2.75rem, 4vw, 3rem);
  min-height: clamp(2.75rem, 4vw, 3rem);
  margin-top: 0.08rem;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgb(0 119 182 / 21%);
  border-radius: 999px;
  background:
    radial-gradient(circle at 32% 24%, rgb(255 255 255 / 100%) 0 36%, rgb(248 252 255 / 96%) 100%);
  color: #005f91;
  box-shadow:
    inset 0 0.08rem 0.45rem rgb(255 255 255 / 88%),
    0 0.62rem 1.35rem rgb(4 50 76 / 6%);
}

.p-contact .p-contact-map__item-icon svg {
  width: clamp(1.18rem, 1.9vw, 1.36rem);
  height: clamp(1.18rem, 1.9vw, 1.36rem);
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.28;
}

.p-contact .p-contact-map__item-icon--whatsapp {
  border-color: rgb(37 211 102 / 24%);
  background:
    radial-gradient(circle at 35% 25%, rgb(255 255 255 / 100%) 0 40%, rgb(245 255 249 / 96%) 100%);
  color: #25d366;
  box-shadow:
    inset 0 0.08rem 0.5rem rgb(255 255 255 / 90%),
    0 0.62rem 1.32rem rgb(37 211 102 / 8%);
}

.p-contact .p-contact-map__item-icon--whatsapp svg {
  width: clamp(1.28rem, 2vw, 1.46rem);
  height: clamp(1.28rem, 2vw, 1.46rem);
  fill: currentcolor;
  stroke: none;
}

.p-contact .p-contact-map__item-label {
  margin-bottom: 0.18rem;
  color: rgb(48 68 80 / 66%);
  font-size: clamp(0.82rem, 1vw, 0.9rem);
  font-weight: 680;
  letter-spacing: 0.01em;
}

.p-contact .p-contact-map__item-value,
.p-contact .p-contact-map__item address {
  color: #04324c;
  font-size: clamp(0.94rem, 1vw, 1rem);
  font-weight: 620;
  line-height: 1.5;
}

.p-contact .p-contact-map__actions {
  gap: clamp(0.75rem, 1.2vw, 0.88rem);
  margin-top: clamp(1rem, 1.8vw, 1.25rem);
}

.p-contact .p-contact-map__button {
  display: grid;
  grid-template-columns: 2.18rem minmax(0, 1fr) 2.18rem;
  min-height: clamp(3.28rem, 4.2vw, 3.56rem);
  align-items: center;
  gap: 0.72rem;
  padding: 0.62rem 0.78rem;
  border-radius: 999px;
  font-size: clamp(0.9rem, 1vw, 0.98rem);
  font-weight: 800;
  letter-spacing: 0;
  white-space: normal;
}

.p-contact .p-contact-map__button-icon,
.p-contact .p-contact-map__button-arrow {
  display: inline-grid;
  width: 2.18rem;
  height: 2.18rem;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  line-height: 1;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.p-contact .p-contact-map__button-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.95;
}

.p-contact .p-contact-map__button-icon--whatsapp svg {
  width: clamp(1.2rem, 4.9vw, 1.34rem);
  height: clamp(1.2rem, 4.9vw, 1.34rem);
  fill: currentcolor;
  stroke: none;
}

.p-contact .p-contact-map__button-text {
  min-width: 0;
  text-align: center;
}

.p-contact .p-contact-map__button--primary {
  border: 1px solid rgb(203 244 218 / 72%);
  background: linear-gradient(135deg, #0f8f5f 0%, #25d366 52%, #128c7e 100%);
  color: #fff;
  box-shadow:
    0 0.875rem 1.875rem rgb(18 140 126 / 20%),
    inset 0 1px 0 rgb(255 255 255 / 22%);
}

.p-contact .p-contact-map__button--primary .p-contact-map__button-icon,
.p-contact .p-contact-map__button--primary .p-contact-map__button-arrow {
  border: 1px solid rgb(255 255 255 / 28%);
  background: rgb(255 255 255 / 16%);
  color: #fff;
}

.p-contact .p-contact-map__button--secondary {
  border: 1px solid rgb(218 176 62 / 38%);
  background: linear-gradient(135deg, #fffaf0 0%, #fff3c4 52%, #f7d66b 100%);
  color: #0077b6;
  box-shadow:
    0 0.75rem 1.625rem rgb(191 151 38 / 13%),
    inset 0 1px 0 rgb(255 255 255 / 65%);
}

.p-contact .p-contact-map__button--secondary .p-contact-map__button-icon,
.p-contact .p-contact-map__button--secondary .p-contact-map__button-arrow {
  border: 1px solid rgb(214 154 22 / 24%);
  background: rgb(255 249 232 / 72%);
  color: #0077b6;
}

.p-contact .p-contact-map__button--secondary .p-contact-map__button-icon--location {
  border-color: rgb(0 119 182 / 22%);
  background:
    radial-gradient(circle at 35% 25%, rgb(255 255 255 / 96%) 0 42%, rgb(244 251 255 / 88%) 100%);
  color: #005f91;
  box-shadow:
    inset 0 0.08rem 0.42rem rgb(255 255 255 / 78%),
    0 0.42rem 0.92rem rgb(4 50 76 / 6%);
}

.p-contact .p-contact-map__button--secondary .p-contact-map__button-icon--location svg {
  width: 1.18rem;
  height: 1.18rem;
  stroke-width: 2.28;
}

.p-contact .p-contact-map__button:hover,
.p-contact .p-contact-map__button:focus-visible {
  transform: translateY(-1px);
  border-color: rgb(248 211 107 / 42%);
}

.p-contact .p-contact-map__button:hover .p-contact-map__button-arrow,
.p-contact .p-contact-map__button:focus-visible .p-contact-map__button-arrow {
  transform: translateX(0.14rem);
}

.p-contact .p-contact-map__button:hover span,
.p-contact .p-contact-map__button:focus-visible span {
  transform: none;
}

.p-contact .p-contact-map__button:hover .p-contact-map__button-arrow,
.p-contact .p-contact-map__button:focus-visible .p-contact-map__button-arrow {
  transform: translateX(0.14rem);
}

.p-contact .p-contact-map__embed {
  overflow: hidden;
  padding: 0.38rem;
  background: linear-gradient(135deg, rgb(223 243 255 / 62%), rgb(255 255 255 / 94%));
}

.p-contact .p-contact-map__embed iframe {
  overflow: hidden;
  border-radius: calc(clamp(1.55rem, 2.2vw, 1.85rem) - 0.45rem);
}

.p-contact .p-contact-map-cta {
  padding: 0 0 clamp(3.2rem, 5.2vw, 5.2rem);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #f8fcff 0%, #fff 100%);
}

.p-contact .p-contact-map-cta__card {
  display: grid;
  max-width: 760px;
  margin-inline: auto;
  padding: clamp(1.75rem, 3vw, 2.4rem);
  justify-items: center;
  gap: clamp(0.82rem, 1.3vw, 1rem);
  border: 1px solid rgb(207 239 220 / 24%);
  border-radius: clamp(1.55rem, 2.2vw, 1.9rem);
  background:
    radial-gradient(circle at 18% 12%, rgb(255 255 255 / 18%) 0, rgb(255 255 255 / 0%) 34%),
    linear-gradient(135deg, #073f34 0%, #0b6f52 48%, #128c7e 100%);
  box-shadow:
    0 1.375rem 2.875rem rgb(7 63 52 / 22%),
    inset 0 1px 0 rgb(255 255 255 / 18%);
  color: #fff;
  text-align: center;
}

.p-contact .p-contact-map-cta__card h2 {
  max-width: 24rem;
  margin: 0;
  color: #fff;
  font-size: clamp(1.78rem, 3.4vw, 2.35rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.08;
}

.p-contact .p-contact-map-cta__card p {
  max-width: 30rem;
  margin: 0;
  color: rgb(255 255 255 / 88%);
  font-size: clamp(0.96rem, 1.2vw, 1.06rem);
  line-height: 1.58;
}

.p-contact .p-contact-map-cta__button {
  display: grid;
  grid-template-columns: 2.12rem minmax(0, 1fr) 2.12rem;
  width: min(100%, 25rem);
  min-height: clamp(3.38rem, 4.4vw, 3.62rem);
  align-items: center;
  gap: 0.75rem;
  margin-top: clamp(0.38rem, 1vw, 0.62rem);
  padding: 0.62rem 0.78rem;
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 999px;
  background: linear-gradient(135deg, #f8d36b 0%, #e4ac25 55%, #c79200 100%);
  color: #04324c;
  font-size: clamp(0.98rem, 1.1vw, 1.05rem);
  font-weight: 850;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 0.9rem 2rem rgb(0 0 0 / 18%);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.p-contact .p-contact-map-cta__button-icon,
.p-contact .p-contact-map-cta__button-arrow {
  display: inline-grid;
  width: 2.12rem;
  height: 2.12rem;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgb(4 50 76 / 12%);
  border-radius: 999px;
  background: rgb(255 255 255 / 58%);
  color: #04324c;
  line-height: 1;
  transition: transform 180ms ease, background-color 180ms ease;
}

.p-contact .p-contact-map-cta__button-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.95;
}

.p-contact .p-contact-map-cta__button-icon--whatsapp {
  border-color: rgb(199 146 0 / 18%);
  background: rgb(255 255 255 / 88%);
  color: #25d366;
}

.p-contact .p-contact-map-cta__button-icon--whatsapp svg {
  width: clamp(1.2rem, 4.9vw, 1.34rem);
  height: clamp(1.2rem, 4.9vw, 1.34rem);
  fill: currentcolor;
  stroke: none;
}

.p-contact .p-contact-map-cta__button:hover,
.p-contact .p-contact-map-cta__button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 1.1rem 2.3rem rgb(0 0 0 / 20%);
}

.p-contact .p-contact-map-cta__button:hover .p-contact-map-cta__button-arrow,
.p-contact .p-contact-map-cta__button:focus-visible .p-contact-map-cta__button-arrow {
  transform: translateX(0.14rem);
}

.p-contact .p-contact-map-cta__button:focus-visible {
  outline: 2px solid rgb(255 255 255 / 76%);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .p-contact .p-contact-map__button-icon,
  .p-contact .p-contact-map__button-arrow,
  .p-contact .p-contact-map-cta__button,
  .p-contact .p-contact-map-cta__button-icon,
  .p-contact .p-contact-map-cta__button-arrow {
    transition: none;
  }
}

@media (max-width: 64rem) {
  .p-contact .p-contact-map__grid {
    gap: clamp(1.75rem, 4.2vw, 2.12rem);
  }
}

@media (max-width: 40rem) {
  .p-contact .p-contact-map {
    padding: 3rem 0 2rem;
  }

  .p-contact .p-contact-map .srcosme-container,
  .p-contact .p-contact-map-cta .srcosme-container {
    width: min(100% - 2.25rem, 100%);
  }

  .p-contact .p-contact-map__info,
  .p-contact .p-contact-map__embed {
    border-radius: clamp(1.62rem, 7vw, 1.88rem);
  }

  .p-contact .p-contact-map__info {
    padding: clamp(1.25rem, 5.8vw, 1.55rem);
  }

  .p-contact .p-contact-map__info h2 {
    font-size: clamp(1.72rem, 7.2vw, 2.12rem);
    line-height: 1;
  }

  .p-contact .p-contact-map__item {
    grid-template-columns: clamp(2.75rem, 12.8vw, 3rem) minmax(0, 1fr);
    padding: clamp(0.82rem, 3.8vw, 0.96rem) 0;
  }

  .p-contact .p-contact-map__button {
    grid-template-columns: 2.16rem minmax(0, 1fr) 2.16rem;
    min-height: clamp(3.28rem, 15.2vw, 3.58rem);
    gap: 0.58rem;
    padding: 0.62rem 0.68rem;
    font-size: clamp(0.86rem, 3.7vw, 0.94rem);
  }

  .p-contact .p-contact-map__button-icon,
  .p-contact .p-contact-map__button-arrow {
    width: 2.16rem;
    height: 2.16rem;
  }

  .p-contact .p-contact-map__embed,
  .p-contact .p-contact-map__embed iframe {
    min-height: clamp(21.25rem, 96vw, 25.75rem);
  }

  .p-contact .p-contact-map-cta {
    padding-bottom: 3.2rem;
  }

  .p-contact .p-contact-map-cta__card {
    padding: clamp(1.72rem, 8vw, 2.08rem) clamp(1.12rem, 5.2vw, 1.35rem);
    border-radius: clamp(1.62rem, 7vw, 1.88rem);
  }

  .p-contact .p-contact-map-cta__card h2 {
    font-size: clamp(1.82rem, 8vw, 2.08rem);
  }

  .p-contact .p-contact-map-cta__card p {
    max-width: 19.5rem;
    font-size: 0.96rem;
  }

  .p-contact .p-contact-map-cta__button {
    width: 100%;
    min-height: clamp(3.42rem, 15vw, 3.58rem);
  }
}

@media (max-width: 40rem) {
  .p-contact .p-contact-consultation-hero .p-contact-consultation-hero__eyebrow,
  .p-contact .p-contact-section-heading .p-contact-section-heading__eyebrow,
  .p-contact .p-contact-map .p-contact-section-heading__eyebrow {
    gap: 0.66rem;
    font-size: 0.76rem;
    letter-spacing: 0.11em;
  }

  .p-contact .p-contact-consultation-hero__eyebrow {
    margin-bottom: clamp(0.75rem, 3.2vw, 0.88rem);
  }
}

/* Contact benefits assurance list polish */
.p-contact .p-contact-get__assurance {
  margin-top: clamp(1.65rem, 2.6vw, 2.25rem);
}

.p-contact .p-contact-get__assurance-divider {
  display: grid;
  grid-template-columns: minmax(1.8rem, 1fr) auto minmax(1.8rem, 1fr);
  align-items: center;
  gap: clamp(0.72rem, 1.2vw, 1rem);
  margin: 0 0 clamp(1.1rem, 1.6vw, 1.35rem);
  color: var(--consultation-gold, #c79200);
  font-family: inherit;
  font-size: clamp(0.76rem, 0.78vw, 0.84rem);
  font-weight: 790;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
}

.p-contact .p-contact-get__assurance-divider::before,
.p-contact .p-contact-get__assurance-divider::after {
  content: "";
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(214 154 22 / 0%), rgb(214 154 22 / 28%), rgb(214 154 22 / 0%));
}

.p-contact .p-contact-get__assurance-divider span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.p-contact .p-contact-get__assurance-list {
  overflow: hidden;
  border-color: rgb(214 154 22 / 18%);
  border-radius: clamp(1.05rem, 1.45vw, 1.32rem);
  background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(255 253 247 / 88%));
  box-shadow:
    0 0.95rem 2.4rem rgb(4 50 76 / 6%),
    0 0.32rem 1.1rem rgb(214 154 22 / 5%),
    inset 0 1px 0 rgb(255 255 255 / 92%);
}

.p-contact .p-contact-get__assurance-item {
  gap: clamp(1rem, 1.2vw, 1.15rem);
  padding: clamp(0.82rem, 1.1vw, 1rem) clamp(0.9rem, 1.2vw, 1.15rem);
}

.p-contact .p-contact-get__assurance-item + .p-contact-get__assurance-item {
  border-left: 0;
}

@media (min-width: 64.01rem) {
  .p-contact .p-contact-get__assurance-item + .p-contact-get__assurance-item::before {
    content: "";
    position: absolute;
    top: 18%;
    bottom: 18%;
    left: 0;
    width: 1px;
    background: linear-gradient(180deg, rgb(214 154 22 / 0%), rgb(214 154 22 / 16%), rgb(214 154 22 / 0%));
  }
}

.p-contact .p-contact-get__assurance-icon {
  width: clamp(3.25rem, 3.45vw, 3.55rem);
  min-width: clamp(3.25rem, 3.45vw, 3.55rem);
  height: clamp(3.25rem, 3.45vw, 3.55rem);
  min-height: clamp(3.25rem, 3.45vw, 3.55rem);
  border-color: rgb(214 154 22 / 36%);
  color: var(--consultation-gold, #c79200);
  background:
    radial-gradient(circle at 35% 24%, #fff 0 34%, rgb(255 249 232 / 84%) 100%);
  box-shadow:
    inset 0 0.08rem 0.42rem rgb(255 255 255 / 90%),
    0 0.65rem 1.25rem rgb(214 154 22 / 9%);
}

.p-contact .p-contact-get__assurance-icon svg {
  width: clamp(1.4rem, 1.52vw, 1.6rem);
  height: clamp(1.4rem, 1.52vw, 1.6rem);
  stroke-width: 1.95;
}

.p-contact .p-contact-get__assurance-copy {
  gap: 0.22rem;
}

.p-contact .p-contact-get__assurance-copy strong {
  color: var(--color-navy, #04324c);
  font-size: clamp(0.9rem, 0.88vw, 0.98rem);
  font-weight: 780;
  line-height: 1.14;
  letter-spacing: 0;
}

.p-contact .p-contact-get__assurance-copy span {
  color: rgb(63 82 100 / 78%);
  font-size: clamp(0.76rem, 0.74vw, 0.84rem);
  line-height: 1.48;
  letter-spacing: normal;
}

.p-contact .p-contact-get__tagline {
  margin-top: clamp(1.55rem, 2.2vw, 1.9rem);
  color: rgb(63 82 100 / 70%);
  font-size: clamp(0.86rem, 0.86vw, 0.96rem);
  font-weight: 560;
  letter-spacing: 0.02em;
  line-height: 1.48;
}

.p-contact .p-contact-get__tagline strong {
  color: var(--consultation-gold, #c79200);
  font-weight: 790;
}

@media (max-width: 42rem) {
  .p-contact .p-contact-get__assurance {
    margin-top: clamp(1.75rem, 7.2vw, 2rem);
  }

  .p-contact .p-contact-get__assurance-divider {
    grid-template-columns: minmax(1.05rem, 1fr) auto minmax(1.05rem, 1fr);
    gap: clamp(0.54rem, 2.5vw, 0.68rem);
    margin-bottom: clamp(1.12rem, 5vw, 1.38rem);
    font-size: clamp(0.74rem, 3.2vw, 0.82rem);
    letter-spacing: 0.02em;
  }

  .p-contact .p-contact-get__assurance-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .p-contact .p-contact-get__assurance-item,
  .p-contact .p-contact-get__assurance-item + .p-contact-get__assurance-item {
    border-top: 0;
    border-left: 0;
  }

  .p-contact .p-contact-get__assurance-item {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: clamp(0.72rem, 3.2vw, 0.86rem);
    min-width: 0;
    min-height: clamp(10.7rem, 47vw, 11.6rem);
    padding: clamp(1rem, 4.6vw, 1.12rem) clamp(0.72rem, 3vw, 0.92rem);
    border: 1px solid rgb(214 154 22 / 20%);
    border-radius: clamp(1.12rem, 5vw, 1.32rem);
    background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(255 253 247 / 90%));
    box-shadow: 0 0.72rem 1.45rem rgb(4 50 76 / 5%), 0 0.28rem 0.9rem rgb(214 154 22 / 5%);
    text-align: center;
  }

  .p-contact .p-contact-get__assurance-item + .p-contact-get__assurance-item::before {
    content: none;
  }

  .p-contact .p-contact-get__assurance-icon {
    width: clamp(3rem, 14.2vw, 3.38rem);
    min-width: clamp(3rem, 14.2vw, 3.38rem);
    height: clamp(3rem, 14.2vw, 3.38rem);
    min-height: clamp(3rem, 14.2vw, 3.38rem);
  }

  .p-contact .p-contact-get__assurance-icon svg {
    width: clamp(1.34rem, 6vw, 1.5rem);
    height: clamp(1.34rem, 6vw, 1.5rem);
    stroke-width: 2;
  }

  .p-contact .p-contact-get__assurance-copy {
    justify-items: center;
    gap: 0.26rem;
    text-align: center;
  }

  .p-contact .p-contact-get__assurance-copy strong {
    max-width: 8.8rem;
    font-size: clamp(0.86rem, 3.55vw, 0.96rem);
    line-height: 1.14;
  }

  .p-contact .p-contact-get__assurance-copy span {
    display: -webkit-box;
    max-width: 8.9rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: clamp(0.74rem, 3.05vw, 0.84rem);
    line-height: 1.42;
  }

  .p-contact .p-contact-get__tagline {
    max-width: min(100%, 23rem);
    margin: clamp(1.38rem, 6vw, 1.62rem) auto 0;
    gap: 0.32rem 0.48rem;
    font-size: clamp(0.82rem, 3.25vw, 0.88rem);
    letter-spacing: 0.01em;
  }
}

/* BPOM Compliance single certification page - scoped to /certifications/bpom-compliance/. */
.p-certification-bpom {
	--bpom-blue: #006fa8;
	--bpom-blue-deep: #04324c;
	--bpom-blue-soft: #eaf7fd;
	--bpom-gold: #d69a16;
	--bpom-ink: #24323a;
	--bpom-muted: #5b6f79;
	--bpom-line: rgb(0 111 168 / 14%);
	overflow: clip;
	background:
		linear-gradient(180deg, #ffffff 0%, #f7fcff 38%, #ffffff 76%);
	color: var(--bpom-ink);
}

.p-certification-bpom :where(h1, h2, h3, p, a, span, dt, dd) {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-certification-bpom__breadcrumb {
	padding-top: clamp(1.1rem, 3vw, 1.65rem);
}

.p-certification-bpom__hero {
	position: relative;
	isolation: isolate;
	padding-block: clamp(2.25rem, 7vw, 3.9rem) clamp(2rem, 6vw, 3.35rem);
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 24%, rgb(0 143 215 / 18%), transparent 27rem),
		radial-gradient(circle at 18% 78%, rgb(253 209 0 / 12%), transparent 20rem),
		linear-gradient(135deg, #ffffff 0%, #f8fcff 48%, #e8f6fd 100%);
}

.p-certification-bpom__hero::before {
	position: absolute;
	inset: auto -8rem -12rem auto;
	z-index: -1;
	width: clamp(20rem, 42vw, 38rem);
	height: clamp(20rem, 42vw, 38rem);
	border-radius: 999rem;
	background: rgb(0 111 168 / 7%);
	content: "";
}

.p-certification-bpom__hero-grid,
.p-certification-bpom__credential-grid {
	display: grid;
	gap: clamp(1.65rem, 5.8vw, 3.9rem);
	align-items: center;
}

.p-certification-bpom__hero-copy,
.p-certification-bpom__section-copy {
	max-width: 39rem;
}

.p-certification-bpom__eyebrow {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 0.9rem;
	align-items: center;
	gap: 0.55rem;
	color: var(--bpom-blue);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.p-certification-bpom__eyebrow::before {
	width: 1.75rem;
	height: 0.125rem;
	border-radius: 999rem;
	background: var(--bpom-gold);
	content: "";
}

.p-certification-bpom h1 {
	max-width: 42rem;
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(2.15rem, 8.8vw, 3.25rem);
	letter-spacing: 0;
	line-height: 1.08;
}

.p-certification-bpom h1 span {
	display: block;
}

.p-certification-bpom__lead {
	max-width: 36.5rem;
	margin: clamp(0.85rem, 3vw, 1.15rem) 0 0;
	color: var(--bpom-muted);
	font-size: clamp(1rem, 3.8vw, 1.15rem);
	line-height: 1.66;
}

.p-certification-bpom__actions {
	display: grid;
	gap: 0.85rem;
	margin-top: clamp(1.45rem, 5vw, 1.85rem);
}

.p-certification-bpom__button {
	display: inline-flex;
	width: min(100%, 24rem);
	min-height: 3.2rem;
	padding: 0.78rem 1.12rem 0.78rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 999rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.p-certification-bpom__button span[aria-hidden="true"] {
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	border-radius: 50%;
	place-items: center;
	background: rgb(255 255 255 / 22%);
	font-size: 1.1rem;
	line-height: 1;
}

.p-certification-bpom__button--primary {
	background: linear-gradient(135deg, var(--bpom-blue), var(--bpom-blue-deep));
	box-shadow: 0 1rem 2rem rgb(0 111 168 / 18%);
	color: #ffffff;
}

.p-certification-bpom__button--outline {
	border-color: rgb(0 111 168 / 34%);
	background: linear-gradient(135deg, rgb(234 247 253 / 82%), rgb(255 255 255 / 96%));
	color: var(--bpom-blue-deep);
	box-shadow: 0 0.5rem 1.4rem rgb(0 111 168 / 8%);
}

.p-certification-bpom__button--outline span[aria-hidden="true"] {
	background: var(--bpom-blue-soft);
	color: var(--bpom-blue);
}

.p-certification-bpom__button:hover,
.p-certification-bpom__button:focus-visible {
	transform: translateY(-0.0625rem);
}

.p-certification-bpom__button--primary:hover,
.p-certification-bpom__button--primary:focus-visible {
	box-shadow: 0 1.2rem 2.3rem rgb(0 111 168 / 22%);
	color: #ffffff;
}

.p-certification-bpom__button--outline:hover,
.p-certification-bpom__button--outline:focus-visible {
	border-color: rgb(0 111 168 / 34%);
	background: #ffffff;
	color: var(--bpom-blue-deep);
}

.p-certification-bpom__hero-media {
	position: relative;
	margin: 0;
	padding: clamp(0.64rem, 2.4vw, 0.95rem);
	border: 1px solid rgb(0 111 168 / 12%);
	border-radius: clamp(1.12rem, 4vw, 1.48rem);
	background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(237 249 255 / 88%));
	box-shadow: 0 1.4rem 3rem rgb(4 50 76 / 12%), 0 0 0 0.55rem rgb(234 247 253 / 52%);
	overflow: hidden;
}

.p-certification-bpom__hero-media::after {
	position: absolute;
	inset: auto 1.05rem 1.05rem 1.05rem;
	height: 0.25rem;
	border-radius: 999rem;
	background: linear-gradient(90deg, var(--bpom-gold), rgb(0 111 168 / 80%));
	content: "";
}

.p-certification-bpom__hero-media img {
	width: 100%;
	aspect-ratio: 1.22;
	border-radius: clamp(0.82rem, 3vw, 1.05rem);
	object-fit: cover;
	object-position: center;
}

.p-certification-bpom__credential-section {
	padding-block: clamp(2.2rem, 6.2vw, 3.8rem) clamp(1.75rem, 5vw, 2.7rem);
	background: #ffffff;
}

.p-certification-bpom__section-copy h2,
.p-certification-bpom__closing h2 {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1.65rem, 6vw, 2.35rem);
	letter-spacing: 0;
	line-height: 1.14;
}

.p-certification-bpom__section-copy p:not(.p-certification-bpom__eyebrow),
.p-certification-bpom__closing p:not(.p-certification-bpom__eyebrow) {
	margin: 0.9rem 0 0;
	color: var(--bpom-muted);
	font-size: 1rem;
	line-height: 1.72;
}

.p-certification-bpom__credential-card {
	position: relative;
	padding: clamp(1.28rem, 5vw, 1.9rem);
	border: 1px solid var(--bpom-line);
	border-radius: clamp(1.12rem, 4vw, 1.38rem);
	background:
		linear-gradient(145deg, #ffffff 0%, #f7fcff 100%) padding-box,
		linear-gradient(135deg, rgb(214 154 22 / 48%), rgb(0 111 168 / 36%)) border-box;
	box-shadow: 0 1rem 2rem rgb(4 50 76 / 8%);
	overflow: hidden;
}

.p-certification-bpom__credential-card::before {
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 0.2rem;
	background: linear-gradient(90deg, var(--bpom-gold), rgb(0 111 168 / 82%), transparent);
	content: "";
}

.p-certification-bpom__credential-card dl {
	display: grid;
	margin: 0;
	gap: 1.05rem;
	min-width: 0;
}

.p-certification-bpom__credential-card div {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
	padding: 0.1rem 0 0;
}

.p-certification-bpom__credential-card dt {
	color: var(--bpom-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.p-certification-bpom__credential-card dd {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1rem, 3.8vw, 1.16rem);
	font-weight: 800;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.p-certification-bpom__benefits {
	padding-block: clamp(1.45rem, 4vw, 2.2rem) clamp(2.4rem, 6vw, 3.75rem);
	background: linear-gradient(180deg, #ffffff 0%, #f7fcff 100%);
}

.p-certification-bpom__benefit-grid {
	display: grid;
	gap: 0.9rem;
}

.p-certification-bpom__benefit-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.85rem;
	align-items: center;
	min-width: 0;
	padding: 1.02rem;
	border: 1px solid rgb(0 111 168 / 11%);
	border-radius: 1.05rem;
	background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(248 252 255 / 90%));
	box-shadow: 0 0.55rem 1.25rem rgb(4 50 76 / 5%);
}

.p-certification-bpom__benefit-card span {
	display: inline-grid;
	width: 2.65rem;
	height: 2rem;
	border: 1px solid rgb(214 154 22 / 18%);
	border-radius: 999rem;
	place-items: center;
	background: linear-gradient(135deg, var(--bpom-blue-soft), rgb(255 250 229 / 82%));
	color: var(--bpom-blue);
	font-size: 0.78rem;
	font-weight: 900;
}

.p-certification-bpom__benefit-card p {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-weight: 800;
	line-height: 1.35;
}

.p-certification-bpom__closing {
	padding-block: clamp(2.15rem, 5.5vw, 3.35rem) clamp(2.65rem, 6.5vw, 4rem);
	background: #ffffff;
}

.p-certification-bpom__closing-panel {
	display: grid;
	gap: 1.25rem;
	align-items: center;
	padding: clamp(1.25rem, 4.4vw, 1.85rem);
	border: 1px solid rgb(214 154 22 / 22%);
	border-radius: clamp(1.12rem, 4vw, 1.38rem);
	background:
		radial-gradient(circle at 92% 12%, rgb(253 209 0 / 16%), transparent 14rem),
		linear-gradient(135deg, #fffdf5 0%, #f8fcff 55%, #ffffff 100%);
	box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 7%);
}

.p-certification-bpom__closing .p-certification-bpom__button {
	width: min(100%, 24rem);
}

@media (max-width: 47.9375rem) {
	.p-certification-bpom__hero {
		padding-block: clamp(2rem, 6vw, 2.45rem) clamp(1.75rem, 5vw, 2.15rem);
	}

	.p-certification-bpom__hero-grid {
		width: min(calc(100vw - 2rem), var(--container-width));
		gap: 1.45rem;
	}

	.p-certification-bpom__actions,
	.p-certification-bpom__button,
	.p-certification-bpom__closing .p-certification-bpom__button {
		width: 100%;
	}

	.p-certification-bpom h1 {
		font-size: clamp(1.68rem, 7.2vw, 2rem);
		line-height: 1.14;
	}

	.p-certification-bpom h1 span {
		white-space: nowrap;
	}

	.p-certification-bpom__hero-media {
		padding: 0.34rem;
		box-shadow: 0 1rem 2.05rem rgb(4 50 76 / 11%), 0 0 0 0.42rem rgb(234 247 253 / 58%);
	}

	.p-certification-bpom__hero-media::after {
		inset-inline: 0.6rem;
		bottom: 0.6rem;
		height: 0.2rem;
	}

	.p-certification-bpom__hero-media img {
		aspect-ratio: 1.18;
		object-fit: contain;
		object-position: center;
	}

	.p-certification-bpom__credential-section {
		padding-block: clamp(1.85rem, 5.5vw, 2.35rem) clamp(1.35rem, 4vw, 1.7rem);
	}

	.p-certification-bpom__benefits {
		padding-block: clamp(1.25rem, 3.8vw, 1.55rem) clamp(2rem, 5vw, 2.45rem);
	}

	.p-certification-bpom__closing {
		padding-block: clamp(2rem, 5vw, 2.45rem) clamp(2.4rem, 6vw, 3rem);
	}
}

@media (min-width: 48rem) and (max-width: 63.9375rem) {
	.p-certification-bpom__hero-media {
		width: min(100%, 38rem);
		margin-inline: auto;
	}

	.p-certification-bpom__hero-media img {
		aspect-ratio: 1.36;
		object-fit: contain;
	}
}

@media (min-width: 48rem) {
	.p-certification-bpom__actions {
		display: flex;
		flex-wrap: wrap;
	}

	.p-certification-bpom__button {
		width: auto;
		min-width: 16.5rem;
	}

	.p-certification-bpom__benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.p-certification-bpom__hero-grid {
		grid-template-columns: minmax(0, 0.88fr) minmax(29rem, 1.12fr);
		max-width: 74rem;
	}

	.p-certification-bpom__credential-grid {
		grid-template-columns: minmax(0, 0.86fr) minmax(25rem, 1fr);
		max-width: 68rem;
	}

	.p-certification-bpom__credential-card dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-certification-bpom__credential-card div:nth-child(n + 3) {
		grid-column: 1 / -1;
	}

	.p-certification-bpom__hero {
		padding-block: clamp(5rem, 6vw, 6rem) clamp(4.75rem, 5.6vw, 5.6rem);
	}

	.p-certification-bpom h1 {
		font-size: clamp(3rem, 4.2vw, 3.6rem);
	}

	.p-certification-bpom__hero-media img {
		aspect-ratio: 1.34;
	}

	.p-certification-bpom__benefit-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 74rem;
	}

	.p-certification-bpom__benefit-card {
		grid-template-columns: 1fr;
		align-content: start;
		min-height: 9rem;
		padding: 1.15rem;
	}

	.p-certification-bpom__closing-panel {
		grid-template-columns: minmax(0, 1fr) auto;
		max-width: 74rem;
		padding: 1.85rem 2.05rem;
	}
}

/* Halal Manufacturing Support single certification page - scoped to /certifications/halal-manufacturing-support/. */
.p-certification-halal {
	--bpom-blue: #2f8d69;
	--bpom-blue-deep: #253f38;
	--bpom-blue-soft: #edf8f1;
	--bpom-gold: #b99635;
	--bpom-ink: #24323a;
	--bpom-muted: #5f716b;
	--bpom-line: rgb(47 141 105 / 16%);
	overflow: clip;
	background:
		linear-gradient(180deg, #ffffff 0%, #f8fcfb 38%, #ffffff 76%);
	color: var(--bpom-ink);
}

.p-certification-halal :where(h1, h2, h3, p, a, span, dt, dd) {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-certification-halal__breadcrumb {
	padding-top: clamp(1.1rem, 3vw, 1.65rem);
}

.p-certification-halal__hero {
	position: relative;
	isolation: isolate;
	padding-block: clamp(2.25rem, 7vw, 3.9rem) clamp(2rem, 6vw, 3.35rem);
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 24%, rgb(105 91 166 / 18%), transparent 27rem),
		radial-gradient(circle at 18% 78%, rgb(253 209 0 / 12%), transparent 20rem),
		linear-gradient(135deg, #ffffff 0%, #f8fcfb 48%, #eef8f1 100%);
}

.p-certification-halal__hero::before {
	position: absolute;
	inset: auto -8rem -12rem auto;
	z-index: -1;
	width: clamp(20rem, 42vw, 38rem);
	height: clamp(20rem, 42vw, 38rem);
	border-radius: 999rem;
	background: rgb(47 141 105 / 7%);
	content: "";
}

.p-certification-halal__hero-grid,
.p-certification-halal__credential-grid {
	display: grid;
	gap: clamp(1.65rem, 5.8vw, 3.9rem);
	align-items: center;
}

.p-certification-halal__hero-copy,
.p-certification-halal__section-copy {
	max-width: 39rem;
}

.p-certification-halal__eyebrow {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 0.9rem;
	align-items: center;
	gap: 0.55rem;
	color: var(--bpom-blue);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.p-certification-halal__eyebrow::before {
	width: 1.75rem;
	height: 0.125rem;
	border-radius: 999rem;
	background: var(--bpom-gold);
	content: "";
}

.p-certification-halal h1 {
	max-width: 42rem;
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(2.15rem, 8.8vw, 3.25rem);
	letter-spacing: 0;
	line-height: 1.08;
}

.p-certification-halal h1 span {
	display: block;
}

.p-certification-halal__lead {
	max-width: 36.5rem;
	margin: clamp(0.85rem, 3vw, 1.15rem) 0 0;
	color: var(--bpom-muted);
	font-size: clamp(1rem, 3.8vw, 1.15rem);
	line-height: 1.66;
}

.p-certification-halal__actions {
	display: grid;
	gap: 0.85rem;
	margin-top: clamp(1.45rem, 5vw, 1.85rem);
}

.p-certification-halal__button {
	display: inline-flex;
	width: min(100%, 24rem);
	min-height: 3.2rem;
	padding: 0.78rem 1.12rem 0.78rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 999rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.p-certification-halal__button span[aria-hidden="true"] {
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	border-radius: 50%;
	place-items: center;
	background: rgb(255 255 255 / 22%);
	font-size: 1.1rem;
	line-height: 1;
}

.p-certification-halal__button--primary {
	background: linear-gradient(135deg, var(--bpom-blue), var(--bpom-blue-deep));
	box-shadow: 0 1rem 2rem rgb(47 141 105 / 18%);
	color: #ffffff;
}

.p-certification-halal__button--outline {
	border-color: rgb(47 141 105 / 34%);
	background: linear-gradient(135deg, rgb(237 248 241 / 82%), rgb(255 255 255 / 96%));
	color: var(--bpom-blue-deep);
	box-shadow: 0 0.5rem 1.4rem rgb(47 141 105 / 8%);
}

.p-certification-halal__button--outline span[aria-hidden="true"] {
	background: var(--bpom-blue-soft);
	color: var(--bpom-blue);
}

.p-certification-halal__button:hover,
.p-certification-halal__button:focus-visible {
	transform: translateY(-0.0625rem);
}

.p-certification-halal__button--primary:hover,
.p-certification-halal__button--primary:focus-visible {
	box-shadow: 0 1.2rem 2.3rem rgb(47 141 105 / 22%);
	color: #ffffff;
}

.p-certification-halal__button--outline:hover,
.p-certification-halal__button--outline:focus-visible {
	border-color: rgb(47 141 105 / 34%);
	background: #ffffff;
	color: var(--bpom-blue-deep);
}

.p-certification-halal__hero-media {
	position: relative;
	margin: 0;
	padding: clamp(0.64rem, 2.4vw, 0.95rem);
	border: 1px solid rgb(47 141 105 / 12%);
	border-radius: clamp(1.12rem, 4vw, 1.48rem);
	background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(237 249 255 / 88%));
	box-shadow: 0 1.4rem 3rem rgb(4 50 76 / 12%), 0 0 0 0.55rem rgb(237 248 241 / 52%);
	overflow: hidden;
}

.p-certification-halal__hero-media::after {
	position: absolute;
	inset: auto 1.05rem 1.05rem 1.05rem;
	height: 0.25rem;
	border-radius: 999rem;
	background: linear-gradient(90deg, var(--bpom-gold), rgb(47 141 105 / 80%));
	content: "";
}

.p-certification-halal__hero-media img {
	width: 100%;
	aspect-ratio: 1.22;
	border-radius: clamp(0.82rem, 3vw, 1.05rem);
	object-fit: cover;
	object-position: center;
}

.p-certification-halal__credential-section {
	padding-block: clamp(2.2rem, 6.2vw, 3.8rem) clamp(1.75rem, 5vw, 2.7rem);
	background: #ffffff;
}

.p-certification-halal__section-copy h2,
.p-certification-halal__closing h2 {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1.65rem, 6vw, 2.35rem);
	letter-spacing: 0;
	line-height: 1.14;
}

.p-certification-halal__section-copy p:not(.p-certification-halal__eyebrow),
.p-certification-halal__closing p:not(.p-certification-halal__eyebrow) {
	margin: 0.9rem 0 0;
	color: var(--bpom-muted);
	font-size: 1rem;
	line-height: 1.72;
}

.p-certification-halal__credential-card {
	position: relative;
	padding: clamp(1.28rem, 5vw, 1.9rem);
	border: 1px solid var(--bpom-line);
	border-radius: clamp(1.12rem, 4vw, 1.38rem);
	background:
		linear-gradient(145deg, #ffffff 0%, #f8fcfb 100%) padding-box,
		linear-gradient(135deg, rgb(214 154 22 / 48%), rgb(47 141 105 / 36%)) border-box;
	box-shadow: 0 1rem 2rem rgb(4 50 76 / 8%);
	overflow: hidden;
}

.p-certification-halal__credential-card::before {
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 0.2rem;
	background: linear-gradient(90deg, var(--bpom-gold), rgb(47 141 105 / 82%), transparent);
	content: "";
}

.p-certification-halal__credential-card dl {
	display: grid;
	margin: 0;
	gap: 1.05rem;
	min-width: 0;
}

.p-certification-halal__credential-card div {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
	padding: 0.1rem 0 0;
}

.p-certification-halal__credential-card dt {
	color: var(--bpom-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.p-certification-halal__credential-card dd {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1rem, 3.8vw, 1.16rem);
	font-weight: 800;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.p-certification-halal__benefits {
	padding-block: clamp(1.45rem, 4vw, 2.2rem) clamp(2.4rem, 6vw, 3.75rem);
	background: linear-gradient(180deg, #ffffff 0%, #f8fcfb 100%);
}

.p-certification-halal__benefit-grid {
	display: grid;
	gap: 0.9rem;
}

.p-certification-halal__benefit-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.85rem;
	align-items: center;
	min-width: 0;
	padding: 1.02rem;
	border: 1px solid rgb(47 141 105 / 11%);
	border-radius: 1.05rem;
	background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(248 252 255 / 90%));
	box-shadow: 0 0.55rem 1.25rem rgb(4 50 76 / 5%);
}

.p-certification-halal__benefit-card span {
	display: inline-grid;
	width: 2.65rem;
	height: 2rem;
	border: 1px solid rgb(214 154 22 / 18%);
	border-radius: 999rem;
	place-items: center;
	background: linear-gradient(135deg, var(--bpom-blue-soft), rgb(255 250 229 / 82%));
	color: var(--bpom-blue);
	font-size: 0.78rem;
	font-weight: 900;
}

.p-certification-halal__benefit-card p {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-weight: 800;
	line-height: 1.35;
}

.p-certification-halal__closing {
	padding-block: clamp(2.15rem, 5.5vw, 3.35rem) clamp(2.65rem, 6.5vw, 4rem);
	background: #ffffff;
}

.p-certification-halal__closing-panel {
	display: grid;
	gap: 1.25rem;
	align-items: center;
	padding: clamp(1.25rem, 4.4vw, 1.85rem);
	border: 1px solid rgb(214 154 22 / 22%);
	border-radius: clamp(1.12rem, 4vw, 1.38rem);
	background:
		radial-gradient(circle at 92% 12%, rgb(253 209 0 / 16%), transparent 14rem),
		linear-gradient(135deg, #fffdf5 0%, #f8fcfb 55%, #ffffff 100%);
	box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 7%);
}

.p-certification-halal__closing .p-certification-halal__button {
	width: min(100%, 24rem);
}

@media (max-width: 47.9375rem) {
	.p-certification-halal__hero {
		padding-block: clamp(2rem, 6vw, 2.45rem) clamp(1.75rem, 5vw, 2.15rem);
	}

	.p-certification-halal__hero-grid {
		width: min(calc(100vw - 2rem), var(--container-width));
		gap: 1.45rem;
	}

	.p-certification-halal__actions,
	.p-certification-halal__button,
	.p-certification-halal__closing .p-certification-halal__button {
		width: 100%;
	}

	.p-certification-halal h1 {
		font-size: clamp(1.68rem, 7.2vw, 2rem);
		line-height: 1.14;
	}

	.p-certification-halal h1 span {
		white-space: nowrap;
	}

	.p-certification-halal__hero-media {
		padding: 0.34rem;
		box-shadow: 0 1rem 2.05rem rgb(4 50 76 / 11%), 0 0 0 0.42rem rgb(237 248 241 / 58%);
	}

	.p-certification-halal__hero-media::after {
		inset-inline: 0.6rem;
		bottom: 0.6rem;
		height: 0.2rem;
	}

	.p-certification-halal__hero-media img {
		aspect-ratio: 1.18;
		object-fit: contain;
		object-position: center;
	}

	.p-certification-halal__credential-section {
		padding-block: clamp(1.85rem, 5.5vw, 2.35rem) clamp(1.35rem, 4vw, 1.7rem);
	}

	.p-certification-halal__benefits {
		padding-block: clamp(1.25rem, 3.8vw, 1.55rem) clamp(2rem, 5vw, 2.45rem);
	}

	.p-certification-halal__closing {
		padding-block: clamp(2rem, 5vw, 2.45rem) clamp(2.4rem, 6vw, 3rem);
	}
}

@media (min-width: 48rem) and (max-width: 63.9375rem) {
	.p-certification-halal__hero-media {
		width: min(100%, 38rem);
		margin-inline: auto;
	}

	.p-certification-halal__hero-media img {
		aspect-ratio: 1.36;
		object-fit: contain;
	}
}

@media (min-width: 48rem) {
	.p-certification-halal__actions {
		display: flex;
		flex-wrap: wrap;
	}

	.p-certification-halal__button {
		width: auto;
		min-width: 16.5rem;
	}

	.p-certification-halal__benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.p-certification-halal__hero-grid {
		grid-template-columns: minmax(0, 0.88fr) minmax(29rem, 1.12fr);
		max-width: 74rem;
	}

	.p-certification-halal__credential-grid {
		grid-template-columns: minmax(0, 0.86fr) minmax(25rem, 1fr);
		max-width: 68rem;
	}

	.p-certification-halal__credential-card dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-certification-halal__credential-card div:nth-child(n + 3) {
		grid-column: 1 / -1;
	}

	.p-certification-halal__hero {
		padding-block: clamp(5rem, 6vw, 6rem) clamp(4.75rem, 5.6vw, 5.6rem);
	}

	.p-certification-halal h1 {
		font-size: clamp(3rem, 4.2vw, 3.6rem);
	}

	.p-certification-halal__hero-media img {
		aspect-ratio: 1.34;
	}

	.p-certification-halal__benefit-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 74rem;
	}

	.p-certification-halal__benefit-card {
		grid-template-columns: 1fr;
		align-content: start;
		min-height: 9rem;
		padding: 1.15rem;
	}

	.p-certification-halal__closing-panel {
		grid-template-columns: minmax(0, 1fr) auto;
		max-width: 74rem;
		padding: 1.85rem 2.05rem;
	}
}

@media (min-width: 64rem) {
	.p-certification-halal__credential-grid {
		grid-template-columns: minmax(0, 0.78fr) minmax(30rem, 1.12fr);
		max-width: 74rem;
	}

	.p-certification-halal__credential-card div:nth-child(n + 3) {
		grid-column: auto;
	}

	.p-certification-halal__credential-card div:nth-child(6) {
		grid-column: 1 / -1;
	}
}

/* GMP / CPKB process readiness page - scoped to /certifications/good-manufacturing-practice-gmp/. */
.p-certification-gmp {
	--bpom-blue: #0077a8;
	--bpom-blue-deep: #18394a;
	--bpom-blue-soft: #eaf7fb;
	--bpom-gold: #c89b28;
	--bpom-ink: #24323a;
	--bpom-muted: #60737b;
	--bpom-line: rgb(0 119 168 / 14%);
	overflow: clip;
	background:
		linear-gradient(180deg, #ffffff 0%, #f7fcff 38%, #ffffff 76%);
	color: var(--bpom-ink);
}

.p-certification-gmp :where(h1, h2, h3, p, a, span, dt, dd) {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.p-certification-gmp__breadcrumb {
	padding-top: clamp(1.1rem, 3vw, 1.65rem);
}

.p-certification-gmp__hero {
	position: relative;
	isolation: isolate;
	padding-block: clamp(2.25rem, 7vw, 3.9rem) clamp(2rem, 6vw, 3.35rem);
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 24%, rgb(0 119 168 / 18%), transparent 27rem),
		radial-gradient(circle at 18% 78%, rgb(253 209 0 / 12%), transparent 20rem),
		linear-gradient(135deg, #ffffff 0%, #f8fcff 48%, #eaf7fb 100%);
}

.p-certification-gmp__hero::before {
	position: absolute;
	inset: auto -8rem -12rem auto;
	z-index: -1;
	width: clamp(20rem, 42vw, 38rem);
	height: clamp(20rem, 42vw, 38rem);
	border-radius: 999rem;
	background: rgb(0 119 168 / 7%);
	content: "";
}

.p-certification-gmp__hero-grid,
.p-certification-gmp__credential-grid {
	display: grid;
	gap: clamp(1.65rem, 5.8vw, 3.9rem);
	align-items: center;
}

.p-certification-gmp__hero-copy,
.p-certification-gmp__section-copy {
	max-width: 39rem;
}

.p-certification-gmp__eyebrow {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 0.9rem;
	align-items: center;
	gap: 0.55rem;
	color: var(--bpom-blue);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.p-certification-gmp__eyebrow::before {
	width: 1.75rem;
	height: 0.125rem;
	border-radius: 999rem;
	background: var(--bpom-gold);
	content: "";
}

.p-certification-gmp h1 {
	max-width: 42rem;
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(2.15rem, 8.8vw, 3.25rem);
	letter-spacing: 0;
	line-height: 1.08;
}

.p-certification-gmp h1 span {
	display: block;
}

.p-certification-gmp__lead {
	max-width: 36.5rem;
	margin: clamp(0.85rem, 3vw, 1.15rem) 0 0;
	color: var(--bpom-muted);
	font-size: clamp(1rem, 3.8vw, 1.15rem);
	line-height: 1.66;
}

.p-certification-gmp__actions {
	display: grid;
	gap: 0.85rem;
	margin-top: clamp(1.45rem, 5vw, 1.85rem);
}

.p-certification-gmp__button {
	display: inline-flex;
	width: min(100%, 24rem);
	min-height: 3.2rem;
	padding: 0.78rem 1.12rem 0.78rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 999rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.p-certification-gmp__button span[aria-hidden="true"] {
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	border-radius: 50%;
	place-items: center;
	background: rgb(255 255 255 / 22%);
	font-size: 1.1rem;
	line-height: 1;
}

.p-certification-gmp__button--primary {
	background: linear-gradient(135deg, var(--bpom-blue), var(--bpom-blue-deep));
	box-shadow: 0 1rem 2rem rgb(0 119 168 / 18%);
	color: #ffffff;
}

.p-certification-gmp__button--outline {
	border-color: rgb(0 119 168 / 34%);
	background: linear-gradient(135deg, rgb(234 247 253 / 82%), rgb(255 255 255 / 96%));
	color: var(--bpom-blue-deep);
	box-shadow: 0 0.5rem 1.4rem rgb(0 119 168 / 8%);
}

.p-certification-gmp__button--outline span[aria-hidden="true"] {
	background: var(--bpom-blue-soft);
	color: var(--bpom-blue);
}

.p-certification-gmp__button:hover,
.p-certification-gmp__button:focus-visible {
	transform: translateY(-0.0625rem);
}

.p-certification-gmp__button--primary:hover,
.p-certification-gmp__button--primary:focus-visible {
	box-shadow: 0 1.2rem 2.3rem rgb(0 119 168 / 22%);
	color: #ffffff;
}

.p-certification-gmp__button--outline:hover,
.p-certification-gmp__button--outline:focus-visible {
	border-color: rgb(0 119 168 / 34%);
	background: #ffffff;
	color: var(--bpom-blue-deep);
}

.p-certification-gmp__hero-media {
	position: relative;
	margin: 0;
	padding: clamp(0.64rem, 2.4vw, 0.95rem);
	border: 1px solid rgb(0 119 168 / 12%);
	border-radius: clamp(1.12rem, 4vw, 1.48rem);
	background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(237 249 255 / 88%));
	box-shadow: 0 1.4rem 3rem rgb(4 50 76 / 12%), 0 0 0 0.55rem rgb(234 247 253 / 52%);
	overflow: hidden;
}

.p-certification-gmp__hero-media::after {
	position: absolute;
	inset: auto 1.05rem 1.05rem 1.05rem;
	height: 0.25rem;
	border-radius: 999rem;
	background: linear-gradient(90deg, var(--bpom-gold), rgb(0 119 168 / 80%));
	content: "";
}

.p-certification-gmp__hero-media img {
	width: 100%;
	aspect-ratio: 1.22;
	border-radius: clamp(0.82rem, 3vw, 1.05rem);
	object-fit: cover;
	object-position: center;
}

.p-certification-gmp__credential-section {
	padding-block: clamp(2.2rem, 6.2vw, 3.8rem) clamp(1.75rem, 5vw, 2.7rem);
	background: #ffffff;
}

.p-certification-gmp__section-copy h2,
.p-certification-gmp__closing h2 {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1.65rem, 6vw, 2.35rem);
	letter-spacing: 0;
	line-height: 1.14;
}

.p-certification-gmp__section-copy p:not(.p-certification-gmp__eyebrow),
.p-certification-gmp__closing p:not(.p-certification-gmp__eyebrow) {
	margin: 0.9rem 0 0;
	color: var(--bpom-muted);
	font-size: 1rem;
	line-height: 1.72;
}

.p-certification-gmp__credential-card {
	position: relative;
	padding: clamp(1.28rem, 5vw, 1.9rem);
	border: 1px solid var(--bpom-line);
	border-radius: clamp(1.12rem, 4vw, 1.38rem);
	background:
		linear-gradient(145deg, #ffffff 0%, #f7fcff 100%) padding-box,
		linear-gradient(135deg, rgb(214 154 22 / 48%), rgb(0 119 168 / 36%)) border-box;
	box-shadow: 0 1rem 2rem rgb(4 50 76 / 8%);
	overflow: hidden;
}

.p-certification-gmp__credential-card::before {
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 0.2rem;
	background: linear-gradient(90deg, var(--bpom-gold), rgb(0 119 168 / 82%), transparent);
	content: "";
}

.p-certification-gmp__credential-card dl {
	display: grid;
	margin: 0;
	gap: 1.05rem;
	min-width: 0;
}

.p-certification-gmp__credential-card div {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
	padding: 0.1rem 0 0;
}

.p-certification-gmp__credential-card dt {
	color: var(--bpom-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.p-certification-gmp__credential-card dd {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1rem, 3.8vw, 1.16rem);
	font-weight: 800;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.p-certification-gmp__benefits {
	padding-block: clamp(1.45rem, 4vw, 2.2rem) clamp(2.4rem, 6vw, 3.75rem);
	background: linear-gradient(180deg, #ffffff 0%, #f7fcff 100%);
}

.p-certification-gmp__benefit-grid {
	display: grid;
	gap: 0.9rem;
}

.p-certification-gmp__benefit-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.85rem;
	align-items: center;
	min-width: 0;
	padding: 1.02rem;
	border: 1px solid rgb(0 119 168 / 11%);
	border-radius: 1.05rem;
	background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(248 252 255 / 90%));
	box-shadow: 0 0.55rem 1.25rem rgb(4 50 76 / 5%);
}

.p-certification-gmp__benefit-card span {
	display: inline-grid;
	width: 2.65rem;
	height: 2rem;
	border: 1px solid rgb(214 154 22 / 18%);
	border-radius: 999rem;
	place-items: center;
	background: linear-gradient(135deg, var(--bpom-blue-soft), rgb(255 250 229 / 82%));
	color: var(--bpom-blue);
	font-size: 0.78rem;
	font-weight: 900;
}

.p-certification-gmp__benefit-card p {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-weight: 800;
	line-height: 1.35;
}

.p-certification-gmp__closing {
	padding-block: clamp(2.15rem, 5.5vw, 3.35rem) clamp(2.65rem, 6.5vw, 4rem);
	background: #ffffff;
}

.p-certification-gmp__closing-panel {
	display: grid;
	gap: 1.25rem;
	align-items: center;
	padding: clamp(1.25rem, 4.4vw, 1.85rem);
	border: 1px solid rgb(214 154 22 / 22%);
	border-radius: clamp(1.12rem, 4vw, 1.38rem);
	background:
		radial-gradient(circle at 92% 12%, rgb(253 209 0 / 16%), transparent 14rem),
		linear-gradient(135deg, #fffdf5 0%, #f8fcff 55%, #ffffff 100%);
	box-shadow: 0 0.9rem 2rem rgb(4 50 76 / 7%);
}

.p-certification-gmp__closing .p-certification-gmp__button {
	width: min(100%, 24rem);
}

@media (max-width: 47.9375rem) {
	.p-certification-gmp__hero {
		padding-block: clamp(2rem, 6vw, 2.45rem) clamp(1.75rem, 5vw, 2.15rem);
	}

	.p-certification-gmp__hero-grid {
		width: min(calc(100% - 2rem), var(--container-width));
		gap: 1.45rem;
	}

	.p-certification-gmp__actions,
	.p-certification-gmp__button,
	.p-certification-gmp__closing .p-certification-gmp__button {
		width: 100%;
	}

	.p-certification-gmp h1 {
		font-size: clamp(1.68rem, 7.2vw, 2rem);
		line-height: 1.14;
	}

	.p-certification-gmp h1 span {
		white-space: nowrap;
	}

	.p-certification-gmp__hero-media {
		padding: 0.34rem;
		box-shadow: 0 1rem 2.05rem rgb(4 50 76 / 11%), 0 0 0 0.42rem rgb(234 247 253 / 58%);
	}

	.p-certification-gmp__hero-media::after {
		inset-inline: 0.6rem;
		bottom: 0.6rem;
		height: 0.2rem;
	}

	.p-certification-gmp__hero-media img {
		aspect-ratio: 1.18;
		object-fit: contain;
		object-position: center;
	}

	.p-certification-gmp__credential-section {
		padding-block: clamp(1.85rem, 5.5vw, 2.35rem) clamp(1.35rem, 4vw, 1.7rem);
	}

	.p-certification-gmp__benefits {
		padding-block: clamp(1.25rem, 3.8vw, 1.55rem) clamp(2rem, 5vw, 2.45rem);
	}

	.p-certification-gmp__closing {
		padding-block: clamp(2rem, 5vw, 2.45rem) clamp(2.4rem, 6vw, 3rem);
	}
}

@media (min-width: 48rem) and (max-width: 63.9375rem) {
	.p-certification-gmp__hero-media {
		width: min(100%, 38rem);
		margin-inline: auto;
	}

	.p-certification-gmp__hero-media img {
		aspect-ratio: 1.36;
		object-fit: contain;
	}
}

@media (min-width: 48rem) {
	.p-certification-gmp__actions {
		display: flex;
		flex-wrap: wrap;
	}

	.p-certification-gmp__button {
		width: auto;
		min-width: 16.5rem;
	}

	.p-certification-gmp__benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.p-certification-gmp__hero-grid {
		grid-template-columns: minmax(0, 0.88fr) minmax(29rem, 1.12fr);
		max-width: 74rem;
	}

	.p-certification-gmp__credential-grid {
		grid-template-columns: minmax(0, 0.86fr) minmax(25rem, 1fr);
		max-width: 68rem;
	}

	.p-certification-gmp__credential-card dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-certification-gmp__credential-card div:nth-child(n + 3) {
		grid-column: 1 / -1;
	}

	.p-certification-gmp__hero {
		padding-block: clamp(5rem, 6vw, 6rem) clamp(4.75rem, 5.6vw, 5.6rem);
	}

	.p-certification-gmp h1 {
		font-size: clamp(3rem, 4.2vw, 3.6rem);
	}

	.p-certification-gmp__hero-media img {
		aspect-ratio: 1.34;
	}

	.p-certification-gmp__benefit-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 74rem;
	}

	.p-certification-gmp__benefit-card {
		grid-template-columns: 1fr;
		align-content: start;
		min-height: 9rem;
		padding: 1.15rem;
	}

	.p-certification-gmp__closing-panel {
		grid-template-columns: minmax(0, 1fr) auto;
		max-width: 74rem;
		padding: 1.85rem 2.05rem;
	}
}

.p-certification-gmp__hero-media img {
	object-position: 58% center;
}

@media (min-width: 64rem) {
	.p-certification-gmp__credential-grid {
		grid-template-columns: minmax(0, 0.78fr) minmax(30rem, 1.12fr);
		max-width: 74rem;
	}

	.p-certification-gmp h1 {
		font-size: clamp(2.75rem, 3.6vw, 3.05rem);
	}
}

@media (max-width: 47.9375rem) {
	.p-certification-gmp h1 {
		font-size: clamp(1.4rem, 6vw, 1.74rem);
		line-height: 1.12;
	}

	.p-certification-gmp__hero-media img {
		aspect-ratio: 1.18;
		object-fit: cover;
		object-position: 57% center;
	}
}

/* Lead Time Planning certification page - scoped to /certifications/lead-time-planning/. */
.p-certification-timeline .p-certification-gmp__hero-media img {
	object-position: 34% center;
}

.p-certification-timeline h1 {
	max-width: 38rem;
}

.p-certification-timeline__stages {
	padding-block: clamp(2rem, 5vw, 3rem) clamp(2.2rem, 5.5vw, 3.4rem);
	background: linear-gradient(180deg, #f7fcff 0%, #ffffff 100%);
}

.p-certification-timeline__stage-heading {
	max-width: 42rem;
	margin: 0 auto clamp(1.25rem, 3.4vw, 2rem);
	text-align: center;
}

.p-certification-timeline__stage-heading .p-certification-gmp__eyebrow {
	margin-inline: auto;
}

.p-certification-timeline__stage-heading h2 {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-size: clamp(1.65rem, 5vw, 2.25rem);
	letter-spacing: 0;
	line-height: 1.14;
}

.p-certification-timeline__stage-grid {
	display: grid;
	gap: 0.85rem;
	max-width: 74rem;
	margin-inline: auto;
}

.p-certification-timeline__stage-card {
	position: relative;
	display: grid;
	gap: 0.7rem;
	align-content: start;
	min-width: 0;
	padding: 1rem;
	border: 1px solid rgb(0 119 168 / 11%);
	border-radius: 1.05rem;
	background:
		linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(248 252 255 / 92%)) padding-box,
		linear-gradient(135deg, rgb(214 154 22 / 26%), rgb(0 119 168 / 18%)) border-box;
	box-shadow: 0 0.55rem 1.2rem rgb(4 50 76 / 5%);
}

.p-certification-timeline__stage-card::before {
	position: absolute;
	inset: 2rem auto auto calc(2rem + 2.65rem);
	display: none;
	width: calc(100% - 4.5rem);
	height: 1px;
	background: linear-gradient(90deg, rgb(0 119 168 / 20%), transparent);
	content: "";
}

.p-certification-timeline__stage-card > span {
	display: inline-grid;
	width: 2.65rem;
	height: 2rem;
	border: 1px solid rgb(214 154 22 / 18%);
	border-radius: 999rem;
	place-items: center;
	background: linear-gradient(135deg, var(--bpom-blue-soft), rgb(255 250 229 / 82%));
	color: var(--bpom-blue);
	font-size: 0.78rem;
	font-weight: 900;
}

.p-certification-timeline__stage-card p {
	margin: 0;
	color: var(--bpom-blue-deep);
	font-weight: 800;
	line-height: 1.35;
}

@media (max-width: 47.9375rem) {
	.p-certification-timeline h1 {
		font-size: clamp(1.82rem, 7.6vw, 2.08rem);
		line-height: 1.1;
	}

	.p-certification-timeline .p-certification-gmp__hero-media img {
		object-fit: cover;
		object-position: 21% center;
	}

	.p-certification-timeline__stages {
		padding-block: clamp(1.6rem, 4.8vw, 2rem) clamp(1.9rem, 5.2vw, 2.35rem);
	}
}

@media (min-width: 48rem) {
	.p-certification-timeline__stage-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.p-certification-timeline__stage-card {
		min-height: 8.4rem;
	}

	.p-certification-timeline__stage-card:not(:last-child)::before {
		display: block;
	}
}

@media (min-width: 48rem) and (max-width: 63.9375rem) {
	.p-certification-timeline h1 {
		font-size: clamp(2.55rem, 5.8vw, 3rem);
	}
}

@media (min-width: 64rem) {
	.p-certification-timeline h1 {
		font-size: clamp(2.55rem, 3.25vw, 2.85rem);
	}
}
