.banner-carousel-wrapper{position:relative;width:100%;overflow:hidden;aspect-ratio:21/9;max-height:480px;background:var(--color-bg-surface)}@media (max-width:768px){.banner-carousel-wrapper{aspect-ratio:16/9;max-height:320px}}.banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease-out-expo);pointer-events:none}.banner-slide.active{opacity:1;pointer-events:auto}.banner-image,.banner-slide a{display:block;width:100%;height:100%}.banner-image{object-fit:cover}.banner-image-fallback{background:linear-gradient(135deg,var(--color-bg-elevated),var(--color-bg-surface))}.banner-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem 2.5rem;background:linear-gradient(transparent,rgba(0,0,0,.75))}.banner-overlay h2{color:#fff;font-size:1.75rem;font-weight:700;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.3)}.banner-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:40px;height:40px;border-radius:50%;border:none;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s}.banner-carousel-wrapper:hover .banner-nav{opacity:1}.banner-nav:hover{background:rgba(0,0,0,.7)}.banner-prev{left:16px}.banner-next{right:16px}.banner-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}.banner-dot{width:8px;height:8px;border-radius:50%;border:none;background:hsla(0,0%,100%,.4);cursor:pointer;transition:all .2s;padding:0}.banner-dot.active{background:#fff;width:24px;border-radius:4px}.banner-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--color-brand-red);z-index:10;transition:width .1s linear}.banner-carousel-wrapper.reduced-motion .banner-slide{transition:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.section-gradient-divider{height:1px;background:linear-gradient(90deg,transparent 0,var(--color-border) 20%,var(--color-border-light) 50%,var(--color-border) 80%,transparent 100%);border:none}