.carousel-module{position:relative;width:100%}.carousel-module[data-lazy=true]{contain:layout style paint;contain-intrinsic-size:0 500px;content-visibility:auto}.carousel-title{color:var(--color-text);font-family:var(--font-family-heading,inherit);font-size:var(--font-size-h2,2rem);font-weight:var(--font-weight-semibold,600);margin-bottom:2rem}.carousel-container{position:relative;width:100%}.carousel-track-wrapper{overflow:hidden;position:relative}.carousel-track{display:flex;transition:transform .6s ease}.carousel-track,.carousel-track.transitioning{will-change:transform}.carousel-track:not(.transitioning){will-change:auto}.carousel-slide{flex-shrink:0;padding:.5rem 0;width:100%}.carousel-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius,.5rem);box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:transform .4s ease,box-shadow .4s ease,border-color .3s ease}.carousel-card:hover{border-color:var(--color-primary);box-shadow:0 12px 28px rgba(0,0,0,.12),0 4px 10px rgba(0,0,0,.08);transform:translateY(-6px)}.clickable-card{color:inherit;cursor:pointer;text-decoration:none}.clickable-card:hover{box-shadow:0 16px 32px rgba(0,0,0,.15),0 6px 12px rgba(0,0,0,.1);transform:translateY(-8px)}.card-label{border-radius:0 4px 4px 0;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--color-bg);font-size:.75rem;font-weight:600;left:0;letter-spacing:.5px;padding:6px 16px 6px 12px;position:absolute;text-transform:uppercase;top:12px;z-index:10}.card-label-icon{margin-right:4px}.card-media-wrapper{aspect-ratio:16/9;background:var(--color-bg-secondary);border-radius:var(--border-radius,.5rem) var(--border-radius,.5rem) 0 0;flex-shrink:0;overflow:hidden;position:relative}.card-media-wrapper[style*=height]{aspect-ratio:auto}.card-media-wrapper img,.card-media-wrapper picture,.card-media-wrapper video{display:block;height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.carousel-card:hover .card-media-wrapper img,.carousel-card:hover .card-media-wrapper video{transform:scale(1.08)}.carousel-card .card-content{flex:1}.card-overlay,.carousel-card .card-content{display:flex;flex-direction:column;padding:1.5rem}.card-overlay{background:linear-gradient(to bottom,transparent 0,var(--color-bg-secondary) 100%);bottom:0;justify-content:flex-end;left:0;position:absolute;right:0;top:0}.card-overlay,.card-overlay .card-richtext,.card-overlay .card-title,.card-title{color:var(--color-text)}.card-title{font-family:var(--font-family-heading,inherit);font-size:var(--font-size-h4,1.25rem);font-weight:var(--font-weight-semibold,600);margin-bottom:.75rem}.card-richtext{color:var(--color-text);font-family:var(--font-family-body,inherit);font-size:var(--font-size-body,1rem);line-height:var(--line-height-body,1.6);margin-bottom:1rem}.card-richtext ol,.card-richtext ul{margin:.5rem 0;padding-left:1.5rem}.card-richtext li{margin:.25rem 0}.card-button-wrapper{margin-top:auto;padding-top:1rem}.carousel-btn{background:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--border-radius,.375rem);color:var(--color-bg);display:inline-block;font-family:var(--font-family-body,inherit);font-weight:var(--font-weight-medium,500);padding:.625rem 1.5rem;text-decoration:none;transition:all .3s ease}.carousel-btn:hover{box-shadow:0 6px 16px rgba(0,0,0,.15);filter:brightness(1.1);transform:translateY(-3px)}.carousel-nav{align-items:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.1);color:var(--color-text);cursor:pointer;display:flex;height:48px;justify-content:center;margin:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:48px;z-index:20}.carousel-arrow{display:block;font-size:28px;font-weight:300;line-height:1;margin-top:-2px}.carousel-nav:hover:not([disabled]){background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 8px 24px rgba(0,0,0,.2);color:#fff;transform:translateY(-50%) scale(1.1)}.carousel-nav-prev{left:12px}.carousel-nav-next{right:12px}.carousel-nav[disabled]{background:var(--color-bg-secondary);box-shadow:none;color:var(--color-text);cursor:not-allowed;opacity:.35}.carousel-dots{display:flex;gap:10px;justify-content:center;margin-top:24px;padding:12px}.carousel-dot{background:var(--color-border);border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all .35s ease;width:10px}.carousel-dot:hover{background:var(--color-text);transform:scale(1.2)}.carousel-dot.active{background:var(--color-primary);border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.15);width:28px}@media (hover:none) and (pointer:coarse){.carousel-track-wrapper{cursor:grab;-webkit-user-select:none;user-select:none}.carousel-track-wrapper:active{cursor:grabbing}}@media (max-width:768px){.carousel-title{font-size:var(--font-size-h3,1.5rem)}.carousel-nav{height:clamp(32px,4.5vw,36px);width:clamp(32px,4.5vw,36px)}.carousel-nav-prev{left:5px}.carousel-nav-next{right:5px}.card-label{font-size:.625rem;left:-6px;padding:3px 8px;top:8px}.card-label:before{border-width:6px 6px 0 0;bottom:-6px}.card-title{font-size:var(--font-size-h5,1.125rem)}.card-richtext{font-size:var(--font-size-small,.875rem)}.carousel-card .card-content{padding:1rem}}@media (prefers-reduced-motion:reduce){.carousel-track{transition:none!important}.carousel-nav:hover{box-shadow:none!important;transform:translateY(-50%)!important}.carousel-btn:hover,.carousel-dot{transition:none!important}.carousel-btn:hover{transform:none!important}.carousel-card{transition:none!important}.carousel-card:hover{transform:none!important}}@media print{.carousel-dots,.carousel-nav{display:none!important}.carousel-track{display:block}.carousel-slide{display:inline-block;width:33.333%;page-break-inside:avoid}.carousel-module{--color-bg:var(--color-bg);--color-text:var(--color-text);--color-border:var(--color-border)}}