/* common */
.wrap .contents section {
    padding: 120px 0;
}

/* hero */
.hero {
    position: relative;
    width: 100%; 
    height: 100vh; 
    overflow: hidden;
}

.hero .hero-video {
    position: absolute; 
    inset: 0; 
    width: 100%; 
    height: 100%; 
    object-fit: cover;
    z-index: 1;
}

.hero .hero-overlay {
    position: absolute; 
    inset: 0; 
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.30) 100%);
    z-index: 2;
}

.hero .container .hero-content{
    position: relative;
    z-index: 3; 
    height: 100%;
    margin: 0 auto; 
    display: flex; 
    flex-direction: column; 
    justify-content: center;
    color: #fff;
}

.hero-content h1 {
  font-size: 80px;
  line-height: 1.1;
  font-weight: 400;
}

.hero-content h1 strong {
  font-weight: 700;
}

.hero-content p {
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.3;
}

.hero-actions {
    display: flex;
    gap: 10px;
}

.btn {
    padding: 12px 16px;
    box-sizing: border-box; 
    border-radius: 50px;
    margin-top: 20px;
}

.btn.btn-primary {
    background: #1a1a1a;
    color: #fff;
    display: flex;
    align-items: center;
     gap: 4px;
    }

.btn.btn-outline {
    border-radius: 50px;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.20);
    backdrop-filter: blur(8px);
}

/* company */

.sec-titc {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 80px;
}

.eyebrow, .wrap .contents .container .sec-titl .eyebrow {
    display: inline-block;
    padding: 6px 15px;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    background: #F2F4F7;
}

.sec-titc h2 {
    text-align: center;
    font-size: 64px;
    font-style: normal;
    font-weight: 500;
    line-height: 70px;
    text-transform: capitalize;
    margin-top: 30px;
}

.sec-titc p, .wrap .contents .container .sec-titl p {
    color: #888;
    margin-top: 20px;
    line-height: 1.4;
}

.wrap .contents .company .container .company-video {
    width: 100%;
    aspect-ratio: 1600 / 660;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.wrap .contents .company .container .stats-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 80px;
    margin-top: 60px
}

.wrap .contents .company .container .stats-value {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 50px;
    font-weight: 600;
    line-height: 1.3;
}

.wrap .contents .company .container .stats-label {
    font-size: 18px;
    line-height: 1.25;
    color: rgba(26, 26, 26, 0.80);
    margin-top: 4px;
}

/* products */
.wrap .contents .products .container .sec-titl, 
.wrap .contents .community .container .sec-titl {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-bottom: 80px;
}

.wrap .contents .container .sec-titl h2 {
    text-align: left;
    font-size: 64px;
    font-style: normal;
    font-weight: 500;
    line-height: 70px;
    text-transform: capitalize;
    margin-top: 30px;
}

.wrap .contents .products .container .product-toolbar, .wrap .contents .community .container .community-toolbar {
    display: flex; 
    justify-content: space-between;
}

.wrap .contents .products .container .product-toolbar .product-tabs, 
.wrap .contents .community .container .community-toolbar .community-tabs {
    display: flex;
    gap: 6px;
}


.community-empty {
  grid-column: 1 / -1;
  width: 100%;
  padding: 155px 0;
  text-align: center;
  color: #aaa;
  display: flex;
  justify-content: center
}

.wrap .contents .products .container .product-toolbar .product-tabs .tab.active
, .wrap .contents .community .container .community-toolbar .community-tabs .tab.active
{
    background: #1a1a1a;
    color: #fff;
    font-weight: 700;
}

.wrap .contents .products .container .product-toolbar .product-tabs button,
.wrap .contents .community .container .community-toolbar .community-tabs button
{
    background: #f2f2f2;
    border: none;
    padding: 8px 16px;
    box-sizing: border-box;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.3;
    color: #555;
    cursor: pointer;
    white-space: nowrap;
}

.wrap .contents .products .container .product-toolbar .view-all-link
.wrap .contents .community .container .community-toolbar .view-all-link
{
    display: flex;
    gap: 4px;
    align-items: center;
    line-height: 1.3;
}





a.mobile-only,
.mobile-only {
  display: none !important;
}

/* card-list */
.wrap .contents .products .container .product-slider {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grab;
    padding-bottom: 30px;
    margin-top: 30px;
}

/* 스크롤바 디자인 */
.product-slider::-webkit-scrollbar {
    height: 4px;
}
.product-slider::-webkit-scrollbar-track {
    background: #ebebeb;
    border-radius: 100px;
    margin: 0 4px;
}
.product-slider::-webkit-scrollbar-thumb {
    background: #1a1a1a;
    border-radius: 100px;
}
.product-slider::-webkit-scrollbar-thumb:hover {
    background: #444;
}
.product-slider.active {
    cursor: grabbing;
    user-select: none;
}

.wrap .contents .products .container .product-slider .product-card.is-hidden {
    display: none;
}

