.elementor-23935 .elementor-element.elementor-element-0b3def5 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-d13172b{--spacer-size:60px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-23935 .elementor-element.elementor-element-32ef7a3{text-align:center;}.elementor-23935 .elementor-element.elementor-element-32ef7a3 .elementor-heading-title{color:var( --e-global-color-astglobalcolor0 );}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-accent );}.elementor-widget-animated-headline .elementor-headline-plain-text{color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-animated-headline{--dynamic-text-color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-23935 .elementor-element.elementor-element-04a0164{--iteration-count:infinite;--animation-duration:1200ms;--dynamic-text-color:#6761CE;}.elementor-23935 .elementor-element.elementor-element-04a0164 .elementor-headline{text-align:center;font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;}.elementor-23935 .elementor-element.elementor-element-04a0164 .elementor-headline-dynamic-wrapper path{stroke:#6761CE;}.elementor-23935 .elementor-element.elementor-element-04a0164 .elementor-headline-plain-text{color:#000000;}.elementor-23935 .elementor-element.elementor-element-174b7d8{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-fb9eb1d > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-2173725{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-29de422 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-bb8f580{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-11eabb8 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-cad1e1d{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-590d216 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-e6a4c0e{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-588df6e > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-5cb2f1a{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-89549ee > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-14d906c{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-e45a1f8 > .elementor-element-populated{border-style:none;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-23935 .elementor-element.elementor-element-2249f7b .elementor-icon-wrapper{text-align:center;}.elementor-23935 .elementor-element.elementor-element-2249f7b.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-2249f7b.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-2249f7b.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-2249f7b.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-2249f7b.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-e728d46{text-align:center;}.elementor-23935 .elementor-element.elementor-element-e728d46 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-7c1cf05 .elementor-icon-wrapper{text-align:center;}.elementor-23935 .elementor-element.elementor-element-7c1cf05.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-7c1cf05.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-7c1cf05.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-7c1cf05.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-7c1cf05.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-bb958e5{text-align:center;}.elementor-23935 .elementor-element.elementor-element-bb958e5 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-8653d16 .elementor-icon-wrapper{text-align:center;}.elementor-23935 .elementor-element.elementor-element-8653d16.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-8653d16.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-8653d16.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-8653d16.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-8653d16.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-d4459a2{text-align:center;}.elementor-23935 .elementor-element.elementor-element-d4459a2 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-4a65eb0 .elementor-icon-wrapper{text-align:center;}.elementor-23935 .elementor-element.elementor-element-4a65eb0.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-4a65eb0.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-4a65eb0.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-4a65eb0.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-4a65eb0.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-c2c861b{text-align:center;}.elementor-23935 .elementor-element.elementor-element-c2c861b .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-4c49c58 .elementor-icon-wrapper{text-align:center;}.elementor-23935 .elementor-element.elementor-element-4c49c58.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-4c49c58.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-4c49c58.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-4c49c58.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-4c49c58.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-881f2f5{text-align:center;}.elementor-23935 .elementor-element.elementor-element-881f2f5 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-27d4eae .elementor-icon-wrapper{text-align:center;}.elementor-23935 .elementor-element.elementor-element-27d4eae.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-27d4eae.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-27d4eae.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-27d4eae.elementor-view-framed .elementor-icon, .elementor-23935 .elementor-element.elementor-element-27d4eae.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-f3653b1{text-align:center;}.elementor-23935 .elementor-element.elementor-element-f3653b1 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-23935 .elementor-element.elementor-element-e1d55da{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-bb8223c > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-2a7ea0d{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-ac0400b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-e103041{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-87192e8 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-ed4da95{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-be7f758 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-6c33b33{--spacer-size:60px;}.elementor-23935 .elementor-element.elementor-element-598e46d > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-cfe963e{--spacer-size:50px;}.elementor-23935 .elementor-element.elementor-element-6677cae{--spacer-size:50px;}@media(min-width:768px){.elementor-23935 .elementor-element.elementor-element-ed981fd{width:20.02%;}.elementor-23935 .elementor-element.elementor-element-419ae9e{width:79.979%;}}@media(max-width:767px){.elementor-23935 .elementor-element.elementor-element-04a0164 .elementor-headline{font-size:21px;}.elementor-23935 .elementor-element.elementor-element-015231c{text-align:center;}.elementor-23935 .elementor-element.elementor-element-015231c img{width:7.6em;}.elementor-23935 .elementor-element.elementor-element-419ae9e > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23935 .elementor-element.elementor-element-74d6e61{width:33.33%;}.elementor-23935 .elementor-element.elementor-element-9ed4a63{width:33.33%;}.elementor-23935 .elementor-element.elementor-element-8bb1be3{width:33.33%;}.elementor-23935 .elementor-element.elementor-element-0f97413{width:33.33%;}.elementor-23935 .elementor-element.elementor-element-f8c70e6{width:33.33%;}.elementor-23935 .elementor-element.elementor-element-85afa81{width:33.33%;}}/* Start custom CSS for section, class: .elementor-element-686cfe3 */:root {
            --bg: #FFFFFF;
            --bg-soft: #F8F6FF;
            --bg-lavender: #F1ECFF;
            --card: #FFFFFF;
            --card-violet: #FBF9FF;
            --violet: #6D45D8;
            --violet-deep: #4B2BAE;
            --violet-soft: #A98BFF;
            --violet-pale: #E9DFFF;
            --text: #171321;
            --muted: #6F687C;
            --line: #E4DDF5;
            --success: #184F3D;
            --radius: 12px;
            --max-width: 1120px;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        

        a { text-decoration: none; color: inherit; }
        ul { list-style: none; }

        .container {
            max-width: var(--max-width);
            margin: 0 auto;
            padding: 0 24px;
        }

        .section { padding: 100px 0; }

        .section-title {
            font-size: 2.25rem;
            font-weight: 800;
            margin-bottom: 16px;
            text-align: center;
            color: var(--text);
            line-height: 1.3;
        }

        .section-subtitle {
            font-size: 1.125rem;
            color: var(--muted);
            text-align: center;
            margin-bottom: 56px;
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
        }

        .highlight { color: var(--violet); }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 18px 36px;
            border-radius: 8px;
            font-size: 1.125rem;
            font-weight: 700;
            color: white;
            background: linear-gradient(135deg, #6D45D8 0%, #8D6BFF 100%);
            border: none;
            cursor: pointer;
            transition: all 0.2s;
            text-align: center;
            box-shadow: 0 4px 12px rgba(109, 69, 216, 0.2);
        }

        .btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(109, 69, 216, 0.3);
        }

        .btn-outline {
            background: transparent;
            border: 1px solid var(--violet-soft);
            color: var(--violet-pale);
            box-shadow: none;
        }
        .btn-outline:hover {
            background: rgba(109, 69, 216, 0.1);
            color: #FFF;
            border-color: #FFF;
            box-shadow: none;
        }

        .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
        .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }

        .card {
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            padding: 32px;
            box-shadow: 0 4px 20px rgba(109, 69, 216, 0.03);
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 30px rgba(109, 69, 216, 0.08);
            border-color: var(--violet-pale);
        }

        /* --- Header / Sticky Nav --- */
        .header {
            position: fixed;
            top: 0; left: 0; right: 0;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            border-bottom: 1px solid var(--line);
            z-index: 1000;
            height: 70px;
            transition: box-shadow 0.3s;
        }
        .header.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.05); }
        .header .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 100%;
        }
        .logo { font-weight: 800; font-size: 1.125rem; color: var(--violet-deep); }
        .nav-links { display: flex; gap: 24px; }
        .nav-links a { font-weight: 600; font-size: 0.95rem; color: var(--muted); transition: color 0.2s; }
        .nav-links a:hover { color: var(--violet); }
        .header-cta {
            padding: 10px 20px;
            background: var(--violet);
            color: white;
            border-radius: 6px;
            font-weight: 700;
            font-size: 0.95rem;
            transition: background 0.2s;
        }
        .header-cta:hover { background: var(--violet-deep); }

        /* --- Hero Section (Kept Original Dark BG Layout) --- */
        .hero {
            position: relative;
            padding: 160px 0 100px;
            min-height: 90vh;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #FFFFFF;
            background-color: #000;
            overflow: hidden;
            text-align: center;
        }
        .hero-video-bg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover; /* 이미지가 찌그러지지 않고 영역을 가득 채우도록 설정 */
    object-position: center; /* 이미지가 항상 중앙을 기준으로 정렬되도록 설정 */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.2;
    z-index: 0;
    pointer-events: none; /* 배경 이미지가 클릭 등의 마우스 이벤트를 방해하지 않도록 설정 */
}
        .hero-content {
            position: relative;
            z-index: 1;
            width: 100%;
            max-width: var(--max-width);
            padding: 0 24px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .hero .badge {
            color: var(--violet-pale);
            padding: 6px 16px;
            border-radius: 20px;
            font-size: 1.9rem;
            font-weight: 700;
            margin-bottom: 24px;
        }
        .hero-title {
            font-size: 3rem;
            font-weight: 900;
            margin-bottom: 20px;
            line-height: 1.3;
            color:#fff;
        }
        .hero-desc {
            font-size: 1.25rem;
            color: #E0D9F6;
            margin-bottom: 16px;
            max-width: 760px;
        }
        .hero-highlight {
            font-size: 1.35rem;
            font-weight: 700;
            color: var(--violet-soft);
            margin-bottom: 40px;
        }
        .hero-info-card {
            background: rgba(20, 15, 35, 0.6);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(169, 139, 255, 0.2);
            border-radius: var(--radius);
            padding: 32px;
            width: 100%;
            max-width: 500px;
            text-align: left;
            margin-bottom: 40px;
        }
        .hero-info-item { margin-bottom: 20px; display: flex; flex-direction: column; }
        .hero-info-item:last-child { margin-bottom: 0; }
        .hero-info-label { font-size: 0.875rem; color: var(--violet-soft); font-weight: 700; margin-bottom: 4px; }
        .hero-info-value { font-size: 1.125rem; font-weight: 500; color: #FFF; }
        .hero-actions { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

        /* --- Identity Funnel --- */
        .funnel-section { background-color: var(--bg); }
        .funnel-container {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            position: relative;
            margin-top: 40px;
        }
        .funnel-step {
            flex: 1;
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            padding: 24px;
            text-align: center;
            position: relative;
            z-index: 2;
            box-shadow: 0 4px 12px rgba(0,0,0,0.02);
        }
        .funnel-step:not(:last-child) { margin-right: 20px; }
        .funnel-step.expert-step {
            border-color: var(--violet-deep);
            background: var(--violet-deep);
            color: white;
        }
        .funnel-step.expert-step .step-title { color: white; }
        .funnel-step.expert-step .step-desc { color: var(--violet-pale); }
        .funnel-step.expert-step .step-change { background: rgba(255,255,255,0.1); color: white; }
        
        .step-num { font-size: 0.875rem; font-weight: 800; color: var(--violet); margin-bottom: 12px; }
        .expert-step .step-num { color: var(--violet-soft); }
        .step-title { font-size: 1.25rem; font-weight: 800; margin-bottom: 12px; color: var(--text); }
        .step-desc { font-size: 0.95rem; color: var(--muted); margin-bottom: 20px; min-height: 44px; }
        .step-change {
            background: var(--bg-lavender);
            color: var(--violet-deep);
            font-size: 0.875rem;
            font-weight: 700;
            padding: 10px;
            border-radius: 6px;
        }

        /* --- Outputs --- */
        .outputs-section { background-color: var(--bg-soft); }
        .output-card { display: flex; flex-direction: column; justify-content: space-between; }
        .output-header { margin-bottom: 24px; }
        .output-title { font-size: 1.35rem; font-weight: 800; margin-bottom: 12px; }
        .output-list { 
    margin-bottom: 24px; 
    padding: 0; 
    margin: 0; 
    padding-inline-start: 0; /* 브라우저 기본 ul 여백 강제 초기화 */
    list-style: none; 
}
.output-list li {
    display: flex; 
    align-items: flex-start; 
    gap: 8px; /* 블릿 기호와 텍스트 사이 간격 */
    margin-bottom: 8px; 
    font-size: 0.95rem; 
    color: var(--muted); 
    padding-left: 0; 
    margin-left: 0;
}
        .output-list li::before {
    content: '·'; 
    color: var(--violet); 
    font-weight: bold; 
    font-size: 1.1rem; 
    line-height: 1.2;
}
        .output-label {
            display: inline-block;
            background: var(--violet-pale); color: var(--violet-deep);
            font-size: 0.8rem; font-weight: 700; padding: 6px 12px; border-radius: 4px;
            margin-bottom: 20px; text-align: center; width: 100%;
        }

        /* CSS Mockups */
       .mockup-wrap {
    background: var(--bg-lavender); 
    border-radius: 8px;
    aspect-ratio: 1 / 1; /* 가로 길이에 맞춰 1:1 비율 자동 유지 */
    display: flex; 
    align-items: center; 
    justify-content: center;
    border: 1px solid var(--line); 
    position: relative;
    overflow: hidden; /* 둥근 모서리(border-radius) 영역 밖으로 이미지가 튀어나오지 않게 방지 */
}

.mockup-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 가로/세로 비율이 깨지지 않으면서 영역을 꽉 채우도록 설정 */
}



        /* --- Welcome Package --- */
        .welcome-section { background: var(--bg); }
        .welcome-box {
            background: var(--card-violet); border: 1px solid var(--line);
            border-radius: var(--radius); padding: 48px; text-align: center;
            max-width: 800px; margin: 0 auto;
        }
        .welcome-badge {
            display: inline-block; background: var(--violet); color: white;
            padding: 6px 16px; border-radius: 20px; font-weight: 700; font-size: 0.9rem;
            margin-bottom: 24px;
        }
        .welcome-list { text-align: left; max-width: 500px; margin: 0 auto 32px; }
        .welcome-list li {
            font-size: 1.1rem; padding: 12px 0; border-bottom: 1px solid var(--line);
            display: flex; align-items: center;
        }
        .welcome-list li::before {
            content: '✓'; color: var(--violet); font-weight: 900; margin-right: 12px; font-size: 1.2rem;
        }
        .welcome-value {
            font-size: 1.35rem; font-weight: 800; color: var(--violet-deep);
            background: var(--bg-lavender); padding: 16px; border-radius: 8px;
        }

        /* --- Price & Value Stack --- */
        .price-section { background: var(--bg-soft); }
        .price-card {
            background: var(--card); border: 1px solid var(--violet-pale);
            border-radius: var(--radius); padding: 56px; max-width: 800px; margin: 0 auto;
            box-shadow: 0 10px 40px rgba(109, 69, 216, 0.05);
            display: flex; flex-direction: column; align-items: center;
        }
        .price-stack { width: 100%; margin-bottom: 40px; }
        
        
        .price-stack-item {
    display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px 0;
    border-bottom: 1px dashed var(--line); font-size: 1.1rem; font-weight: 500; position: relative;
    text-align: center; line-height: 1.6; word-break: keep-all; /* 추가된 부분 */
}

/* 마지막 항목을 제외한 각 항목의 하단 점선 중앙에 ➕ 추가 */
.price-stack-item:not(:last-child)::after {
            content: '+';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translate(-50%, 50%);
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: 50%;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            font-weight: 900;
            color: var(--text-main);
            line-height: 1;
        }

/* 마지막 항목은 하단 선을 제거 */
.price-stack-item:last-child {
    border-bottom: none;
}
.price-stack-item svg { flex-shrink: 0; color: var(--violet); }
.price-stack-item.strong { font-weight: 800; color: var(--violet-deep); }
.price-stack-item.strong svg { color: var(--violet-deep); }
        
        
        .price-amount { font-size: 3.5rem; font-weight: 900; color: var(--text); margin-bottom: 16px; line-height: 1; }
        .price-discount-badge {
            background: var(--bg-lavender); color: var(--violet-deep);
            padding: 10px 20px; border-radius: 8px; font-weight: 700; font-size: 1.1rem;
            border: 1px solid var(--violet-pale); margin-bottom: 24px;
        }

        /* --- Two Week Challenge --- */
        .challenge-section { background: var(--bg); }
        .challenge-week {
            background: var(--card); border: 1px solid var(--line);
            border-radius: var(--radius); padding: 32px;
        }
        .week-title { font-size: 1.5rem; font-weight: 800; color: var(--violet-deep); margin-bottom: 16px; }
        .week-list li {
            padding-left: 20px; position: relative; margin-bottom: 12px; font-size: 1.05rem;
        }
        .week-list li::before {
            content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px;
            background: var(--violet); border-radius: 50%;
        }
        .challenge-rules {
            margin-top: 40px; background: var(--card-violet); border: 1px solid var(--line);
            border-radius: 8px; padding: 24px;
        }
        .rule-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; text-align: center; }
        .rule-item { font-weight: 700; font-size: 0.95rem; color: var(--text); }
        .rule-item.highlight { color: var(--violet-deep); }

        /* --- Social Proof --- */
        .proof-section { background: var(--bg-lavender); }
        .proof-card {
            background: var(--card); padding: 32px; border-radius: var(--radius);
            border: 1px solid var(--line); height: 100%; display: flex; flex-direction: column;
        }
        .proof-label {
            display: inline-block; background: var(--bg-lavender); color: var(--violet-deep);
            font-size: 0.8rem; font-weight: 700; padding: 4px 10px; border-radius: 4px; margin-bottom: 16px;
        }
        .proof-text { font-size: 1.1rem; font-style: italic; color: var(--text); font-weight: 500; line-height: 1.6; }
        
        /* --- Expert Course Bridge --- */
        .bridge-section { background: var(--bg); }
        .bridge-box {
            background: var(--violet-deep); color: white; border-radius: var(--radius);
            padding: 64px 40px; text-align: center;
        }
        .bridge-box .section-title { color: white; }
        .bridge-box .section-subtitle { color: var(--violet-pale); }
        .bridge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
        .bridge-item {
            background: rgba(255,255,255,0.1); padding: 24px 16px; border-radius: 8px;
            font-weight: 700; font-size: 1.1rem; border: 1px solid rgba(255,255,255,0.2);
        }

        /* --- FAQ --- */
        .faq-section { background: var(--bg-soft); }
        .faq-list { max-width: 800px; margin: 0 auto; }
        .faq-item { background: var(--card); border: 1px solid var(--line); margin-bottom: 12px; border-radius: 8px; overflow: hidden; }
        .faq-question {
            width: 100%; text-align: left; background: none; border: none; padding: 24px;
            font-size: 1.1rem; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between;
            align-items: center; color: var(--text);
        }
        .faq-question::after { content: '+'; font-size: 1.5rem; color: var(--violet); transition: transform 0.3s; }
        .faq-item.active .faq-question::after { transform: rotate(45deg); }
        .faq-answer {
            max-height: 0; overflow: hidden; transition: all 0.3s ease-out;
            color: var(--muted); padding: 0 24px; font-size: 1rem;
        }
        .faq-item.active .faq-answer { max-height: 200px; padding-bottom: 24px; }

/* --- FAQ --- */
        .faq-section { background: var(--bg-soft); }
        .faq-list { max-width: 800px; margin: 0 auto; }
        
        /* 터치 시 하이라이트 색상 제거 추가 */
        .faq-item { 
            background: var(--card); 
            border: 1px solid var(--line); 
            margin-bottom: 12px; 
            border-radius: 8px; 
            overflow: hidden; 
            -webkit-tap-highlight-color: transparent; 
        }
        
        /* hover, active, focus 상태 색상 고정 추가 */
        .faq-item:hover, .faq-item:active, .faq-item:focus-within { 
            background: var(--card); 
            border-color: var(--line); 
        }
        
        .faq-question {
            width: 100%; text-align: left; background: none; border: none; padding: 24px;
            font-size: 1.1rem; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between;
            
            /* 터치 시 하이라이트 및 아웃라인 제거 추가 */
            align-items: center; color: var(--text); -webkit-tap-highlight-color: transparent; outline: none;
        }
        
        /* hover, active, focus 상태 텍스트 색상 및 배경 고정 추가 */
        .faq-question:hover, .faq-question:active, .faq-question:focus { 
            background: none; 
            color: var(--text); 
            outline: none; 
        }
        
        .faq-question::after { content: '+'; font-size: 1.5rem; color: var(--violet); transition: transform 0.3s; }
        .faq-item.active .faq-question::after { transform: rotate(45deg); }
        .faq-answer {
            max-height: 0; overflow: hidden; transition: all 0.3s ease-out;
            color: var(--muted); padding: 0 24px; font-size: 1rem;
        }
        .faq-item.active .faq-answer { max-height: 200px; padding-bottom: 24px; }

        /* --- Responsive --- */
        @media (max-width: 1024px) {
            .grid-3 { grid-template-columns: repeat(2, 1fr); }
            .bridge-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            .hero-title { font-size: 2rem; }
            .hero-desc { font-size: 1.1rem; }
            .grid-3, .grid-2, .bridge-grid { grid-template-columns: 1fr; }
            .funnel-container { flex-direction: column; }
            .funnel-step { margin-right: 0; margin-bottom: 16px; width: 100%; }
            .rule-grid { grid-template-columns: repeat(2, 1fr); }
            .nav-links { display: none; }
            .floating-cta { display: block; }
            
            .price-card { padding: 32px 24px; }
            .price-amount { font-size: 2.5rem; }
        }/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-310a626 *//* --- Timetable --- */
.timetable-section { background: var(--bg); }
.timetable-container { 
    max-width: 900px; 
    margin: 0 auto; 
    background: var(--card); 
    border: 1px solid var(--line); 
    border-radius: var(--radius); 
    overflow: hidden; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.02); 
    display: flex; 
    flex-direction: column; 
}
.timetable { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; }
.timetable th, .timetable td { padding: 18px 24px; text-align: left; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); font-size: 1rem; line-height: 1.5; }
.timetable th:last-child, .timetable td:last-child { border-right: none; }
.timetable th { background: var(--bg-lavender); font-weight: 800; color: var(--violet-deep); white-space: nowrap; }
.timetable tr:last-child td { border-bottom: none; }
.timetable td.time-col { font-weight: 800; color: var(--text-main); white-space: nowrap; width: 140px; }
.timetable td.output-col { font-weight: 700; color: var(--violet); white-space: nowrap; }

