.wp-block-studio-zed-services-overview { margin: 0; max-width: none; width: 100%; }
.services-overview { background: var(--sz-chalk); color: var(--sz-graphite); overflow: hidden; padding: var(--site-spacing) 0; position: relative; }
.services-overview::before,
.services-overview::after { background: var(--sz-stone); bottom: 0; content: ""; height: var(--chamfer-full-desktop); pointer-events: none; position: absolute; width: var(--chamfer-full-desktop); z-index: 3; }
.services-overview::before { clip-path: polygon(0 0, 0 100%, 100% 100%); left: 0; }
.services-overview::after { clip-path: polygon(100% 0, 100% 100%, 0 100%); right: 0; }
.services-overview__heading-wrap { padding: 0 var(--layout-margin-desktop); text-align: center; }
.services-overview__heading { 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 3rem; text-transform: uppercase; }
.services-overview__tabs { border-bottom: var(--stroke-width) solid var(--sz-grid-line); display: flex; gap: clamp(1.5rem,3vw,3.5rem); justify-content: center; padding: 0 var(--layout-margin-desktop); }
.services-overview__tab { background: transparent; border: 0; color: var(--sz-graphite); cursor: pointer; font: 500 var(--type-body-s-size)/1.25 var(--font-body); padding: 0 0 1.25rem; position: relative; white-space: nowrap; }
.services-overview__tab::after { background: transparent; bottom: calc(-1 * var(--stroke-width)); content: ""; height: .35rem; left: 0; position: absolute; right: 0; }
.services-overview__tab.is-active { color: var(--sz-timber); }
.services-overview__tab.is-active::after { background: var(--sz-timber); }
.services-overview__tab:focus-visible { outline: var(--focus-ring); outline-offset: .3rem; }
.services-overview__panels { padding: clamp(4rem, 6.2vw, 7rem) max(var(--layout-margin-desktop), calc((100% - 100rem) / 2)) 0; }
.services-overview__panel { align-items: center; display: grid; gap: clamp(3rem, 6.5vw, 6rem); grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; }
.services-overview__panel[hidden] { display: none; }
.services-overview__content { align-self: center; box-sizing: border-box; justify-self: center; max-width: 39rem; padding: 0; width: 100%; }
.services-overview__icon { height: 6.5rem; margin-bottom: 1.75rem; width: 7.5rem; }
.services-overview__icon img { display: block; height: 100%; object-fit: contain; object-position: left center; width: 100%; }
.services-overview__service-title { font-family: var(--font-heading); font-size: var(--type-heading-s-size); font-weight: 500; line-height: var(--type-heading-s-line); margin: 0 0 1rem; text-transform: uppercase; }
.services-overview__description { font-family: var(--font-body); font-size: var(--type-body-s-size); font-weight: var(--type-body-s-weight); line-height: var(--type-body-s-line); }
.services-overview__description p { margin: 0; }
.services-overview__description p + p { margin-top: .75rem; }
.services-overview__button { margin-top: 2rem; }
/* Keep the square independent of the copy height, as in the pre-footers. */
.services-overview__media { aspect-ratio: 1 / 1; align-self: center; background: var(--sz-stone); margin: 0; min-height: 0; overflow: hidden; position: relative; width: 100%; }
.services-overview__image { display: block; height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.services-overview__image-placeholder { background: var(--sz-stone); height: 100%; inset: 0; position: absolute; width: 100%; }
.services-overview__mobile-filter-wrap { display: none; }

@media (max-width: 64rem) {
	.services-overview::before,.services-overview::after { height: var(--chamfer-full-tablet); width: var(--chamfer-full-tablet); }
	.services-overview__heading-wrap,.services-overview__tabs { padding-inline: var(--layout-margin-tablet); }
	.services-overview__tabs { gap: 1.5rem; justify-content: center; overflow-x: auto; scrollbar-width: none; }
	.services-overview__tabs::-webkit-scrollbar { display: none; }
	.services-overview__tab { font: var(--type-body-r-weight) .875rem/1.25rem var(--font-body); }
	.services-overview__panels { padding: 4rem var(--layout-margin-tablet) 0; }
	.services-overview__panel { gap: 2.5rem; grid-template-columns: minmax(0, 1fr); }
	.services-overview__content,.services-overview__media { box-sizing: border-box; margin-inline: auto; max-width: 39rem; width: 100%; }
	.services-overview__media { grid-row: 1; }
	.services-overview__description { font-size: var(--type-body-r-size); font-weight: var(--type-body-r-weight); line-height: var(--type-body-r-line); }
}

@media (min-width: 48.0625rem) and (max-width: 64rem) {
	.services-overview__media { max-width: 28rem; }
}

@media (max-width: 48rem) {
	.services-overview { overflow: visible; }
	.services-overview::before,.services-overview::after { height: var(--chamfer-full-mobile); width: var(--chamfer-full-mobile); }
	.services-overview__heading-wrap { padding-inline: var(--layout-margin-mobile); }
	.services-overview__heading { font-size: var(--type-heading-m-size); line-height: var(--type-heading-m-line); margin-bottom: 2rem; text-align: center; }
	.services-overview__tabs { display: none; }
	.services-overview__mobile-filter-wrap { background: var(--sz-chalk); display: block; padding: .5rem var(--layout-margin-mobile) 1.25rem; position: sticky; top: var(--services-filter-sticky-top, 0px); z-index: 20; }
	.services-overview__filter-label { display: block; font-family: var(--font-body); font-size: var(--type-body-r-size); line-height: var(--type-body-r-line); padding: .4rem 2rem .85rem 0; pointer-events: none; }
	.services-overview__select-wrap { border-bottom: var(--stroke-width) solid var(--sz-grid-line); position: relative; }
	.services-overview__select-wrap::after { border-bottom: 1.5px solid currentColor; border-right: 1.5px solid currentColor; content: ""; height: .55rem; pointer-events: none; position: absolute; right: .25rem; top: 50%; transform: translateY(-70%) rotate(45deg); width: .55rem; }
	.services-overview__filter { appearance: none; border: 0; cursor: pointer; inset: 0; margin: 0; opacity: 0; padding: 0; position: absolute; width: 100%; }
	.services-overview__filter:focus-visible { outline: var(--focus-ring); outline-offset: .2rem; }
	.services-overview__panels { padding: 0 var(--layout-margin-mobile); }
	.services-overview__panel,.services-overview__panel.is-active { border-bottom: var(--stroke-width) solid var(--sz-grid-line); display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 3rem 0 4rem; }
	.services-overview__panel.is-last-visible { border-bottom: 0; }
	.services-overview__panel[hidden] { display: none; }
	.services-overview__icon { height: 3.5rem; margin: 0 0 1.5rem; width: 4rem; }
}
