@-webkit-keyframes progress {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes progress {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

.site-splash {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #fff;
    color: #111;
    overflow: hidden;
    pointer-events: auto;
    -webkit-animation: splashExit 0.55s ease 1.35s forwards;
    animation: splashExit 0.55s ease 1.35s forwards
}

.site-splash__core {
    position: relative;
    width: min(72vw, 28rem);
    min-height: 8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.site-splash__brand {
    position: relative;
    width: min(58vw, 19.25rem);
    color: #111;
    -webkit-animation: splashLogo 0.75s ease-out forwards;
    animation: splashLogo 0.75s ease-out forwards
}

.site-splash__brand svg {
    display: block;
    width: 100%;
    height: auto
}

.site-splash__fallback {
    display: block;
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-weight: 800;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center
}

.site-splash__line {
    position: relative;
    width: min(42vw, 13.5rem);
    height: 2px;
    margin-top: 1.25rem;
    overflow: hidden;
    background-color: rgba(0,0,0,0.08);
    border-radius: 999px
}

.site-splash__line span {
    position: absolute;
    inset: 0;
    background-color: var(--primary);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-animation: splashLine 1.15s cubic-bezier(0.65,0,0.35,1) forwards;
    animation: splashLine 1.15s cubic-bezier(0.65,0,0.35,1) forwards
}

@-webkit-keyframes splashLogo {
    0% {
        opacity: 0;
        -webkit-transform: translateY(0.75rem);
        transform: translateY(0.75rem)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes splashLogo {
    0% {
        opacity: 0;
        -webkit-transform: translateY(0.75rem);
        transform: translateY(0.75rem)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes splashLine {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes splashLine {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes splashExit {
    to {
        opacity: 0;
        visibility: hidden;
        pointer-events: none
    }
}

@keyframes splashExit {
    to {
        opacity: 0;
        visibility: hidden;
        pointer-events: none
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-splash {
        -webkit-animation: splashExit 0.1s ease-out forwards;
        animation: splashExit 0.1s ease-out forwards
    }

    .site-splash *,
    .site-splash *:before,
    .site-splash *:after {
        -webkit-animation: none!important;
        animation: none!important
    }
}

@media screen and (max-width: 1920px) {
    .main-visual .container {
        max-width:unset;
        margin-right: 0;
        padding-left: min(8%,150px);
        padding-right: 0
    }
}

.main-visual .item {
    position: relative
}

.main-visual .main-visual__content {
    position: relative
}

.main-visual .swiper-fade .swiper-slide {
    pointer-events: none
}

.main-visual .swiper-fade .swiper-slide-active {
    pointer-events: auto
}

.main-visual .img-bx {
    display: block;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat
}

.main-visual .hero-slide--01 .img-bx {
    background-image: url("assets/images/hero/hero-desktop-01.jpg")
}

.main-visual .hero-slide--02 .img-bx {
    background-image: url("assets/images/hero/hero-desktop-02.jpg")
}

@media (max-width: 768px) {
    .main-visual .hero-slide--01 .img-bx {
        background-image: url("assets/images/hero/hero-mobile-01.jpg")
    }
    .main-visual .hero-slide--02 .img-bx {
        background-image: url("assets/images/hero/hero-mobile-02.jpg")
    }
}

.main-visual .img-bx:after {
    content: "";
    display: block;
    padding-bottom: 100vh
}

.main-visual .img-bx>img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    min-width: 1000%;
    min-height: 1000%;
    max-width: none;
    max-height: none;
    -webkit-transform: translate(-50%,-50%) scale(0.1);
    transform: translate(-50%,-50%) scale(0.1)
}

.main-visual .txt-bx {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    color: #000;
    line-height: 1.4
}

.main-visual .txt-bx .inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: rgba(255,255,255,0.7);
    -webkit-box-shadow: 5px 5px 15px 5px rgba(255,255,255,0.7);
    box-shadow: 5px 5px 15px 5px rgba(255,255,255,0.7)
}

.main-visual .txt-bx .visual-label {
    margin-bottom: 1.25rem
}

.main-visual .txt-bx .title {
    font-weight: 800;
    font-size: 3.5rem;
    letter-spacing: -0.06em;
    -webkit-transition-delay: 300ms!important;
    transition-delay: 300ms!important
}

.main-visual .txt-bx .text {
    font-weight: 300;
    font-size: 1.5rem;
    margin-top: 1.25rem;
    -webkit-transition-delay: 600ms!important;
    transition-delay: 600ms!important
}

.main-visual .txt-bx .text strong {
    font-weight: 600
}

.main-visual .swiper-slide .txt-bx .visual-label,.main-visual .swiper-slide .txt-bx .text,.main-visual .swiper-slide .txt-bx .title {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
    -webkit-transition: 1000ms opacity,1000ms -webkit-transform;
    transition: 1000ms opacity,1000ms -webkit-transform;
    transition: 1000ms opacity,1000ms transform;
    transition: 1000ms opacity,1000ms transform,1000ms -webkit-transform
}

.main-visual .swiper-slide-active .txt-bx .visual-label,.main-visual .swiper-slide-active .txt-bx .text,.main-visual .swiper-slide-active .txt-bx .title {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

.main-visual .slide-control {
    position: absolute;
    width: 100%;
    bottom: 22%;
    left: 0;
    z-index: 1
}

@media (max-width: 768px) {
    .main-visual .container {
        padding-left:20px
    }

    .main-visual .txt-bx {
        top: 9.375rem;
        left: 0;
        -webkit-transform: translate(0,0);
        transform: translate(0,0)
    }

    .main-visual .txt-bx .visual-label {
        display: none
    }

    .main-visual .txt-bx .title {
        font-size: 2.75rem
    }

    .main-visual .txt-bx .text {
        font-size: 1.25rem
    }

    .main-visual .slide-control {
        bottom: inherit;
        top: calc(10% + 17.5rem)
    }
}

@media (max-width: 576px) {
    .main-visual .txt-bx .title {
        font-size: 1.5rem
    }

    .main-visual .txt-bx .text {
        font-size: 0.875rem
    }

    .main-visual .slide-control {
        bottom: inherit;
        top: calc(10% + 12.5rem)
    }
}

@-webkit-keyframes outlinkAnimationBefore {
    0% {
        margin-top: 0.165rem;
        margin-right: 0.165rem;
        opacity: 0
    }

    to {
        margin-top: 0;
        margin-right: 0;
        opacity: 1
    }
}

@keyframes outlinkAnimationBefore {
    0% {
        margin-top: 0.165rem;
        margin-right: 0.165rem;
        opacity: 0
    }

    to {
        margin-top: 0;
        margin-right: 0;
        opacity: 1
    }
}

@-webkit-keyframes outlinkAnimationAfter {
    0% {
        opacity: 1;
        margin-top: 0;
        margin-right: 0
    }

    to {
        opacity: 0;
        margin-top: -0.165rem;
        margin-right: -0.165rem
    }
}

@keyframes outlinkAnimationAfter {
    0% {
        opacity: 1;
        margin-top: 0;
        margin-right: 0
    }

    to {
        opacity: 0;
        margin-top: -0.165rem;
        margin-right: -0.165rem
    }
}

.arrow-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.625rem;
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-weight: 500;
    font-size: 1.125rem;
    color: rgba(51,51,51,0.8);
    border-radius: 2.5rem;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.arrow-btn .arrow {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-color: #333;
    border-radius: 50%;
    position: relative;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.arrow-btn .arrow:after,.arrow-btn .arrow:before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity 0.2s,margin 0.2s,background 0.2s;
    transition: opacity 0.2s,margin 0.2s,background 0.2s;
    z-index: 1
}

.arrow-btn .arrow:before {
    right: 0.625rem;
    width: 0.75rem;
    height: 0.75rem;
    margin-top: 0.40625rem;
    margin-right: 0.40625rem;
    background: url("assets/icons/arrow.svg") 0 0;
    background-size: 100% 100%;
    opacity: 0
}

.arrow-btn .arrow:after {
    right: 0.625rem;
    width: 0.75rem;
    height: 0.75rem;
    background: url("assets/icons/arrow.svg") 0 0;
    background-size: 100% 100%
}

.arrow-btn.w-line {
    position: relative;
    height: 4.4375rem;
    padding: 0 1.3125rem;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.6875rem;
    letter-spacing: -0.044em;
    border-radius: 2.2rem;
    gap: 0.875rem;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    color: #eee7e3;
    border: none;
    background-color: #000104
}

.arrow-btn.w-line.glass {
    border: 2px solid #fff;
    background-color: rgba(255,255,255,0.1)
}

.arrow-btn.w-line .arrow {
    background-color: #f7f7f7;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.arrow-btn.w-line .arrow:before,.arrow-btn.w-line .arrow:after {
    background: url("assets/icons/arrow-right.svg") 0 0;
    background-size: 100% 100%
}

.arrow-btn.gray-arrow .arrow {
    background-color: #eeeeee
}

.arrow-btn.gray-arrow .arrow:after,.arrow-btn.gray-arrow .arrow:before {
    background: url("assets/icons/arrow-black.svg") 0 0;
    background-size: 100% 100%
}

@media (min-width: 1024.02px) {
    .arrow-btn:hover {
        color:var(--primary)
    }

    .arrow-btn:hover .arrow {
        background-color: var(--primary)
    }

    .arrow-btn:hover .arrow:before {
        -webkit-animation: outlinkAnimationBefore 0.3s forwards 0.3s;
        animation: outlinkAnimationBefore 0.3s forwards 0.3s
    }

    .arrow-btn:hover .arrow:after {
        -webkit-animation: outlinkAnimationAfter 0.3s forwards;
        animation: outlinkAnimationAfter 0.3s forwards
    }

    .arrow-btn:hover.gray-arrow .arrow:after,.arrow-btn:hover.gray-arrow .arrow:before {
        background: url("assets/icons/arrow-gray.svg") 0 0;
        background-size: 100% 100%
    }

    .arrow-btn.w-line:hover {
        color: #fff;
        background-color: #1a1a1f
    }

    .arrow-btn.w-line.glass:hover {
        color: #fff;
        background-color: rgba(255,255,255,0.18);
        border-color: #fff
    }

    .arrow-btn.w-line:hover .arrow {
        background-color: var(--primary)
    }

    .arrow-btn.w-line:hover .arrow:before,.arrow-btn.w-line:hover .arrow:after {
        background: url("assets/icons/arrow.svg") 0 0;
        background-size: 100% 100%
    }
}

.fill-txt {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

.fill-txt .tit {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #000;
    position: relative
}

.fill-txt .tit:after {
    content: attr(data-text);
    -webkit-text-fill-color: #000;
    width: 100%;
    height: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: height 1.4s ease;
    transition: height 1.4s ease;
    white-space: nowrap
}

.fill-txt[data-scroll=out] .tit:after {
    height: 0
}

.fill-txt[data-scroll=in] .tit:after {
    height: 120%
}

.slide-control .inner {
    min-width: 14.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.25rem
}

.slide-control .swiper-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.9375rem;
    position: static
}

.slide-control .swiper-pagination span {
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-size: 1.125rem
}

.slide-control .swiper-pagination span.current-slide {
    font-weight: 600;
    color: #333
}

.slide-control .swiper-pagination span.total-slides {
    color: rgba(0,0,0,0.2)
}

.slide-control .swiper-pagination .progress-bar {
    width: 7.75rem;
    height: 0.125rem;
    background-color: rgba(0,0,0,0.15)
}

.slide-control .swiper-pagination .progress-bar .progress {
    height: 100%;
    background-color: var(--primary)
}

.slide-control .swiper-pagination.stop .progress-bar .progress {
    width: 0!important
}

.slide-control .play-stop-btn {
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    background-repeat: no-repeat;
    background-size: 0.75rem;
    background-position: center center;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.slide-control .play-stop-btn.play {
    background-image: url(assets/icons/hero-play.svg)
}

.slide-control .play-stop-btn.stop {
    background-image: url(assets/icons/hero-pause.svg)
}

@media screen and (max-width: 1920px) {
    .section .container {
        max-width:unset;
        margin-right: 0;
        padding-left: min(14%,260px);
        padding-right: min(14%,260px)
    }
}

.section .sec-tit .tit {
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-weight: 700;
    font-size: 3.75rem;
    line-height: 1;
    color: #000
}

.section .sec-tit .sub-tit {
    font-size: 1.125rem;
    line-height: 1.5;
    color: #666
}

.section .sec-tit .braket-tit {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.section .sec-tit .braket-tit .txt {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    padding: 0 1.875rem
}

.section .sec-tit .braket-tit .txt:before {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 4.40625rem;
    background: url(assets/icons/quote-left.svg) no-repeat center;
    background-size: 1.25rem;
    position: absolute;
    top: 0;
    left: 0
}

.section .sec-tit .braket-tit .txt:after {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 4.40625rem;
    background: url(assets/icons/quote-right.svg) no-repeat center;
    background-size: 1.25rem;
    position: absolute;
    top: 0;
    right: 0
}

.section .sec-tit .braket-tit .txt strong {
    font-weight: 700;
    font-size: 2.25rem;
    color: #000;
    letter-spacing: -0.06em
}

.section .sec-tit .braket-tit .txt .icon-plus {
    display: inline-block;
    width: 2.1875rem;
    height: 2.1875rem;
    background: url(assets/icons/plus.svg) no-repeat center;
    background-size: 2.1875rem;
    margin: 0 0.9375rem
}

.section .sec-tit .braket-tit p {
    font-weight: 500;
    font-size: 1.875rem;
    letter-spacing: -0.06em;
    color: #000;
    margin-left: 0.625rem
}

.section .sec-tit .braket-tit[data-scroll=out] .txt {
    max-width: 0
}

.section .sec-tit .braket-tit[data-scroll=out] .txt strong {
    opacity: 0
}

.section .sec-tit .braket-tit[data-scroll=out] .txt .icon-plus {
    opacity: 0
}

.section .sec-tit .braket-tit[data-scroll=in] .txt {
    max-width: 18.75rem;
    -webkit-transition: all 1.2s;
    transition: all 1.2s
}

.section .sec-tit .braket-tit[data-scroll=in] .txt strong {
    opacity: 1;
    -webkit-transition: all 1.2s;
    transition: all 1.2s;
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s
}

.section .sec-tit .braket-tit[data-scroll=in] .txt .icon-plus {
    opacity: 1;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-transition: all 1.2s;
    transition: all 1.2s;
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s
}

.section-product {
    padding-top: 10rem;
    padding-bottom: 18.75rem;
    position: relative;
    overflow: hidden
}

.section-product .sec-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1.25rem;
    max-width: 1580px;
    padding-right: 40px
}

.section-product .sec-top .sec-tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.875rem
}

.section-product .sec-top .sec-tit .tit {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap
}

#manufact .sec-top .arrow-btn.w-line {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: auto;
    padding-left: 1.875rem
}

#manufact .slide-control {
    display: none
}

#manufact .tab-wrap {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

#manufact .tab-wrap .btn-bx {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0;
    background: transparent;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    overflow: visible
}

#manufact .tab-wrap .btn-bx .tab-btn-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 100%;
    height: 100%;
    border-radius: 1.25rem;
    -webkit-box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    overflow: hidden
}

#manufact .tab-wrap .btn-bx .tab-btn-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

#manufact .tab-wrap .btn-bx .tab-btn-list li .btn {
    height: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    line-height: 1.4
}

#manufact .tab-wrap .btn-bx .tab-btn-list li .btn:not(.active) {
    background-color: #fff;
    color: #1a1a1a
}

@media (min-width: 1024.02px) {
    #manufact .tab-wrap .btn-bx .tab-btn-list li .btn:not(.active):hover {
        background-color: var(--primary);
        color: #fff
    }
}

#manufact .tab-wrap .tab-con {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-height: 0;
    -ms-flex-item-align: stretch;
    align-self: stretch
}

#manufact .tab-wrap .tab-bx,
#manufact .tab-wrap .slide-bx {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

#manufact {
    overflow: visible
}

