/* 비로그인 홈 서비스 소개 화면 전용 스타일 (views/landing.html, .lp 아래와 소개 화면 레이아웃 조정, 소개 화면에서만 로드) */

/* ---- 비로그인 홈 전용 레이아웃 조정 (사이드바 메뉴가 없으므로 숨기고 본문 전체 폭 사용) ---- */
.main-sidebar,
.main-header [data-widget="pushmenu"] {
    display: none !important;
}

body .content-wrapper,
body .main-header,
body .main-footer {
    margin-left: 0 !important;
}

body .content-wrapper {
    background: #ffffff;
}

/* ---- 공통 ---- */
.lp {
    --lp-primary: #4f63ff;
    --lp-primary-dark: #3a4ad9;
    --lp-violet: #8b5cf6;
    /* 흰 글자 주 버튼 그라데이션 끝색 (대비 4.5:1 이상, common.css 공통 토큰 참조) */
    --lp-button-gradient-end: var(--c-button-gradient-end);
    --lp-mint: #14b8a6;
    --lp-amber: #f59e0b;
    --lp-ink: #1e2340;
    --lp-text: #4a5072;
    /* 보조 글자 (흰 바탕 5.14:1, 연한 바탕 #f5f7ff 4.8:1) */
    --lp-muted: #666c8c;
    --lp-soft: #f5f7ff;
    --lp-line: #e6e9f7;
    --lp-radius: 20px;
    --lp-shadow: 0 10px 30px rgba(42, 52, 120, .08);
    --lp-shadow-lg: 0 24px 60px rgba(42, 52, 120, .16);
    color: var(--lp-text);
    font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", "Malgun Gothic", "Source Sans Pro", sans-serif;
    overflow-x: hidden;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.lp *,
.lp *::before,
.lp *::after {
    box-sizing: border-box;
}

/* 의미 단위 묶음 (줄바꿈 안 함) */
.lp_nw {
    white-space: nowrap;
}

/* 모바일 전용 줄바꿈 (575px 이하에서만 적용) */
.lp_br_m {
    display: none;
}

/* 제목 줄 길이 균형 (지원 브라우저만) */
.lp_title,
.lp_hero_title {
    text-wrap: balance;
}

.lp_inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px;
}

.lp_section {
    padding: 72px 0;
}

.lp_section_soft {
    background: var(--lp-soft);
}

.lp_head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 40px;
}

.lp_eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(79, 99, 255, .1);
    /* 연한 인디고 바탕 위 작은 글자 대비 확보용 진한 인디고 (5.8:1) */
    color: var(--lp-primary-dark);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.lp_title {
    margin: 14px 0 12px;
    color: var(--lp-ink);
    font-size: clamp(1.5rem, calc(4.4 * var(--app-vw)), 2.2rem);
    font-weight: 800;
    line-height: 1.35;
}

.lp_desc {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.75;
}

/* 손가락으로 누르기 쉬운 버튼 (최소 높이 52px) */
.lp_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 0 28px;
    border: 0;
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.lp_btn:hover,
.lp_btn:focus {
    text-decoration: none;
}

.lp_btn:active {
    transform: scale(.97);
}

.lp_btn_primary {
    /* 흰 글자 버튼 : 대비 4.5:1 이상 그라데이션 끝색 (--lp-button-gradient-end) */
    background: linear-gradient(135deg, var(--lp-primary) 0%, var(--lp-button-gradient-end) 100%);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(79, 99, 255, .32);
}

.lp_btn_primary:hover,
.lp_btn_primary:focus {
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(79, 99, 255, .42);
    transform: translateY(-1px);
}

/* ---- 1. 히어로 ---- */
.lp_hero {
    position: relative;
    padding: 64px 0 80px;
    background: linear-gradient(140deg, #eef1ff 0%, #f4efff 48%, #e8faf6 100%);
    overflow: hidden;
}

/* 장식용 부드러운 원 (넘침 방지를 위해 히어로 안에서 잘림) */
.lp_hero::before,
.lp_hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(10px);
    pointer-events: none;
}

