/* ===================================
   장지 랜딩 페이지 전용 CSS (burial-landing.css)
   .landing-v2 네임스페이스
   Figma 디자인 기반 (PC: 76:2261)
   =================================== */

/* --- Figma 디자인 시스템 기본 토큰 (Primitive Tokens) --- */
:root {
    /* 컬러: Figma variables */
    --ds-brand: #F57A77;         /* 첫장컬러 */
    --ds-line: #e5e5ec;          /* line */
    --ds-gray-1000: #21222e;     /* color/gray/1000 */
    --ds-gray-900: #21222E;      /* color/natural/gray-900 */
    --ds-gray-800: #626270;      /* color/gray/800 */
    --ds-gray-700: #626270;      /* color/natural/gray-700 */
    --ds-gray-600: #767685;      /* color/natural/gray-600 */
    --ds-gray-400: #b9b9c5;      /* color/gray/400 */
    --ds-gray-300: #e6e6ef;      /* color/gray/300 */
    --ds-disabled: #B9B9C5;      /* Interaction/disabled */

    /* 타이포그래피: 폰트 사이즈 */
    --ds-text-xs: 11px;
    --ds-text-sm: 12px;
    --ds-text-md: 13px;
    --ds-text-base: 14px;        /* Figma: Interface/Body 2 */
    --ds-text-15: 15px;
    --ds-text-label: 16px;       /* Figma: Lable/size/01 */
    --ds-text-17: 17px;
    --ds-text-lg: 18px;
    --ds-text-xl: 20px;
    --ds-text-2xl: 24px;
    --ds-text-3xl: 26px;
    --ds-text-4xl: 28px;
    --ds-text-5xl: 32px;
    --ds-text-6xl: 36px;
    --ds-text-hero: 48px;

    /* 타이포그래피: 줄 높이 */
    --ds-lh-body2: 20px;         /* Figma: Interface/Body 2 */
    --ds-lh-label: 24px;         /* Figma: Lable/line height/01 */
    --ds-lh-tight: 1.2;
    --ds-lh-snug: 1.3;
    --ds-lh-normal: 1.4;
    --ds-lh-relaxed: 1.45;
    --ds-lh-loose: 1.55;
    --ds-lh-expanded: 1.7;
    --ds-lh-wide: 1.8;

    /* 타이포그래피: 폰트 굵기 */
    --ds-weight-regular: 400;
    --ds-weight-medium: 500;     /* Figma: Interface/Body 2 Medium */
    --ds-weight-semibold: 600;
    --ds-weight-bold: 700;       /* Figma: Interface/Body 2 Bold */

    /* 이펙트 */
    --ds-shadow-card: 2px 2px 8px rgba(0, 0, 0, 0.15);  /* Figma: Card */

    /* --- 시맨틱 토큰 (ld-*: 랜딩 페이지 전용) --- */
    --ld-brand: var(--ds-brand);
    --ld-brand-alt: #f47a77;
    --ld-brand-text: #f26d6a;
    --ld-brand-badge: #f68481;
    --ld-brand-red: #ff514d;
    --ld-text-black: #111;
    --ld-text-dark: #202020;
    --ld-text-heading: var(--ds-gray-1000);
    --ld-text-headline: #171615;
    --ld-text-body: #505050;
    --ld-text-muted: #767676;
    --ld-text-tab: var(--ds-gray-600);
    --ld-text-light: #999;
    --ld-text-name: #333;
    --ld-text-stat: #444;
    --ld-text-nav: var(--ds-gray-600);
    --ld-text-nav-active: #424350;
    --ld-bg-hero: #202020;
    --ld-bg-light: #f8f8fa;
    --ld-bg-section: #f8f8f8;
    --ld-bg-card-hot: #fff1f0;
    --ld-bg-card-price: #f8f8f8;
    --ld-bg-badge-type: #fff4f4;
    --ld-bg-divider: #f7f7f7;
    --ld-bg-footer: #404040;
    --ld-text-footer: #c3c3c3;
    --ld-border-footer: #767676;
    --ld-border-light: var(--ds-line);
    --ld-border-card: #d5d5d5;
    --ld-border-tab: #d5d5d5;
    --ld-border-paging: var(--ds-gray-300);
    --ld-border-header: #e8e8f0;
    --ld-border-nav: #d9d9d9;
    --ld-inner-max: 1440px;
}

.landing-v2 .landing-container h1,
.landing-v2 .landing-container h2,
.landing-v2 .landing-container h3,
.landing-v2 .landing-container h4,
.landing-v2 .landing-container p {
    margin: 0;
}

/* --- 랜딩 페이지 전용 --- */
.landing-v2 {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* PC/모바일 문구 전환 유틸리티 */
.landing-v2 .ld-mobile-only { display: none; }
@media (max-width: 960px) {
    .landing-v2 .ld-pc-only { display: none !important; }
    .landing-v2 .ld-mobile-only { display: inline; }
}

/* ===================================
   공통 헤더 (Figma 76:2513)
   모든 페이지에서 사용 (.landing-v2 불필요)
   #header.ld-header: layout.css의 #header 스타일 우선순위 대응
   =================================== */
#header.ld-header {
    position: sticky;
    top: 0;
    width: 100%;
    height: auto;
    z-index: 50;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
}
#header.ld-header .ld-header-inner {
    max-width: var(--ld-inner-max, 1440px);
    margin: 0 auto;
    padding: 16px 0;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}
