html{
        font-size: var(--basic-font-pc);
    }
.hero-slider{
    width: 100%;
    height: auto !important; 
}

.hero-slider .swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-bottom: 10rem;
}

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0);
    height: auto;
}

.hero-slider.swiper .pagination{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    position: absolute;
    bottom: 2rem;
    z-index: 10;

}

.pagination>span{
    box-shadow: 0 0 10px #ddd;
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
}
.hero-slider .swiper-pagination-bullet {
    opacity: 0.5;
}

.pagination>span .hero-slider .swiper-pagination-bullet-active{
    background: var(--pm-color-500);
}


        /* --- Section 1: OUR STORY --- */
        .section-title {
            text-align: center;
            color: var(--pm-color-500);
            font-size: var(--fs-h2);
            font-weight: bold;
            margin: 7rem 0;
        }

        .story-content {
            display: flex;
            gap: 50px;
            align-items: flex-start;
            margin-bottom: 100px;
        }

        .story-image {
            flex: 1;
            width: 980px;
            height: 650px; 
        }

        .story-image img {
            width: 100%;
            height: 100%;
            display: block;
            margin-bottom: 10rem;
            object-fit: cover;
            
        }

        .story-text {
            flex: 1;
            padding-top: 20px;
        }

        .story-text h2 {
            font-size: var(--fs-h1);
            margin-bottom: .5rem;
            padding-top: 4rem;
        }

        .story-text h3 {
            color: var(--pm-color-500);
            font-size: var(--fs-h2);
            margin-bottom: 1rem;
        }

        .story-text p {
            font-size: 0.9rem;
            margin-bottom: 1rem;
            word-break: keep-all;
        }

