/* Shared mouse and touch depth for glass cards. Scroll containers keep their own transforms. */
@media(prefers-reduced-motion:no-preference){
  html body .aps-depth-card{
    position:relative;
    transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease!important;
  }
  html body .aps-depth-card.aps-card-depth{
    transition:transform .07s linear,box-shadow .12s ease,border-color .12s ease!important;
    z-index:3;
    transform:perspective(1100px) translateY(-22px) translateZ(115px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))!important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.8),inset 0 -1px 1px rgba(255,255,255,.4),0 46px 70px -18px rgba(5,35,30,.48)!important;
  }
}
@media(prefers-reduced-motion:reduce){html body .aps-depth-card.aps-card-depth{transform:none!important}}

.aps-glass-label{display:inline-block;position:relative;border-radius:999px;border:1px solid rgba(255,255,255,.5);background-image:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,.04) 60%,rgba(0,0,0,.07))!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.65),0 5px 12px rgba(12,43,40,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@media(prefers-reduced-motion:no-preference){html body .aps-glass-label.aps-card-depth{transform:perspective(1100px) translateY(-4px) translateZ(70px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))!important}}

/* Category labels are non-clickable; keep the arrow instead of a text caret. */
.aps-glass-label,.aps-glass-label *{cursor:default;-webkit-user-select:none;user-select:none}

/* Crisp coloured glass, with a fine rim rather than a milky surface. */
.aps-glass-label{
  isolation:isolate;padding:7px 15px!important;
  border:1px solid rgba(255,255,255,.62);
  background-image:linear-gradient(175deg,rgba(255,255,255,.22),rgba(255,255,255,.03) 44%,rgba(0,0,0,.07))!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -1px 1px rgba(0,0,0,.12),0 3px 7px rgba(12,43,40,.12);
}
.aps-glass-label::after{
  content:"";position:absolute;inset:2px;border-radius:inherit;pointer-events:none;
  border:1px solid rgba(255,255,255,.22);
  background:radial-gradient(ellipse at var(--card-light-x,45%) 0%,rgba(255,255,255,.18),transparent 65%);
}
html body .aps-glass-label.aps-card-depth{
  box-shadow:inset 0 1px 1px rgba(255,255,255,.85),inset 0 -1px 1px rgba(0,0,0,.12),0 9px 16px -6px rgba(12,43,40,.28)!important;
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
html body :is(.aps-capability-card,.aps-press-card,.aps-record-card,.aps-project-glass,.aps-job-glass,.aps-culture-glass,.aps-surface-glass,.aps-proposal-glass,.aps-glass-label):hover{position:relative;z-index:3;transform:perspective(1100px) translateY(-22px) translateZ(115px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))!important;box-shadow:inset 0 1px 2px rgba(255,255,255,.8),0 46px 70px -18px rgba(5,35,30,.48)!important;transition:transform .07s linear,box-shadow .12s ease!important}
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html body .aps-glass-label:hover{transform:perspective(1100px) translateY(-4px) translateZ(70px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.85),0 9px 16px -6px rgba(12,43,40,.28)!important}}

/* Header identity: clear glass rim with a compact, responsive lift. */
html body .aps-logo-glass{display:inline-flex;position:relative;isolation:isolate;padding:5px;border-radius:12px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,.08));box-shadow:inset 0 1px 1px rgba(255,255,255,.8),0 4px 12px rgba(0,0,0,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .32s ease,box-shadow .32s ease}
.aps-logo-glass img,.aps-logo-glass>span{border-radius:7px}
.aps-logo-glass:after{content:"";position:absolute;inset:2px;border:1px solid rgba(255,255,255,.35);border-radius:10px;pointer-events:none}
@media(prefers-reduced-motion:no-preference){html body .aps-logo-glass.aps-card-depth{transform:perspective(1100px) translateY(-4px) translateZ(85px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))!important;box-shadow:inset 0 1px 2px rgba(255,255,255,.9),0 14px 24px -8px rgba(0,0,0,.4)!important}}

/* Client identities sit inside clear, raised glass without tinting brand artwork.
   Extra rail space allows the existing pointer/touch lift to remain unclipped. */
