/* BASIC css start */
    /* CSS 변수 및 기본 초기화 (dm_wrapper 내부에서만 유효) */
    .dm_wrapper {
        --dm-primary-dark: #2c2624;   /* 깊은 차콜 */
        --dm-primary-accent: #e5ce74; /* 뮤트 골드 */
        --dm-bg-cream: #fdfcf8;       /* 크림 배경 */
        --dm-bg-light: #f4f2ed;       /* 연한 베이지 */
        --dm-text-muted: #66605b;     /* 회색 텍스트 */
        --dm-line-color: #e5e0db;     /* 라인 색상 */
        
        font-family: 'Noto Sans KR', sans-serif;
        color: var(--dm-primary-dark);
        line-height: 1.8;
        word-break: keep-all;
        background-color: var(--dm-bg-cream);
        box-sizing: border-box;
        text-align: left; /* 혹시 모를 부모 정렬 초기화 */
    }

    /* 모든 하위 요소 box-sizing 초기화 */
    .dm_wrapper *, .dm_wrapper *::before, .dm_wrapper *::after {
        box-sizing: border-box;
    }

    .dm_wrapper img { max-width: 100%; display: block; }
    
    /* 폰트 유틸리티 */
    .dm_serif { font-family: 'Nanum Myeongjo', serif; }
    .dm_wrapper h1, .dm_wrapper h2, .dm_wrapper h3, .dm_wrapper h4 { font-family: 'Nanum Myeongjo', serif; margin: 0; padding: 0; }
    .dm_wrapper p { margin: 0; padding: 0;font-size:16px }

    /* 레이아웃 유틸리티 */
    .dm_container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 30px;
    }
    .dm_section_padding { padding: 120px 0; }

    /* 1. 헤더 */
    .dm_header {
        text-align: center;
        padding: 40px 0;
        border-bottom: 1px solid var(--dm-line-color);
    }
    .dm_header h1 {
        font-size: 28px;
        font-weight: 700;
        color: var(--dm-primary-dark);
        letter-spacing: 3px;
    }

    /* 2. 히어로 섹션 */
    .dm_hero_section {
        position: relative;
        height: 70vh; 
        min-height: 500px;
        /* 배경 이미지 경로 수정 필요 */
        background-image: url('/design/nuan0518/eff.jpg'); 
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: #fff;
        margin-bottom: 100px;
    }
    .dm_hero_section::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(44, 38, 36, 0.6);
    }
    .dm_hero_content {
        position: relative;
        z-index: 2;
        max-width: 800px;
        padding: 0 20px;
    }
    .dm_hero_sub {
        font-size: 16px;
        letter-spacing: 4px;
        color: var(--dm-primary-accent);
        margin-bottom: 20px;
        font-weight: 500;
        text-transform: uppercase;
    }
    .dm_hero_title {
        font-size: 42px;
        line-height: 1.3;
        margin-bottom: 30px;
        font-weight: 700;
        color: #fff !important; /* 메이크샵 기본 스타일 덮어쓰기 */
    }
    .dm_hero_desc { 
        font-size: 18px; 
        opacity: 0.9; 
        margin-bottom: 40px; 
        font-weight: 300; 
        color: #fff !important;
    }
    .dm_hero_statement {
        font-family: 'Nanum Myeongjo', serif;
        font-size: 24px;
        font-style: italic;
        color: var(--dm-primary-accent);
    }

    /* 3. 브랜드 스토리 */
    .dm_brand_story {
        text-align: center;
        max-width: 800px;
        margin: 0 auto 120px;
    }
    .dm_section_title {
        font-size: 32px;
        margin-bottom: 40px;
        color: var(--dm-primary-dark);
        position: relative;
        display: inline-block;
    }
    .dm_brand_story p {
        font-size: 17px;
        color: var(--dm-text-muted);
        margin-bottom: 25px;
        line-height: 2;
    }
    .dm_brand_story strong { color: var(--dm-primary-dark); font-weight: 700; }

    /* 키 메시지 블록 */
    .dm_key_message_block {
        background-color: var(--dm-bg-light);
        text-align: center;
        padding: 100px 20px;
      
    }
    .dm_key_message_block h2 {
        font-size: 36px;
        color: var(--dm-primary-dark);
        margin-bottom: 20px;
    }
    .dm_key_message_block p {
        font-size: 18px;
        color: var(--dm-text-muted);
        font-weight: 300;
    }

    /* 4. 타임라인 (Zigzag) */
    .dm_timeline_wrap { position: relative; padding-bottom: 150px; }
    .dm_timeline_wrap::before {
        content: '';
        position: absolute;
        top: 0; bottom: 0; left: 50%;
        width: 1px;
        background-color: var(--dm-line-color);
        transform: translateX(-50%);
    }

    .dm_row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 100px;
        position: relative;
    }
    .dm_col { width: 46%; position: relative; }

    .dm_text_box_wrap { position: relative; }
    .dm_text_box { text-align: right; position: relative; z-index: 2; }
    .dm_text_box.dm_align_left { text-align: left; }

    /* 연도 워터마크 */
    .dm_year_bg {
        position: absolute;
        top: -60px;
        font-size: 120px;
        font-weight: 800;
        color: rgba(166, 124, 82, 0.1);
        font-family: 'Nanum Myeongjo', serif;
        line-height: 1;
        z-index: 1;
        width: 100%;
        pointer-events: none; /* 드래그 방지 */
    }
    .dm_text_box .dm_year_bg { right: -20px; text-align: right;}
    .dm_text_box.dm_align_left .dm_year_bg { left: -20px; text-align: left; }

    .dm_title {
        font-size: 24px;
        font-weight: 700;
        margin-bottom: 15px;
        color: var(--dm-primary-dark);
        position: relative; z-index: 2;
    }
    .dm_desc { font-size: 16px; color: var(--dm-text-muted); position: relative; z-index: 2;}

    /* 이미지 박스 */
    .dm_img_box {
        width: 100%;
        height: 310px;
        background-color: #ddd;
        overflow: hidden;border-radius:20px;
        box-shadow: 20px 20px 60px rgba(0,0,0,0.05);
    }
    .dm_img_box img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
    .dm_img_box:hover img { transform: scale(1.03); }

    /* 포인트 링 */
    .dm_point_ring {
        position: absolute;
        top: 50%; left: 50%;
        width: 24px; height: 24px;
        border: 2px solid var(--dm-primary-accent);
        background-color: var(--dm-bg-cream);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .dm_point_ring::after {
        content: '';
        width: 10px; height: 10px;
        background-color: var(--dm-primary-accent);
        border-radius: 50%;
    }

    /* 5. 철학 섹션 */
    .dm_philosophy_section {
        background-color: var(--dm-primary-dark);
        color: #fff;
        text-align: center;
    }
    .dm_philosophy_section .dm_section_title { color: var(--dm-primary-accent); }
    .dm_philosophy_section .dm_sub_txt { color: rgba(255,255,255,0.7); margin-bottom: 60px; font-size: 16px; }

    .dm_philo_grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 60px;
        max-width: 1000px;
        margin: 0 auto;
        text-align: left;
    }
    .dm_philo_item h4 {
        color: #fff;
        margin-bottom: 15px;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 1px;
    }
    .dm_philo_item p {
        font-size: 15px;
        color: rgba(255,255,255,0.6);
        font-weight: 300;
        line-height: 1.6;
    }

    /* 6. CEO 메시지 */
    .dm_ceo_section {
        text-align: center;
        background-color: var(--dm-bg-cream);
        position: relative;
    }
    .dm_ceo_section::before {
        content: '“';
        font-family: 'Nanum Myeongjo', serif;
        font-size: 150px;
        color: rgba(166, 124, 82, 0.1);
        position: absolute;
        top: 50px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 0;
    }
    .dm_ceo_message {
        position: relative;
        z-index: 1;
        max-width: 700px;
        margin: 0 auto;
    }
    .dm_quote_box {
        font-size: 28px;
        font-family: 'Nanum Myeongjo', serif;
        font-weight: 700;
        color: var(--dm-primary-dark);
        margin: 50px 0;
        line-height: 1.4;
    }
    .dm_sign {
        text-align: right;
        margin-top: 40px;
        font-weight: 700;
        font-family: 'Nanum Myeongjo', serif;
        color:#917a1f;font-size:20px
    }

    /* 7. 마무리 */
    .dm_closing_section {
        background-color:#a67c52;
        color: #fff;
        text-align: center;
        padding: 80px 0;
    }
    .dm_closing_section h2 { 
        font-size: 32px; font-weight: 400; margin-bottom: 20px; color: #fff; 
    }
    .dm_closing_section p { font-size: 16px; opacity: 0.8; font-weight: 300; color: #fff; }


    /* 반응형 (모바일) */
    @media (max-width: 768px) {
        .dm_section_padding { padding: 80px 0; }
        .dm_header h1 { font-size: 22px; }
        .dm_hero_title { font-size: 28px; }
        .dm_hero_statement { font-size: 20px; }
        .dm_hero_section { height: auto; padding: 100px 0; }
        
        .dm_timeline_wrap::before, .dm_point_ring { display: none; }
        .dm_row { flex-direction: column; margin-bottom: 80px; }
        .dm_col { width: 100%; }
        
        /* 모바일 순서 통일 */
        .dm_row.dm_type_text_left { flex-direction: column-reverse; }
        
        .dm_img_box { margin-bottom: 30px; height: 250px; box-shadow: none; }
        .dm_text_box_wrap { text-align: left !important; padding: 0 10px; }
        
        .dm_year_bg {
            position: relative; top: 0; left: 0; right: auto;
            font-size: 40px; color: var(--dm-primary-accent);
            text-align: left !important; margin-bottom: 10px;
        }
        
        .dm_title { font-size: 22px; }
        .dm_key_message_block h2 { font-size: 26px; }
        .dm_philo_grid { grid-template-columns: 1fr; gap: 40px; }
        .dm_quote_box { font-size: 22px; }
    }
/* BASIC css end */

