.ap-cases{padding-top:var(--nav-h,72px)}.ap-cases__hero{border-bottom:1px solid var(--border);padding-block:clamp(4rem,8vw,7rem)}.ap-cases__h1{letter-spacing:-.035em;margin:0;font-size:clamp(3.4rem,9vw,7.5rem)}.ap-cases__list{padding-block:clamp(4rem,7vw,7rem)}.ap-cases-bento{grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(220px,auto);gap:clamp(1rem,1.6vw,1.5rem);display:grid}@media (width<=900px){.ap-cases-bento{grid-template-columns:1fr;grid-auto-rows:auto}.ap-bento-card{grid-area:span 1/1/auto/-1!important}}.ap-bento-card{--accent:var(--gold);isolation:isolate;min-height:100%;position:relative}.ap-bento-card__link{height:100%;color:var(--fg);display:block;position:relative}.ap-bento-card__shell{border-radius:var(--radius-shell);height:100%;transition:transform .6s var(--ease-out-expo);will-change:transform;background:0 0;border:0;padding:0;position:relative}.ap-bento-card__link:hover .ap-bento-card__shell,.ap-bento-card__link:focus-visible .ap-bento-card__shell{transform:translateY(-3px)}.ap-bento-card__core{background:var(--bg-card);border-radius:calc(var(--radius-shell) - 5px);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.ap-bento-card__media{aspect-ratio:16/9;background:#000;flex-shrink:0;position:relative;overflow:hidden}.ap-bento-card--hero .ap-bento-card__media{aspect-ratio:auto;flex:1;min-height:50%}.ap-bento-card--wide .ap-bento-card__media{aspect-ratio:21/6}.ap-bento-card--stacked .ap-bento-card__media{aspect-ratio:16/10}.ap-bento-card__media img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out-expo)}.ap-bento-card__link:hover .ap-bento-card__media img{transform:scale(1.04)}.ap-bento-card__video{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease-out-expo);background:#000;border:0;position:absolute;inset:0}.ap-bento-card__link:hover .ap-bento-card__video{opacity:1}.ap-bento-card__spotlight{background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 18%, transparent), transparent 65%);opacity:0;transition:opacity .32s var(--ease-out-quart);pointer-events:none;position:absolute;inset:0}.ap-bento-card__link:hover .ap-bento-card__spotlight{opacity:1}.ap-bento-card__tag{z-index:2;background:var(--bg);color:var(--fg);border:1px solid var(--border-strong);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;border-radius:var(--radius-pill);padding:.4em .85em;font-size:.62rem;position:absolute;top:1rem;left:1rem}.ap-bento-card__body{flex-direction:column;gap:.6rem;padding:clamp(1.25rem,2vw,1.75rem);display:flex}.ap-bento-card--hero .ap-bento-card__body{padding:clamp(1.75rem,2.6vw,2.5rem)}.ap-bento-card--wide .ap-bento-card__body{padding:1.5rem clamp(1.5rem,3vw,2.5rem)}.ap-bento-card__eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.66rem}.ap-bento-card__title{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 50;letter-spacing:-.025em;color:var(--fg);margin:0;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:400;line-height:.95}.ap-bento-card--hero .ap-bento-card__title{font-size:clamp(2.2rem,4vw,3.6rem)}.ap-bento-card--wide .ap-bento-card__title{font-size:clamp(1.8rem,3vw,2.6rem)}.ap-bento-card__subline{color:var(--fg-muted);max-width:56ch;margin:0;font-size:.95rem;line-height:1.55}.ap-bento-card--hero .ap-bento-card__subline{max-width:60ch;font-size:1.05rem}.ap-bento-card__more{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg);align-items:center;gap:.65em;margin-top:.5rem;font-size:.7rem;display:inline-flex}.ap-bento-card__chip{border-radius:var(--radius-pill);width:1.85em;height:1.85em;transition:transform .32s var(--ease-spring), background-color .32s var(--ease-spring);background:#ffffff0f;justify-content:center;align-items:center;display:inline-flex}:root[data-theme=light] .ap-bento-card__chip{background:#0000000f}.ap-bento-card__link:hover .ap-bento-card__chip{background:var(--accent);color:var(--color-dark);transform:translate(2px,-1px)scale(1.05)}