#manufact .tab-wrap .tab-con,
#manufact .tab-wrap .slide-bx,
#manufact .tab-wrap .product-single {
    overflow: visible
}

#manufact .tab-wrap .product-single {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
    padding-right: 2.5rem;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.manufact-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.25rem;
    background-color: rgba(0,0,0,0.08);
    overflow: hidden;
    border-radius: 0 0 1rem 1rem
}

.manufact-progress {
    height: 100%;
    width: 0;
    background-color: var(--primary);
    transition: width 5000ms linear
}

#manufact .tab-wrap .product-single > .product-single__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    background-color: #fff;
    border: 0.25rem solid transparent;
    border-radius: 1.25rem;
    -webkit-box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    overflow: hidden;
    position: relative;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

#manufact .tab-wrap .product-single > .product-single__link .inner {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-height: 0
}

@media (min-width: 1024.02px) {
    #manufact .tab-wrap .tab-bx,
    #manufact .tab-wrap .slide-bx,
    #manufact .tab-wrap .product-single,
    #manufact .tab-wrap .product-single > .product-single__link {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        min-height: 0
    }

    #manufact .tab-wrap .product-single > .product-single__link {
        min-height: 26.25rem
    }

    #manufact .tab-wrap .product-single > .product-single__link .inner {
        min-height: 100%
    }
}