.ld-header-left {
    display: flex;
    align-items: center;
    gap: 40px;
}
.ld-header-logo {
    flex-shrink: 0;
}
.ld-header-logo img {
    width: 61px;
    height: 27px;
}
.ld-header-nav {
    display: flex;
    align-items: center;
    gap: 28px;
}
.ld-header-nav a {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-nav, #767685); 
    text-decoration: none;
    line-height: var(--ds-lh-label, 24px);
    white-space: nowrap;
    transition: color 0.2s;
}
.ld-header-nav a:hover,
.ld-header-nav a.active {
    color: var(--ld-text-nav-active, #424350);
    font-weight: var(--ds-weight-bold, 700);
}
.ld-header-divider {
    width: 1px;
    height: 16px;
    background: var(--ld-border-header, #e8e8f0);
    flex-shrink: 0;
}
.ld-header-right {
    display: flex;
    align-items: center;
}
.ld-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 1px solid rgba(118,118,118,0.8);
    border-radius: 6px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-md, 13px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-body, #505050);
    text-decoration: none;
    line-height: var(--ds-lh-normal, 140%);
    letter-spacing: -0.325px;
    white-space: nowrap;
    transition: all 0.2s;
}
.ld-header-cta:hover {
    border-color: var(--ld-brand);
    color: var(--ld-brand);
}
/* PC에서 구 menu-bar 숨김 */
#header.ld-header .menu-bar { display: none !important; }
#header.ld-header .inner { display: none; }

/* PC에서 mobile cat-nav 숨김 */
.landing-v2 .ld-mobile-catnav {
    display: none;
}


/* sticky 헤더 전환에 따른 fixed 헤더용 오프셋 리셋
   (landing-v2 스코프에서만 — 레거시 페이지 영향 없음) */
.landing-v2 .box_point {
    margin-top: 0 !important;
}
/* box_point.p_contatiner: 좌우 #fafafa 사이드 패널이 빨간 배경 위에 보이는 문제 제거
   (다른 .p_contatiner 의 사이드 패널은 의도된 디자인이므로 유지) */
.landing-v2 .box_point.p_contatiner::before {
    display: none;
}
.landing-v2 .t_body {
    margin-top: 20px;
}
/* 모바일: box_point shorthand(10px 20px)가 p_contatiner padding을 덮는 문제 방지
   PC에서는 p_contatiner 원래 padding + ::before 보더가 그대로 동작 */
@media (max-width: 960px) {
    .landing-v2 .box_point,
    .landing-v2 .box_point.p_contatiner {
        margin-top: 0 !important;
        padding: 15px 20px;
    }
}
.landing-v2 .sub-visual-list,
.landing-v2 .sub-visual-list2 {
    margin-top: 0;
}
.landing-v2 .product_inner p {
    margin-top: 10px;
}
.landing-v2 .o_contatiner,
.landing-v2 .p_contatiner {
    margin-top: 0;
}
/* !! p_contatiner padding-top 0 + 자식의 margin-top 이 부모 밖으로 새어나가는 margin collapse 방지 */
.landing-v2 .p_contatiner:not(.box_point) {
    padding-top: 0.1px;
}
/* sticky 헤더 + sub-notice-wrap/notice-view 여백 조정
   PC: notice-view margin-top 40px 유지 (원본 가시여백 40px 재현)
   모바일: notice-view margin 0 (원본 가시여백 ≈ 0px 재현) */
.landing-v2 .sub-notice-wrap {
    padding-top: 0;
}
@media (max-width: 960px) {
    .landing-v2 .notice-view {
        margin-top: 0 !important;
    }
}

.landing-v2 .sub-faq-wrap {
    padding-top: 0;
}

/* 모바일 뒤로가기 헤더 (detail view 전용) */
#header.ld-header .ld-header-back-inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 45px;
    padding: 0 16px;
}
.ld-header-back-btn {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.ld-header-back-btn img {
    width: 30px;
    height: 30px;
}
.ld-header-title {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-body, #505050);
    line-height: var(--ds-lh-label, 24px);
    text-align: center;
    pointer-events: none;
}

/* 공통 */
/* TODO Frame 2147237861 확인 */
.landing-v2 .landing-container {
    display: flex;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    flex-direction: column;
    align-items: stretch;
    overflow-x: clip;
}
/* !! 섹션 공통 좌우 패딩
   - 피그마: 1920 뷰포트에서 content 1440 + 좌우 240
   - 1920 미만으로 줄면 content는 1440 유지하고 패딩만 줄어들도록 max() 사용
   - 1480(=1440+20*2) 미만으로 내려가면 패딩이 20px에서 멈추고 content가 줄어듦 */
.landing-v2 .landing-container > section,
.landing-v2 .ld-recommend-container > section {
    padding-inline: max(20px, calc((100% - var(--ld-inner-max)) / 2));
    box-sizing: border-box;
}
.landing-v2 .landing-container > .ld-recommend-container {
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}
/* 히어로: 패딩 없이 전체 너비 */
.landing-v2 .landing-container > .ld-hero {
    padding-left: 0;
    padding-right: 0;
}
.landing-v2 .ld-section-title {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-5xl, 32px);
    font-weight: var(--ds-weight-semibold, 600);
    text-align: center;
    color: var(--ld-text-black, #111);
    letter-spacing: -0.8px;
    line-height: var(--ds-lh-relaxed, 1.45);
}
.landing-v2 .ld-section-subtitle {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-body, #505050);
    text-align: center;
    margin-bottom: 0; /* !! h 태그는 기본 margin이 있어서 제거 필요 */
    letter-spacing: -0.4px;
    line-height: var(--ds-lh-relaxed, 1.45);
}

/* ===================================
   공통: 스크롤 버튼 (60x60, blur, shadow)
   =================================== */
.landing-v2 .ld-scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    border-radius: 46px;
    background: rgba(255,255,255,0.8);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    border: none;
    box-shadow: -5px -1px 8px rgba(0,0,0,0.08), 2px 4px 6px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.2s;
}
.landing-v2 .ld-scroll-btn:hover {
    background: rgba(255,255,255,0.95);
}
.landing-v2 .ld-scroll-prev { left: 10px; }
.landing-v2 .ld-scroll-next { right: 10px; }
.landing-v2 .ld-scroll-btn.swiper-button-disabled {
    opacity: 0.3;
    cursor: default;
}

/* ===================================
   섹션 1: 히어로
   =================================== */
.landing-v2 .ld-hero {
    background: var(--ld-bg-hero, #202020); 
    position: relative;
    width: 100%;
    height: 720px;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.landing-v2 .ld-hero-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    opacity: 0.15;
    overflow: hidden;
    background: lightgray 50% / cover no-repeat;
}
.landing-v2 .ld-hero-bg img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.landing-v2 .ld-hero-inner {
    position: relative;
    z-index: 1;
    width: 896px;
    margin-left: 320px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.landing-v2 .ld-hero-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}
.landing-v2 .ld-hero-badge {
    display: inline-block;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-brand-badge, #f68481);
    letter-spacing: 0.488px;
    text-transform: uppercase;
    line-height: var(--ds-lh-label, 24px);
}
.landing-v2 .ld-hero h1 {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-hero, 48px);
    font-weight: var(--ds-weight-semibold, 600);
    line-height: var(--ds-lh-snug, 1.3);
    color: #fff;
    letter-spacing: -1.2px;
    margin: 0;
}
.landing-v2 .ld-hero-desc {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-lg, 18px);
    font-weight: var(--ds-weight-medium, 500);
    line-height: var(--ds-lh-normal, 1.4);
    color: #fff;
    letter-spacing: -0.45px;
    width: 651px;
    margin: 0; 
}
.landing-v2 .ld-hero-slider {
    position: relative;
    width: 100%; height: 720px;
}
.landing-v2 .ld-hero-slider .swiper-slide {
    height: 720px;
    display: flex;
    align-items: center;
}

/* ===================================
   섹션 2: 상황 입력
   =================================== */
