.service-stack{padding-bottom:var(--space)}.service-stack-heading{justify-content:space-between;align-items:end;gap:2rem;padding-bottom:clamp(2rem,4vw,4rem);display:flex}.service-stack-heading h2{text-transform:uppercase;max-width:10ch;margin:0}.service-stack-heading>p{max-width:28ch;margin:0}.service-stack-rows{isolation:isolate;position:relative}.service-stack-card{transform-origin:top;background:var(--bg);border-top:1px solid var(--line);padding-block:12px;position:relative}.service-stack-card:last-child{border-bottom:1px solid var(--line)}.service-stack-link{min-height:clamp(320px,28vw,430px);color:var(--ink);grid-template-columns:minmax(0,.35fr) minmax(0,.65fr);gap:clamp(2rem,4vw,5rem);text-decoration:none;display:grid}.service-stack-link:hover{text-decoration:none}.service-stack-photo{background:var(--soft);isolation:isolate;min-height:100%;position:relative;overflow:hidden}.service-stack-photo img{object-fit:cover;object-position:50% 43%;width:100%;height:100%;transition:scale .75s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.service-stack-photo .motion-image{height:100%}.service-stack-caption{z-index:2;color:var(--ink);background:linear-gradient(#0000,#101010e0);justify-content:space-between;align-items:center;gap:1rem;padding:3rem 1.2rem 1.2rem;font-size:1rem;line-height:1.3;transition:transform .55s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:auto 0 0;transform:translateY(100%)}.service-stack-caption svg{flex:none;width:24px;height:24px}.service-stack-copy{flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(1rem,2vw,2rem) clamp(1rem,2vw,2rem) clamp(1rem,2vw,2rem) 0;display:flex}.service-stack-copy h3,.service-stack-type h3{text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto;margin:0 0 1.1rem;font-size:clamp(2.8rem,5vw,5.5rem);line-height:1}.service-stack-copy .service-stack-tagline{color:var(--ink);max-width:29ch;margin:0 0 1rem;font-size:clamp(1.2rem,1.6vw,1.65rem);line-height:1.25}.service-stack-description{max-width:48ch;margin:0}.service-stack-action{border-bottom:1px solid var(--control-line);align-items:center;gap:2rem;width:fit-content;max-width:100%;padding-block:.5rem;font-size:.9rem;transition:color .25s,border-color .25s;display:flex}.service-stack-action svg{flex:none;width:22px;height:22px;transition:transform .55s cubic-bezier(.16,1,.3,1)}.service-stack-type{background:var(--brand-bg);align-items:center;padding:clamp(1rem,2vw,2rem);display:flex}.service-stack-type h3{margin:0}.service-stack-link:is(:hover,:focus-visible) .service-stack-photo img{scale:1.1}.service-stack-link:is(:hover,:focus-visible) .service-stack-caption{transform:translateY(0)}.service-stack-link:is(:hover,:focus-visible) .service-stack-action{color:var(--gold);border-color:var(--gold)}.service-stack-link:is(:hover,:focus-visible) .service-stack-action svg{transform:translate(5px)}@media (width>=901px) and (height>=700px){.service-stack-card{position:sticky;top:100px}}@media (width<=1100px){.service-stack-link{grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);gap:2rem}.service-stack-copy h3,.service-stack-type h3{font-size:clamp(2.8rem,4.7vw,4rem)}}@media (width<=900px){.service-stack-heading{display:block}.service-stack-heading>p{max-width:35ch;margin-top:1.5rem}.service-stack-card{padding-block:1.2rem 2.5rem;position:relative;top:auto;transform:none!important}.service-stack-link{grid-template-columns:minmax(0,1fr);gap:1.5rem;min-height:0}.service-stack-photo{aspect-ratio:4/3;min-height:0}.service-stack-photo img{object-position:50% 42%}.service-stack-copy{gap:1.5rem;padding:0}.service-stack-copy h3,.service-stack-type h3{font-size:clamp(2.4rem,9vw,4rem)}.service-stack-caption{padding:2rem 1rem 1rem;transform:none}.service-stack-type{background:0 0;padding:0}.service-stack-action{min-height:44px}}@media (hover:none){.service-stack-caption{transform:none}}:where(html[data-motion=reduced]){& .service-stack-card{position:relative;top:auto;transform:none!important}& .service-stack-caption{transform:none}& .service-stack-link:is(:hover,:focus-visible) .service-stack-photo img{scale:1}& .service-stack-link:is(:hover,:focus-visible) .service-stack-action svg{transform:none}}@media (prefers-reduced-motion:reduce){:where(html:not([data-motion])){& .service-stack-card{position:relative;top:auto;transform:none!important}& .service-stack-caption{transform:none}& .service-stack-link:is(:hover,:focus-visible) .service-stack-photo img{scale:1}& .service-stack-link:is(:hover,:focus-visible) .service-stack-action svg{transform:none}}}