.lp_hero::before {
    width: 420px;
    height: 420px;
    top: -160px;
    right: -120px;
    background: radial-gradient(circle, rgba(139, 92, 246, .22) 0%, rgba(139, 92, 246, 0) 70%);
}

.lp_hero::after {
    width: 360px;
    height: 360px;
    bottom: -180px;
    left: -120px;
    background: radial-gradient(circle, rgba(20, 184, 166, .22) 0%, rgba(20, 184, 166, 0) 70%);
}

.lp_hero_grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}

.lp_hero_title {
    margin: 18px 0 18px;
    color: var(--lp-ink);
    font-size: clamp(1.9rem, calc(7 * var(--app-vw)), 3.1rem);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -.02em;
}

.lp_grad_text {
    background: linear-gradient(135deg, var(--lp-primary) 0%, var(--lp-violet) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.lp_hero_desc {
    margin: 0 0 30px;
    font-size: 1.08rem;
    line-height: 1.8;
}

.lp_hero_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* 히어로 아래 눈에 덜 띄는 작은 회색 회원가입 링크
 * (누름 영역 높이 44px 이상 : 안쪽 여백을 늘린 만큼 바깥 여백을 줄여 글자 위치 유지) */
.lp_sub_link {
    display: inline-block;
    margin: 10px -2px -4px;
    padding: 12px 4px;
    color: var(--lp-muted);
    font-size: .9rem;
    text-decoration: none;
}

.lp_sub_link:hover,
.lp_sub_link:focus {
    color: var(--lp-text);
    text-decoration: underline;
}

/* 히어로 단어 카드 예시 (장식용) */
.lp_mock {
    position: relative;
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}

.lp_mock_card {
    position: relative;
    padding: 26px 24px 28px;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: var(--lp-shadow-lg);
    text-align: center;
}

.lp_mock_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--lp-muted);
    font-size: .85rem;
    font-weight: 600;
}

.lp_mock_dots {
    display: inline-flex;
    gap: 5px;
}

.lp_mock_dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lp-line);
}

.lp_mock_dots span.on {
    background: var(--lp-primary);
}

.lp_mock_word {
    margin: 34px 0 30px;
    color: var(--lp-ink);
    font-size: clamp(2.8rem, calc(12 * var(--app-vw)), 3.6rem);
    font-weight: 800;
    letter-spacing: -.01em;
    line-height: 1;
}

.lp_mock_buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.lp_mock_buttons span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    border-radius: 14px;
    font-weight: 700;
    font-size: 1.05rem;
}

.lp_mock_ok {
    /* 흰 글자 버튼 : 대비 4.5:1 이상 그라데이션 끝색 (--lp-button-gradient-end) */
    background: linear-gradient(135deg, var(--lp-primary) 0%, var(--lp-button-gradient-end) 100%);
    color: #ffffff;
}

.lp_mock_no {
    background: #eef0f7;
    color: var(--lp-text);
}

.lp_mock_bar {
    height: 6px;
    margin-top: 20px;
    border-radius: 3px;
    background: #eef0f7;
    overflow: hidden;
}

.lp_mock_bar span {
    display: block;
    width: 62%;
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--lp-mint), var(--lp-primary));
}

.lp_chip {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: var(--lp-shadow);
    color: var(--lp-ink);
    font-size: .88rem;
    font-weight: 700;
    white-space: nowrap;
}

.lp_chip i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    color: #ffffff;
    font-size: .8rem;
}

.lp_chip_time {
    top: -18px;
    right: 4px;
    animation: lp-float 4s ease-in-out infinite;
}

.lp_chip_time i {
    background: var(--lp-amber);
}

.lp_chip_known {
    bottom: -20px;
    left: 4px;
    animation: lp-float 4s ease-in-out 1.2s infinite;
}

