  .carousel-promosi{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;background:#f8fafc;padding:2rem 1rem 1rem 1rem;box-sizing:border-box;margin-top:80px;}  .carousel-promosi .carousel-inner{max-width:1400px;margin:0 auto;width:100%;position:relative;}  .carousel-promosi .swiper{overflow:hidden;border-radius:12px;position:relative;}  .carousel-promosi .swiper-slide{position:relative;}  .carousel-promosi .cp-banner-content{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:12;text-align:center;width:95%;max-width:600px;}  @keyframes cp-fadeInScale{from{opacity:0;transform:scale(0.95);} to{opacity:1;transform:scale(1);}} @keyframes cp-fadeInUp{from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);}} .carousel-promosi .cp-banner-title{background:rgba(0,0,0,0.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:1.5rem 3rem;border-radius:12px;color:white;font-size:2rem;font-weight:700;box-shadow:0 20px 60px rgba(0,0,0,0.4);animation:cp-fadeInScale 0.6s ease-out;margin-bottom:1.5rem;}  .carousel-promosi .cp-banner-buttons{display:flex;flex-direction:row;gap:1rem;justify-content:center;animation:cp-fadeInUp 0.6s ease-out 0.2s both;}  .carousel-promosi .cp-btn{position:relative;padding:0.875rem 2.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;border:2px solid;background:transparent;min-width:120px;overflow:hidden;z-index:11;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);color:white;} .carousel-promosi .cp-btn span{position:relative;z-index:10;}  .carousel-promosi .cp-btn::before{content:'';position:absolute;inset:0;transform:scaleX(0);transform-origin:left;transition:transform 0.5s ease-out;z-index:0;} .carousel-promosi .cp-btn:hover::before{transform:scaleX(1);} .carousel-promosi .cp-btn-login{color:#193c76;border:#edd25f 3px solid;} .carousel-promosi .cp-btn-login::before{background:#edd25f;} .carousel-promosi .cp-btn-login:hover{color:#0f172a;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 32px rgba(255,255,255,0.4);} .carousel-promosi .cp-btn-daftar{color:#edd25f;border:#193c76 3px solid;} .carousel-promosi .cp-btn-daftar::before{background:#193c76;} .carousel-promosi .cp-btn-daftar:hover{color:#edd25f;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 32px rgba(139,92,246,0.6);}  .carousel-promosi .cp-slide-content{aspect-ratio:4 / 1;width:100%;} @media (max-width:1023px) and (min-width:768px){.carousel-promosi .cp-slide-content{aspect-ratio:3 / 1;}} @media (max-width:767px){.carousel-promosi .cp-slide-content{aspect-ratio:2 / 1;}} .carousel-promosi .cp-slide-content img{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.15);}  .carousel-promosi .cp-swiper-button-prevs, .carousel-promosi .cp-swiper-button-nexts{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;background:linear-gradient(135deg, rgba(139,92,246,0.95), rgba(139,92,246,0.95));backdrop-filter:blur(12px);border-radius:10px;color:white;box-shadow:0 4px 20px rgba(139,92,246,0.3);opacity:0;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);border:2px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:auto;padding-bottom:5px;}  .carousel-promosi .cp-swiper-button-prevs{left:20px;} .carousel-promosi .cp-swiper-button-nexts{right:20px;}  .carousel-promosi .cp-swiper-button-prevs::after, .carousel-promosi .cp-swiper-button-nexts::after{display:inline-block;font-weight:900;color:white;line-height:1;user-select:none;} .carousel-promosi .cp-swiper-button-prevs::after{content:'‹';font-size:20px;} .carousel-promosi .cp-swiper-button-nexts::after{content:'›';font-size:20px;}  .carousel-promosi .swiper:hover .cp-swiper-button-prevs, .carousel-promosi .swiper:hover .cp-swiper-button-nexts, .carousel-promosi .swiper:focus-within .cp-swiper-button-prevs, .carousel-promosi .swiper:focus-within .cp-swiper-button-nexts{opacity:1;}  .carousel-promosi .cp-swiper-button-prevs:hover, .carousel-promosi .cp-swiper-button-nexts:hover{transform:translateY(-50%) scale(1.15);box-shadow:0 8px 32px rgba(139,92,246,0.5);border-color:rgba(255,255,255,0.4);} .carousel-promosi .cp-swiper-button-prevs:active, .carousel-promosi .cp-swiper-button-nexts:active{transform:translateY(-50%) scale(1.05);}  .carousel-promosi .cp-swiper-pagination{position:absolute;left:50%;transform:translateX(-50%);bottom:24px !important;z-index:22;display:flex;align-items:center;justify-content:center;pointer-events:auto;}  .carousel-promosi .cp-swiper-pagination .swiper-pagination-bullet{width:10px;height:10px;background:rgba(255,255,255,0.6);opacity:1;transition:all 0.3s ease;margin:0 5px !important;border-radius:999px;} .carousel-promosi .cp-swiper-pagination .swiper-pagination-bullet:hover{background:rgba(255,255,255,0.9);transform:scale(1.25);} .carousel-promosi .cp-swiper-pagination .swiper-pagination-bullet-active{width:40px;border-radius:5px;background:white;}  @media (max-width:767px){.carousel-promosi{padding:1rem 0.5rem;} .carousel-promosi .cp-banner-title{font-size:1.25rem;padding:1rem 1.5rem;margin-bottom:1rem;} .carousel-promosi .cp-banner-buttons{gap:0.75rem;} .carousel-promosi .cp-btn{padding:0.75rem 2rem;font-size:0.95rem;min-width:120px;} .carousel-promosi .cp-swiper-button-prevs, .carousel-promosi .cp-swiper-button-nexts{width:34px;height:34px;border-radius:8px;} .carousel-promosi .cp-swiper-button-prevs{left:12px;} .carousel-promosi .cp-swiper-button-nexts{right:12px;} .carousel-promosi .cp-swiper-pagination{bottom:16px !important;}} @media (min-width:768px) and (max-width:1023px){.carousel-promosi .cp-banner-title{font-size:1.75rem;padding:1.25rem 2.5rem;} .carousel-promosi .cp-btn{padding:0.75rem 2rem;font-size:0.95rem;min-width:140px;}} @media (min-width:1024px){.carousel-promosi .cp-banner-title{font-size:2.5rem;padding:2rem 4rem;} .carousel-promosi .cp-btn{padding:1rem 3rem;font-size:1.1rem;min-width:140px;} .carousel-promosi .cp-swiper-button-prevs, .carousel-promosi .cp-swiper-button-nexts{width:48px;height:48px;border-radius:11px;} .carousel-promosi .cp-swiper-button-prevs{left:28px;} .carousel-promosi .cp-swiper-button-nexts{right:28px;}} 