/* 랜딩(첫 화면) — base.css 위에 로드. 한 화면 꽉 채워 세로·가로 중앙, 서브카피 한 줄. */

/* base.css 에 전역 box-sizing 리셋이 없어(style.css 미로드) width:100%+padding 이 넘친다.
   랜딩 하위에만 border-box 를 적용해 버튼·패딩이 컨테이너를 넘쳐 어긋나지 않게 한다. */
.landing, .landing *, .landing *::before, .landing *::after { box-sizing: border-box; }

.landing {
    min-height: 100vh;             /* 한 화면 꽉 (body margin:0 + border-box 로 스크롤 없음) */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.landing-inner {
    width: 100%;
    max-width: 580px;
    margin: 0 auto;
    text-align: center;
}

.landing-inner h1 {
    margin: 0 0 14px;
    font-size: 2.75rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: hsl(var(--foreground));
}

.landing-sub {
    margin: 0 0 36px;
    color: hsl(var(--muted-foreground));
    font-size: 1.05rem;
    white-space: nowrap;           /* 한 줄로 */
}

.landing-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 400px;              /* 버튼 폭, 가운데 */
    margin: 0 auto;
}

.landing-actions .btn {
    width: 100%;
    height: 52px;                  /* 집중 화면 → 넉넉한 버튼 */
    font-size: 1.05rem;
}

/* 좁은 화면(모바일): 서브카피 줄바꿈 허용해 가로 스크롤 방지 */
@media (max-width: 520px) {
    .landing-inner { max-width: 360px; }
    .landing-sub { white-space: normal; font-size: 0.88rem; line-height: 1.5; }
    .landing-inner h1 { font-size: 1.9rem; }
}
