/* Landing page common */

/* .landing-page는 <body> 자체다. body 기본 마진(UA 8px)이 리셋되지 않아
   width:360px로 고정된 모바일 섹션들이 뷰포트 오른쪽으로 8px 밀려나
   가로 스크롤(밀림)이 생겼다. margin:0으로 제거(풀블리드 정렬에도 맞음). */
.landing-page {
    margin: 0;
    background-color: #000;
    color: #fff;
    font-family: 'Pretendard', sans-serif;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-top: 72px;
}

.landing-page a {
    color: inherit;
}

html:has(.landing-page) {
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    /* mandatory였을 때는 마지막 섹션(S11) 뒤 footer처럼 스냅 지점이 없거나
       도달하기 애매한 영역으로 스크롤하면, 브라우저가 억지로 가장 가까운
       유효 스냅 지점(S11)으로 다시 튕겨 올라갔다. proximity는 스냅 지점
       근처에서만 부드럽게 붙고, 안 맞으면 그냥 스크롤한 자리에 둔다. */
    scroll-snap-type: y proximity;
    scroll-padding-top: 0;
    /* 이것과 별개로, 문서 맨 끝에서 트랙패드로 더 스크롤하면 macOS/크롬이
       자체적으로 "고무줄"처럼 튕기는 elastic overscroll 효과를 준다.
       scroll-snap과는 무관한 브라우저 기본 동작이라 위 설정만으로는
       안 없어져서 여기서 직접 끈다. */
    overscroll-behavior-y: none;
}

/* Landing.Core.initSectionPaging()가 free 섹션(S7/S9/S11) 안에 있는 동안
   붙여준다 — 마지막 섹션 뒤 footer처럼 스냅 지점이 없는/애매한 구간에서
   브라우저가 억지로 이전 섹션으로 되튕기는 것을 막는다. */
html.landing-no-snap {
    scroll-snap-type: none !important;
}

html:has(.landing-page)::-webkit-scrollbar,
.landing-page::-webkit-scrollbar {
    display: none;
}

/* Section canvas: 1920 x 960 (디자인 시안 기준 고정 캔버스) */
.landing-section {
    width: auto;
    height: 960px;
    box-sizing: border-box;
    margin: 0 auto;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