#manufact .tab-wrap .product-single > .product-single__link .img-bx {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background-color: #f2f2f2
}

#manufact .tab-wrap .product-single > .product-single__link .img-bx img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

#manufact .tab-wrap .product-single > .product-single__link .img-bx .product-single__ai-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.625rem;
    padding: 0 0.5rem;
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-weight: 700;
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    line-height: 1;
    color: #fff;
    background-color: rgba(0,0,0,0.55);
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 0.25rem;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    pointer-events: none
}

#manufact .tab-wrap .product-single > .product-single__link .txt-bx {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding: 2.5rem;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.7)));
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%)
}

#manufact .tab-wrap .product-single > .product-single__link .txt-bx .tit {
    display: block;
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

#manufact .tab-wrap .product-single > .product-single__link .txt-bx .sub-tit {
    font-weight: 500;
    font-size: 1rem;
    color: rgba(255,255,255,0.8);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    height: auto;
    padding-bottom: 0;
    margin-bottom: 0
}

@media (min-width: 1024.02px) {
}

.section-product .tab-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1.25rem;
    margin-top: 3.125rem
}

.section-product .tab-wrap .tab-con {
    width: calc(100% - 18.75rem)
}

#product .tab-wrap .tab-con {
    width: 100%
}

.section-product .tab-wrap .btn-bx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1.25rem;
    width: 18.75rem;
    padding-top: 3.125rem;
    padding-bottom: 3.125rem
}