.wrap .contents .products .container .product-slider .product-card {
    flex: 0 0 360px;
    min-width: 0;
    width: 360px;
}

.wrap .contents .products .container .product-slider .product-card .product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 16px;
    background: #f4f4f4;
    /* 이미지 중앙 배치용 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.wrap .contents .products .container .product-slider .product-card .product-image img {
    width: 83.3%;       /* 300 / 360 = 83.3% → 카드 대비 비율로 */
    max-width: 300px;
    height: auto;
    object-fit: contain;
    display: block;
    transition: filter 0.35s ease, transform 0.35s ease;
}

.wrap .contents .products .container .product-slider .product-card .product-image:hover img {
    filter: blur(5px);
    transform: scale(1.04);
}

.products .product-image .btn.btn-primary {
    display: inline-flex;
    margin-top: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    width: auto;
    margin: 0;
    padding: 14px 24px;
    border-radius: 999px;
    background: #1a1a1a;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    transform: translate(-50%, -50%);
    opacity: 0;
    pointer-events: none;
    z-index: 3;
    transition: opacity 0.3s ease;
}

.product-image:hover .btn.btn-primary {
opacity: 1;
pointer-events: auto;
}

.wrap .contents .products .container .product-slider .product-card .product-info {
    margin-top: 20px;
    line-height: 1.3;
}
.wrap .contents .products .container .product-slider .product-card .product-info h3 {
    font-size: 18px;
    font-weight: 600;
}
.wrap .contents .products .container .product-slider .product-card .product-info p {
    margin-top: 6px;
    color: #666;
}
.wrap .contents .products .container .product-slider .product-card .product-info .product-tags {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}
.wrap .contents .products .container .product-slider .product-card .product-info .product-tags li {
    padding: 6px 8px;
    border-radius: 4px;
    background: #F5F5F5;
    color: #666;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.product-card.is-hidden {
display: none;
}

/* technology */
.tech-num-mo {
  display: none;
}
.wrap .contents .techonology .container .tech-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.wrap .contents .techonology .container .tech-list .tech-item {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #F3F4F7;
    border-radius: 16px;
    overflow: hidden;
    min-height: 320px;
    height: 500px;
}

.wrap .contents .techonology .container .tech-list .tech-item:nth-child(1) { top: 80px; z-index: 1; }
.wrap .contents .techonology .container .tech-list .tech-item:nth-child(2) { top: 96px; z-index: 2; }
.wrap .contents .techonology .container .tech-list .tech-item:nth-child(3) { top: 112px; z-index: 3; }
.wrap .contents .techonology .container .tech-list .tech-item:nth-child(4) { top: 128px; z-index: 4; }

.wrap .contents .techonology .container .tech-list .tech-item .tech-image {
    width: 100%;
    height: 100%;
    padding: 24px;
}
.wrap .contents .techonology .container .tech-list .tech-item .tech-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}

.wrap .contents .techonology .container .tech-list .tech-item .tech-image  .tech-content {
    position: relative;
    padding-top: 48px;
    display: flex;
    align-items: flex-start;
}

.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info {
    display: flex;
    flex-direction: column;
    padding-top: 48px;
}
.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-title {
    font-size: 52px;
    font-weight: 500;
    line-height: 1.3;
}
.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-desc {
    font-size: 18px;
    color: #888;
    line-height: 1.5;
    padding-top: 10px;
}
.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 50px;
}
.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-tags li {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 20px;
    font-size: 14px;
    color: #999;
    line-height: 1.3;
}

.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-num {
    position: absolute;
    bottom:-35px;
    right: 10px;
    font-family: "Playfair Display", serif;
    font-size: 360px;
    font-weight: 400;
    color: #E7E9EF;
    line-height: 1;
    letter-spacing: -7.2px;
}