.lp_chip_known i {
    background: var(--lp-mint);
}

@keyframes lp-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
}

/* ---- 2. 이용 순서 3단계 ---- */
.lp_steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    counter-reset: lp-step;
}

.lp_step {
    position: relative;
    padding: 28px 24px;
    border-radius: var(--lp-radius);
    background: #ffffff;
    box-shadow: var(--lp-shadow);
    transition: transform .2s ease, box-shadow .2s ease;
}

.lp_step:hover {
    transform: translateY(-3px);
    box-shadow: var(--lp-shadow-lg);
}

.lp_step_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 18px;
    border-radius: 16px;
    color: #ffffff;
    font-size: 1.4rem;
}

.lp_step:nth-child(1) .lp_step_icon {
    background: linear-gradient(135deg, #f59e0b, #f97316);
}

.lp_step:nth-child(2) .lp_step_icon {
    background: linear-gradient(135deg, var(--lp-primary), var(--lp-violet));
}

.lp_step:nth-child(3) .lp_step_icon {
    background: linear-gradient(135deg, #14b8a6, #10b981);
}

.lp_step_no {
    position: absolute;
    top: 22px;
    right: 24px;
    color: #e3e6f5;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1;
}

.lp_step h3 {
    margin: 0 0 8px;
    color: var(--lp-ink);
    font-size: 1.2rem;
    font-weight: 800;
}

.lp_step p {
    margin: 0;
    line-height: 1.7;
}

.lp_step_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
}

.lp_step_tags span {
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--lp-soft);
    color: var(--lp-primary);
    font-size: .8rem;
    font-weight: 700;
}

/* ---- 3. 맛보기 테스트 ---- */
.lp_taste {
    max-width: 720px;
    margin: 0 auto;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: var(--lp-shadow-lg);
    overflow: hidden;
}

/* 실제 테스트와 비슷한 어두운 무대 */
.lp_stage {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 380px;
    padding: 36px 20px;
    background: radial-gradient(circle at 50% 0%, #2d3466 0%, #1b1f3b 70%);
    color: #ffffff;
    text-align: center;
}

/* 어두운 맛보기 영역 키보드 포커스 : 짙은 남색 바탕에서 보이도록 밝은 인디고 외곽선 */
.lp_stage :focus-visible {
    outline-color: #c7cdff;
}

/* hidden 속성 우선 적용 (display 지정 요소도 숨김) */
.lp [hidden] {
    display: none !important;
}

.lp_stage_panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.lp_stage_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 18px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .1);
    color: #c7cdff;
    font-size: 1.6rem;
}

.lp_stage h3 {
    margin: 0 0 10px;
    font-size: 1.35rem;
    font-weight: 800;
}

.lp_stage_guide {
    margin: 0 0 26px;
    color: #c3c8e8;
    line-height: 1.7;
}

.lp_countdown {
    font-size: 6rem;
    font-weight: 800;
    line-height: 1;
    animation: lp-pop 1s ease-out infinite;
}

@keyframes lp-pop {
    0% {
        transform: scale(.7);
        opacity: .2;
    }
    30% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.lp_progress {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #c3c8e8;
    font-size: .9rem;
    font-weight: 600;
}

.lp_progress_dots {
    display: inline-flex;
    gap: 6px;
}

.lp_progress_dots span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    transition: background-color .2s ease;
}

.lp_progress_dots span.done {
    background: #8b9bff;
}

.lp_progress_dots span.now {
    background: #ffffff;
}

