@layer components{.grid{--_cols:var(--_cols-xs);--_cols-xs:1;--_cols-sm:var(--_cols-xs);--_cols-md:var(--_cols-sm);--_cols-lg:var(--_cols-md);--_gap-size:var(--site-gutter);grid-column-gap:var(--_gap-size);grid-row-gap:var(--_gap-size);grid-template-columns:repeat(var(--_cols), minmax(0, 1fr));width:100%;display:grid}@media (min-width:30rem){.grid{--_cols:var(--_cols-sm)}}@media (min-width:48rem){.grid{--_cols:var(--_cols-md)}}@media (min-width:64rem){.grid{--_cols:var(--_cols-lg)}}.grid:is(.autofit,.autofill){--_max-cols:12;--_min-col-width:12;--_fit:(100% - (var(--_max-cols) - 1) * var(--_gap-size)) / var(--_max-cols);--_track:min(max(calc(var(--_min-col-width) * 1rem), var(--_fit)), 100%)}.grid.autofit{grid-template-columns:repeat(auto-fit, minmax(var(--_track), 1fr))}.grid.autofill{grid-template-columns:repeat(auto-fill, minmax(var(--_track), 1fr))}.overlay{background-color:color-mix(in srgb, black calc(var(--_strength,50) / 100 * 80%), transparent);width:100%;height:100%;position:absolute;inset:0}.overlay.gradient{background-color:color-mix(in srgb, black calc(var(--_strength,50) / 100 * 60%), transparent);background-image:linear-gradient(to bottom, transparent, color-mix(in srgb, black calc(var(--_strength,50) / 100 * 62%), transparent) 84%)}.card_wrap{--_padding:var(--space-6);--_min-height:20rem;--_visual-ratio:3 / 2;gap:var(--_padding);background-color:var(--background-2);border-radius:var(--radius-main);flex-direction:column;width:100%;display:flex;position:relative;overflow:clip}.card_wrap.cover{min-height:var(--_min-height)}.card_wrap.stacked{background-color:#0000;overflow:visible}.card_wrap:is(.category,.service){gap:0}.card_wrap:is(.category,.service) .card_visual{border-radius:0}.card_wrap:is(.category,.service) .card_visual>.image{width:var(--_crop-width,100%);max-width:none;height:var(--_crop-height,100%);top:var(--_crop-top,0%);left:var(--_crop-left,0%);position:absolute}.card_wrap:is(.category,.service) .card_link{text-decoration:none}.card_wrap:is(.category,.service) .card_link:after{content:"";position:absolute;inset:0}.card_wrap:is(.category,.service):has(.card_link:focus-visible){outline:var(--focus-width) solid var(--text);outline-offset:var(--focus-offset)}.card_wrap.category{aspect-ratio:419/271;background:var(--_image-background,var(--dark-900));min-height:12rem;color:var(--light-100);justify-content:end}.card_wrap.category .card_visual{height:100%;position:absolute;inset:0}.card_wrap.category .overlay{background:linear-gradient(180deg, transparent 49%, color-mix(in srgb, var(--dark-900) 80%, transparent) 99%)}.card_wrap.category .card_content{z-index:1;flex-grow:0;padding:1.25rem}.card_wrap.category .heading{font-size:var(--caption-font-size);font-weight:var(--primary-bold);letter-spacing:var(--caption-letter-spacing);text-transform:uppercase;color:var(--light-100);line-height:1.3}.card_wrap.service{background:var(--dark-900);border-radius:var(--radius-small)}.card_wrap.service .card_visual{aspect-ratio:411/230;border-bottom:.125rem solid var(--brand-500)}.card_wrap.service .card_content{padding:var(--space-5);gap:var(--space-4)}.card_wrap.service .card_content>*{margin:0}.card_wrap.service .text{color:var(--light-200)}.card_visual{border-radius:inherit;flex:none;width:100%;position:relative;overflow:clip}.stacked>.card_visual{aspect-ratio:var(--_visual-ratio)}.cover>.card_visual{pointer-events:none;height:100%;position:absolute;inset:0}.card_visual>:is(.image,.video){width:100%;height:100%}.card_visual>:is(.image,.video){width:100%;height:100%}.card_content>.button-wrapper:last-child{padding-top:var(--space-6);margin-top:auto}.card_content{align-items:var(--_alignment,start);text-align:var(--_alignment,start);width:100%;max-width:100%;padding:var(--_padding);flex-direction:column;flex-grow:1;display:flex}.cover>.card_content{z-index:1}.stacked>.card_content{padding-inline:0;padding-top:0}.card_wrap:has(.button_wrap) .button_wrap:after{content:"";position:absolute;inset:0}.card_wrap:has(.button_wrap) .card_content a:not(.button_wrap){z-index:1;position:relative}.card_wrap:has(.button_wrap) .image{transition:scale calc(var(--hover-duration) * 2) var(--hover-ease)}@media (hover:hover){.card_wrap:has(.button_wrap):hover .image{scale:1.04}}}