.section-product .tab-wrap .btn-bx .tab-btn-list {
    border-radius: 1.25rem;
    overflow: hidden
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn {
    font-weight: 700;
    font-size: 1.125rem;
    text-align: left;
    width: 100%;
    height: 8.75rem;
    padding: 2.5rem;
    background-color: #f2f2f2;
    background-repeat: no-repeat;
    background-position: calc(100% - 2.34375rem) center;
    background-size: 2.5rem;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

#manufact .tab-wrap .btn-bx .tab-btn-list li .btn {
    background-size: 2.2rem
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.type01 {
    background-image: url("assets/icons/manufact-tab-01.svg")
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.type02 {
    background-image: url("assets/icons/manufact-tab-02.svg")
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.type03 {
    background-image: url("assets/icons/manufact-tab-03.svg")
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.active {
    color: #fff;
    background-color: var(--primary)
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.active.type01 {
    background-image: url("assets/icons/manufact-tab-01-active.svg")
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.active.type02 {
    background-image: url("assets/icons/manufact-tab-02-active.svg")
}

.section-product .tab-wrap .btn-bx .tab-btn-list li .btn.active.type03 {
    background-image: url("assets/icons/manufact-tab-03-active.svg")
}

@media (min-width: 1024.02px) {
    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn:not(.active):hover {
        color:#fff;
        background-color: var(--primary)
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn:not(.active):hover.type01 {
        background-image: url("assets/icons/manufact-tab-01-active.svg")
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn:not(.active):hover.type02 {
        background-image: url("assets/icons/manufact-tab-02-active.svg")
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn:not(.active):hover.type03 {
        background-image: url("assets/icons/manufact-tab-03-active.svg")
    }
}

@media (min-width: 1024.02px) {
    .section-product .tab-wrap .btn-bx .tab-btn-list li:not(:last-child) .btn {
        border-bottom: 1px solid #dddddd
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li:not(:last-child) .btn.active {
        border-color: var(--primary)
    }
}

.section-product .tab-wrap .btn-bx .arrow-btn {
    width: 100%
}

@media (min-width: 768.02px) {
    .section-product .tab-wrap .slide-bx .swiper {
        padding-right:1.25rem
    }
}

.section-product .tab-wrap .slide-bx .swiper-wrapper {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
    height: auto
}

.section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open {
    display: block;
    background-color: #fff;
    border: 0.25rem solid transparent;
    border-radius: 1.25rem;
    -webkit-box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    overflow: hidden;
    position: relative;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    cursor: pointer
}

.section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .img-bx {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

.section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx {
    padding: 2.5rem
}

.section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx .tit {
    display: block;
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-bottom: 1.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx .sub-tit {
    font-weight: 500;
    font-size: 1rem;
    color: #999;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    height: 3em;
    margin-bottom: 2.25rem
}

@media (min-width: 1024.02px) {
    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open:hover {
        border-color:var(--primary);
        -webkit-box-shadow: 15px 15px 20px 0px rgba(230,0,18,0.1);
        box-shadow: 15px 15px 20px 0px rgba(230,0,18,0.1);
        -webkit-transform: translateY(-0.625rem);
        transform: translateY(-0.625rem)
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open:hover .arrow-btn {
        color: var(--primary)
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open:hover .arrow-btn .arrow {
        background-color: var(--primary)
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open:hover .arrow-btn .arrow:before {
        -webkit-animation: outlinkAnimationBefore 0.3s forwards 0.3s;
        animation: outlinkAnimationBefore 0.3s forwards 0.3s
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open:hover .arrow-btn .arrow:after {
        -webkit-animation: outlinkAnimationAfter 0.3s forwards;
        animation: outlinkAnimationAfter 0.3s forwards
    }
}

#product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .arrow-btn .plus {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-color: #333;
    border-radius: 50%;
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: background-color 0.4s, -webkit-transform 0.6s ease;
    transition: background-color 0.4s, transform 0.6s ease;
    transition: background-color 0.4s, transform 0.6s ease, -webkit-transform 0.6s ease
}

#product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .arrow-btn .plus:before,
#product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .arrow-btn .plus:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    background-color: #fff;
    background-image: none;
    opacity: 1;
    margin: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-animation: none;
    animation: none
}

#product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .arrow-btn .plus:before {
    width: 0.75rem;
    height: 0.125rem
}

#product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .arrow-btn .plus:after {
    width: 0.125rem;
    height: 0.75rem
}

@media (min-width: 1024.02px) {
    #product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open:hover .arrow-btn .plus {
        background-color: var(--primary);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes marquee {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(calc(-100% - 0.625rem));
        transform: translateX(calc(-100% - 0.625rem))
    }
}

@keyframes marquee {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(calc(-100% - 0.625rem));
        transform: translateX(calc(-100% - 0.625rem))
    }
}

.section-product .marquee {
    position: absolute;
    left: 0;
    bottom: 10%;
    z-index: -1
}

.section-product .marquee ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.25rem;
    width: 200%
}

.section-product .marquee ul li {
    width: 100%;
    -webkit-animation: marquee infinite 22s linear;
    animation: marquee infinite 22s linear
}

@media screen and (min-width: 1930px) {
    .section-product .marquee ul li img {
        width:100%
    }
}

.section-tech.special-active {
    padding-top: 6.25rem
}

.section-tech .flex-bx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 2.5rem
}

.section-tech .flex-bx .bx-1 {
    width: 100%
}

.section-tech .flex-bx .bx-1.en-bx-1 {
    min-width: 25rem
}

.section-tech .flex-bx .bx-1 .team-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 2rem;
    margin-top: 2.5rem;
    width: 100%;
    max-width: 1620px;
    padding-right: 20px
}

.section-tech .flex-bx .bx-1 .team-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0
}

.section-tech .flex-bx .bx-1 .team-list .team-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: left;
    width: 100%;
    height: 100%;
    min-height: 28rem;
    background-color: #fff;
    border-radius: 1.875rem;
    overflow: hidden;
    padding: 2.90625rem 1.25rem 0;
    -webkit-box-shadow: 15px 20px 50px 0px rgba(0,0,0,0.1);
    box-shadow: 15px 20px 50px 0px rgba(0,0,0,0.1);
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.section-tech .flex-bx .bx-1 .team-list .team-card__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.5rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding: 0 1.25rem
}

.section-tech .flex-bx .bx-1 .team-list .team-card .team-card__name {
    display: block;
    font-family: "Saira", "SUIT", sans-serif;
    font-weight: 700;
    font-stretch: 100%;
    font-variation-settings: "wdth" 100;
    font-size: 1.75rem;
    line-height: 2.25rem;
    letter-spacing: 0;
    color: #333
}

.section-tech .flex-bx .bx-1 .team-list .team-card__role {
    font-family: "SUIT",-apple-system,BlinkMacSystemFont,sans-serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.6875rem;
    letter-spacing: -0.05rem;
    text-transform: uppercase;
    color: rgba(51,51,51,0.45);
    min-height: 3.375rem
}

.section-tech .flex-bx .bx-1 .team-list .team-card__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 1.25rem;
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 0
}

.section-tech .flex-bx .bx-1 .team-list .team-card__img img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: bottom center;
    object-position: bottom center
}

@media (min-width: 1024.02px) {
    .section-tech .flex-bx .bx-1 .team-list .team-card:hover {
        -webkit-transform: translateY(-0.625rem);
        transform: translateY(-0.625rem);
        -webkit-box-shadow: 15px 20px 50px 0px rgba(0,0,0,0.15);
        box-shadow: 15px 20px 50px 0px rgba(0,0,0,0.15)
    }
}

.section-tech .flex-bx .bx-1 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 1.125rem;
    margin-top: 2.5rem;
    width: 100%;
    max-width: 1620px;
    padding-right: 20px
}

.section-tech .flex-bx .bx-1 ul li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

@media (max-width: 768px) {
    .section-tech .flex-bx .bx-1 ul.en-list li {
        width:100%
    }
}

.section-tech .flex-bx .bx-2 {
    display: none;
    overflow: hidden
}

.section-tech .flex-bx .bx-2 .img-bx {
    overflow: hidden
}

@media (min-width: 1600.02px) {
    .section-tech .flex-bx .bx-2 .img-bx {
        min-height:48.9375rem
    }
}

.section-tech .flex-bx .bx-2 .img-bx img {
    display: block;
    position: relative;
    max-height: 667px;
    -o-object-fit: cover;
    object-fit: cover
}


.section-wrap {
    background-image: url(assets/images/backgrounds/tech-section.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    padding-bottom: 10rem
}

section#tech,
section#sales {
    padding-top: 10rem;
    padding-bottom: 10rem
}

section#sales {
    position: relative;
    isolation: isolate;
    background-image: url(assets/images/backgrounds/sales-withus-facility.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

section#sales::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.60);
    z-index: 0;
    pointer-events: none
}

section#sales > .container {
    position: relative;
    z-index: 1
}

section#sales .sec-top .sec-tit .tit {
    color: #fff
}

section#sales .sec-top .sec-tit .sub-tit {
    color: rgba(255,255,255,0.85);
    margin-top: 0
}

section#tech .sec-top,
section#sales .sec-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1.25rem;
    max-width: 1580px;
    padding-right: 40px
}