.landing-v2 .ld-situation {
    padding: 80px 0;
    background: linear-gradient(to bottom, #f7f7fb, rgba(247,247,251,0));
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.landing-v2 .ld-situation-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    align-self: stretch;
}
.landing-v2 .ld-situation-badge-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    align-self: stretch;
}
.landing-v2 .ld-situation-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    justify-content: center;
    border: 1px solid var(--ld-border-light, #e5e5ec);
    border-radius: 100px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-black, #111);
    letter-spacing: -0.3px;
    line-height: var(--ds-lh-relaxed, 1.45);
}
.landing-v2 .ld-situation .ld-section-title {
    margin-bottom: 0; 
    align-self: stretch;
    color: var(--ld-text-black, #111);
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-5xl, 32px);
    font-weight: var(--ds-weight-semibold, 600);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.8px;
}
.landing-v2 .ld-situation .ld-section-subtitle { 
    margin-bottom: 0;
    align-self: stretch;
    color: var(--ld-text-body, #505050);
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.4px;
}
.landing-v2 .ld-situation-cards {
    display: flex;
    padding: 36px 0;
    justify-content: center;
    align-items: center;
    gap: 16px;
    align-self: stretch;
}
.landing-v2 .ld-situation-card {
    display: flex; 
    gap: 16px;
    width: 335px; 
    height: 174px;
    background: #fff;
    border: none;
    border-radius: 16px;
    padding: 24px 20px 20px 20px;
    align-items: center;
    text-decoration: none;
    color: var(--ld-text-black, #111);
    box-shadow: var(--ds-shadow-card, 2px 2px 8px rgba(0, 0, 0, 0.15));
    box-sizing: border-box;
    cursor: pointer;
    font-family: inherit; /* button은 기본적으로 시스템 폰트이므로 상속 필요 */
    text-align: left; /* button 태그는 기본적으로 텍스트 중앙 정렬이므로 왼쪽 정렬로 변경 */
    transition: transform 0.2s;
}
.landing-v2 .ld-situation-card:hover,
.landing-v2 .ld-situation-card:active {
    background: #fff1f0;
    border: 3px solid var(--ld-brand-alt,#f47a77);
    padding: 21px 17px 17px; /* border 3px 추가로 패딩 감소 */
}
.landing-v2 .ld-situation-card .ld-card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    min-width: 0; /* 텍스트 길어지는 경우, flex 레이아웃 깨짐 방지 */
}
.landing-v2 .ld-situation-card .ld-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    row-gap: 20px; /* 화면이 좁아지는 경우, row 간격 유지 */
    align-self: stretch;
    flex-wrap: wrap;
}
.landing-v2 .ld-situation-card .ld-card-top-left {
    display: flex; 
    gap: 20px; 
    align-items: flex-start;
}
.landing-v2 .ld-situation-card .ld-card-icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}
.landing-v2 .ld-situation-card .ld-card-icon img {
    width: 60px; height: 60px; object-fit: contain;
}
.landing-v2 .ld-situation-card .ld-card-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start; 
    gap: 6px;
    width: 152px;
}
.landing-v2 .ld-situation-card h3 {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-lg, 18px);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-black, #111);
    letter-spacing: -0.36px;
    line-height: var(--ds-lh-normal, 1.4);
    margin: 0;
}
.landing-v2 .ld-situation-card .ld-card-desc {
    min-width: 88px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-md, 13px); 
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-body, #505050);
    letter-spacing: -0.325px;
    line-height: var(--ds-lh-relaxed, 1.45);
    margin: 0;
}
.landing-v2 .ld-situation-card .ld-card-arrow {
    width: 32px; 
    height: 32px; 
    flex-shrink: 0;
    display: flex; 
    align-items: center; 
    justify-content: center;
}
.landing-v2 .ld-card-tags {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 8px;
    align-items: flex-start;
    align-self: stretch;
}
.landing-v2 .ld-card-tag-group {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 2px;
    align-items: flex-start;
    align-content: flex-start;
    align-self: stretch;
}
.landing-v2 .ld-card-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 4px 8px;
    background: var(--ld-bg-light, #f8f8fa);
    border-radius: 100px;
    font-family: 'Pretendard', 
    sans-serif;
    font-size: var(--ds-text-sm, 12px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-black, #111);
    letter-spacing: -0.3px; 
    line-height: var(--ds-lh-normal, 1.4);
}

/* ===================================
   섹션 3: 고객 후기
   진행바, 블러, 카테고리 배지, 스크롤 버튼
   =================================== */
.landing-v2 .ld-reviews {
    display: flex;
    padding: 10px 0;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    align-self: stretch;
    overflow: hidden;
}
.landing-v2 .ld-reviews-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    align-self: stretch;
}
.landing-v2 .ld-reviews-header .ld-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    align-self: stretch;
    color: var(--ld-text-black, #111);
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-5xl, 32px);
    font-weight: var(--ds-weight-semibold, 600);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.8px;
    margin: 0; /* h 태그 기본 margin 제거 */
}
.landing-v2 .ld-reviews-header .ld-section-subtitle {
    align-self: stretch;
    text-align: left;

    color: var(--ld-text-body, #505050);
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.4px;
}
.landing-v2 .ld-review-count {
    font-size: var(--ds-text-2xl, 24px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-muted, #767676);
    letter-spacing: -0.6px;
    line-height: var(--ds-lh-normal, 1.4);
}
.landing-v2 .ld-reviews-track {
    position: relative;
    align-self: stretch;
    height: 482px;
    display: flex;
    align-items: center;
}
.landing-v2 .ld-reviews-slider {
    overflow: hidden;
}
.landing-v2 .ld-reviews-slider .swiper-wrapper {
    align-items: stretch;
    height: 100%;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.landing-v2 .ld-reviews-slider .swiper-slide {
    width: 308px;
    height: auto; /* !! swiper-slide은 기본적으로 콘텐츠 크기에 맞춰지므로 height: auto로 설정 */
}
/* 여기부터 하면 됨. 솔직 후기 타이틀은 했고, 카드랑 아래 인디케이터까지. */
.landing-v2 .ld-review-card {
    display: flex;
    flex-direction: column;
    width: 308px;
    align-items: flex-start;
    flex-shrink: 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: var(--ld-text-black, #111);
    transition: all 0.3s;
    height: 100%; /* !! 카드 높이 통일 위해 추가 (Figma 76:2910) */
}
.landing-v2 .ld-review-card:hover {
    transform: translateY(-4px);
}
.landing-v2 .ld-review-img {
    height: 211px;
    overflow: hidden;
    position: relative;
    border-radius: 12px 12px 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    background: lightgray; /* !! 이미지 없는 경우 대비 */
}
.landing-v2 .ld-review-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.landing-v2 .ld-review-img-empty {
    background: #F7F8F9 url(/images/landing/no-image.png) no-repeat center / 32px 32px;
}
/* 카테고리 배지 (review body 내) */
.landing-v2 .ld-review-cat-badge {
    display: flex;
    padding: 3px 12px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    left: 16px;
    top: 200px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.70);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    color: var(--ld-text-black, #111);
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px);
    font-weight: var(--ds-weight-medium, 500);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.3px;
}
.landing-v2 .ld-review-body {
    display: flex;
    padding: 24px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    border: 1px solid var(--ld-border-light, #e5e5ec);
    border-top: none;
    border-radius: 0 0 12px 12px;
}
/* Figma 76:2910: 제목+본문 고정 높이 (카드 높이 일정하게) */
.landing-v2 .ld-review-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}
.landing-v2 .ld-review-meta {
    display: flex;
    width: 260px;
    align-items: center;
    gap: 6px;
}
.landing-v2 .ld-review-writer {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Pretendard', sans-serif;
    font-weight: var(--ds-weight-medium, 500);
    font-size: var(--ds-text-base, 14px);
    color: var(--ld-text-name, #333);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.35px;
}
.landing-v2 .ld-review-dot {
    width: 3px;
    height: 3px;
    flex-shrink: 0;
    background: var(--ld-border-light, #e5e5ec);
    border-radius: 50%;
}
.landing-v2 .ld-review-burial {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.35px;
}
.landing-v2 .ld-review-stars-date {
    display: flex;
    align-items: center;
    gap: 4px;
}
.landing-v2 .ld-review-stars {
    display: flex;
    align-items: center;
}
.landing-v2 .ld-review-stars svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.landing-v2 .ld-review-divider {
    width: 0.75px;
    height: 11px;
    background: var(--ld-border-light, #e5e5ec);
    flex-shrink: 0;
}
.landing-v2 .ld-review-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-xs, 11px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.275px;
}
.landing-v2 .ld-review-text-wrap {
    display: flex;
    height: 116px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    align-self: stretch;
    overflow: hidden;
}
.landing-v2 .ld-review-title {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-semibold, 600);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.4px;
    color: var(--ld-text-black, #111);
    margin: 0;
    /* 제목을 두 줄로 제한 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.landing-v2 .ld-review-content {
    overflow: hidden;
    color: var(--ld-text-muted, #767676);
    text-overflow: ellipsis;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-regular, 400);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.35px;
    
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    align-self: stretch;
}
/* 블러 효과 */
.landing-v2 .ld-reviews-blur {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 200px;
    z-index: 5;
    pointer-events: none;
}
.landing-v2 .ld-blur-left {
    left: 0;
    background: linear-gradient(270deg, rgba(255,255,255,0) -2.23%, #FFF 95.57%);
}
.landing-v2 .ld-blur-right {
    right: 0;
    background: linear-gradient(270deg, #FFF 2.92%, rgba(255,255,255,0) 100.72%);
}
/* 진행 바 (Figma: 왼쪽 정렬, 212px) */
.landing-v2 .ld-reviews-progress {
    display: flex;
    width: 212px;
    align-items: center;
    gap: 4px;
}
.landing-v2 .ld-reviews-progress-track {
    flex: 1;
    height: 4px;
    background: rgba(17,17,17,0.2);
    border-radius: 2px;
    overflow: hidden;
}
.landing-v2 .ld-reviews-progress-bar {
    height: 4px;
    width: 40px;
    background: var(--ld-text-black, #111);
    border-radius: 2px;
    transition: transform 0.3s;
}
.landing-v2 .ld-reviews-pause {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    cursor: pointer;
    /* !! 버튼 기본 스타일 제거 */
    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===================================
   섹션 4: 서비스 이용 안내
   4개 한 줄 (nowrap)
   =================================== */
.landing-v2 .ld-service-guide {
    display: flex;
    width: 100%;
    padding-top: 120px;
    padding-bottom: 120px;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    background: #FFF;
}
.landing-v2 .ld-service-guide .ld-section-title {
    align-self: stretch;
    color: #000; /* 확인 !문의 남김!*/
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-4xl, 28px);
    font-weight: var(--ds-weight-semibold, 600);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.7px;
}
.landing-v2 .ld-guide-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 8px;
    align-self: stretch;
    flex-wrap: wrap;
}
.landing-v2 .ld-guide-step {
    display: flex;
    width: 335px;
    min-width: 335px;
    padding: 36px 40px 44px 40px;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    background: var(--ld-bg-light, #f8f8fa);
    border-radius: 8px;
    border-bottom: 1px solid var(--ld-bg-light, #f8f8fa);

    flex-shrink: 0; /* !! 형태 유지 */
    align-self: stretch; /* !! p 내용에 따라 height 달라져서 동일하게 만들기 위해 적용 */
}
.landing-v2 .ld-guide-step-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    flex: 1;  /* !! 아이콘을 제외한 텍스트 영역을 채우기 위해 적용 */
}
.landing-v2 .ld-guide-step h3 {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-lg, 18px);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-brand-text, #F26D6A);
    letter-spacing: -0.45px;
    line-height: normal;
    margin: 0; /* !! h3 기본 마진 제거 */
}
.landing-v2 .ld-guide-step p {
    max-width: 183px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-body, #505050);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.28px;
    margin: 0;  /* !! p 기본 마진 제거 */
}
.landing-v2 .ld-guide-icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}
.landing-v2 .ld-guide-icon img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}
.landing-v2 .ld-guide-arrow {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.landing-v2 .ld-guide-arrow svg { 
    width: 16px;
    height: 16px;
}

/* ===================================
   섹션 5: 미션 + 통계
   =================================== */
.landing-v2 .ld-mission {
    margin-bottom: 120px; /* !! 인트로+큐레이션 레이어의 gap을 margin-bottom으로 치환 */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}
.landing-v2 .ld-mission-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    align-self: stretch;
}
.landing-v2 .ld-mission-header h2 {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-5xl, 32px);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.8px;
    margin: 0;
}
.landing-v2 .ld-mission-header p {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-body, #505050);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.32px;
    margin: 0;
}
.landing-v2 .ld-mission-content {
    display: flex;
    justify-content: center;
    align-items: center; /* !! wrap 시 동영상/chips 중앙 정렬 */
    align-content: center; /* !! wrap 시 row 간격 중앙 정렬 */
    gap: 40px;
    align-self: stretch;
    flex-wrap: wrap;
}
/* TODO overlay 등 확인 필요 */
.landing-v2 .ld-mission-video {
    flex: 0 1 702px;
    max-width: 702px;
    min-width: 0;
    aspect-ratio: 702 / 394;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    background: lightgray;
}
.landing-v2 .ld-mission-video > img,
.landing-v2 .ld-mission-video-thumb {
    position: absolute; left: 0;
    width: 100%; height: 120%; top: -10%;
    object-fit: cover; object-position: center center;
}
.landing-v2 .ld-mission-video-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(270deg, rgba(0,0,0,0.15) -0.05%, rgba(0,0,0,0.50) 72.09%);
}
.landing-v2 .ld-mission-video-dim {
    position: absolute; left: 0; right: 0; top: 50%; bottom: 0;
    background: linear-gradient(180deg, rgba(17,17,17,0) 46.64%, rgba(17,17,17,0.50) 101.42%);
}
.landing-v2 .ld-mission-play {
    position: absolute; 
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%);
    width: 104px;
    height: 104px;
    background: rgba(17,17,17,0.5);
    border-radius: 100px;
    display: flex; 
    align-items: center; 
    justify-content: center;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    z-index: 2;
    cursor: pointer;
}
.landing-v2 .ld-stats-chips {
    display: flex;
    max-width: 698px;
    align-items: flex-start;
    justify-content: center;
    flex: 1;
    flex-shrink: 0;
}
.landing-v2 .ld-stat-item {
    display: flex;
    padding: 20px 12px;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    flex: 1;
}
.landing-v2 .ld-stat-circle {
    width: 112px;
    height: 112px;
    border-radius: 999px;
    border: 2px solid var(--ld-brand, #F57A77);
    background: lightgray;
    overflow: hidden; 
    position: relative;
    flex-shrink: 0;
}
.landing-v2 .ld-stat-circle img {
    width: 100%; height: 100%; object-fit: cover;
}
.landing-v2 .ld-stat-circle-overlay {
    display: none;
}
.landing-v2 .ld-stat-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    align-self: stretch;
}
.landing-v2 .ld-stat-label {
    align-self: stretch;
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-15, 15px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-stat, #444);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.375px;
}
.landing-v2 .ld-stat-value-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2px;
}
.landing-v2 .ld-stat-value {
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-2xl, 24px);
    font-weight: var(--ds-weight-bold, 700);
    color: var(--ld-brand, #F57A77);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.6px;
}
.landing-v2 .ld-stat-unit {
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-17, 17px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.425px;
}
.landing-v2 .ld-stat-divider {
    width: 1px;
    height: 160px;
    background: var(--ld-border-light, #e5e5ec);
    flex-shrink: 0;
}

/* ===================================
   섹션 6: 장지 유형 안내
   4개 한 줄 (nowrap)
   =================================== */
.landing-v2 .ld-type-guide {
    display: flex;
    padding-top: 40px;
    padding-bottom: 40px;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    margin-bottom: 120px; /* !! 인트로+큐레이션 레이어의 gap을 margin-bottom으로 치환 */
    background: #fff;
}
.landing-v2 .ld-type-guide-header {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.landing-v2 .ld-type-guide-header h2 {
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-5xl, 32px);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.8px;
    margin: 0;
}
.landing-v2 .ld-type-guide-header p { 
    flex: 1;
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-body, #505050);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.32px;
    margin: 0;
}
.landing-v2 .ld-type-cards {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: flex-start;
    align-content: center; /* !! wrap 시 줄 단위 중앙 정렬 */
    gap: 20px 12px;
    flex-wrap: wrap;
}
.landing-v2 .ld-type-card {
    position: relative;
    display: flex;
    width: 335px;
    min-width: 0; /* !! 텍스트 길이에 따라 카드 너비가 늘어나는 것을 방지 */
    padding: 36px 16px 24px;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 20px 40px;
    flex-shrink: 0;
    flex-wrap: wrap;
    border-radius: 12px;
    border: 1px solid var(--ld-border-card, #D5D5D5);
    background: #fff;
    box-sizing: border-box;
}
.landing-v2 .ld-type-hot {
    border: 2px solid var(--ld-brand-alt, #F47A77);
}
.landing-v2 .ld-type-badges {
    display: flex;
    align-items: center;
    gap: 3px;
    position: absolute;
    /* !! figma border edge 기준 top 12px, left: 9px */
    top: -14px;
    left: 7px;
}
.landing-v2 .ld-type-badge-basis {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #101010;
    border-radius: 999px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-semibold, 600);
    color: #fff;
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.28px;
    white-space: nowrap;
}
.landing-v2 .ld-type-badge-hot {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: var(--ld-brand-alt, #F47A77);
    border-radius: 999px;
    font-family: 'Poppins', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-medium, 500);
    color: #fff;
    line-height: var(--ds-lh-normal, 1.4);
    white-space: nowrap;
}
.landing-v2 .ld-type-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 12px;
    flex: 1 0 0;
}
.landing-v2 .ld-type-desc {
    width: 100%;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-15, 15px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-loose, 1.55);
    letter-spacing: -0.375px;
    margin: 0;
}
.landing-v2 .ld-type-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    padding: 12px 20px;
    width: 100%;
    border-radius: 8px;
    background: var(--ld-bg-card-price, #f8f8f8);
    box-sizing: border-box;
}
.landing-v2 .ld-type-hot .ld-type-price-row {
    background: var(--ld-bg-card-hot, #fff1f0);
}
.landing-v2 .ld-type-name {
    width: 95px;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-dark, #202020);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.4px;
}
.landing-v2 .ld-type-price-value {
    display: flex; align-items: center; gap: 2px;
}
.landing-v2 .ld-type-price-num {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-lg, 18px); 
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-relaxed, 1.45);
    letter-spacing: -0.81px;
}
.landing-v2 .ld-type-price-unit {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-body, #505050);
    line-height: var(--ds-lh-loose, 1.55);
    letter-spacing: -0.3px;
}

/* ===================================
   섹션 7~9: 추천 장지 (가로 스크롤)
   =================================== */
.landing-v2 .ld-recommend-container {
    /* TODO 스크롤 포함한 width 필요. 1477px */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 70px;
    margin-bottom: 80px; /* !! bottom-curation, media 사이의 gap을 margin-bottom으로 치환 */
}
.landing-v2 .ld-recommend {
    width: 100%;
    height: 386px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.landing-v2 .ld-recommend-header {
    width: 100%;
}
.landing-v2 .ld-recommend-header h2 {
    display: flex;
    align-items: center;
    gap: 6px;
    align-self: stretch;
    flex: 1;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-3xl, 26px);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-tight, 1.2);
    letter-spacing: -0.65px;
}
.landing-v2 .ld-recommend-header h2 img {
    width: 28px;
    height: 28px;
} /* TODO track 동작 및 스타일 확인 필요. width 등 */
.landing-v2 .ld-recommend-track {
    position: relative;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.landing-v2 .ld-recommend-track .ld-scroll-btn {
    top: 58px;
    transform: none;
}
.landing-v2 .ld-recommend-track .ld-scroll-prev {
    left: -30px;
}
.landing-v2 .ld-recommend-track .ld-scroll-prev.swiper-button-disabled {
    opacity: 0;
    pointer-events: none;
}
.landing-v2 .ld-recommend-track .ld-scroll-next {
    right: -37px;
}

@media (max-width: 1480px) and (min-width: 961px) {
    .landing-v2 .ld-recommend-header,
    .landing-v2 .ld-recommend-track { padding-inline: 40px; }
    .landing-v2 .ld-recommend-track .ld-scroll-prev { left: 0; }
    .landing-v2 .ld-recommend-track .ld-scroll-next { right: 0; }
}
.landing-v2 .ld-recommend-slider {
    overflow: hidden;
}
.landing-v2 .ld-recommend-slider .swiper-wrapper {
    /* !! swiper에서 슬라이드 자체적으로 spaceBetween을 계산하고, 동작하기 때문에 gap으로 조절하는 것보다 spaceBetween을 사용하는 것을 권장. */
    display: flex;
    align-items: flex-start;
    align-self: stretch;
}
.landing-v2 .ld-recommend-slider .swiper-slide {
    width: 272px;
}
.landing-v2 .ld-recommend-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    text-decoration: none;
    color: var(--ld-text-black, #111);
    width: 100%;
}/* TODO height, raito 확인 */
.landing-v2 .ld-recommend-img {
    height: 160px;
    align-self: stretch;
    aspect-ratio: 17 / 10;
    overflow: hidden;
    background: var(--ld-bg-section, #f8f8f8);
    transition: height 0.3s ease;
}
@media (hover: hover) and (min-width: 961px) {
    .landing-v2 .ld-recommend-item:hover .ld-recommend-img,
    .landing-v2 .ld-recommend-item:active .ld-recommend-img {
        height: 272px;
        aspect-ratio: auto;
    }
}
.landing-v2 .ld-recommend-img img {
    width: 100%; 
    height: 100%; 
    object-fit: cover;
}
.landing-v2 .ld-recommend-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
}
.landing-v2 .ld-recommend-info-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.landing-v2 .ld-recommend-info h4 {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-xl, 20px); 
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-dark, #202020);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.5px; 
    margin: 0;
}
.landing-v2 .ld-recommend-loc {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px); 
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-tight, 1.2);
    letter-spacing: -0.35px;
}
.landing-v2 .ld-recommend-tags {
    flex-shrink: 0;
}
.landing-v2 .ld-recommend-tags span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 3px 8px;
    border-radius: 4px;
    background: var(--ld-bg-badge-type, #fff4f4);

    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px); 
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-brand, #F57A77);
    line-height: normal;
    letter-spacing: -0.24px;

    white-space: nowrap;
}

