.ap-module{--ap-yellow:#ffe400;--ap-black:#111;--ap-white:#fff;--ap-side-space:100px;--ap-card-gap:24px;background-color:#fff;color:inherit;font-family:inherit;overflow-x:clip;padding:120px 0;width:100%}.ap-module,.ap-module *,.ap-module :after,.ap-module :before{box-sizing:border-box}.ap-container{margin:0 auto;max-width:1240px;padding:0 30px;width:100%}.ap-header{align-items:flex-end;display:flex;gap:50px;justify-content:space-between;margin-bottom:40px}.ap-header-content{flex:1 1 auto;max-width:760px;min-width:0}.ap-module .ap-heading{margin:0 0 16px;padding:0}.ap-intro{color:inherit;font-family:inherit}.ap-intro p{margin:0 0 12px}.ap-intro p:last-child{margin-bottom:0}.ap-header-action{flex:0 0 auto}.ap-module .ap-overview-button,.ap-module .ap-overview-button:visited{align-items:center;background-color:var(--ap-black);border:2px solid var(--ap-black);border-radius:0;color:var(--ap-white);display:inline-flex;font-family:inherit;font-size:inherit;font-weight:700;justify-content:center;line-height:1.3;min-height:50px;padding:12px 28px;text-align:center;text-decoration:none;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.ap-module a.ap-overview-button:focus-visible,.ap-module a.ap-overview-button:hover{background-color:var(--ap-yellow);border-color:var(--ap-yellow);color:var(--ap-black)}.ap-module .ap-overview-button:focus-visible{outline:2px solid var(--ap-black);outline-offset:4px}.ap-module .ap-overview-button--disabled{cursor:default}.ap-carousel{margin-left:calc(var(--ap-side-space)*-1);margin-right:calc(var(--ap-side-space)*-1);min-width:0;position:relative;width:calc(100% + var(--ap-side-space)*2)}.ap-track{display:flex;gap:var(--ap-card-gap);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-left:var(--ap-side-space);padding-right:var(--ap-side-space);scroll-padding-inline:var(--ap-side-space);scroll-snap-type:x mandatory;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.ap-track::-webkit-scrollbar{display:none}.ap-carousel.has-overflow .ap-track{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--ap-side-space),#000 calc(100% - var(--ap-side-space)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--ap-side-space),#000 calc(100% - var(--ap-side-space)),transparent 100%)}.ap-carousel.has-overflow.is-at-start .ap-track{-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--ap-side-space)),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--ap-side-space)),transparent 100%)}.ap-carousel.has-overflow.is-at-end .ap-track{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--ap-side-space),#000 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--ap-side-space),#000 100%)}.ap-carousel:not(.has-overflow) .ap-track{-webkit-mask-image:none;mask-image:none}.ap-carousel.is-draggable .ap-track{cursor:grab}.ap-carousel.is-dragging .ap-track{cursor:grabbing;scroll-snap-type:none}.ap-carousel.is-dragging,.ap-carousel.is-dragging *{user-select:none;-webkit-user-select:none}.ap-card{flex:0 0 calc(33.33333% - var(--ap-card-gap)*2/3);min-width:0;scroll-snap-align:start}.ap-card-image{aspect-ratio:1.6/1;background-color:#f1f1f1;overflow:hidden;position:relative;width:100%}.ap-card-image img{max-width:none;object-fit:cover;object-position:center;-webkit-user-drag:none;transition:transform .5s ease;user-select:none}.ap-card-image img,.ap-project-link{display:block;height:100%;width:100%}.ap-project-link{text-decoration:none}.ap-project-link:focus-visible{outline:3px solid var(--ap-yellow);outline-offset:-3px}@media (hover:hover){.ap-carousel:not(.is-dragging) .ap-card:hover .ap-card-image img{transform:scale(1.035)}}.ap-image-placeholder{align-items:center;background-color:#eee;color:#666;display:flex;height:100%;justify-content:center;padding:20px;text-align:center;width:100%}.ap-card-level{display:flex;margin-bottom:12px;margin-top:16px}.ap-badge{align-items:center;border:1px solid transparent;border-radius:0;color:#111;display:inline-flex;font-family:inherit;font-size:12px;font-weight:700;justify-content:center;line-height:1.2;min-height:28px;padding:5px 12px}.ap-badge--gold{background-color:#d4af37;border-color:#d4af37}.ap-badge--silver{background-color:silver;border-color:silver}.ap-badge--bronze{background-color:#cd7f32;border-color:#cd7f32}.ap-module .ap-card-title{margin:0 0 12px;padding:0}.ap-card-description{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}.ap-drag-cursor{align-items:center;display:flex;gap:8px;height:48px;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform:translate3d(-50%,-50%,0);transition:opacity .15s ease;visibility:hidden;width:76px;z-index:20}.ap-chevron{background-color:var(--ap-yellow);clip-path:polygon(0 0,57% 0,100% 50%,57% 100%,0 100%,49% 50%);display:block;flex:0 0 auto;height:38px;width:25px}.ap-chevron--left{transform:scaleX(-1)}.ap-chevron--right{transform:none}.ap-carousel.is-cursor-visible .ap-drag-cursor{opacity:1;visibility:visible}.ap-carousel.is-cursor-visible .ap-card,.ap-carousel.is-cursor-visible .ap-project-link,.ap-carousel.is-cursor-visible .ap-track{cursor:none}.ap-carousel.is-dragging .ap-chevron--left{transform:scaleX(-1) scale(.9)}.ap-carousel.is-dragging .ap-chevron--right{transform:scale(.9)}@media (max-width:991px){.ap-module{--ap-side-space:65px;padding:90px 0}.ap-header{gap:30px}.ap-card{flex-basis:calc((100% - var(--ap-card-gap))/2)}}@media (max-width:767px){.ap-module{--ap-side-space:20px;--ap-card-gap:16px;padding:70px 0}.ap-container{padding:0 20px}.ap-header{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:32px}.ap-header-content{width:100%}.ap-card{flex:0 0 82%}.ap-card-level{margin-top:14px}.ap-drag-cursor{display:none}}@media (max-width:420px){.ap-module{padding:60px 0}.ap-card{flex-basis:88%}.ap-header-action,.ap-module .ap-overview-button{width:100%}}@media (prefers-reduced-motion:reduce){.ap-card-image img,.ap-drag-cursor,.ap-module .ap-overview-button{transition:none}.ap-track{scroll-behavior:auto}}