section#sales .sec-top .sec-tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.25rem
}

section#tech .sec-top .sec-tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.875rem
}

section#tech .sec-top .sec-tit .tit,
section#sales .sec-top .sec-tit .tit {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap
}

section#tech .sec-top .arrow-btn.w-line,
section#sales .sec-top .arrow-btn.w-line {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: auto;
    padding-left: 1.875rem
}

/* 제품 영상보기 — Figma 82:35660 */
.video-cta {
    position: fixed;
    right: 3.5%;
    bottom: 2.5rem;
    z-index: 1000;
    pointer-events: none
}

.video-cta__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity 0.45s ease, visibility 0.45s ease;
    transition: opacity 0.45s ease, visibility 0.45s ease
}

.video-cta.is-expanded .video-cta__backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

.video-cta__panel {
    position: relative;
    pointer-events: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1.25rem 0.75rem 1.25rem 1.25rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 3.125rem;
    background: rgba(230, 0, 18, 0.1);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    overflow: hidden;
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
    -webkit-transition: padding 0.55s cubic-bezier(0.22,1,0.36,1), border-radius 0.55s ease, background 0.45s ease 0.05s, -webkit-box-shadow 0.45s ease;
    transition: padding 0.55s cubic-bezier(0.22,1,0.36,1), border-radius 0.55s ease, background 0.45s ease 0.05s, box-shadow 0.45s ease;
    -webkit-box-shadow: none;
    box-shadow: none
}

.video-cta.is-expanded .video-cta__panel {
    width: min(56rem, calc(100vw - 4rem));
    height: 32rem;
    background: #fff;
    border-radius: 2.5rem;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    -webkit-box-shadow: 0 1.25rem 3.75rem rgba(0,0,0,0.12);
    box-shadow: 0 1.25rem 3.75rem rgba(0,0,0,0.12)
}

/* pill 전체 클릭 오버레이 (닫힌 상태) */
.video-cta__open-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: transparent;
    border: 0;
    cursor: pointer;
    -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
    transition: opacity 0.2s ease, visibility 0.2s ease
}

.video-cta.is-expanded .video-cta__open-overlay {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

/* 아이콘 버튼: 항상 우하단 고정 */
.video-cta__trigger {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 3.75rem;
    height: 3.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer
}

.video-cta.is-expanded .video-cta__trigger {
    right: 1.25rem;
    bottom: 1.25rem;
    width: 3.75rem;
    height: 3.75rem
}

/* 텍스트 라벨 */
.video-cta__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 7.5rem;
    overflow: hidden;
    pointer-events: none;
    z-index: 2;
    opacity: 1;
    padding-right: 0.75rem;
    -webkit-transition: width 0.55s cubic-bezier(0.22,1,0.36,1), opacity 0.3s ease, padding 0.55s cubic-bezier(0.22,1,0.36,1);
    transition: width 0.55s cubic-bezier(0.22,1,0.36,1), opacity 0.3s ease, padding 0.55s cubic-bezier(0.22,1,0.36,1)
}

.video-cta.is-expanded .video-cta__txt,
.video-cta.text-hidden .video-cta__txt {
    width: 0;
    opacity: 0;
    padding-right: 0
}

.video-cta.text-hidden .video-cta__panel {
    padding: 1.25rem
}


/* 아이콘 크기 확보용 spacer */
.video-cta__icon-spacer {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 3.75rem;
    height: 3.75rem
}


.video-cta__txt p {
    margin: 0;
    font-family: "SUIT",-apple-system,BlinkMacSystemFont,sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: -0.05rem;
    color: var(--primary);
    white-space: nowrap
}

.video-cta__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 1.875rem;
    background-color: var(--primary);
    position: relative;
    overflow: hidden
}

.video-cta__icon-video {
    display: block;
    width: 1.75rem;
    height: 1.25rem;
    opacity: 1;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    -webkit-transition: opacity 0.25s ease 0.15s;
    transition: opacity 0.25s ease 0.15s
}

.video-cta__icon-close {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: #333;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: opacity 0.2s ease, background-color 0.4s;
    transition: opacity 0.2s ease, background-color 0.4s
}

.video-cta__icon-close:before,
.video-cta__icon-close:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.video-cta__icon-close:before {
    width: 1.4rem;
    height: 0.1875rem
}

.video-cta__icon-close:after {
    width: 0.1875rem;
    height: 1.4rem
}

.video-cta.is-expanded .video-cta__icon {
    background-color: transparent
}

.video-cta.is-expanded .video-cta__icon-video {
    opacity: 0;
    -webkit-transition: opacity 0.15s ease;
    transition: opacity 0.15s ease
}

.video-cta.is-expanded .video-cta__icon-close {
    opacity: 1;
    pointer-events: auto
}

@media (min-width: 1024.02px) {
    .video-cta.is-expanded .video-cta__trigger:hover .video-cta__icon-close {
        background-color: var(--primary)
    }
}

.video-cta__expanded {
    position: absolute;
    inset: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: opacity 0.25s ease, visibility 0.25s ease;
    transition: opacity 0.25s ease, visibility 0.25s ease
}

.video-cta.is-expanded .video-cta__expanded {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transition: opacity 0.35s ease 0.12s, visibility 0.35s ease 0.12s;
    transition: opacity 0.35s ease 0.12s, visibility 0.35s ease 0.12s
}

.video-cta__media {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-height: 0;
    margin: 1.25rem;
    border-radius: 1.5rem;
    overflow: hidden;
    background: #fff
}

.video-cta__video {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    background: transparent
}

.video-cta__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4.5rem;
    height: 4.5rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s ease
}

.video-cta__play.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.video-cta__play-ring {
    position: absolute;
    inset: 0;
    border: 2px solid rgba(255,255,255,0.9);
    border-radius: 50%
}

