/* Exactly two fixed card formats. Viewport changes choose a format; they never resize it. */
:root{--service-heading-size:40px;--service-body-size:16px;--service-body-leading:1.5}
.services-feature{--service-card-width:960px;--service-card-height:452px;width:var(--service-card-width);max-width:none;margin-inline:calc((100% - var(--service-card-width))/2);--service-inset:20px;--service-copy-inset:28px;--service-radius:28px;--service-art-radius:20px}
.services-feature .service-stack-track{height:auto;margin-top:40px}
.services-feature .service-stack-stage{position:relative;top:0;height:auto;max-height:none;aspect-ratio:auto;container-type:normal;perspective:none;display:grid;gap:24px}
.services-feature .service-stack-card{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) 410px;grid-template-rows:auto;align-items:center;gap:0;width:var(--service-card-width);height:var(--service-card-height);min-height:0;margin:0;padding:var(--service-inset);border:1px solid #ffffffb0;border-radius:var(--service-radius);box-sizing:border-box;background:linear-gradient(125deg,#ffffff25,transparent 45%,#ffffff28),color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(9px) saturate(1.25);backdrop-filter:blur(9px) saturate(1.25);box-shadow:inset 1px 1px 1px #ffffff80,inset -1px -1px 1px #ffffff80;transform:none!important;opacity:1!important;pointer-events:auto!important;will-change:auto}
.services-feature .stack-copy{flex:none;justify-content:center;min-width:0;padding:0 var(--service-copy-inset);text-align:left}
.services-feature .stack-number,.services-feature .stack-copy ul{display:none}
.services-feature .stack-copy h3{font-size:var(--service-heading-size)!important;line-height:1.06!important;margin:0 0 24px;letter-spacing:0!important}
.services-feature .stack-copy h3 span{display:block}
.services-feature .stack-copy h4,.services-feature .stack-copy p{font-size:var(--service-body-size)!important;line-height:var(--service-body-leading)!important;margin:0 0 18px}
.services-feature .stack-copy h4{font-weight:600!important}
.services-feature .stack-copy p{font-weight:300;margin-bottom:0}
.services-feature .stack-art{align-self:center;flex:none;position:relative;aspect-ratio:1;width:410px;height:410px;min-height:0;margin:0;border-radius:var(--service-art-radius)}
/* The viewport frames a fixed card. Tall cards scroll through a reading interval before flipping. */
.services-feature .service-stack-track.is-stacked{height:var(--stack-track-height)}
.services-feature .is-stacked .service-stack-stage{position:sticky;top:var(--stack-stop,90px);height:var(--stack-stage-height);display:block;perspective:1200px}
.services-feature .is-stacked .service-stack-card{position:absolute;inset:0 0 auto;height:var(--service-card-height);transform:translate3d(0,var(--stack-y,0px),0) rotateX(var(--stack-tilt,0deg))!important;opacity:var(--stack-opacity,1)!important;pointer-events:var(--stack-pointer,auto)!important;will-change:transform,opacity}
.services-feature .is-stacked .stack-copy,.services-feature .is-stacked .stack-art{opacity:var(--stack-content-opacity,1)}
@media(max-width:999px){
 :root{--service-heading-size:32px;--service-body-size:15px;--service-body-leading:1.5}
 .services-feature{--service-card-width:320px;--service-card-height:750px;--service-inset:12px;--service-copy-inset:20px;--service-radius:24px;--service-art-radius:16px}
 .services-feature .service-stack-track{margin-top:32px}
 .services-feature .service-stack-stage{gap:24px}
 .services-feature .service-stack-card{display:flex;flex-direction:column;align-items:stretch}
 .services-feature .service-stack-card,.services-feature .is-stacked .service-stack-card{height:auto}
 .services-feature .stack-copy{padding:36px var(--service-copy-inset) 16px;justify-content:flex-start}
 .services-feature .stack-art{width:294px;height:294px;margin-top:0}
 .services-feature .stack-copy h3{margin-bottom:20px}
 .services-feature .stack-copy h4{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 .services-feature .service-stack-track.is-stacked{height:auto}
 .services-feature .is-stacked .service-stack-stage{position:relative;top:0;height:auto;display:grid;perspective:none}
 .services-feature .is-stacked .service-stack-card{position:relative;inset:auto;transform:none!important;opacity:1!important;pointer-events:auto!important;will-change:auto}
}

.case-project .case-type,.case-project .case-role{font-weight:400!important}

.case-project .case-discipline{font:400 var(--case-body-size,16px)/1.5 'ABC Oracle',Arial,sans-serif;color:inherit;margin:16px 0 0}