@media (max-width: 768px) {
    .timetable th, .timetable td { padding: 14px 16px; font-size: 0.9rem; }
    .timetable th { white-space: normal; }
    .timetable td.time-col { width: 100px; }
    .timetable td.output-col { white-space: normal; }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-51256c0 *//* --- 메이커 소개 (Instructor Profile) --- */
.instructor-section { 
    background: var(--bg); 
}
.instructor-card {
    display: flex; 
    gap: 40px; 
    align-items: center; 
    background: var(--card); 
    border: 1px solid var(--line); 
    border-radius: var(--radius); 
    padding: 48px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.03); 
    max-width: 900px; 
    margin: 0 auto;
}
.instructor-image {
    width: 200px; 
    height: 200px; 
    border-radius: 50%; 
    object-fit: cover; 
    background: #e0e0e0; 
    flex-shrink: 0;
}
.instructor-info { 
    text-align: left; 
}
.instructor-name { 
    font-size: 1.5rem; 
    font-weight: 800; 
    color: var(--text); 
    margin-bottom: 8px; 
}
.instructor-title { 
    font-size: 1.1rem; 
    color: var(--violet); 
    font-weight: 700; 
    margin-bottom: 24px; 
}
.instructor-history { 
    list-style: none; 
    padding: 0; 
}
.instructor-history li {
    position: relative; 
    padding-left: 16px; 
    margin-bottom: 8px; 
    font-size: 1rem; 
    color: var(--text);
}
.instructor-history li::before { 
    content: '✓'; 
    position: absolute; 
    left: 0; 
    color: var(--violet); 
}