/* =========================
   Mobile
========================= */
@media (max-width: 767px) {

  html,
  body {
    overflow-x: hidden;
  }

  .container,
  .inner {
    width: 100%;
    padding-inline: 16px;
    box-sizing: border-box;
  }

  /* 레이아웃 */
  .wrap .contents section {
    padding: 100px 0;
  }
   .wrap .contents .products, .wrap .contents .techonology,
   .wrap .contents .community
   {
    padding: 0 0 100px;
  }

  /* title */
  .sec-titc,
  .wrap .contents .products .container .sec-titl,
  .wrap .contents .community .container .sec-titl {
    margin-bottom: 30px;
  }

  .sec-titc h2,
  .wrap .contents .container .sec-titl h2 {
    font-size: 32px;
    line-height: 1.2;
    margin-top: 8px;
  }

  .sec-titc p,
  .wrap .contents .container .sec-titl p {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 14px;
  }

  /* hero */
  .hero-content h1 {
    font-size: 32px;
    line-height: 1.3;
    text-align: center;
  }

  .hero-content p {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 8px;
    text-align: center;
  }

  .hero-actions {
    gap: 6px;
    justify-content: center;
    margin-top: 20px;
  }

  .hero-actions .btn {
    justify-content: center;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.3;
  }

/* comopany */
  .eyebrow, .wrap .contents .container .sec-titl .eyebrow {
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.3;
  }

  .wrap .contents .company .container .company-video {
    height: 400px;
  }

  .wrap .contents .company .container .stats-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 24px;
    margin-top: 24px;
  }

  .wrap .contents .company .container .stats-value {
    font-size: 24px;
    line-height: 1.3;
  }

  .wrap .contents .company .container .stats-label {
    font-size: 14px;
    line-height: 1.3;
  }

  /* products */
  .wrap .contents .products .container .product-toolbar,
  .wrap .contents .community .container .community-toolbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .wrap .contents .products .container .product-toolbar .product-tabs,
  .wrap .contents .community .container .community-toolbar .community-tabs {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 10px;
  }

  .wrap .contents .products .container .product-toolbar .product-tabs button, 
  .wrap .contents .community .container .community-toolbar .community-tabs button {
    padding: 10px 12px;
  }

  .wrap .contents .products .container .product-slider {
    margin-top: 24px;
    padding-bottom: 16px;
  }

 /* 기존 toolbar 버튼 숨김 */
  .products .product-toolbar .view-all-link {
    display: none;
  }

  /* 모바일 전용 버튼 노출 */
  a.mobile-only,
  .mobile-only {
    display: flex !important;
  }
  .products .product-toolbar .view-all-link {
    display: none !important;
  }

  .products .product-more-inner {
    width: 260px;
    height: 260px;
    background: none;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .btn {
    font-size: 14px;
    margin-top: 0;
  }

  .wrap .contents .products .container .product-slider .product-card {
    flex: 0 0 260px;
    width: 260px;
  }

  .wrap .contents .products .container .product-slider .product-card .product-info h3 {
    font-size: 16px;
  }
  .wrap .contents .products .container .product-slider .product-card .product-info p {
    font-size: 14px;
    margin-top: 4px;
  }
  .wrap .contents .products .container .product-slider .product-card .product-info .product-tags {
    gap: 6px;
    margin-top: 12px;
  }
  .wrap .contents .products .container .product-slider .product-card .product-info .product-tags li {
    font-size: 12px;
  }



  /* technology */

  .wrap .contents .techonology .container .tech-list {
    gap: 30px;
  }

  .wrap .contents .techonology .container .tech-list .tech-item {
    grid-template-columns: 1fr;
    height: auto;
  }

  .wrap .contents .techonology .container .tech-list .tech-item .tech-image {
    padding: 16px;
  }
  
  .wrap .contents .techonology .container .tech-list .tech-item .tech-image img {
    height: 200px;
  }

  .wrap .contents .techonology .container .tech-list .tech-item .tech-content {
    padding: 0 16px 16px;
    position: relative;
  }

  .wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info {
    padding-top: 0;
  }

  .wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-title {
    font-size: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-desc {
    font-size: 14px;
    line-height: 1.5;
    padding-top: 8px;
  }

 .wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-num {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 20px;    
    color: #888;
    display: none;
  }

   .tech-num {
    display: none;
  }

  .tech-num-mo {
    display: inline-block;
    margin-right: 6px;
    font-size: 20px;
    color: #888;
    vertical-align: middle;
  }

.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-tags {
    gap: 6px 4px;
    padding-top: 24px;
}

.wrap .contents .techonology .container .tech-list .tech-item .tech-content .tech-info .tech-tags li {
    padding: 6px 10px;
    font-size: 12px;
}

  /* toolbar */
  .community .community-toolbar .view-all-link {
    display: none !important;
  }

  .wrap .contents .community .container .community-toolbar .community-tabs,
  .wrap .contents .products .container .product-toolbar .product-tabs {
    padding-bottom: 0;
  }

  /* cards */
  .community-cards {
    gap: 16px;
    margin-top: 24px;

    overflow-x: auto;
    scrollbar-width: none;
  }
  

  .community-cards::-webkit-scrollbar {
    display: none;
  }

  .community-card {
    flex: 0 0 343px;
    width: 343px;
    padding: 16px;
  }

  .community-card-title {
    font-size: 20px;
  }

  .community-card[data-category="Notice"] .community-card-desc, 
  .community-card[data-category="Q&A"] .community-card-desc {
    -webkit-line-clamp: 3;
    font-size: 14px;
  }

  .community-card-footer {
    margin-top: 40px;
    padding-top: 20px;
  }

  /* indicator */
  .community-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 24px;
  }

  .community-indicator .dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;

    background: #D9D9D9;
    transition: 0.3s ease;
  }

  .community-indicator .dot.active {
    width: 18px;
    background: #1A1A1A;
  }

  .community-empty {
    font-size: 14px;
  }

}