/* ===================================
   섹션 10: 장례정보 AtoZ (탭)
   Figma: 140:11472
   =================================== */
.landing-v2 .ld-content-section {
    display: flex;
    padding: 60px 0;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    background: var(--ld-bg-section, #f8f8f8);
    margin-bottom: 120px; /* !! media+Q&A 레이어의 gap을 margin-bottom으로 치환 */
}
/* 탭 바 (Figma: 제목 위에 위치) */
.landing-v2 .ld-atoz-tabs {
    display: inline-flex;
    padding: 12px 0;
    align-items: center;
    /* align-self: stretch; */

    width: 100%;
    max-width: 900px;
}
.landing-v2 .ld-atoz-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
    
    align-self: stretch;

    font-family: 'Pretendard', sans-serif;
    text-align: center;
    font-size: var(--ds-text-lg, 18px); 
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.45px;

    flex: 1;

    /* !! 버튼 기본 스타일 제거 */
    border: none;
    background: none;
    cursor: pointer;

    /* !! 탭 간격 및 구분을 위해 padding과 border-bottom 사용 */
    padding: 0 0 15px;
    border-bottom: 1px solid var(--ld-border-tab, #d5d5d5);
    transition: all 0.2s;
}
.landing-v2 .ld-atoz-tab.active {
    color: var(--ld-brand, #F57A77);
    padding: 0 0 13px;
    border-bottom: 3px solid var(--ld-brand, #F57A77);
}
/* 제목 영역 (Figma: contents 블록 안, gap 32px) */
.landing-v2 .ld-atoz-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 100%;
    align-self: stretch;    
}
.landing-v2 .ld-atoz-title-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.landing-v2 .ld-atoz-title-area .ld-section-title {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-4xl, 28px);
    color: var(--ld-text-heading, #21222E);
    line-height: 36px;
    letter-spacing: -0.7px;
    margin-bottom: 0;
}
.landing-v2 .ld-atoz-brand {
    color: var(--ld-brand-red, #FF514D);
    text-align: center;
}
.landing-v2 .ld-atoz-title-area .ld-section-subtitle {
    text-align: center;
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-body, #505050);
    line-height: 28px;
    letter-spacing: -0.4px;
    margin-bottom: 0;
}
/* 탭 콘텐츠 */
.landing-v2 .ld-atoz-content {
    display: none;
    width: 100%;
}
.landing-v2 .ld-atoz-content.active {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}
.landing-v2 .ld-atoz-slider {
    overflow: hidden;
    width: 100%;
    min-height: 420px;
}
/* AtoZ 카드 (flat, 카드 래핑 없음) */
.landing-v2 .ld-atoz-card {
    display: flex;
    width: 100%;
    max-width: 335px;
    height: 398px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    flex-shrink: 0;
    text-decoration: none;
}
.landing-v2 .ld-atoz-thumb {
    position: relative;
    height: 230px;
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 8px;
    overflow: hidden;
    background: var(--ld-bg-section, #f8f8f8);
}
.landing-v2 .ld-atoz-thumb img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 174px;
    object-fit: cover;
}
.landing-v2 .ld-atoz-thumb-empty {
    /* .ld-atoz-thumb img 와 동일한 박스 영역(174px, 가운데)을 차지하도록 일치시킴 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 174px;
    background: #DADDDF url(/images/landing/no-image.png) no-repeat center / 32px 32px;
}
.landing-v2 .ld-atoz-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}
.landing-v2 .ld-atoz-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}
.landing-v2 .ld-atoz-info h4 {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-xl, 20px);
    font-weight: var(--ds-weight-bold, 700);
    line-height: 32px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.landing-v2 .ld-atoz-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    align-self: stretch;

    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--ds-text-label, 16px); 
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ds-gray-600, #767685);
    line-height: var(--ds-lh-loose, 1.55);
    margin: 0;
}
.landing-v2 .ld-atoz-tags {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}
.landing-v2 .ld-atoz-tag {
    display: inline-flex;
    padding: 6px 8px;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #fff;

    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px); 
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-normal, 1.4);
}
/* 페이지네이션 (Figma: 230px, 32x32 버튼) */
.landing-v2 .ld-atoz-paging {
    display: flex;
    width: 230px;
    justify-content: space-between;
    align-items: center;
}
.landing-v2 .ld-atoz-paging-prev,
.landing-v2 .ld-atoz-paging-next {
    width: 32px; 
    height: 32px;
    border-radius: 4px;
    border: 1px solid var(--color-gray-300, #E6E6EF);

    background: transparent;
    display: flex; 
    align-items: center; 
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.2s;
}
.landing-v2 .ld-atoz-paging-prev:hover,
.landing-v2 .ld-atoz-paging-next:hover {
    border-color: var(--ds-gray-1000, #21222e);
}
.landing-v2 .ld-atoz-paging-text {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px); 
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ds-gray-800, #626270);
    line-height: var(--ds-lh-body2, 20px);

    display: flex; 
    align-items: center; 
    gap: 4px;
}
.landing-v2 .ld-atoz-paging-text strong {
    font-weight: var(--ds-weight-bold, 700);
}

/* ===================================
   섹션 11: FAQ (더 많은 질문 보기 없음)
   =================================== */
.landing-v2 .ld-faq {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    gap: 12px;
    flex: 1;
    background: #fff;
    margin-bottom: 120px; /* !! Q&A + cowork 레이어의 gap을 margin-bottom으로 치환 */
}
.landing-v2 .ld-faq-header {
    display: flex;
    padding-bottom: 40px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    border-bottom: 2px solid var(--ld-border-card, #D5D5D5);
}
.landing-v2 .ld-faq-title {
    align-self: stretch;

    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-xl, 20px); 
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-snug, 1.3);
    letter-spacing: -0.5px; 
    margin: 0; 
}
.landing-v2 .ld-faq-subtitle {
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px); 
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-muted, #767676);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.4px; 
    margin: 0; 
}
.landing-v2 .ld-faq-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
}
.landing-v2 .ld-faq-item {
    display: flex;
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    align-self: stretch;
    border-bottom: 1px solid var(--ld-border-light, #e5e5ec);
    background: #fff;
}
.landing-v2 .ld-faq-item:last-child {
    border-bottom: none;
}
.landing-v2 .ld-faq-q {
    display: flex; /* summary 기본 display: list-item 덮어쓰기 */
    align-items: flex-start;
    gap: 12px;
    flex: 1 0 0;
    cursor: pointer;
    width: 100%;
    /* !! 시니어 접근성: padding 영역까지 클릭 가능하도록 summary 자체에 padding 부여 */
    padding: 32px 0;
    margin: 0;
    list-style: none; /* summary 기본 disclosure marker 제거 (modern) */
}
.landing-v2 .ld-faq-item[open] > .ld-faq-q {
    padding-bottom: 12px; /* 펼친 상태에서는 답변과의 간격(기존 gap)만큼만 유지 */
}
/* cross-browser marker 숨김 */
.landing-v2 .ld-faq-q::-webkit-details-marker { display: none; }
.landing-v2 .ld-faq-q::marker { content: ''; }
.landing-v2 .ld-faq-icon {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-xl, 20px); 
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.6px; 
    /* TODO shrink 왜?  */
    /* flex-shrink: 0; */
}
.landing-v2 .ld-faq-question {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-lg, 18px); 
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-black, #111);
    line-height: var(--ds-lh-normal, 1.4); 
    letter-spacing: -0.54px; 
    flex: 1;
}
.landing-v2 .ld-faq-arrow {
    width: 28px; 
    height: 28px; 
    flex-shrink: 0;
    display: flex; 
    align-items: center; 
    justify-content: center;
    transition: transform 0.3s;
}
.landing-v2 .ld-faq-arrow svg {
    width: 21px;
    height: 12px;
}
.landing-v2 .ld-faq-item[open] .ld-faq-arrow {
    transform: rotate(180deg);
}
.landing-v2 .ld-faq-a {
    padding: 0 40px 32px 27px; /* item 의 padding-bottom 을 summary 클릭영역으로 옮긴 만큼 답변 하단으로 이동 */
    align-self: stretch;
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-base, 14px);
    font-weight: var(--ds-weight-medium, 500);
    color: var(--ld-text-light, #999);
    line-height: var(--ds-lh-normal, 1.4);
    letter-spacing: -0.42px;
}

/* ===================================
   푸터 스타일 오버라이드
   =================================== */
/* footer-above: 그룹사 로고 영역 (Figma: 100:897 co_work) */
.landing-v2 .footer-above {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; /* !! 화면 사이즈에 따라 줄 바꿈 허용 */
    gap: 20px;
    min-height: 120px; /* !! figma 120px, 디자인 시스템에서는 80px로 정의되어 있어 min-height로 조절 */
    padding: 20px 40px; /* !! figma 20px, 디자인 시스템에서는 40px로 정의되어 있어 padding으로 조절 */
    width: 100%;
    background: #fff;
    box-sizing: border-box;
}
.landing-v2 .footer-above-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    background: #fff;
    flex-shrink: 0;
    overflow: hidden;
}
.landing-v2 .footer-above-logo--kw { width: 116.8px; }
.landing-v2 .footer-above-logo--mk { width: 116.8px; }
.landing-v2 .footer-above-logo--dj { width: 142.4px; }
.landing-v2 .footer-above-logo--yj { width: 142.4px; }
.landing-v2 .footer-above-logo img {
    display: block;
    object-fit: contain;
}
.landing-v2 .footer-above-logo--kw img { width: 59.8px; height: 40px; }
.landing-v2 .footer-above-logo--mk img { width: 45px; height: 28.8px; }
.landing-v2 .footer-above-logo--dj img { width: 110.8px; height: 28.8px; }
.landing-v2 .footer-above-logo--yj img { width: auto; height: 25px; }
/* PC 푸터 (Figma: 76:3796) */
.landing-v2 #footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 401px;
    padding: 56px 0px;
    background: var(--ld-bg-footer, #404040);
    box-sizing: border-box;
}
.landing-v2 #footer .foot-inner {
    display: flex;
    width: 100%;
    max-width: 1280px; /* !! 반응형 디자인 고려하여 max-width로 조절 */
    flex-direction: column;
    align-items: flex-start;
    gap: 45px;
}
/* 정보 그룹 (Figma: 76:3798) */
.landing-v2 #footer .foot-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;

    width: 100%;
}
.landing-v2 #footer .foot-info-row {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    
    width: 100%;
}
.landing-v2 #footer .foot-info-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.landing-v2 #footer .foot-info-left-top {
    display: flex;
    flex-direction: column;
    gap: 35px;
}
/* 약관 메뉴 (Figma: 76:3802) */
.landing-v2 #footer .foot-legal {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 10px;
    flex-wrap: wrap;
    align-self: stretch;
}
.landing-v2 #footer .foot-legal a {
    font-family: 'Pretendard', sans-serif;
    color: #fff;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-regular, 400);
    line-height: var(--ds-lh-body2, 20px);
    text-decoration: none;
    white-space: nowrap;
}
.landing-v2 #footer .foot-legal a b,
.landing-v2 #footer .foot-legal a strong {
    font-weight: var(--ds-weight-bold, 700);
}
.landing-v2 #footer .foot-legal-divider {
    display: inline-block;
    width: 1px;
    height: 16px;
    background: #fff;
    flex-shrink: 0;
}
/* 회사 정보 (Figma: 76:3810) */
.landing-v2 #footer .foot-company {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    color: var(--ld-text-footer, #c3c3c3);
    font-size: var(--ds-text-15, 15px);
    font-weight: var(--ds-weight-regular, 400);
    line-height: normal;
}
.landing-v2 #footer .foot-company-row {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 10px;
    align-self: stretch;
    flex-wrap: wrap;
}
.landing-v2 #footer .foot-company-row--contact {
    width: 375px;
    align-items: center;
    align-content: center;  
    gap: 12px;
}
.landing-v2 #footer .foot-company-row p {
    margin: 0;
}
/* 카피라이트 (Figma: 76:3819) */
.landing-v2 #footer .foot-copyright {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-15, 15px);
    font-weight: var(--ds-weight-regular, 400);
    color: var(--ld-text-footer, #c3c3c3);
    line-height: normal;
    margin: 0;
}
/* 고객문의 박스 (Figma: 87:4293) */
.landing-v2 #footer .foot-contact {
    display: flex;
    padding: 18px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    border-radius: 10px;
    border: 1px solid var(--ld-text-footer, #c3c3c3);
    background: var(--ld-bg-footer, #404040);

    cursor: pointer;
    flex-shrink: 0;
    overflow: hidden;

    text-decoration: none;
    color: inherit;
}
.landing-v2 #footer .foot-contact-main {
    display: flex;
    width: 135px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.landing-v2 #footer .foot-contact-label {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px);
    font-weight: var(--ds-weight-semibold, 600);
    color: #fff;
    line-height: normal;
    letter-spacing: -0.24px;
    white-space: nowrap;
    margin: 0;
}
.landing-v2 #footer .foot-contact-tel {
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-label, 16px);
    font-weight: var(--ds-weight-semibold, 600);
    line-height: normal;
    color: #fff;

    text-decoration: none;
    white-space: nowrap;
}
.landing-v2 #footer .foot-contact-sub {

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
    color: var(--ld-text-footer, #c3c3c3);
    font-family: 'Pretendard', sans-serif;
    font-size: var(--ds-text-sm, 12px);
    font-weight: var(--ds-weight-regular, 400);
    line-height: normal;
    letter-spacing: -0.3px;

    white-space: nowrap;
}
.landing-v2 #footer .foot-contact-divider {
    display: inline-block;
    width: 0.75px;
    height: 10px;
    background: var(--ld-text-footer, #c3c3c3);
}
.landing-v2 #footer .foot-contact-phone {
    letter-spacing: -0.24px;
}
/* 가로 구분선 (Figma: 76:3825) */
.landing-v2 #footer .foot-divider {
    align-self: stretch;
    height: 1px;
    margin: 0;
    border: none;
    background: var(--ld-border-footer, #767676);
}
/* 하단: 로고 + SNS (Figma: 76:3826) */
.landing-v2 #footer .foot-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;

    width: 100%;
}
.landing-v2 #footer .foot-logo {
    width: 89.6px;
    height: 40px;
    opacity: 1;
    object-fit: contain; /* !! 로고 이미지 비율 유지 */
}
.landing-v2 #footer .foot-sns {
    display: flex;
    align-items: center;
    gap: 20px;
}
.landing-v2 #footer .foot-sns a {
    display: block;
    width: 40px;
    height: 40px;
}
.landing-v2 #footer .foot-sns img {
    width: 40px;
    height: 40px;
    margin: 0;
    opacity: 1;
    transition: opacity 0.2s;
}
.landing-v2 #footer .foot-sns a:hover img {
    opacity: 0.7;
}

