.wp-block-studio-zed-homepage-services { margin: 0; max-width: none; width: 100%; }
.homepage-services { background: var(--sz-graphite); color: var(--sz-chalk); overflow: hidden; position: relative; }
.homepage-services::before,.homepage-services::after { background: var(--sz-chalk); bottom: 0; content: ""; height: var(--chamfer-full-desktop); position: absolute; width: var(--chamfer-full-desktop); z-index: 2; }
.homepage-services::before { clip-path: polygon(0 0,0 100%,100% 100%); left: 0; }
.homepage-services::after { clip-path: polygon(100% 0,100% 100%,0 100%); right: 0; }
.homepage-services__inner { margin: 0 auto; max-width: 76rem; padding: 6rem var(--layout-margin-desktop) 8rem; position: relative; }
.homepage-services__header { margin: 0 auto 3rem; max-width: 48rem; text-align: center; }
.homepage-services__heading { color: var(--sz-chalk); font-family: var(--font-heading); font-size: var(--type-heading-m-size); font-weight: 500; letter-spacing: .02em; line-height: var(--type-heading-m-line); margin: 0 0 1.5rem; text-transform: uppercase; }
.homepage-services__intro { font-family: var(--font-body); font-size: var(--type-body-r-size); font-weight: var(--type-body-r-weight); line-height: var(--type-body-r-line); margin: 0; }
.homepage-services__carousel { overflow: visible; }
.homepage-services__grid { display: grid; gap: var(--layout-gutter-desktop); grid-template-columns: repeat(3,minmax(0,1fr)); }
.homepage-services__card { --card-chamfer: var(--card-chamfer-size); background: var(--sz-steel); clip-path: polygon(0 0,100% 0,100% calc(100% - var(--card-chamfer)),calc(100% - var(--card-chamfer)) 100%,0 100%); box-sizing: border-box; display: flex; height: auto; min-height: 22rem; padding: var(--stroke-width); position: relative; width: auto; }
.homepage-services__card-inner { background: var(--sz-graphite); box-sizing: border-box; clip-path: polygon(0 0,100% 0,100% calc(100% - var(--card-chamfer)),calc(100% - var(--card-chamfer)) 100%,0 100%); display: flex; flex: 1 1 auto; flex-direction: column; height: auto; padding: 2rem; }
.homepage-services__icon { height: 6rem; margin-bottom: 2.25rem; width: 7rem; }
.homepage-services__icon img { display: block; height: 100%; object-fit: contain; object-position: left center; width: 100%; }
.homepage-services__card-title { color: var(--sz-chalk); font-family: var(--font-heading); font-size: 1.5rem; font-weight: 500; line-height: 1.5rem; margin: 0 0 1rem; text-transform: uppercase; }
.homepage-services__card-text { color: var(--sz-chalk); font-family: var(--font-body); font-size: var(--type-body-s-size); font-weight: 300; line-height: var(--type-body-s-line); margin: 0 0 1.5rem; max-width: 19rem; }
.homepage-services__card-link { align-self: flex-start; margin-top: auto; }
.homepage-services__desktop-cta { display: flex; justify-content: center; margin-top: 3rem; }
.homepage-services__mobile-cta,.homepage-services__controls { display: none; }

@media (max-width: 64rem) {
	.homepage-services::before,.homepage-services::after { height: var(--chamfer-full-tablet); width: var(--chamfer-full-tablet); }
	.homepage-services__inner { padding: 5rem var(--layout-margin-tablet) 7rem; }
	.homepage-services__grid { gap: var(--layout-gutter-tablet); }
	.homepage-services__card { --card-chamfer: var(--card-chamfer-size); min-height: 22rem; }
	.homepage-services__card-inner { padding: 2rem 1.75rem; }
}

/* Swiper owns the services layout only below the carousel breakpoint. */
@media (min-width: 47.9376rem) {
	.homepage-services__grid.swiper-wrapper { display: grid; transform: none !important; }
	.homepage-services__card.swiper-slide { height: 100%; margin-right: 0 !important; width: auto; }
	.homepage-services__card-inner { height: 100%; }
}

@media (max-width: 47.9375rem) {
	.homepage-services::before,.homepage-services::after { height: var(--chamfer-full-mobile); width: var(--chamfer-full-mobile); }
	.homepage-services__inner { padding: 4.5rem var(--layout-margin-mobile) 6.5rem; }
	.homepage-services__header { margin-bottom: 2rem; }
	.homepage-services__heading { margin-bottom: 1.5rem; }
	.homepage-services__intro { font-size: var(--type-body-l-size); font-weight: var(--type-body-l-weight); line-height: var(--type-body-l-line); }
	.homepage-services__mobile-cta { display: flex; justify-content: center; margin-bottom: 3.5rem; }
	.homepage-services__desktop-cta { display: none; }
	.homepage-services__carousel { overflow: hidden; }
	.homepage-services__grid { display: flex; gap: 0; }
	.homepage-services__card { --card-chamfer: var(--card-chamfer-size); height: 35.75rem; min-height: 0; width: 100%; }
	.homepage-services__card-inner { height: 100%; padding: 4.5rem 3rem 3.5rem; }
	.homepage-services__icon { height: 7rem; margin-bottom: 4rem; width: 8rem; }
	.homepage-services__card-title { font-size: var(--type-heading-s-size); line-height: var(--type-heading-s-line); }
	.homepage-services__card-text { font-size: var(--type-body-r-size); font-weight: var(--type-body-r-weight); line-height: var(--type-body-r-line); max-width: none; }
	.homepage-services__card-link { font-size: var(--type-body-r-size); }
	.homepage-services__controls { align-items: center; display: grid; gap: 1.5rem; grid-template-columns: 2rem 1fr 2rem; margin: 3.25rem auto 0; max-width: 26rem; }
	.homepage-services__arrow { background: transparent; border: 0; height: 2rem; padding: 0; position: relative; width: 2rem; }
	.homepage-services__arrow::before { border-bottom: var(--stroke-width) solid var(--sz-chalk); border-left: var(--stroke-width) solid var(--sz-chalk); content: ""; height: 1rem; left: .65rem; position: absolute; top: .45rem; transform: rotate(45deg); width: 1rem; }
	.homepage-services__arrow--next { transform: rotate(180deg); }
	.homepage-services__pagination { align-items: center; display: flex; gap: 1.15rem; justify-content: center; }
	.homepage-services__pagination .swiper-pagination-bullet { background: var(--sz-chalk); border-radius: 0; height: .8rem; margin: 0 !important; opacity: 1; width: .8rem; }
	.homepage-services__pagination .swiper-pagination-bullet-active { transform: rotate(45deg); }
}

@media (max-width: 30rem) {
	.homepage-services__card-inner { padding: 3rem 2rem; }
	.homepage-services__card { height: 31rem; }
	.homepage-services__icon { margin-bottom: 3rem; }
}
