/**
 * Responsive grid and component adaptations.
 */

@media (min-width: 48rem) {
	:root {
		--container-gutter: var(--space-6);
		--grid-columns: 8;
	}

	.srcosme-grid--cards > * {
		grid-column: span 4;
	}

	.c-cta--inline {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.c-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}


	.s-detail-hero__grid,
	.c-split {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.c-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.s-trust-bar__grid,
	.s-process__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	:root {
		--container-gutter: var(--space-8);
		--grid-columns: 12;
	}

	body.has-open-navigation {
		overflow: auto;
	}

	.srcosme-grid--cards > * {
		grid-column: span 4;
	}

	.srcosme-grid--cards-4 > * {
		grid-column: span 3;
	}

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

	.c-site-header__navigation,
	.c-site-header__navigation[hidden] {
		position: static;
		display: block !important;
		width: auto;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.c-site-header__navigation .menu {
		flex-direction: row;
		align-items: center;
	}

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

	.c-site-footer__grid {
		grid-template-columns: 2fr repeat(3, minmax(0, 1fr));
	}

	.s-home-hero,
	.s-service-hero {
		padding-block: var(--space-24);
	}

	.s-service-hero__grid {
		grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
	}

	.s-trust-bar__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.s-process__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}


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

@media (min-width: 64rem) {
	body.home .c-site-header .c-site-header__inner {
		min-height: 5.5rem;
	}

	body.home .c-site-header .c-site-header__logo .custom-logo {
		max-width: 18rem;
		max-height: 3.75rem;
	}

	body.home .sr-home-premium .sr-home-premium__hero {
		padding-block: 6.25rem 5.75rem;
	}

	body.home .sr-home-premium .sr-home-premium__hero-grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(25rem, 0.92fr);
		column-gap: clamp(3.75rem, 6vw, 5.5rem);
		row-gap: 2rem;
		align-items: center;
	}

	body.home .sr-home-premium .sr-home-premium__hero-content h1 {
		max-width: 13ch;
		font-size: clamp(3.5rem, 5.5vw, 5rem);
	}

	body.home .sr-home-premium .sr-home-premium__lead {
		font-size: 1.275rem;
	}

	body.home .sr-home-premium .sr-home-premium__hero-media {
		grid-column: 2;
		grid-row: 1;
		min-height: 31rem;
		width: min(125%, 46rem);
		margin-right: -8%;
		justify-self: end;
	}
}

@media (max-width: 47.999rem) {
	body.home .c-site-header .c-site-header__inner {
		min-height: 4.5rem;
	}

	body.home .c-site-header .c-site-header__logo .custom-logo {
		max-width: min(13rem, 58vw);
		max-height: 2.8rem;
	}

	body.home .sr-home-premium .sr-home-premium__service-card {
		min-height: 0;
		padding: 1.5rem;
	}

	body.home .sr-home-premium .sr-home-premium__hero-media {
		grid-column: auto;
		grid-row: auto;
		width: min(86%, 28rem);
		margin-inline: auto;
	}

	body.home .sr-home-premium .sr-home-premium__hero-content {
		width: min(94%, 34rem);
		margin-inline: auto;
	}

	body.home .sr-home-premium .sr-home-premium__hero-content h1 {
		max-width: 12.8ch;
		font-size: clamp(2.25rem, 9.4vw, 2.5rem);
		line-height: 1.02;
		letter-spacing: -0.055em;
	}

	body.home .sr-home-premium .sr-home-premium__lead {
		max-width: 34rem;
		font-size: clamp(0.98rem, 4.35vw, 1.08rem);
		line-height: 1.62;
	}

	body.home .sr-home-premium .sr-home-premium__actions {
		gap: 0.7rem;
	}

	body.home .sr-home-premium .sr-home-premium__actions .c-button {
		min-height: 3.05rem;
		padding: 0.78rem clamp(1rem, 4.5vw, 1.25rem);
		font-size: clamp(0.92rem, 4vw, 1rem);
	}

	body.home .sr-home-premium .sr-home-premium__hero-media::before {
		width: min(24rem, 76%);
	}

	body.home .sr-home-premium .sr-home-premium__hero-media::after {
		width: min(19rem, 58%);
	}

	body.home .sr-home-premium .sr-home-premium__final-cta .sr-home-premium__final-cta-button {
		width: 100%;
		min-width: 0;
		min-height: 4.25rem;
	}

	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: 16rem;
	}

	body.home .sr-home-premium .sr-home-premium__authority-list article {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sr-home-premium__problem-icon {
		width: 3.25rem;
		height: 3.25rem;
		margin-bottom: 1rem;
	}

	.sr-home-premium__journey-icon {
		width: 3.5rem;
		height: 3.5rem;
	}

	.sr-service-card__top {
		min-height: 5rem;
		margin-bottom: 1.25rem;
	}

	.sr-service-card__icon {
		width: 4.5rem;
		height: 4.5rem;
	}

	.sr-service-card__icon svg {
		width: 2.15rem;
		height: 2.15rem;
	}

	.sr-home-premium .sr-home-premium__hero-panel {
		padding: 1.5rem;
		border-radius: 1.5rem;
	}

	.sr-home-premium .sr-home-premium__readiness-list li {
		padding: 0.875rem;
	}

	.sr-home-premium__trust-strip {
		grid-template-columns: 1fr;
	}

	.sr-home-premium__trust-strip-item {
		display: grid;
		grid-template-columns: 5.5rem minmax(0, 1fr);
		min-height: 7rem;
		padding: 1rem;
		text-align: left;
		align-items: center;
		justify-items: start;
		gap: 0.2rem 1rem;
	}

	.sr-home-premium__trust-mark {
		grid-row: span 2;
		width: 5.5rem;
		height: 4rem;
		margin: 0;
	}

	.sr-home-premium__trust-description {
		max-width: none;
	}

	.sr-home-premium__trust-strip-item + .sr-home-premium__trust-strip-item {
		border-top: 1px solid #e1e8e4;
		border-left: 0;
	}

	.c-floating-cta__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

}
