body {
    min-height: 100vh;
    background-image: linear-gradient(to bottom right, #A6DCDD, #83DEB5, #4DB8BA);
    background-attachment: fixed;
    margin: 0; /*贴合浏览器外边距*/
    padding:0;/*贴合浏览器内边距*/
    width: 100%;/*贴合浏览器宽度*/
    display: flex;
    flex-direction: column;
    position: relative;
    overflow-x: hidden;
  }

  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    z-index: 1000;
  }

  .logo {
    height: 120px;
    width: auto;
    top: -5px;
    left: -20px;
    position: absolute;
  }

  .container {
    width: 100%;
    min-height: calc(100vh - 80px);
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  /* 奶油挤出动效背景容器（将由 JS 随机生成多个实例） */
  .cream-bg {
    position: absolute;
    width: 442px;  /* 340 * 1.3 */
    height: 624px; /* 480 * 1.3 */
    opacity: 0.6;
    z-index: -1; /* 在图片堆叠后面 */
    pointer-events: none;
  }

  .cream-bg svg {
    width: 100%;
    height: 100%;
  }

  /* 奶油纤维线条样式 */
  .fiber {
    fill: none;
    stroke-linecap: round;
  }

  /* 彩色糖果碎粒样式 */
  .sprinkle {
    opacity: 0;
    animation: sprinkle-pop 2.5s ease-out forwards;
  }

  @keyframes sprinkle-pop {
    0% {
      transform: scale(0.2);
      opacity: 0;
    }
    20% {
      transform: scale(1.1);
      opacity: 1;
    }
    60% {
      transform: scale(1);
      opacity: 1;
    }
    100% {
      transform: scale(1);
      opacity: 0;
    }
  }

  .image-stack {
    position: relative;
    width: 400px;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .stack-item {
    position: absolute;
    width: 400px;
    height: auto;
    border-radius: 20px;
    top: -10%;
    cursor: pointer;
    transition: transform 0.3s ease, left 0.3s ease, top 0.3s ease, z-index 0.3s ease;
    --i: 0;
    --row: 0;
    --hover-rotate: 15deg;
  }

  .rotate-10 {
    transform: rotate(-30deg);
  }

  .rotate-neg-8 {
    transform: rotate(40deg);
  }

  .rotate-12 {
    transform: rotate(25deg);
  }

  .rotate-neg-10 {
    transform: rotate(-27deg);
  }


  .rotate-neg-15 {
    transform: rotate(-10deg);
    z-index: 0;
  }

  .image-stack:hover .stack-item {
    width: 300px;
    height: auto;
    left: calc(90% + (var(--col) - 2) * 300px + (var(--row) + 1) * 60px);
    top: calc(5% + var(--row) * 120px);
    transform: rotate(var(--hover-rotate)) !important;
  }

  .image-stack:hover .stack-item:hover {
    transform: rotate(var(--hover-rotate)) scale(1.1) !important;
    z-index: 100;
  }

  .stack-item[data-index="0"] {
    --i: 0;
    --col: 0;
    --row: -1;
    --hover-rotate: -20deg;
    z-index: 10;
  }

  .stack-item[data-index="1"] {
    --i: 1;
    --col: 1;
    --row: -1;
    --hover-rotate: 15deg;
  }

  /* 让 virolahti 图片在堆叠时永远在最上层 */
  #virolahti-image {
    z-index: 20;
  }

  .stack-item[data-index="2"] {
    --i: 2;
    --col: 2;
    --row: -1;
    --hover-rotate: -15deg;
  }

  .stack-item[data-index="3"] {
    --i: 3;
    --col: 0;
    --row: 1;
    --hover-rotate: 10deg;
  }

  .stack-item[data-index="4"] {
    --i: 4;
    --col: 1;
    --row: 1;
    --hover-rotate: -12deg;
  }

  /* 雪顶系列成品饮品图片 */
  .drink-image {
    position: absolute;
    width: 300px;
    height: auto;
    left: 10%;
    top: 78%;
    margin-bottom: 200px;
    bottom: 50px;
    opacity: 0;
    transition: opacity 1.5s ease-in;
    pointer-events: none;
    z-index: 20;
  }

  .drink-image.show {
    opacity: 1;
  }

  #drink-image-2,
  #drink-image-3,
  #drink-image-4,
  #drink-image-5 {
    top: 78%;
    margin-bottom: 200px;
  }

  /* 文案：KOLARI 黑巧雪顶 */
  .kolari-text {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: 100%;
    font-size: 100px;
    font-weight: bold;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    z-index: 11;
  }

  .kolari-text.show {
    opacity: 1;
  }

  .kolari-description {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: calc(100% + 120px);
    font-size: 25px;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.6;
    max-width: 1000px;
    z-index: 11;
  }

  .kolari-description.show {
    opacity: 1;
  }

  /* 文案：VIROLAHTI 抹茶雪顶 */
  .virolahti-text {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: 100%;
    font-size: 100px;
    font-weight: bold;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    z-index: 11;
  }

  .virolahti-text.show {
    opacity: 1;
  }

  .virolahti-description {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: calc(100% + 120px);
    font-size: 25px;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.6;
    max-width: 1000px;
    z-index: 11;
  }

  .virolahti-description.show {
    opacity: 1;
  }

  /* 文案：LOPPI 黑芝麻雪顶 */
  .loppi-text {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: 100%;
    font-size: 100px;
    font-weight: bold;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    z-index: 11;
  }

  .loppi-text.show {
    opacity: 1;
  }

  .loppi-description {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: calc(100% + 120px);
    font-size: 25px;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.6;
    max-width: 1000px;
    z-index: 11;
  }

  .loppi-description.show {
    opacity: 1;
  }

  /* 文案：LAPINLAHTI 紫薯雪顶 */
  .lapinlahti-text {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: 100%;
    font-size: 100px;
    font-weight: bold;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    z-index: 11;
  }

  .lapinlahti-text.show {
    opacity: 1;
  }

  .lapinlahti-description {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: calc(100% + 120px);
    font-size: 25px;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.6;
    max-width: 1000px;
    z-index: 11;
  }

  .lapinlahti-description.show {
    opacity: 1;
  }

  /* 文案：RIIPI 奥利奥雪顶 */
  .riipi-text {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: 100%;
    font-size: 100px;
    font-weight: bold;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    z-index: 11;
  }

  .riipi-text.show {
    opacity: 1;
  }

  .riipi-description {
    position: absolute;
    left: calc(10% + 300px + 40px);
    top: calc(100% + 120px);
    font-size: 25px;
    color: white;
    opacity: 0;
    transition: opacity 2s ease-in;
    pointer-events: none;
    font-family: Arial, sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.6;
    max-width: 1000px;
    z-index: 11;
  }

  .riipi-description.show {
    opacity: 1;
  }
