/* 棣栭〉杞挱锛氱粺涓€鍙厤缃彉閲忥紙鏂逛究缁存姢/涓€閿皟椋庢牸锛?*/
  /* 鍒楀湪 .row flex 鍐呴』 min-width:0锛岄伩鍏?flex 瀛愰」鎸夊唴瀹规渶灏忓搴︽拺鐮存暣琛?*/
  #homeCarouselCol{
    min-width: 0;
    padding-bottom: 32px;
    overflow: visible;
    /* 褰撳墠涓诲崱涓庝笅鏂瑰唴瀹瑰悓瀹斤紙100% 鍒楀锛夛紱閭诲崱缂╂斁/閫忔槑浠嶄繚鐣欎晶鍚戦瑙堟劅 */
    --hc-slide-ratio: 1;
    container-type: inline-size;
    container-name: home-carousel;
    --hc-radius: var(--web-radius, 16px);
    --hc-gap: 18px;
    --hc-gap-sm: 12px;
    --hc-nav-size: 44px;
    --hc-nav-inset: 14px;
    --hc-nav-icon: 26px;
    --hc-progress-bottom: -25px;
    --hc-progress-height: 8px;
    --hc-card-shadow: 0 18px 54px rgba(15,23,42,0.18);
    --hc-card-shadow-dark: 0 22px 70px rgba(0,0,0,0.55);
  }
  @media (max-width: 576px){
    #homeCarouselCol{ --hc-gap: var(--hc-gap-sm); }
  }

  /* Edge / 360 / Chrome锛氱鐢?container-type 鍚?cqi 楂樺害浼氬け鏁堬紝椤诲湪鍚庨潰鍗曠嫭瑕嗙洊 */
  html.web-compat-layer #homeCarouselCol{
    container-type: normal;
  }

  #homeCarouselCol .web-home-carousel-root {

    background: transparent;
    min-width: 0;
    overflow: visible;

    border: none;

    box-shadow: none;

  }

  #homeCarouselCol .web-home-carousel-viewport {

    position: relative;

    width: 100%;
    min-width: 0;

    /* 鍏佽杞挱鎮诞/闃村奖瓒呭嚭 viewport锛堜笉鍐嶈榛戞瑁佸垏锛?*/
    overflow: visible;

    border-radius: var(--hc-radius);

    /* 榛樿姣斾緥锛涙敮鎸佸鍣ㄦ煡璇㈡椂鐢?cqi 绠楅珮锛岄伩鍏?aspect-ratio + max-height 鍐茬獊浜х敓鍐呴儴绾靛悜婊氬姩鏉?*/
    aspect-ratio: 2.2 / 1;
    max-height: 360px;
    min-height: 140px;

    background: transparent;

    box-shadow: none;

  }
  @supports (width: 1cqi) {
    #homeCarouselCol .web-home-carousel-viewport {
      aspect-ratio: unset;
      height: min(max(140px, calc(100cqi / 2.2)), 360px);
    }
  }
  /* 椤诲湪 @supports(cqi) 涔嬪悗锛欳hrome 鍏煎灞傛棤 container 鏃?cqi 浼氱畻閿欓珮搴?*/
  html.web-compat-layer #homeCarouselCol .web-home-carousel-viewport{
    aspect-ratio: 2.2 / 1 !important;
    height: auto !important;
    max-height: 360px;
    min-height: 140px;
  }
  html.web-compat-layer #homeCarouselCol .web-home-carousel-tiltWrap{
    perspective: none;
  }
  html.web-compat-layer #homeCarouselCol .web-home-carousel-tiltInner{
    transform-style: flat;
  }

  /* 鍙傝€冨浘椋庢牸锛氬彧璁┾€滃浘鐗囧崱鐗囨湰浣撯€濇偓娴紝涓嶈澶у簳鏉?*/
  #homeCarouselCol .web-home-carousel-viewport{
    padding: 0;
  }
  #homeCarouselCol .web-home-carousel-stageShell{
    position: relative;
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: visible;
  }

  #homeCarouselCol .web-home-carousel-track {

    display: flex;

    height: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;

    will-change: transform;

    transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);

  }
  /* 鏃犵紳杞挱鍥炶烦鏃剁鐢ㄨ繃娓★紙閬垮厤鏈€鍚?->绗竴闂竴涓嬶級 */
  #homeCarouselCol .web-home-carousel-track.is-no-anim{
    transition: none !important;
  }
  /* 杞挱澶氬浘锛歡ap 鍋氶棿璺濓紱姣忔牸瀹藉害鐢?JS 鍐欐垚鍍忕礌锛岄伩鍏?% 鑸嶅叆鎾戝 scrollWidth */
  #homeCarouselCol .web-home-carousel-track{
    --carousel-m: 1;
    gap: var(--hc-gap);
  }
  #homeCarouselCol .web-home-carousel-slide{
    flex: 0 0 auto;
    min-width: 0;
    box-sizing: border-box;
  }

  #homeCarouselCol .web-home-carousel-slide {

    box-sizing: border-box;

    padding: 0;

    height: 100%;

  }

  #homeCarouselCol .web-home-carousel-tiltWrap {

    height: 100%;

    border-radius: var(--hc-radius);

    overflow: visible;

    perspective: 1100px;

    perspective-origin: 50% 50%;

  }

  #homeCarouselCol .web-home-carousel-tiltInner {

    display: block;

    position: relative;

    height: 100%;

    border-radius: var(--hc-radius);

    /* 鍥剧墖浠嶆寜鍦嗚瑁佸垏锛屼絾鍏佽鑷韩闃村奖/浼厓绱犫€滄诞鍑衡€?*/
    overflow: hidden;
    z-index: 1;

    transform-style: preserve-3d;

    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;

    box-shadow: none;

    background: transparent;

  }

  /* 鎮诞鏃舵妸褰撳墠 slide 鎻愬崌鍒伴〉闈箣涓?*/
  #homeCarouselCol .web-home-carousel-slide{
    position: relative;
    z-index: 1;
  }
  #homeCarouselCol .web-home-carousel-slide:hover{
    z-index: 20;
  }

  /* 鍙傝€冨浘锛氶潪褰撳墠鍗＄墖缂╁皬/娣″嚭涓€鐐癸紝骞朵繚鎸佷腑闂村崱鐗囧ぇ灏忎笉鍙?*/
  #homeCarouselCol .web-home-carousel-slide{
    opacity: 0.55;
    transform: scale(0.92);
    transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1), opacity 240ms ease;
    transform-origin: center;
  }
  /* 鏃犵紳鍥炶烦鐬棿锛氱鐢?slide 鍔ㄧ敾锛岄伩鍏嶉灏鹃棯涓€涓?*/
  #homeCarouselCol .web-home-carousel-stageShell.is-jumping .web-home-carousel-slide{
    transition: none !important;
  }
  #homeCarouselCol .web-home-carousel-slide.is-active{
    opacity: 1;
    transform: scale(1);
  }
  #homeCarouselCol .web-home-carousel-slide.is-near{
    opacity: 0.78;
    transform: scale(0.96);
  }

  /* 璁╁崱鐗囨湰浣撴洿鈥滄偓娴€濊创杩戝弬鑰冨浘 */
  #homeCarouselCol .web-home-carousel-tiltInner{
    box-shadow: var(--hc-card-shadow);
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-tiltInner{
    box-shadow: var(--hc-card-shadow-dark);
  }

  /* 宸﹀彸绠ご锛氫笌椤舵爮/杩涘害鏉＄粺涓€鐨勭幓鐠冨渾閽?+ 鍝佺墝钃濇偓鍋?*/
  #homeCarouselCol .web-home-carousel-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--hc-nav-size);
    height: var(--hc-nav-size);
    margin: 0;
    padding: 0;
    border-radius: 999px;
    border: 1px solid var(--web-glass-border-2, rgba(15, 23, 42, 0.10));
    background: var(--web-glass-surface, rgba(255, 255, 255, 0.72));
    backdrop-filter: blur(var(--web-glass-blur, 14px));
    -webkit-backdrop-filter: blur(var(--web-glass-blur, 14px));
    box-shadow: var(--web-glass-shadow, 0 16px 46px rgba(15, 23, 42, 0.10));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(15, 23, 42, 0.78);
    z-index: 40;
    overflow: hidden;
    transition:
      transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
      border-color 0.22s ease,
      box-shadow 0.22s ease,
      background 0.22s ease,
      color 0.22s ease;
  }
  #homeCarouselCol .web-home-carousel-nav::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: var(--web-glass-highlight, linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0)));
    opacity: 0.9;
  }
  #homeCarouselCol .web-home-carousel-nav__icon{
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--hc-nav-icon);
    height: var(--hc-nav-icon);
    font-size: var(--hc-nav-icon);
    line-height: 1;
    font-weight: 600;
    transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), color 0.22s ease;
  }
  #homeCarouselCol .web-home-carousel-nav:hover{
    border-color: rgba(37, 99, 235, 0.28);
    background: linear-gradient(135deg, var(--web-brand, #2563eb), var(--web-brand-2, #1d4ed8));
    color: #fff;
    box-shadow:
      0 14px 34px rgba(37, 99, 235, 0.32),
      0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    transform: translateY(-50%) scale(1.04);
  }
  #homeCarouselCol .web-home-carousel-nav:hover::before{
    opacity: 0.35;
    background: linear-gradient(180deg, rgba(255,255,255,0.45), rgba(255,255,255,0));
  }
  #homeCarouselCol .web-home-carousel-nav:hover .web-home-carousel-nav__icon{
    color: #fff;
  }
  #homeCarouselCol .web-home-carousel-nav.prev:hover .web-home-carousel-nav__icon{
    transform: translateX(-1px);
  }
  #homeCarouselCol .web-home-carousel-nav.next:hover .web-home-carousel-nav__icon{
    transform: translateX(1px);
  }
  #homeCarouselCol .web-home-carousel-nav:active{
    transform: translateY(-50%) scale(0.97);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.28);
  }
  #homeCarouselCol .web-home-carousel-nav:focus-visible{
    outline: none;
    box-shadow:
      var(--web-glass-shadow, 0 16px 46px rgba(15, 23, 42, 0.10)),
      0 0 0 3px rgba(37, 99, 235, 0.35);
  }
  #homeCarouselCol .web-home-carousel-nav:focus-visible:hover{
    box-shadow:
      0 14px 34px rgba(37, 99, 235, 0.32),
      0 0 0 3px rgba(255, 255, 255, 0.45);
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-nav{
    border-color: var(--web-glass-border-2, rgba(255, 255, 255, 0.12));
    background: var(--web-glass-surface, rgba(20, 26, 34, 0.78));
    color: rgba(255, 255, 255, 0.88);
    box-shadow: var(--web-glass-shadow, 0 22px 70px rgba(0, 0, 0, 0.55));
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-nav::before{
    background: var(--web-glass-highlight, linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0)));
    opacity: 0.85;
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-nav:hover{
    border-color: rgba(96, 165, 250, 0.45);
    background: linear-gradient(135deg, var(--web-brand, #60a5fa), var(--web-brand-2, #3b82f6));
    box-shadow:
      0 16px 40px rgba(59, 130, 246, 0.35),
      0 0 0 1px rgba(255, 255, 255, 0.08) inset;
  }
  #homeCarouselCol .web-home-carousel-nav.prev{ left: var(--hc-nav-inset); }
  #homeCarouselCol .web-home-carousel-nav.next{ right: var(--hc-nav-inset); }
  @media (max-width: 576px){
    #homeCarouselCol{
      --hc-nav-size: 40px;
      --hc-nav-icon: 24px;
      --hc-nav-inset: 10px;
    }
  }

  /* 搴曢儴杩涘害鏉℃寚绀哄櫒锛堝弬鑰冨浘閭ｇ缁嗘潯锛?*/
  #homeCarouselCol .web-home-carousel-progress{
    position:absolute;
    left: 50%;
    bottom: var(--hc-progress-bottom);
    transform: translateX(-50%);
    width: min(180px, 46vw);
    height: var(--hc-progress-height);
    border-radius: 999px;
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    /* 鐜荤拑搴曞骇 + 绔嬩綋鎰?*/
    background: rgba(255,255,255,0.62);
    border: 1px solid rgba(15,23,42,0.10);
    box-shadow:
      0 14px 34px rgba(15,23,42,0.12),
      inset 0 1px 0 rgba(255,255,255,0.85),
      inset 0 -1px 0 rgba(15,23,42,0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow:hidden;
    z-index: 35;
  }
  #homeCarouselCol .web-home-carousel-progress.is-dragging{
    cursor: grabbing;
  }
  #homeCarouselCol .web-home-carousel-progress.is-dragging > i{
    transition: none !important;
    will-change: transform;
  }
  /* 鎷栨嫿杩涘害鏉℃椂锛氳建閬?鍗＄墖/鎸囩ず鍣ㄨ窡鎵嬶紝绂佺敤鍒嗘杩囨浮閬垮厤闂烦 */
  #homeCarouselCol .web-home-carousel-stageShell.is-scrubbing .web-home-carousel-track{
    transition: none !important;
  }
  #homeCarouselCol .web-home-carousel-stageShell.is-scrubbing .web-home-carousel-slide{
    transition: none !important;
    opacity: 0.62;
    transform: scale(0.94);
  }
  #homeCarouselCol .web-home-carousel-stageShell.is-scrubbing .web-home-carousel-slide.is-scrub-active{
    opacity: 1;
    transform: scale(1);
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-progress{
    background: rgba(20,26,34,0.62);
    border-color: rgba(255,255,255,0.12);
    box-shadow:
      0 18px 54px rgba(0,0,0,0.55),
      inset 0 1px 0 rgba(255,255,255,0.10),
      inset 0 -1px 0 rgba(0,0,0,0.35);
  }
  #homeCarouselCol .web-home-carousel-progress::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    /* 鐜荤拑楂樹寒 */
    background:
      linear-gradient(180deg, rgba(255,255,255,0.75), rgba(255,255,255,0.18) 55%, rgba(255,255,255,0.00));
    opacity: 0.85;
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-progress::before{
    background:
      linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06) 55%, rgba(255,255,255,0.00));
    opacity: 0.9;
  }
  #homeCarouselCol .web-home-carousel-progress > i{
    display:block;
    height:100%;
    width: 33%;
    border-radius: 999px;
    /* 3D 杩涘害鍧楋細娓愬彉 + 楂樺厜 + 鍙戝厜 */
    background: linear-gradient(90deg, #3b82f6, #6366f1);
    box-shadow:
      0 10px 22px rgba(59,130,246,0.35),
      inset 0 1px 0 rgba(255,255,255,0.75),
      inset 0 -1px 0 rgba(15,23,42,0.18);
    position: relative;
    transform: translateX(0%);
    transition: transform 480ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  #homeCarouselCol .web-home-carousel-progress > i::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius: inherit;
    /* 楂樺厜鎵竟 */
    background: linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.10));
    mix-blend-mode: overlay;
    opacity: 0.9;
  }
  html.web-theme-dark #homeCarouselCol .web-home-carousel-progress > i{
    box-shadow:
      0 14px 34px rgba(59,130,246,0.28),
      inset 0 1px 0 rgba(255,255,255,0.18),
      inset 0 -1px 0 rgba(0,0,0,0.35);
  }

  /* 鏇撮叿鐨勫厜娉?杈圭紭寰厜锛堢敱 JS 鍐欏叆 CSS 鍙橀噺椹卞姩锛?*/
  #homeCarouselCol .web-home-carousel-tiltInner{
    position: relative;
    will-change: transform;
    --hx: 50%;
    --hy: 50%;
    --rx: 0deg;
    --ry: 0deg;
    --tz: 0px;
    --sc: 1;
    --glow: 0;
  }
  #homeCarouselCol .web-home-carousel-tiltInner::before{
    content:"";
    position:absolute;
    inset:-2px;
    pointer-events:none;
    opacity: calc(var(--glow) * 0.9);
    background:
      radial-gradient(380px 240px at var(--hx) var(--hy),
        rgba(255,255,255,0.30),
        rgba(255,255,255,0.10) 35%,
        rgba(255,255,255,0.00) 70%);
    mix-blend-mode: overlay;
    transform: translateZ(40px);
  }
  #homeCarouselCol .web-home-carousel-tiltInner::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity: calc(var(--glow) * 0.8);
    background:
      linear-gradient(135deg, rgba(37,99,235,0.35), rgba(99,102,241,0.18));
    mix-blend-mode: soft-light;
    mask: linear-gradient(#0000, #000 18%, #000 82%, #0000);
  }
  #homeCarouselCol .web-home-carousel-tiltInner{
    transform:
      perspective(1100px)
      rotateX(var(--rx))
      rotateY(var(--ry))
      translateZ(var(--tz))
      scale(var(--sc));
  }
  @media (prefers-reduced-motion: reduce){
    #homeCarouselCol .web-home-carousel-nav{
      transition: none !important;
    }
    #homeCarouselCol .web-home-carousel-nav__icon{
      transition: none !important;
    }
    #homeCarouselCol .web-home-carousel-tiltInner{
      transition: none !important;
      transform: none !important;
    }
    #homeCarouselCol .web-home-carousel-tiltInner::before,
    #homeCarouselCol .web-home-carousel-tiltInner::after{ display:none !important; }
  }

  html.web-theme-dark #homeCarouselCol .web-home-carousel-tiltInner {

    box-shadow: none;

  }

  #homeCarouselCol .web-home-carousel-img {

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    border-radius: var(--hc-radius);

    transform: none;

    pointer-events: none;

    user-select: none;

  }

  #homeCarouselCol .web-home-carousel-cap {

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    padding: 10px 14px;

    font-size: 14px;

    font-weight: 600;

    color: #fff;

    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);

    background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));

    transform: translateZ(24px);

    pointer-events: none;

    border-radius: 0 0 var(--web-radius, 16px) var(--web-radius, 16px);

  }

  #homeCarouselCol .web-home-carousel-dots {

    display: flex;

    justify-content: center;

    gap: 8px;

    padding: 10px 0 0;

    margin: 0;

    background: transparent;

  }
  /* 鍒犻櫎/闅愯棌涓婃柟鍦嗙偣鎸囩ず鍣紙浠呬繚鐣欏簳閮ㄧ粏杩涘害鏉★級 */
  #homeCarouselDots{ display:none !important; }

  #homeCarouselCol .web-home-carousel-dot {

    width: 8px;

    height: 8px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: rgba(100, 116, 139, 0.35);

    cursor: pointer;

    transition: transform 0.15s ease, background 0.15s ease;

  }

  #homeCarouselCol .web-home-carousel-dot.active {

    background: var(--web-brand, #2563eb);

    transform: scale(1.15);

  }

  /* 鎵嬫満锛氬帇浣庤疆鎾珮搴︼紝閬垮厤棣栧睆琚箍鍛婃潯鍗犳弧 */
  @media (max-width: 576px) {
    #homeCarouselCol .web-home-carousel-viewport {
      aspect-ratio: 2.5 / 1;
      max-height: 200px;
      min-height: 120px;
    }
    @supports (width: 1cqi) {
      #homeCarouselCol .web-home-carousel-viewport {
        aspect-ratio: unset;
        height: min(max(120px, calc(100cqi / 2.5)), 200px);
      }
    }
    html.web-compat-layer #homeCarouselCol .web-home-carousel-viewport{
      aspect-ratio: 2.5 / 1 !important;
      height: auto !important;
      max-height: 200px;
      min-height: 120px;
    }
    #homeCarouselCol .web-home-carousel-cap {
      font-size: 12px;
      padding: 8px 10px;
    }
    #homeCarouselCol .web-home-carousel-dots {
      padding: 6px 0 0;
    }
  }