.video-cta__play-triangle {
    position: absolute;
    top: 50%;
    left: 54%;
    width: 0;
    height: 0;
    border-top: 0.55rem solid transparent;
    border-bottom: 0.55rem solid transparent;
    border-left: 0.9rem solid #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

body.video-cta-open {
    overflow: hidden
}

@media (max-width: 768px) {
    .video-cta {
        right: 4%;
        bottom: 1.5rem
    }

    .video-cta.is-expanded .video-cta__panel {
        width: calc(100vw - 2rem);
        height: calc(100dvh - 3rem)
    }
}

@media (max-width: 1600px) {
    .section-product {
        padding-bottom:max(10rem,15%)
    }

    .section-product .tab-wrap {
        gap: 1.25rem
    }

    .section-product .tab-wrap .btn-bx {
        width: max(14.375rem,25%)
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn {
        font-size: 1.125rem;
        height: 6.25rem;
        background-position: calc(100% - 1.25rem) center;
        background-size: 3.125rem;
        padding: 1.25rem 4.375rem 1.25rem 1.875rem
    }

    .section-product .tab-wrap .tab-con {
        width: calc(80% - 3.125rem)
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx {
        padding: 1.25rem
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx .tit {
        font-size: 1.5rem
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx .sub-tit {
        font-size: 1.125rem
    }

    .section-tech .flex-bx {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }
}

@media (max-width: 1400px) {
    .section-tech .flex-bx .bx-1 ul li .team-card {
        padding: 2.5rem 1.25rem
    }

}

@media (max-width: 1200px) {
    .arrow-btn {
        font-size:1rem
    }

    .arrow-btn.w-line {
        font-size: 1rem;
        height: 3.5rem;
        line-height: 1.5rem;
        border-radius: 1.75rem;
        gap: 0.75rem
    }

    .arrow-btn .arrow {
        width: 1.5625rem;
        height: 1.5625rem
    }

    .arrow-btn .arrow:before {
        right: 0.5625rem;
        width: 0.5rem;
        height: 0.5rem;
        margin-top: 0.28125rem;
        margin-right: 0.28125rem;
        background: url("assets/icons/arrow.svg") 0 0;
        background-size: 100% 100%;
        opacity: 0
    }

    .arrow-btn .arrow:after {
        right: 0.5625rem;
        width: 0.5rem;
        height: 0.5rem;
        background: url("assets/icons/arrow.svg") 0 0;
        background-size: 100% 100%
    }

    .section-product .sec-top .sec-tit {
        display: block
    }

    .section-product .sec-top .sec-tit .sub-tit {
        margin-top: 1.25rem
    }

    section#tech .sec-top .sec-tit {
        display: block
    }

    section#sales .sec-top .sec-tit {
        display: block
    }

    section#tech .sec-top .sec-tit .sub-tit {
        margin-top: 1.25rem
    }

    section#sales .sec-top .sec-tit .sub-tit {
        margin-top: 1.25rem
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list {
        border-radius: 1.25rem
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open {
        border-radius: 1.25rem
    }

    .section-tech .flex-bx .bx-1 ul {
        gap: 1.25rem
    }

    .section-tech .flex-bx .bx-1 ul li .team-card {
        width: 100%;
        padding: 1.875rem 1.25rem
    }

    .section-tech .flex-bx .bx-1 ul li .team-card .txt-bx {
        margin-bottom: 1.25rem
    }

    .section-tech .flex-bx .bx-1 ul li .team-card .txt-bx strong {
        font-size: 1.75rem
    }

    .section-tech .flex-bx .bx-1 ul li .team-card .txt-bx p {
        font-size: 1.125rem
    }

    .section-tech .flex-bx .bx-1 ul li .team-card .arrow-btn {
        font-size: 1.125rem
    }
}

@media (max-width: 1024px) {
    .section-product {
        padding-top:5rem;
        padding-bottom: 3.75rem
    }

    section#tech {
        padding-top: 5rem;
        padding-bottom: 3.75rem
    }

    #manufact .tab-wrap .btn-bx {
        background: transparent;
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        padding-bottom: 1rem
    }

    #manufact .tab-wrap .btn-bx .tab-btn-list {
        border-radius: 1.25rem;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        height: auto;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none
    }

    #manufact .tab-wrap .btn-bx .tab-btn-list li {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }

    #manufact .tab-wrap .btn-bx .tab-btn-list li .btn {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        border: 0
    }

    #manufact .tab-wrap .btn-bx .tab-btn-list li:not(:last-child) {
        border-right: 1px solid #dddddd
    }

    #manufact .tab-wrap .btn-bx .tab-btn-list li:not(:last-child):has(.btn.active) {
        border-right-color: var(--primary)
    }

    #manufact .tab-wrap .tab-con,
    #manufact .tab-wrap .tab-bx,
    #manufact .tab-wrap .slide-bx,
    #manufact .tab-wrap .product-single {
        display: block;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none
    }

    #manufact .tab-wrap .product-single {
        padding-right: 0;
        padding-top: 0.875rem
    }

    #manufact .tab-wrap .product-single > .product-single__link {
        border-radius: 1.25rem
    }

    #manufact .tab-wrap .product-single > .product-single__link .inner {
        padding-bottom: 0;
        aspect-ratio: 1672 / 941
    }

    #manufact .tab-wrap .product-single > .product-single__link .txt-bx {
        padding: 1.125rem
    }

    #manufact .tab-wrap .product-single > .product-single__link .img-bx .product-single__ai-badge {
        top: 0.75rem;
        left: 0.75rem;
        min-width: 1.75rem;
        height: 1.5rem;
        font-size: 0.625rem
    }

    #manufact .tab-wrap .product-single > .product-single__link .txt-bx .tit {
        font-size: 1.125rem;
        margin-bottom: 0.25rem
    }

    #manufact .tab-wrap .product-single > .product-single__link .txt-bx .sub-tit {
        font-size: 11px
    }

    .section-product .tab-wrap {
        display: block
    }

    .section-product .tab-wrap .btn-bx {
        width: 100%;
        padding-top: 0;
        padding-bottom: 1rem
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        border-radius: 1.25rem;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn {
        font-size: 0.8125rem;
        text-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        border: 0;
        background-image: none!important;
        padding: 1.25rem
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li:not(:last-child) {
        border-right: 1px solid #dddddd
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li:not(:last-child):has(.btn.active) {
        border-right-color: var(--primary)
    }

    .section-product .tab-wrap .btn-bx .arrow-btn {
        display: none
    }

    .section-product .tab-wrap .tab-con {
        width: 100%
    }

    .section-product .tab-wrap .tab-con .swiper {
        overflow: visible
    }

    .section-product .tab-wrap .slide-bx .swiper-wrapper {
        padding-top: 1.25rem;
        padding-bottom: 0
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open {
        border-radius: 1.25rem
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx {
        padding: 1.125rem
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx .tit {
        font-size: 1.125rem;
        margin-bottom: 0.25rem
    }

    .section-product .tab-wrap .slide-bx .swiper-slide .js-product-modal-open .txt-bx .sub-tit {
        font-size: 11px;
        margin-bottom: 1rem
    }

    .section-product .arrow-btn.w-line {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .section-product .marquee {
        position: static;
        margin-top: 1.25rem
    }

    .section-product .marquee ul li {
        -webkit-animation: marquee infinite 11s linear;
        animation: marquee infinite 11s linear
    }

    .section-product .marquee ul li img {
        width: 100%
    }

    .section-product .slide-control .inner {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .section-product .slide-control .container {
        padding-left: 0;
        padding-right: 0
    }
}

@media (max-width: 768px) {
    .fill-txt .tit:after {
        top:1px
    }

    .arrow-btn.w-line {
        height: 3.125rem;
        padding: 0 1.125rem;
        font-size: 0.9375rem;
        line-height: 1.375rem;
        border-radius: 1.5625rem;
        gap: 0.625rem
    }

    .section .container {
        max-width: 100%;
        margin-right: 0;
        padding-left: 20px;
        padding-right: 20px
    }

    .section .sec-tit .tit {
        font-weight: 500;
        font-size: 1.875rem;
        letter-spacing: 0
    }

    .section .sec-tit .sub-tit {
        font-size: 0.875rem
    }

    #product .sec-top .sec-tit .sub-tit br {
        display: none
    }

    .section .sec-tit .braket-tit .txt strong {
        font-size: 1.25rem
    }

    .section .sec-tit .braket-tit .txt:after,.section .sec-tit .braket-tit .txt:before {
        width: 0.625rem;
        height: 2.25rem;
        background-size: cover
    }

    .section .sec-tit .braket-tit p {
        font-size: 1.125rem
    }

    .section-tech .container {
        padding: 0
    }

    .section-tech .container .sec-top {
        padding-left: 20px !important;
        padding-right: 20px !important;
        flex-direction: column !important;
        align-items: flex-start !important
    }

    .section-tech .flex-bx .bx-1 .arrow-btn.w-line {
        width: 100%;
        justify-content: center;
        margin-top: 1.5rem
    }

    .section-tech .flex-bx {
        display: block
    }

    .section-tech .flex-bx .bx-1 {
        padding: 0 20px
    }

    .section-tech .flex-bx .bx-1 .team-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: 0
    }

    .section-tech .flex-bx .bx-1 .team-list li {
        width: 100%
    }

    .section-tech .flex-bx .bx-1 .team-list .team-card {
        min-height: 24rem;
        padding: 1.875rem 1.25rem 0
    }

    .section-tech .flex-bx .bx-1 .team-list .team-card__txt {
        padding: 0 0.625rem
    }

    .section-tech .flex-bx .bx-1 .team-list .team-card__name {
        font-size: 1.75rem;
        line-height: 2.25rem
    }

    .section-tech .flex-bx .bx-1 .team-list .team-card__role {
        font-size: 1rem;
        line-height: 1.6875rem
    }

    .section-tech .flex-bx .bx-1 ul {
        margin-top: 2.5rem;
        margin-bottom: 3.75rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .section-tech .flex-bx .bx-1 ul li {
        width: 100%
    }

    .section-tech .flex-bx .bx-2 .img-bx img {
        width: 100%
    }


    .section-wrap {
        padding-bottom: 5rem
    }

    section#tech,
    section#sales {
        padding-bottom: 5rem
    }

    section#sales .sec-top {
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        padding-left: 20px !important;
        padding-right: 20px !important
    }

    section#sales .sec-top .sec-tit {
        text-align: left;
        width: 100%
    }

    section#sales .sec-top .arrow-btn.w-line {
        margin-left: 0;
        align-self: flex-start;
        margin-top: 1.5rem
    }
}

@media (max-width: 576px) {
    .arrow-btn {
        font-size:0.75rem
    }

    .arrow-btn.w-line {
        font-size: 0.875rem;
        height: 2.8125rem;
        padding: 0 1rem
    }

    .section-product .tab-wrap .btn-bx .tab-btn-list li .btn {
        padding: 0.75rem
    }

}

/* 로고 SVG 색상 — color 프로퍼티로 제어 */
.logo svg {
    color: var(--primary);
}
.footer-logo svg {
    color: #ffffff;
}

.footer-brand {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.25rem;
    width: 20rem;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.footer-brand .footer-logo {
    width: 12.5rem
}

.footer-brand .copyright {
    margin: 0;
    letter-spacing: -0.03em;
    color: rgba(255,255,255,0.35);
    line-height: 1.4;
    white-space: nowrap
}

.footer .container {
    padding-top: 3rem;
    padding-bottom: 4rem
}

.footer-info {
    width: calc(100% - 24.6875rem)
}

.footer-info .info-bx .footer-address-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 4rem;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
    row-gap: 0;
    margin-bottom: 0
}

.footer-info .info-bx .footer-address-grid .footer-address-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.5rem;
    font-style: normal;
    min-width: 0;
    margin-bottom: 0
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__label,
.footer-info .info-bx .footer-address-grid .footer-address-grid__value,
.footer-info .info-bx .footer-address-grid .footer-address-grid__meta {
    min-width: 0
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__label {
    font-weight: 700;
    font-style: normal;
    color: #fff;
    letter-spacing: -0.03em;
    margin-bottom: 0.75rem
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    margin-top: 0.5rem
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__value {
    font-weight: 500;
    color: #fff;
    letter-spacing: -0.03em
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.625rem;
    margin: 0;
    letter-spacing: -0.03em
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta strong {
    font-weight: 400;
    color: rgba(255,255,255,0.5);
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-transform: uppercase
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta--address {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.25rem
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta--address .footer-address-grid__value {
    display: block;
    line-height: 1.5;
    white-space: normal
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta--address .footer-address-grid__value br {
    display: block;
    content: "";
    margin-top: 0.125rem
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta span {
    font-weight: 500;
    color: #fff;
    white-space: nowrap
}

.footer-info .info-bx .footer-address-grid .footer-address-grid__meta--address span {
    white-space: normal
}

@media (max-width: 1400px) {
    .footer-brand {
        width: 100%;
        margin-bottom: 2.5rem
    }

    .footer-info {
        width: 100%
    }

    .footer-info .info-bx {
        margin-bottom: 0
    }

    .footer-brand .footer-logo {
        margin-bottom: 0
    }
}

@media (max-width: 1024px) {
    .footer-info .info-bx .footer-address-grid {
        grid-template-columns: 1fr;
        row-gap: 1.5rem;
        margin-bottom: 0
    }

    .footer-info .info-bx .footer-address-grid .footer-address-row {
        gap: 0.75rem
    }

    .footer-info .info-bx .footer-address-grid .footer-address-grid__contacts {
        gap: 0.75rem 1.5rem
    }
}

/* 모바일 메뉴 버튼 아이콘 */
.nav-mobile__btn {
    display: none;
    align-items: center;
    justify-content: center;
}
@media (max-width: 1024px) {
    .nav-mobile__btn {
        display: flex;
    }
}
.nav-mobile__btn img {
    width: 24px;
    height: 24px;
}
.nav-mobile__btn .icon-close {
    display: none;
}
body.nav-open .nav-mobile__btn .icon-menu {
    display: none;
}
body.nav-open .nav-mobile__btn .icon-close {
    display: block;
}

/* 모바일 드로어 헤더 — 메인 헤더와 동일 레이아웃 (닫기 버튼만 다름) */
@media (max-width: 1024px) {
    .nav-mobile__head .header-wrap {
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .nav-mobile__head .header-wrap .logo {
        flex: 0 0 auto;
        width: 110px;
        padding: 0;
    }

    .nav-mobile__head .header-wrap .logo svg {
        width: 100%;
        height: auto;
    }

    .nav-mobile__head .header-wrap .select-lang {
        margin-right: 2.5rem;
    }

    .nav-mobile__head .header-wrap .select-lang .lang-btn {
        font-size: 11px;
        line-height: normal;
    }

    .nav-mobile__head .header-wrap .select-lang ul li button {
        font-size: 0.875rem;
    }

    .nav-mobile__head .nav-mobile__btn {
        position: absolute;
        right: 0;
        top: 0;
        height: 60px;
        width: 60px;
    }
}

.header .sub-nav {
    display: none !important
}

.header .nav.nav--primary .nav-list--depth1 {
    gap: 0
}

.header .nav.nav--primary .depth-1 > .link {
    height: 2.75rem;
    min-width: 4.875rem;
    padding: 0 1.5rem;
    border-radius: 3.1875rem;
    color: #000;
    letter-spacing: -0.044em;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.header .nav.nav--primary .depth-1 > .link.is-active,
.header .nav.nav--primary .depth-1 > .link.on {
    background-color: #1a1a1a;
    color: #f7f7f7
}

.header .nav.nav--primary .depth-1 > .link:hover {
    color: #000
}

.header .nav.nav--primary .depth-1 > .link.is-active:hover,
.header .nav.nav--primary .depth-1 > .link.on:hover {
    color: #f7f7f7
}

.nav-list--mobile-primary .depth-1 > .link {
    font-size: 1.125rem;
    font-weight: 600
}

.product-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    padding: 2.5rem 1.25rem
}

.product-modal.is-open {
    display: block
}

.product-modal__backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(0,0,0,0.55)
}

.product-modal__dialog {
    position: relative;
    z-index: 1;
    max-width: 75rem;
    margin: 0 auto;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.product-modal__card {
    width: 100%;
    max-height: calc(100vh - 5rem);
    overflow: auto;
    background-color: #fff;
    border: 0.25rem solid transparent;
    border-radius: 1.25rem;
    -webkit-box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15);
    box-shadow: 8px 8px 20px 0px rgba(0,0,0,0.15)
}

.product-modal__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 2.5rem 2.5rem 0
}

.product-modal__close.arrow-btn {
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0
}

.product-modal__close .plus {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-color: #333;
    border-radius: 50%;
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: background-color 0.4s, -webkit-transform 0.6s ease;
    transition: background-color 0.4s, transform 0.6s ease;
    transition: background-color 0.4s, transform 0.6s ease, -webkit-transform 0.6s ease
}

.product-modal__close .plus:before,
.product-modal__close .plus:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    background-color: #fff;
    background-image: none;
    opacity: 1;
    margin: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-animation: none;
    animation: none
}

.product-modal__close .plus:before {
    width: 0.75rem;
    height: 0.125rem
}

.product-modal__close .plus:after {
    width: 0.125rem;
    height: 0.75rem
}

@media (min-width: 1024.02px) {
    .product-modal__close:hover .plus {
        background-color: var(--primary);
        -webkit-transform: rotate(405deg);
        transform: rotate(405deg)
    }
}

.product-modal__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 0;
    padding: 0 0 2.5rem
}

.product-modal__media {
    width: 32.0625rem;
    max-width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.5rem
}

.product-modal__main {
    position: relative;
    padding: 1.25rem 1.25rem 0
}

.product-modal__swiper {
    background-color: #f4f4f4;
    overflow: hidden
}

.product-modal__swiper .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    aspect-ratio: 473 / 360;
    padding: 1.25rem
}

.product-modal__swiper img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.product-modal__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.5rem;
    padding-top: 1rem
}

.product-modal__pagination button {
    position: relative;
    width: 0.5rem;
    height: 0.25rem;
    border: 0;
    border-radius: 999px;
    background-color: #ddd;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease
}

.product-modal__pagination button.is-active {
    width: 3rem;
    background-color: #ddd
}

.product-modal__pagination button .pg-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: var(--primary);
    border-radius: 999px;
    transition: none
}

.product-modal__thumbs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.25rem;
    padding: 0 1.25rem 0.5rem
}

.product-modal__thumb {
    width: 5.625rem;
    height: 5.625rem;
    border: 0;
    padding: 0;
    background-color: #f4f4f4;
    overflow: hidden;
    cursor: pointer
}

.product-modal__thumb.is-active {
    outline: 2px solid var(--primary);
    outline-offset: -2px
}

.product-modal__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.product-modal__info {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    padding: 0 2.5rem 2.5rem
}

.product-modal__title {
    font-family: "Saira","SUIT",-apple-system,BlinkMacSystemFont,"Times New Roman","Palatino Linotype","Book Antiqua",Georgia,Times,Palatino,serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2.25rem;
    color: #333;
    margin-bottom: 1.5rem
}

.product-modal__desc {
    font-family: "SUIT",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5rem;
    letter-spacing: -0.044em;
    color: #999;
    margin-bottom: 1.5rem
}

.product-modal__divider {
    height: 1px;
    background-color: #e5e5e5;
    margin-bottom: 1.25rem
}

.product-modal__specs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem
}

.product-modal__spec-col {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0
}

.product-modal__spec-tit {
    display: block;
    font-family: "SUIT",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: -0.044em;
    color: #151515;
    margin-bottom: 1.25rem
}

.product-modal__spec-list {
    margin: 0
}

.product-modal__spec-list > div {
    margin-bottom: 0.75rem
}

.product-modal__spec-list > div:last-child {
    margin-bottom: 0
}

.product-modal__spec-list dt {
    font-family: "SUIT",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5rem;
    letter-spacing: -0.044em;
    color: #999;
    text-transform: capitalize;
    margin-bottom: 0.25rem
}

.product-modal__spec-list dd {
    font-family: "SUIT",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.5rem;
    letter-spacing: -0.044em;
    color: #111;
    margin: 0
}

@media (max-width: 1024px) {
    .product-modal__body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .product-modal__media {
        width: 100%
    }

    .product-modal__info {
        padding: 0 1.25rem 1.25rem
    }

    .product-modal__head {
        padding: 1.25rem 1.25rem 0
    }

    .product-modal__card {
        border-radius: 1.25rem
    }
}

@media (max-width: 768px) {
    .product-modal__specs {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}