.lp_taste_word {
    min-height: 1.2em;
    margin: 36px 0 40px;
    font-size: clamp(3rem, calc(14 * var(--app-vw)), 4.6rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.lp_answer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    max-width: 400px;
}

.lp_answer_btn {
    min-height: 64px;
    border: 0;
    border-radius: 16px;
    font-size: 1.25rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform .1s ease, opacity .15s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    user-select: none;
}

.lp_answer_btn:active {
    transform: scale(.96);
}

.lp_answer_btn:disabled {
    opacity: .45;
    cursor: default;
}

.lp_answer_ok {
    /* 흰 글자 버튼 : 대비 4.5:1 이상 그라데이션 끝색 (--lp-button-gradient-end) */
    background: linear-gradient(135deg, var(--lp-primary) 0%, var(--lp-button-gradient-end) 100%);
    color: #ffffff;
}

.lp_answer_no {
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
}

/* 맛보기 결과 */
.lp_result {
    padding: 32px 24px 28px;
}

.lp_result_head {
    text-align: center;
    margin-bottom: 22px;
}

.lp_result_head h3 {
    margin: 0 0 6px;
    color: var(--lp-ink);
    font-size: 1.35rem;
    font-weight: 800;
}

.lp_result_head p {
    margin: 0;
    color: var(--lp-muted);
}

.lp_result_tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.lp_tile {
    padding: 14px 8px;
    border-radius: 16px;
    background: var(--lp-soft);
    text-align: center;
}

.lp_tile strong {
    display: block;
    color: var(--lp-ink);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
    white-space: nowrap;
}

.lp_tile span {
    color: var(--lp-muted);
    font-size: .82rem;
    font-weight: 600;
}

.lp_result_list {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    border: 1px solid var(--lp-line);
    border-radius: 16px;
    overflow: hidden;
}

.lp_result_list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--lp-line);
}

.lp_result_list li:first-child {
    border-top: 0;
}

.lp_result_no {
    flex: 0 0 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--lp-soft);
    color: var(--lp-muted);
    font-size: .8rem;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
}

.lp_result_word {
    flex: 1 1 auto;
    min-width: 0;
}

.lp_result_word strong {
    display: block;
    color: var(--lp-ink);
    font-size: 1.05rem;
}

.lp_result_word span {
    color: var(--lp-muted);
    font-size: .85rem;
}

.lp_result_badge {
    flex: 0 0 auto;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
}

.lp_result_badge.ok {
    background: rgba(20, 184, 166, .12);
    color: #0f8f81;
}

.lp_result_badge.no {
    background: #eef0f7;
    color: var(--lp-text);
}

.lp_result_time {
    flex: 0 0 64px;
    color: var(--lp-ink);
    font-weight: 700;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lp_result_note {
    display: flex;
    gap: 12px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(79, 99, 255, .08), rgba(139, 92, 246, .08));
    color: var(--lp-ink);
    line-height: 1.65;
}

.lp_result_note i {
    margin-top: 4px;
    color: var(--lp-primary);
}

.lp_result_actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

/* 맛보기 결과 아래 작은 회원가입 텍스트 링크 */
.lp_text_link {
    justify-self: center;
    padding: 8px 2px;
    color: var(--lp-primary);
    font-size: .92rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
}

.lp_text_link:hover,
.lp_text_link:focus {
    color: var(--lp-primary-dark);
    text-decoration: underline;
}

.lp_taste_foot {
    margin: 16px 0 0;
    color: var(--lp-muted);
    font-size: .88rem;
    text-align: center;
}

/* ---- 4. 수준 안내 ---- */
.lp_levels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.lp_level {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.lp_level_card {
    width: 100%;
    padding: 18px 8px 16px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: var(--lp-shadow);
}

.lp_level_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 10px;
    border-radius: 14px;
    color: #ffffff;
    font-size: 1.1rem;
    background: var(--lp-level-color);
}