/* PC 기본: 모바일 전용 구분선 숨김 (모바일에서 display:block로 노출) */
.ld-section-divider {
    display: none;
}

/* ===================================
   반응형: 모바일 (≤960px)
   =================================== */
@media (max-width: 960px) {
    /* --- 공통 --- */
    .landing-v2 {
        overflow-x: clip; /* hidden과 달리 스크롤 컨테이너를 생성하지 않아 sticky 유지 */
    }
    .landing-v2 .landing-container {
        align-items: center;
    }
    .landing-v2 #wrap.sub #container {
        margin-top: 0 !important;
    }
    .landing-v2 .sub-visual-list {
        margin-top: 0;
    }
    .landing-v2 .landing-container > section,
    .landing-v2 .landing-container > .ld-recommend-container { padding-left: 20px; padding-right: 20px; align-self: stretch; }
    .landing-v2 .landing-container > .ld-recommend-container { padding-right: 0; }
    .landing-v2 .ld-recommend-container > section { padding-left: 0; padding-right: 0; }
    .landing-v2 .ld-recommend-header { padding-right: 20px; }
    .landing-v2 .ld-section-title { font-size: var(--ds-text-xl, 20px); letter-spacing: -0.5px; text-align: left; }
    .landing-v2 .ld-section-subtitle { font-size: var(--ds-text-base); text-align: left; }

    /* --- 헤더 --- */
    #header.ld-header .ld-header-inner {
        height: 70px;
        padding: 16px;
        align-self: stretch;
    }
    /* TODO 로고 이미지 아니고 폰트로 해야 할지 검토 필요 */
    .ld-header-logo img {
        width: 45.143px;
        height: 24px;
    }

    .ld-header-cta {
        text-align: center;
    }

    #header.ld-header .ld-header-back-inner { height: 45px; padding: 0 18px; }
    #header.ld-header .ld-header-nav { display: none; }

    .ld-section-divider {
        display: block;
        width: 100%;
        height: 8px;
        background: var(--ld-bg-divider, #f7f7f7);
        margin-top: 20px;
        margin-bottom: 20px;
    }

    /* --- 카테고리 탭바 (Figma 140:12808) --- */
    .landing-v2 .ld-mobile-catnav {
        display: flex;
        align-items: center;
        align-self: stretch;
        background: rgba(255, 255, 255, 0.80);
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        padding: 0 20px;
        justify-content: center;
    }
    .landing-v2 .ld-catnav-item {
        text-align: center;
        font-family: 'Pretendard', sans-serif;
        font-size: var(--ds-text-label, 16px);
        font-weight: var(--ds-weight-medium, 500);
        color: var(--ld-text-muted, #767676);
        text-decoration: none;
        line-height: var(--ds-lh-label, 24px);

        display: flex;
        padding: 12px 8px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        flex: 1 0 0;

        white-space: nowrap;
    }
    .landing-v2 .ld-catnav-item.active {
        font-weight: var(--ds-weight-bold, 700);
        color: var(--ld-bg-footer, #404040);
    }

    /* --- 히어로 --- */
    .landing-v2 .ld-hero { display: none; }

    /* --- 상황 카드 (Figma: 2열 그리드, 카드 나란히) --- */
    .landing-v2 .ld-situation {
        width: 100%;
        height: 432px;
        padding: 60px 40px 40px 40px;
        align-items: center;
        gap: 32px;
        background: var(--ld-bg-light, #f8f8fa);
        margin-bottom: 20px;
    }
    .landing-v2 .ld-situation .ld-section-title {
        color: var(--ld-text-headline, #171615);

        font-size: var(--ds-text-2xl, 24px);
        line-height: var(--ds-lh-snug, 1.3);
        letter-spacing: -0.6px;
    }
    .landing-v2 .ld-situation-cards {
        flex-wrap: wrap;
        gap: 8px 12px;
        padding: 0;
    }
    .landing-v2 .ld-situation-card {
        height: 193px;
        padding: 30px 20px 24px 20px;
        flex: 1 0 0;
        border-radius: 12px;
    }
    .landing-v2 .ld-situation-card .ld-card-top-left {
        flex-direction: column;
        gap: 12px;
    }
    .landing-v2 .ld-situation-card .ld-card-icon {
        width: 40px; height: 40px;
    }
    .landing-v2 .ld-situation-card .ld-card-icon img {
        width: 40px; height: 40px;
    }
    .landing-v2 .ld-situation-card .ld-card-text {
        width: auto; /* TODO 116px 확인 */
        gap: 8px;
    }
    .landing-v2 .ld-situation-card .ld-card-desc {
        height: 40px;
        align-self: stretch;
    }

    /* --- 고객 후기 --- */
    .landing-v2 .landing-container > .ld-reviews {
        padding: 40px 0 40px 20px;
        gap: 16px;
    }
    .landing-v2 .ld-reviews-header .ld-section-title {
        gap: 12px;
        font-size: var(--ds-text-lg, 18px);
        line-height: var(--ds-lh-normal, 1.4);
        letter-spacing: -0.45px;
    }
    .landing-v2 .ld-review-count {
        font-size: var(--ds-text-label, 16px);
        letter-spacing: -0.4px;
    }
    .landing-v2 .ld-reviews-track { 
        height: auto;
    }
    .landing-v2 .ld-blur-right { 
        width: 77px; 
    }
    .landing-v2 .ld-reviews-progress { 
        width: 120px; 
    }
    .landing-v2 .ld-reviews-progress-bar {
        width: 32px;
        background: var(--ld-text-black, #111);
        border-radius: 999px;
        transition: transform 0.3s;
    }
    /* --- 서비스 이용 안내 --- */
    .landing-v2 .ld-service-guide {
        padding-top: 32px; 
        padding-bottom: 32px;
        min-width: 335px;
        align-self: stretch;
        margin-bottom: 20px;
    }
    .landing-v2 .ld-service-guide .ld-section-title {
        color: var(--ld-text-black, #111);
        font-size: var(--ds-text-xl, 20px);
        letter-spacing: -0.5px;
    }
    .landing-v2 .ld-guide-steps {
        flex-direction: column; 
    }
    .landing-v2 .ld-guide-step {
        width: 100%; 
        max-width: 335px;
    }
    .landing-v2 .ld-guide-arrow {
        transform: rotate(90deg);
    }

    /* --- 미션 + 통계 --- */
    .landing-v2 .ld-mission {
        padding-top: 48px; 
        padding-bottom: 0; 
        margin-bottom: 0; /* TODO margin 어떻게 할지 피그마 재확인 필요 */
        gap: 20px;
        margin-bottom: 20px;
    }
    .landing-v2 .ld-mission-header {
        padding: 0;
        align-items: flex-start;
        gap: 12px;
    }
    .landing-v2 .ld-mission-header h2 {
        font-size: var(--ds-text-lg, 18px);
        line-height: var(--ds-lh-normal, 1.4);
        letter-spacing: -0.45px;
    }
    .landing-v2 .ld-mission-header p {
        font-size: var(--ds-text-base, 14px);
        line-height: var(--ds-lh-normal, 1.4);
        letter-spacing: -0.35px;
    }
    .landing-v2 .ld-mission-content {
        flex-direction: column; 
        gap: 48px;
    }
    .landing-v2 .ld-mission-video {
        flex: 0 0 auto;
        width: 100%;
        aspect-ratio: 335 / 188; /* !! 검정 레터박스 crop용 비율 */
        margin: 0 auto;
    }
    .landing-v2 .ld-mission-play {
        width: 50px; height: 50px;
    }
    .landing-v2 .ld-mission-play svg {
        width: 24px; height: 24px;
    }
    /* 통계 칩 */
    .landing-v2 .ld-stats-chips {
        flex-wrap: wrap;
        width: calc(100% + 40px); /* !! 부모 padding 20px × 2 상쇄 */
        max-width: 375px;
        justify-content: center;
    }
    .landing-v2 .ld-stat-item {
        width: 187.5px;
        height: 227px;
        max-width: 187.5px;
        flex-shrink: 0;
    }

    /* --- 장지 유형 안내 --- */
    .landing-v2 .ld-type-guide {
        max-width: 1440px;
        gap: 24px;
        padding: 40px 20px 0;
        margin-bottom: 40px;
    }
    .landing-v2 .ld-type-guide-header {
        gap: 12px;
        align-self: stretch;
    }
    .landing-v2 .ld-type-guide-header h2 {
        font-size: var(--ds-text-2xl, 24px);
        font-weight: var(--ds-weight-semibold, 600);
        line-height: var(--ds-lh-normal, 1.4); /* 33.6px */
        letter-spacing: -0.6px;
    }
    .landing-v2 .ld-type-guide-header p {
        align-self: stretch;
        font-size: var(--ds-text-base, 14px);
        color: var(--ld-text-muted, #767676);
        line-height: var(--ds-lh-normal, 1.4); /* 19.6px */
        letter-spacing: -0.35px;
    }
    .landing-v2 .ld-type-cards {
        align-content: flex-start;
    }
    .landing-v2 .ld-type-card {
        padding: 36px 16px 24px 16px;
        width: 100%; /* !! guide width 따름 */
        max-width: 100%; /* !! guide width 따름 */
    }
    .landing-v2 .ld-type-hot .ld-type-badge-basis {
        background: var(--ld-brand-alt, #F47A77);
    }

    /* --- 추천 장지 --- */
    .landing-v2 .ld-recommend-container {
        margin-bottom: 40px; 
        gap: 40px;
    }
    .landing-v2 .ld-recommend {
        height: auto;
    }
    .landing-v2 .ld-recommend-header h2 {
        font-size: var(--ds-text-lg, 18px);
        letter-spacing: -0.45px;
    }
    .landing-v2 .ld-recommend-header h2 img {
        width: 20px; 
        height: 20px; 
    }
    .landing-v2 .ld-recommend-item {
        flex-shrink: 0;
    }
    .landing-v2 .ld-recommend-info h4 {
        color: var(--ld-bg-hero, #3C3C3C);
        font-size: var(--ds-text-label, 16px);
        font-weight: var(--ds-weight-semibold, 600);
        letter-spacing: -0.4px;
    }
    .landing-v2 .ld-recommend-loc {
        font-size: var(--ds-text-md, 13px); 
        font-weight: var(--ds-weight-medium, 500);
        letter-spacing: -0.325px;
    }
    .landing-v2 .ld-recommend-tags span {
        justify-content: center;
    }
    .landing-v2 .ld-recommend-blur {
        position: absolute;
        right: -20px;
        top: 0;
        bottom: -41.301px;
        width: 100px;
        height: 255.301px;
        z-index: 5;
        pointer-events: none;
        background: linear-gradient(270deg, #FFF 2.92%, rgba(255, 255, 255, 0.00) 100.72%);
    }
    /* --- AtoZ --- */
    .landing-v2 .ld-content-section { 
        padding-top: 40px; 
        padding-bottom: 40px; 
        margin-bottom: 40px;
    }
    .landing-v2 .ld-atoz-tabs {
        align-items: flex-end;
        align-self: stretch;
    }
    .landing-v2 .ld-atoz-contents {
        gap: 36px;
    }
    .landing-v2 .ld-atoz-title-area {
        align-self: stretch;
    }
    .landing-v2 .ld-atoz-title-area .ld-section-title {
        align-self: stretch;
        font-size: var(--ds-text-2xl, 24px);
        font-weight: var(--ds-weight-semibold, 600);
        line-height: var(--ds-lh-loose, 1.55);
        letter-spacing: -0.6px;
    }
    .landing-v2 .ld-atoz-title-area .ld-section-subtitle {
        color: var(--ld-text-heading, #21222E);
        text-align: left;
    }
    .landing-v2 .ld-atoz-content.active {
        align-self: stretch;
    }
    .landing-v2 .ld-atoz-card {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: auto;
    }
    .landing-v2 .ld-atoz-thumb { 
        height: 230px; 
        aspect-ratio: auto; 
    }
    .landing-v2 .ld-atoz-thumb img,
    .landing-v2 .ld-atoz-thumb-empty {
        position: static;
        transform: none;
        width: 100%;
        height: 100%;
    }
    .landing-v2 .ld-atoz-info h4 {
        max-height: 64px;
        color: var(--ld-text-heading, #21222E);
    }

    .landing-v2 .ld-atoz-slider { 
        min-height: auto; 
    }

    /* --- FAQ --- */
    .landing-v2 .ld-faq { 
        padding-top: 20px; 
        padding-bottom: 20px; 
        margin-bottom: 20px;
    }
    .landing-v2 .ld-faq-header {
        padding-bottom: 20px;
    }
    .landing-v2 .ld-faq-subtitle {
        font-size: var(--ds-text-md, 13px); 
        letter-spacing: -0.325px; 
    }
    .landing-v2 .ld-faq-question {
        align-self: stretch;
    }
    .landing-v2 .ld-faq-item[open] .ld-faq-a {
        padding: 0 40px 32px 27px; /* !! 수동 조절: ld-faq-question 시작, 끝에 맞춤 */
    }
    .landing-v2 .ld-faq-arrow svg {
        width: 16px;
        height: 9px;
    }

    /* --- footer-above: 그룹사 로고 --- */
    .landing-v2 .footer-above {
        padding: 0;
        flex-shrink: 0;
        min-height: auto;
        gap: 0;
    }
    
    .landing-v2 .footer-above-logo {
        height: 58px;
    }
    .landing-v2 .footer-above-logo--kw { width: 69px; }
    .landing-v2 .footer-above-logo--mk { width: 69px; }
    .landing-v2 .footer-above-logo--dj { width: 84px; }
    .landing-v2 .footer-above-logo--yj { width: 93px; }
    .landing-v2 .footer-above-logo--kw img { width: 36px; height: 24.071px; }
    .landing-v2 .footer-above-logo--mk img { width: 28.121px; height: 18px; }
    .landing-v2 .footer-above-logo--dj img { width: 69.234px; height: 18px; }
    .landing-v2 .footer-above-logo--yj img { width: 72.039px; height: 16.387px; }

    /* --- footer 본체 --- */
    .landing-v2 #footer {
        height: auto;
        padding: 40px 20px calc(32px + 78px); /* bottom: 콘텐츠 여백 32px + #fix-mobile 높이 ~65px */
    }
    .landing-v2 #footer .foot-inner {
        gap: 32px;
    }
    .landing-v2 #footer .foot-info {
        gap: 32px;
    }
    .landing-v2 #footer .foot-info-row {
        flex-direction: column;
    }
    .landing-v2 #footer .foot-company-row {
        flex-wrap: wrap;
    }
    .landing-v2 #footer .foot-logo {
        width: 71.681px;
        height: 32.001px;
        opacity: 1;
        object-fit: contain; 
        margin-top: 0;
    }
    .landing-v2 #footer .foot-sns {
        gap: 16px;
    }
    .landing-v2 #footer .foot-sns a,
    .landing-v2 #footer .foot-sns img {
        width: 32px; height: 32px;
    }

    /* --- fix-mobile: 하단 네비게이션 --- */
    .landing-v2 #fix-mobile {
        border-top: 0.5px solid var(--ld-border-nav, #d9d9d9);
        justify-content: center;
        padding: 8px 12px;
        align-items: center;
        gap: 10px;
    }
    .landing-v2 #fix-mobile a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        width: 80px;
        padding: 0;
        align-self: stretch;
        color: var(--ld-text-body,#505050);
        text-align: center;
        font-size: var(--ds-text-base, 14px);
        font-weight: var(--ds-weight-medium, 500);
        line-height: 20px;
        letter-spacing: -0.28px;
    }
    .landing-v2 #fix-mobile a:before {
        display: none;
    }
    .landing-v2 #fix-mobile a svg {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }
    /* outline ↔ filled 아이콘 토글: 기본은 outline, is-active면 filled */
    .landing-v2 #fix-mobile a .icon-filled { display: none; }
    .landing-v2 #fix-mobile a.is-active .icon-outline { display: none; }
    .landing-v2 #fix-mobile a.is-active .icon-filled { display: block; }
    .landing-v2 #fix-mobile a.is-active {
        color: var(--ds-brand, #F57A77);
        font-weight: 600;
    }
}
