/* 메인. #container 고정폭을 풀고 섹션을 화면 너비로 펼침 */
#container.main-home-wrap {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: 0;
}

.main-hero__bg {
    transform-origin: center bottom;
    animation: main-hero-settle 1.8s ease-out both;
}

.main-hero__eyebrow {
    letter-spacing: 0.025em;
    animation: main-hero-rise 1s ease-out both, main-hero-track 1.1s ease-out both;
}

.main-hero__line,
.main-hero__accent {
    display: inline-block;
    animation: main-hero-rise 1s ease-out both;
}

.main-hero__line {
    animation-delay: 0.15s;
}

.main-hero__accent {
    animation-delay: 0.32s;
}

.main-hero__lead,
.main-hero__actions,
.main-hero__point {
    animation: main-hero-rise 1s ease-out both;
}

.main-hero__lead {
    animation-delay: 0.48s;
}

.main-hero__actions {
    animation-delay: 0.64s;
}

.main-hero__point:nth-child(1) {
    animation-delay: 0.8s;
}

.main-hero__point:nth-child(2) {
    animation-delay: 0.92s;
}

.main-hero__point:nth-child(3) {
    animation-delay: 1.04s;
}

.main-hero__btn {
    transition: transform 0.5s ease-out, background-image 0.5s ease-out, border-color 0.5s ease-out;
}

.main-hero__btn:hover {
    transform: translateY(-2px);
}

.main-hero__btn-fill {
    background-image: linear-gradient(95deg, rgba(255, 255, 255, 0.24) 2.61%, rgba(255, 255, 255, 0.08) 99.6%);
}

.main-hero__btn-fill:hover {
    background-image: linear-gradient(95deg, rgba(255, 255, 255, 0.4) 2.61%, rgba(255, 255, 255, 0.18) 99.6%);
}

.main-hero__btn-line:hover {
    border-color: #ffdb9c;
}

@keyframes main-hero-settle {
    from { transform: scale(1.06); }
    to { transform: scale(1); }
}

@keyframes main-hero-track {
    from { letter-spacing: 0.01em; }
    to { letter-spacing: 0.025em; }
}

@keyframes main-hero-rise {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .main-hero__bg,
    .main-hero__eyebrow,
    .main-hero__line,
    .main-hero__accent,
    .main-hero__lead,
    .main-hero__actions,
    .main-hero__point {
        animation: none;
    }

    .main-hero__btn,
    .main-hero .group,
    .main-hero .group p,
    .main-hero .group img,
    .main-service-black::before {
        transition: none;
    }

    .main-service-panel.aos-init .main-service__item,
    .main-service-panel.aos-animate .main-service__item {
        opacity: 1;
        transform: none;
        animation: none;
    }

    .main-service-black.aos-init:not(.aos-animate)::before,
    .main-service-black.aos-animate::before {
        transform: none;
    }
}

.main-service-black {
    position: relative;
    background-color: #fff;
    background-image: none;
}

.main-service-black::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: linear-gradient(180deg, #171717 0%, #000000 100%);
    transform: scaleY(1);
    transform-origin: top center;
    pointer-events: none;
}

.main-service-black.aos-init:not(.aos-animate)::before {
    transform: scaleY(0);
    transition: transform 0.85s ease-out;
}

.main-service-black.aos-animate::before {
    transform: scaleY(1);
    transition: transform 0.85s ease-out;
}

.main-service__body {
    position: relative;
    z-index: 1;
}

@media (min-width: 1600px) {
    article.main-service-panel {
        padding-left: calc((100vw - 1440px) / 2);
    }

    article.main-service-black {
        padding-left: calc((100vw - 1440px) / 4);
    }
}

.main-service-panel.aos-init .main-service__item {
    opacity: 0;
}

.main-service-panel.aos-animate .main-service__item {
    animation: main-hero-rise 0.9s ease-out both;
}

.main-service-panel.aos-animate .main-service__en { animation-delay: 0.8s; }
.main-service-panel.aos-animate .main-service__title { animation-delay: 0.92s; }
.main-service-panel.aos-animate .main-service__desc { animation-delay: 1.04s; }
.main-service-panel.aos-animate .main-service__point:nth-child(1) { animation-delay: 1.16s; }
.main-service-panel.aos-animate .main-service__point:nth-child(2) { animation-delay: 1.26s; }
.main-service-panel.aos-animate .main-service__point:nth-child(3) { animation-delay: 1.36s; }
.main-service-panel.aos-animate .main-service__point:nth-child(4) { animation-delay: 1.46s; }
.main-service-panel.aos-animate .main-service__point:nth-child(5) { animation-delay: 1.56s; }
.main-service-panel.aos-animate .main-service__more { animation-delay: 1.7s; }