/* --- 모바일 반응형 (Media Query) --- */
@media (max-width: 768px) {
    .instructor-card { 
        flex-direction: column; 
        text-align: center; 
        padding: 32px 24px; 
    }
    .instructor-info { 
        text-align: center; 
    }
    .instructor-history li { 
        text-align: left; 
    }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-16e88ce *//* --- Field Teaching (공통/PC) --- */
.field-section { }
.field-grid { 
    display: flex; 
    flex-direction: row; 
    flex-wrap: nowrap; 
    gap: 24px; 
    margin-top: 40px; 
    
}

.field-grid img {filter: brightness(0.7);}
.field-image-wrapper {
    flex: 1 1 0; 
    min-width: 0;
    aspect-ratio: 9 / 16; 
    background: #e0e0e0; 
    border-radius: var(--radius); 
    overflow: hidden; 
    position: relative;
}
.field-image-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.field-caption {
    position: absolute; bottom: 0; left: 0; width: 100%; padding: 24px 16px 16px;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: white; font-weight: 700; font-size: 1.1rem; text-align: left;
    
}

/* --- 모바일 (max-width: 768px) 반응형 영역 --- */
@media (max-width: 768px) {
    .field-grid { 
        display: flex; 
        flex-direction: row; 
        flex-wrap: nowrap; 
        max-width: 100%; 
        margin: 24px auto 0; 
        gap: 8px; 
    }
    .field-caption { 
        padding: 12px 6px 8px; 
        font-size: 0.75rem; 
        word-break: keep-all; 
        line-height: 1.3; 
    }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-afd25bd *//* --- Apply Form (Visual) --- */
.apply-section { background: var(--bg); }
.apply-box { 
    max-width: 600px; 
    margin: 0 auto; 
    background: var(--card); 
    border: 1px solid var(--line); 
    border-radius: var(--radius); 
    padding: 40px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.03); 
}
.apply-btn { 
    width: 100%; 
    padding: 20px; 
    font-size: 1.25rem; 
    margin-top: 16px; 
}
.apply-notice { 
    text-align: center; 
    margin-top: 16px; 
    font-size: 0.875rem; 
    color: var(--muted); 
}/* End custom CSS */