/* --- Section 2: Circles --- */
        .circles-section {
            display: flex;
            justify-content: center;
            gap: 40px;
            margin-bottom: 120px;
        }

        .circle {
            width: 492px;
            height: 492px;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 30px;
            box-shadow: inset 1px 1px 2px 2px rgba(0, 0, 0, 0.2);
        }

        .circle.blue {
            background-color: #D6E3FA;
        }

        .circle.yellow {
            background-color: var(--pi-color-400);
            /* color: #333; */
        }

        .circle h4 {
            font-size: 1.1rem;
        }

        .circle span {
            font-size: 0.85rem;
            display: block;
            margin-bottom: 2rem;
            font-weight: var(--fw-med);
        }

        .circle p {
            font-size:var(--fs--bd1);
            font-weight: var(--fw-reg);
            line-height: 1.4;
        }

        
 /* --- Section 3: HAPPENINGS --- */
        .happenings-section {
            background-color: var(--pm-color-500);
            color: white;
            padding: 1rem 0;
            text-align: center;
        }

        .happenings-section h2 {
            font-size: 1.5rem;
            margin-top: 5rem;
            margin-bottom: 1rem;
        }

        .happenings-section p {
            font-size: 0.9rem;
            margin-bottom: 7rem;
        }

        .happenings-grid {
            display: flex;
            gap: 20px;
            margin-bottom: 50px;
            justify-content: center;
        }

        .happenings-grid > div {
            /* flex: 1; */
        }

        .happenings-grid img {
            width: 540px;
            height: 808px;
            object-fit: cover;
            display: block;
        }

        .happenings-text-box {
            width: 540px;
            height: 630px;
            background-color: white;
            color: #000;
            padding: 40px 30px;
            text-align: left;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
        }

        .happenings-item {
            padding-bottom: 20px;
        }

        .happenings-item:last-child {
            border-bottom: none;
            text-align: right;
            padding-bottom: 0;
            padding-top: 20px;
        }

        .happenings-item h3 {
            font-size: 1.2rem;
            margin-bottom: 10px;
            border-bottom: 1px solid var(--pm-color-600);
            padding-bottom: 1rem;
        }

        .happenings-item p {
            font-size: var(--fs-det);
            color: #000;
            margin-top: 1.5rem;
        }

        .join-btn {
            background-color: white;
            color: #000;
            border: none;
            padding: 12px 30px;
            border-radius: 25px;
            font-size: var(--fs--bd1);
            font-weight: var(--fw-med);
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            margin-bottom: 2rem;
        }

        .join-btn:hover {
            background-color: #f0f0f0;
        }

        .hover-bright {
        filter: brightness(0.5);
        transition: all 0.3s ease 0s;
    }

        .hover-bright:hover {
            filter: brightness(1);
        }

        .happenings-item strong{
            font-size: var(--fs-bd2);
            font-weight: var(--fw-bold);
        }

       .container2 {
            width: 1440px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* --- 상단 제목 및 메뉴 --- */
        .mn-section {
            text-align: center;
            margin: 60px 0 80px;
        }

        .mn-section h1 {
            color: #3B6BDB;
            font-size:var(--fs-h1);
            font-weight: var(--fw-bold);
            margin-top: 7rem;
        }

        .mn-section h2 {
            color:var(--pm-color-500);
            font-size:var(--fs-h1);
            font-weight: var(--fw-bold);
            margin-bottom: 4.5rem;
        }

        .nav-menu {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 6rem;
            font-size: 0.95rem;
            font-weight: bold;
            color: #333;
        }
        .nav-menu li{
            border-left: 3px solid var(--pi-color-400);
            padding: 0 30px;
            color: var(--pm-color-900);
            /* margin-bottom: 18rem; */
        }

        .nav-menu li:hover{
            border-left: 6px solid var(--pi-color-400);
        }


/* --- 제품 섹션 공통 스타일 --- */
    .product-item {
        width: 1440px;
        display: flex;
        align-items: center;
        gap: 5rem;
        margin-bottom: 6rem;
        margin: 0 auto;
        margin-top: 10rem;}
*

 /* 두 번째 제품은 좌우 반전 */
        .product-item.reverse {
            flex-direction: row-reverse;
        }

        .product-text {
            margin-bottom: 5rem;
            flex: 1;
        }

        .product-image-container {
            flex: 1;
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 500px;
            gap: 0.6rem; 
        }
        .product-image-container img {
            width: 100%;
            height: auto;
            display: block;}
        .product-image-container .overlay-svg {
            width: 60px;}


 /* --- 제품 텍스트 상세 스타일 --- */
        .product-title {
            color: #3B6BDB;
            font-size: 6rem;
            font-weight: var(--fw-med);
            line-height: 1.1;
            margin-bottom: 10px;
            width: 800px;
        }

        .product-subtitle {
            color: #3B6BDB;
            font-size: 1.1rem;
            font-weight: bold;
            margin-bottom: 20px;
        }

        .product-line {
            height: 2px;
            background-color: #3B6BDB;
            margin-bottom: 30px;
        }

        .quote {
            font-weight: bold;
            font-size: 1.1rem;
            margin-bottom: 20px;
        }

        .description {
            font-size: 0.9rem;
            line-height: 1.7;
            margin-bottom: 30px;
            word-break: keep-all;
        }

        .specs {
            font-size: 0.85rem;
            font-weight: bold;
            margin-bottom: 40px;
        }

/* Mood / Taste 아이콘 스타일 */
        .feature {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 20px;
        }

        .feature-icon {
            width: 60px;
            height: 60px;
            background-color: #D6E3FA;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: bold;
            font-size: 0.9rem;
            color: #333;
        }

        .feature-text {
            font-size: 0.85rem;
            line-height: 1.4;
        }



    /* 이미지 컨테이너 크기  */
   .product-image-container {
    width: 1500px;
    height: auto;
    min-height: 800px;
    display: flex;
    justify-content: center;
    align-items: center;
}

    /* 노란색 별 모양 배경 */
    .yellow-star-bg {
    background-image: url('../img/Asset\ 1\ 1.svg'); 
    background-repeat: no-repeat;
    background-position: center;  
    background-size: contain;     
    }

    .product-image-container span img {
        width: 60px;
        cursor: pointer;
        transition: transform 0.25s ease;
    }

    /* .product-image-container span img:hover,
    .product-image-container span img.jump-up {
        animation: jump-up 0.8s ease-out;
    } */

    .product-image-container img {
        width: 60%; 
        height: auto;  
        filter: drop-shadow(5px 10px 15px rgba(0,0,0,0.1)); 
    }

    .product-image-container img:not(span img),
    .product-image-container img.shake {
        animation: shake 3s ease-in-out infinite;
    }
    .product-image-container img:not(span img):hover,
    .product-image-container img.shake {
        animation: shake 1s ease-in-out infinite;
    }

    /* @keyframes jump-up {
        0% { transform: translateY(0) scale(1); }
        30% { transform: translateY(-10px) scale(1.03); }
        60% { transform: translateY(-18px) scale(1.06); }
        100% { transform: translateY(0) scale(1); }
    } */


    /* 노란색 별 모양 배경 */
    .blue-star-bg {
    background-image: url('../img/Asset\ 2\ 1.svg'); 
    background-repeat: no-repeat;
    background-position: center;  
    background-size: contain;     
    }


    .product-imge img {
  width: 45%; 
  height: auto; 
  filter: drop-shadow(5px 10px 15px rgba(0,0,0,0.1)); 
  
}

/* 좌우 흔들림 애니메이션 */
@keyframes shake {
    0% { transform: translateX(0) rotate(0deg); }
    25% { transform: translateX(-20px) rotate(-5deg); }
    50% { transform: translateX(20px) rotate(5deg); }
    75% { transform: translateX(-20px) rotate(-5deg); }
    100% { transform: translateX(0) rotate(0deg); }
}




    /* --- 반응형 디자인 --- */
@media (max-width: 1440px) {
    html{
        font-size: var(--basic-font-tab);}
    
    

    /* 컨테이너 고정 너비 해제 및 여백 설정 */
    .container2, 
    .product-item {
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }
    

    /* OUR STORY 섹션 조정 */
    .story-content {
        gap: 30px;
    }
    .story-image {
        width: 50%; 
        height: auto;
    }
    .story-image img {
        margin-bottom: 0; 
    }
    .story-text {
        width: 50%;
        padding-top: 0;
    }
    .story-text h2 {
        font-size: 1.5rem; 
        padding-top: 0;
    }

    /* Circles 섹션 크기 축소 */
    .circles-section {
        gap: 15px;
        margin-bottom: 80px;
    }
    .circle {
        width: 240px;
        height: 240px;
        padding: 15px;
    }
    .circle h4 { font-size: 1rem; }
    .circle span { margin-bottom: 1rem; }
    .circle p { font-size: 0.8rem; }

    /* HAPPENINGS 섹션 세로 정렬 */
    .happenings-grid {
        flex-direction: column; 
        align-items: center;
        gap: 0;
    }
    .happenings-grid img{
        width: 800px; 
        object-fit: cover;
        object-position: 50% 75%;
    } 
    .happenings-text-box {
        width: 100%;
        max-width: 1200px; 
        height: 400px;
    
    }
    .happenings-item {
    padding-bottom: 0;
    }
    .happenings-text-box {
        box-sizing: border-box;
        width: 800px;
        padding: 30px 20px;
    }
    .happenings-section p {
        margin-bottom: 0;
}
#gap{
    margin-bottom: 5rem;
}
    /* 시그니처 메뉴 라인 바꿈 허용 */
    .nav-menu {
        gap: 2rem;
        flex-wrap: wrap; 
    }
    .nav-menu li {
        padding: 0 15px;
    }

    /*상품 소개 섹션 너비 및 폰트 조정 */
    .product-item {
        gap: 2rem; 
    }
    .product-title {
        font-size: 4rem;
        width: 100%;
    }
    .product-image-container {
        width: 50%; 
        height: auto;
        min-height: 800px;
    }

    .product-item.reverse {margin-top: 10rem;}
     .product-image-container img:not(span img),
    .product-image-container img.shake {
        animation: shake 3s ease-in-out infinite;
    }
}





/* --- 반응형 디자인(mo) --- */

@media (max-width: 850px) {
    html{
        font-size: var(--basic-font-mo);
    }
    .circles-section {
        flex-direction: column;
        align-items: center;
    }

    .product-item.reverse {
        margin-top: 5rem;
        flex-direction: column;
    }

    .product-image-container {width: 100%;}
    
    .product-item {
        gap: 2rem;
        flex-direction: column;
    }
    .story-content {
        flex-direction: column-reverse;
        align-items: center;
    }
    .story-text {
        width: 100%;
        text-align: center;
    }
    .story-image {
        width: 100%;
    }
     
   


    .happenings-grid img {
            width: 335px;
            height: 400px;}
    .happenings-text-box {
        width: 335px;}
        
}