.lp_level_code {
    display: block;
    /* 흰 카드 위 작은 글자 : 대비 4.5:1 이상 진한 수준 색 */
    color: var(--lp-level-text-color);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.lp_level_name {
    display: block;
    color: var(--lp-ink);
    font-size: 1rem;
    font-weight: 800;
}

/* 수준이 오를수록 높아지는 계단 막대 (PC 에서만 표시) */
.lp_level_bar {
    display: none;
    width: 100%;
    margin-top: 12px;
    border-radius: 12px 12px 4px 4px;
    background: var(--lp-level-color);
    opacity: .85;
}

/* 수준별 색 : --lp-level-color 아이콘 바탕·막대, --lp-level-text-color 수준 코드 글자 */
.lp_level:nth-child(1) {
    --lp-level-color: #f59e0b;
    --lp-level-text-color: #b45309;
}

.lp_level:nth-child(2) {
    --lp-level-color: #f97316;
    --lp-level-text-color: #c2410c;
}

.lp_level:nth-child(3) {
    --lp-level-color: #10b981;
    --lp-level-text-color: #047857;
}

.lp_level:nth-child(4) {
    --lp-level-color: #14b8a6;
    --lp-level-text-color: #0f766e;
}

.lp_level:nth-child(5) {
    --lp-level-color: #4f63ff;
    --lp-level-text-color: #4f63ff;
}

.lp_level:nth-child(6) {
    --lp-level-color: #8b5cf6;
    --lp-level-text-color: #6d28d9;
}

.lp_level_note {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 22px;
    margin: 32px 0 0;
    padding: 0;
    list-style: none;
}

.lp_level_note li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--lp-text);
    font-size: .95rem;
}

.lp_level_note i {
    color: var(--lp-mint);
}

/* ---- 5. 이용 준비 안내 ---- */
.lp_prepare {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    max-width: 920px;
    margin: 0 auto;
}

.lp_prepare_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--lp-line);
    border-radius: 14px;
    background: #ffffff;
    font-size: .9rem;
    line-height: 1.55;
}

.lp_prepare_item i {
    flex: 0 0 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--lp-soft);
    color: var(--lp-primary);
    line-height: 34px;
    text-align: center;
}

.lp_prepare_item strong {
    display: block;
    color: var(--lp-ink);
    font-size: .92rem;
}

.lp_prepare_title {
    margin: 0 0 14px;
    color: var(--lp-muted);
    font-size: .9rem;
    font-weight: 700;
    text-align: center;
}

/* ---- 6. 이용 현황 ---- */
.lp_usage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
}

.lp_usage_label {
    color: var(--lp-muted);
    font-weight: 700;
}

.lp_usage_count {
    color: var(--lp-ink);
    font-size: clamp(2.2rem, calc(9 * var(--app-vw)), 3.4rem);
    font-weight: 800;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.lp_usage_count small {
    margin-left: 4px;
    color: var(--lp-text);
    font-size: 1.2rem;
    font-weight: 700;
}

/* ---- 모바일 (575px 이하) : 버튼 전체 폭 ---- */
@media all { /* 앱 영역(최대 480px)은 항상 576px 미만이라 창 폭과 무관하게 적용 */
    .lp_br_m {
        display: inline;
    }

    .lp_inner {
        padding: 0 16px;
    }

    .lp_section {
        padding: 56px 0;
    }

    .lp_hero {
        padding: 44px 0 64px;
    }

    .lp_hero_actions .lp_btn {
        flex: 1 1 100%;
    }

    .lp_hero_desc br {
        display: none;
    }

    .lp_stage {
        min-height: 360px;
        padding: 30px 16px;
    }

    .lp_result {
        padding: 26px 16px 22px;
    }

    .lp_result_list li {
        gap: 10px;
        padding: 12px;
    }

    .lp_result_time {
        flex-basis: 56px;
        font-size: .92rem;
    }

    .lp_tile strong {
        font-size: 1.1rem;
    }
}

/* ---- 태블릿·PC 전용 배치(576·768·992px 이상) 없음: 앱 영역(최대 480px) 안에서는 창 폭과 무관하게 모바일 배치 ---- */

/* 움직임 줄이기 설정 존중 */
@media (prefers-reduced-motion: reduce) {
    .lp *,
    .lp *::before,
    .lp *::after {
        animation: none !important;
        transition: none !important;
    }
}