html body .aps-marquee{padding-block:60px 54px;margin-block:-48px -42px}
/* Keep the edge masks inside the rail, away from the heading above it. */
html body .aps-marquee::before,html body .aps-marquee::after{top:48px;bottom:42px}
html body .aps-marquee-item{overflow:visible}
html body .aps-client-glass{
  position:relative;isolation:isolate;border-radius:22px;
  border:1px solid rgba(255,255,255,.64);
  background:linear-gradient(135deg,rgba(255,255,255,.48),rgba(255,255,255,.12) 45%,rgba(255,255,255,.24));
  box-shadow:inset 0 2px 2px rgba(255,255,255,.85),inset 0 -2px 3px rgba(5,35,30,.25),0 12px 20px -10px rgba(0,20,18,.5);
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease;
  -webkit-user-select:none;user-select:none;
}
.aps-client-glass::before{
  content:"";position:absolute;inset:4px;border-radius:18px;
  border:1px solid rgba(255,255,255,.42);pointer-events:none;
  background:linear-gradient(150deg,rgba(255,255,255,.18),transparent 42%);
}
.aps-client-glass img{
  position:relative;border-radius:8px;background:#fff;padding:5px;
  box-sizing:border-box;-webkit-user-drag:none;
  box-shadow:0 3px 7px rgba(0,25,22,.12);
}
html body .aps-marquee-item:has(.aps-card-depth),
html body .aps-marquee-item:has(.aps-touch-active){position:relative;z-index:3}
@media(prefers-reduced-motion:reduce){html body .aps-client-glass{transition:none}}

@media(prefers-reduced-motion:no-preference){
  html body .aps-client-glass.aps-card-depth{
    transform:perspective(1100px) translateY(-30px) translateZ(180px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))!important;
  }
  html body .aps-client-glass:is(.aps-card-depth,.aps-touch-active){
    box-shadow:inset 0 2px 3px rgba(255,255,255,.95),inset 0 -2px 3px rgba(5,35,30,.28),0 30px 35px -10px rgba(0,20,18,.65)!important;
  }
}

/* Footer brand: glass at rest, pointer hover lift without rotation. */
html body .aps-footer-logo-glass{
  display:inline-flex;align-items:center;justify-content:center;position:relative;
  isolation:isolate;flex:none;max-width:100%;box-sizing:border-box;
  padding:10px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,.12) 55%,rgba(255,255,255,.22));
  box-shadow:inset 0 2px 2px rgba(255,255,255,.8),inset 0 -2px 3px rgba(5,35,30,.22),0 5px 12px rgba(0,0,0,.22);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  transform:none!important;transform-origin:center;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease!important;
}
.aps-footer-logo-glass::after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.4);border-radius:12px;pointer-events:none}
.aps-footer-logo-glass img{position:relative;display:block;max-width:100%;width:auto;border-radius:7px;background:#fff;padding:5px 7px;box-sizing:content-box;box-shadow:0 2px 5px rgba(0,0,0,.15)}
@media (any-hover:hover) and (prefers-reduced-motion:no-preference){
  html body .aps-footer-logo-glass:hover{
    z-index:3;transform:perspective(1100px) translateY(-22px) translateZ(115px)!important;
    box-shadow:inset 0 2px 2px rgba(255,255,255,.9),inset 0 -2px 3px rgba(5,35,30,.22),0 35px 45px -12px rgba(0,0,0,.55);
  }
}

/* Award artwork must remain readable instead of receiving a photographic crop. */
html body img[src*="work-in-progress.png"]{object-fit:contain!important;object-position:center!important;background:#F6F4EF}
html body .aps-update-photo[style*="work-in-progress.png"]{background-size:contain!important;background-repeat:no-repeat;background-color:#F6F4EF}

/* Scale award artwork with its card rather than a fixed desktop banner height. */
html body .aps-newsroom .aps-news-image[src*="work-in-progress.png"]{
  width:100%!important;max-width:100%;height:auto!important;
  aspect-ratio:3/2!important;max-height:clamp(180px,28vw,360px);
  object-fit:contain!important;box-sizing:border-box;
}
html body .aps-detail-image[src*="work-in-progress.png"]{
  width:100%;height:auto!important;aspect-ratio:3/2;
  max-height:clamp(220px,45vw,540px);object-fit:contain!important;
}
