
            /* --- [START] 메인 페이지 스타일 상속 (변경 없음) --- */
            html {
                scroll-behavior: smooth;
            }

            body {
                font-family: 'Noto Sans KR', 'Inter', sans-serif;
                background-color: #0D0D0D;
                color: #E0E0E0;
                overflow-x: hidden;
                background-image:
                    radial-gradient(circle farthest-corner at 85% 15%, rgba(255, 215, 150, 0.08) 0%, transparent 60%),
                    radial-gradient(circle farthest-corner at 15% 45%, rgba(255, 182, 193, 0.1) 0%, transparent 70%),
                    radial-gradient(circle farthest-corner at 50% 85%, rgba(200, 160, 220, 0.09) 0%, transparent 65%),
                    radial-gradient(circle farthest-corner at 75% 55%, rgba(152, 255, 152, 0.05) 0%, transparent 75%);
                background-repeat: no-repeat;
                background-attachment: fixed;
            }

            :root {
                --neon-pink: #FF69B4;
                --neon-mint: #98FF98;
                --neon-lavender: #E6E6FA;
                --neon-skyblue: #87CEEB;
                --neon-yellow: #deff04;
                --neon-electric-purple: #d767ff;
                --dark-bg: #0D0D0D;
                --card-bg: #1A1A1A;
                --border-color: #333;
                --text-muted: #8898aa;
            }

            .neon-text-pink {
                color: var(--neon-pink);
                text-shadow: 0 0 1px var(--neon-pink), 0 0 15px var(--neon-pink);
            }

            .neon-text-mint {
                color: var(--neon-mint);
                text-shadow: 0 0 1px var(--neon-mint), 0 0 15px var(--neon-mint);
            }

            .neon-text-skyblue {
                color: var(--neon-skyblue);
                text-shadow: 0 0 1px var(--neon-skyblue), 0 0 15px var(--neon-skyblue);
            }

            .neon-text-yellow {
                color: var(--neon-yellow);
                text-shadow: 0 0 1px var(--neon-yellow), 0 0 15px var(--neon-yellow);
            }

            .neon-text-electric-purple {
                color: var(--neon-electric-purple);
                text-shadow: 0 0 1px var(--neon-electric-purple), 0 0 15px var(--neon-electric-purple);
            }

            /* --- [END] 메인 페이지 스타일 상속 (변경 없음) --- */
            .mobile-br {
                display: none;
            }

            /* --- 기본 유틸리티 (변경 없음) --- */
            *,
            *::before,
            *::after {
                box-sizing: border-box;
            }

            h1,
            h2,
            h3,
            h4,
            h5,
            h6,
            p,
            ul {
                margin: 0;
                padding: 0;
            }

            ul {
                list-style: none;
            }

            button {
                background: none;
                border: none;
                cursor: pointer;
            }

            .d-flex {
                display: flex !important;
            }

            .justify-content-between {
                justify-content: space-between !important;
            }

            .justify-content-end {
                justify-content: flex-end !important;
            }

            .align-items-center {
                align-items: center !important;
            }

            .w-100 {
                width: 100% !important;
            }

            .me-1 {
                margin-right: 0.25rem !important;
            }

            .me-2 {
                margin-right: 0.5rem !important;
            }

            .ms-1 {
                margin-left: 0.25rem !important;
            }

            .ms-auto {
                margin-left: auto !important;
            }

            .mb-0 {
                margin-bottom: 0 !important;
            }

            .mb-1 {
                margin-bottom: 0.25rem !important;
            }

            .mb-2 {
                margin-bottom: 0.5rem !importanT;
            }

            .mb-3 {
                margin-bottom: 1rem !important;
            }

            .mt-1 {
                margin-top: 0.25rem !important;
            }

            .mt-2 {
                margin-top: 0.5rem !important;
            }

            .mt-3 {
                margin-top: 1rem !important;
            }

            .mt-4 {
                margin-top: 1.5rem !important;
            }

            .my-3 {
                margin-top: 1rem !important;
                margin-bottom: 1rem !important;
            }

            .p-3 {
                padding: 1rem !important;
            }

            .text-start {
                text-align: left !important;
            }

            .text-center {
                text-align: center !important;
            }

            .fw-bold {
                font-weight: 700 !important;
            }

            .small {
                font-size: 0.95em;
                padding: 10px;
                color: rgb(255 159 103);
            }

            .row {
                display: flex;
                flex-wrap: wrap;
                margin-right: -15px;
                margin-left: -15px;
            }

            .col-md-6 {
                position: relative;
                width: 100%;
                padding-right: 15px;
                padding-left: 15px;
            }

            #consultForm {
                margin-top: 50px;
                width: 100%;
            }

            @media (min-width: 768px) {
                .col-md-6 {
                    flex: 0 0 50%;
                    max-width: 50%;
                }
            }

            hr {
                margin: 1.5rem 0;
                border: 0;
                border-top: 1px solid var(--border-color);
            }

            /* --- 레이아웃 (변경 없음) --- */
            .calculator-container {
                max-width: 950px;
                margin: 40px auto;
                background-color: var(--card-bg);
                padding: 40px;
                border-radius: 15px;
                border: 1px solid var(--border-color);
                box-shadow: 0 0 25px rgba(135, 206, 235, 0.1);
            }

            @media (min-width: 768px) {
                .calculator-container {
                    margin-top: 80px;
                }
            }

            h1 {
                font-weight: 900;
                text-align: center;
                font-size: 2.5rem;
                margin-bottom: 0.5rem;
            }

            .subtitle {
                text-align: center;
                color: var(--text-muted);
                margin-bottom: 40px;
            }

            .info-icon {
                color: var(--text-muted);
                cursor: pointer;
                transition: color 0.3s;
            }

            .info-icon:hover {
                color: var(--neon-skyblue);
            }

            /* --- 폼 섹션 (변경 없음) --- */
            .form-section {
                border: 1px solid var(--border-color);
                border-radius: 10px;
                margin-bottom: 25px;
                overflow: hidden;
                background-color: rgba(0, 0, 0, 0.2);
            }

            .section-header {
                padding: 15px 25px;
                border-bottom: 1px solid var(--border-color);
            }

            .section-title {
                font-weight: 700;
                font-size: 1.2rem;
            }

            .section-content {
                padding: 25px;
            }

            .form-label {
                display: inline-block;
                margin-bottom: .5rem;
                color: #b0c4de;
                font-weight: 500;
            }

            .form-text {
                font-size: .875em;
                color: var(--text-muted);
            }

            /* --- 폼 요소 (변경 없음) --- */
            .form-control,
            .form-select {
                display: block;
                width: 100%;
                padding: 0.5rem 1rem;
                font-size: 1rem;
                font-weight: 400;
                line-height: 1.5;
                color: #E0E0E0;
                background-color: #2a2a2e;
                background-clip: padding-box;
                border: 1px solid #444;
                border-radius: 0.375rem;
                transition: all .2s ease-in-out;
            }

            .form-control:focus,
            .form-select:focus {
                color: #fff;
                background-color: #333;
                border-color: var(--neon-pink);
                outline: 0;
                box-shadow: 0 0 0 0.2rem rgba(255, 105, 180, 0.25), 0 0 10px var(--neon-pink);
            }

            .form-control.is-invalid,
            .form-control.is-invalid:focus {
                border-color: #f5365c;
                box-shadow: 0 0 0 0.2rem rgba(245, 54, 92, 0.25);
            }

            .invalid-feedback {
                display: block;
                width: 100%;
                margin-top: .25rem;
                font-size: .875em;
                color: #f5365c;
            }

            .input-group {
                position: relative;
                display: flex;
                flex-wrap: wrap;
                align-items: stretch;
                width: 100%;
            }

            .input-group .form-control {
                position: relative;
                flex: 1 1 auto;
                width: 1%;
                min-width: 0;
            }

            .input-group-text {
                display: flex;
                align-items: center;
                padding: .5rem 1rem;
                font-weight: 400;
                line-height: 1.5;
                color: #ccc;
                text-align: center;
                white-space: nowrap;
                background-color: #3a3a3e;
                border: 1px solid #444;
                border-radius: .375rem;
            }

            .input-group>.form-control {
                border-top-right-radius: 0;
                border-bottom-right-radius: 0;
            }

            .input-group>.input-group-text {
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
            }

            .input-clear-btn {
                position: absolute;
                right: 50px;
                top: 50%;
                transform: translateY(-50%);
                background: none;
                border: none;
                color: #888;
                font-size: 0rem;
                cursor: pointer;
                display: none;
                padding: 0 5px;
                line-height: 1;
            }

            .input-clear-btn:hover {
                color: #fff;
            }

            /* 폼 체크 (변경 없음) */
            .form-check {
                display: block;
                min-height: 1.5rem;
                padding-left: 1.75em;
                margin-bottom: .5rem;
            }

            .form-check-input {
                float: left;
                margin-left: -1.75em;
                width: 1.25em;
                height: 1.25em;
                margin-top: .125em;
                vertical-align: top;
                background-color: #333;
                background-repeat: no-repeat;
                background-position: center;
                background-size: contain;
                border: 1px solid #555;
                transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
            }

            .form-check-input:checked {
                background-color: var(--neon-pink);
                border-color: var(--neon-pink);
            }

            .form-check-input[type=radio] {
                border-radius: 50%;
            }

            .form-check-label {
                margin-left: 0.3em;
                color: #E0E0E0;
                cursor: pointer;
            }

            .form-switch {
                padding-left: 3em;
            }

            .form-switch .form-check-input {
                width: 2.5em;
                margin-left: -3em;
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,0.25)'/%3e%3c/svg%3e");
                background-position: left center;
                border-radius: 2em;
                transition: background-position .15s ease-in-out;
            }

            .form-switch .form-check-input:checked {
                background-color: var(--neon-mint);
                border-color: var(--neon-mint);
                background-position: right center;
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
            }

            /* --- 컴포넌트: 탭 (Nav Pills) (변경 없음) --- */
            .nav-pills {
                display: flex;
                flex-wrap: wrap;
                padding-left: 0;
                margin-bottom: 1rem;
                list-style: none;
            }

            .nav-pills .nav-link {
                color: var(--neon-skyblue);
                background-color: transparent;
                margin-right: 8px;
                margin-bottom: 10px;
                border-radius: 50px;
                font-weight: 500;
                padding: 0.5rem 1rem;
                display: block;
                text-decoration: none;
                border: 1px solid var(--border-color);
                transition: all .2s ease-in-out;
            }

            .nav-pills .nav-link:hover {
                color: #fff;
                border-color: var(--neon-skyblue);
                background-color: rgba(135, 206, 235, 0.1);
            }

            .nav-pills .nav-link.active {
                color: var(--dark-bg);
                background-color: var(--neon-skyblue);
                border-color: var(--neon-skyblue);
                box-shadow: 0 0 10px var(--neon-skyblue);
            }

            .tab-content {
                border: 1px solid var(--border-color);
                padding: 1.5rem;
                border-radius: .25rem;
                border-top-left-radius: 0;
                background-color: rgba(0, 0, 0, 0.2);
            }

            /* --- 홀로그램 차트 스타일 --- */
            .hologram-chart-container {
                position: relative;
                background: linear-gradient(135deg,
                        rgba(0, 255, 255, 0.05) 0%,
                        rgba(0, 100, 255, 0.03) 50%,
                        rgba(255, 0, 255, 0.05) 100%);
                border: 1px solid rgba(0, 255, 255, 0.3);
                border-radius: 15px;
                padding: 25px;
                margin: 20px 0;
                backdrop-filter: blur(10px);
                box-shadow:
                    0 0 30px rgba(0, 255, 255, 0.2),
                    inset 0 0 30px rgba(0, 255, 255, 0.05),
                    0 0 60px rgba(0, 100, 255, 0.1);
                transform: perspective(1000px) rotateX(2deg);
                animation: hologramFloat 6s ease-in-out infinite;
            }

            @keyframes hologramFloat {

                0%,
                100% {
                    transform: perspective(1000px) rotateX(2deg) translateY(0px);
                }

                50% {
                    transform: perspective(1000px) rotateX(2deg) translateY(-3px);
                }
            }

            .hologram-chart-container::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: linear-gradient(90deg,
                        transparent 0%,
                        rgba(0, 255, 255, 0.1) 50%,
                        transparent 100%);
                animation: hologramScan 3s linear infinite;
                pointer-events: none;
                border-radius: 15px;
            }

            @keyframes hologramScan {
                0% {
                    transform: translateX(-100%);
                }

                25% {
                    transform: translateX(100%);
                }

                50% {
                    transform: translateX(100%);
                }

                75% {
                    transform: translateX(-100%);
                }

                100% {
                    transform: translateX(-100%);
                }
            }

            .hologram-chart-container::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: repeating-linear-gradient(0deg,
                        transparent,
                        transparent 2px,
                        rgba(0, 255, 255, 0.03) 2px,
                        rgba(0, 255, 255, 0.03) 4px);
                pointer-events: none;
                border-radius: 15px;
                animation: hologramLines 0.1s linear infinite;
            }

            @keyframes hologramLines {
                0% {
                    opacity: 0.8;
                }

                50% {
                    opacity: 0.4;
                }

                100% {
                    opacity: 0.8;
                }
            }

            .hologram-chart-title {
                text-align: center;
                font-size: 1.4rem;
                font-weight: 700;
                color: #00ffff;
                text-shadow:
                    0 0 10px #00ffff,
                    0 0 20px #00ffff,
                    0 0 30px #00ffff;
                margin-bottom: 20px;
                animation: hologramGlow 2s ease-in-out infinite alternate;
            }

            @keyframes hologramGlow {
                from {
                    text-shadow:
                        0 0 10px #00ffff,
                        0 0 20px #00ffff,
                        0 0 30px #00ffff;
                }

                to {
                    text-shadow:
                        0 0 5px #00ffff,
                        0 0 15px #00ffff,
                        0 0 25px #00ffff,
                        0 0 35px #00ffff;
                }
            }

            .chart-toggle-buttons {
                display: flex;
                justify-content: center;
                gap: 15px;
                margin-bottom: 20px;
            }

            .chart-toggle-btn {
                background: rgba(0, 255, 255, 0.1);
                border: 1px solid rgba(0, 255, 255, 0.5);
                color: #00ffff;
                padding: 8px 16px;
                border-radius: 20px;
                cursor: pointer;
                transition: all 0.3s ease;
                font-size: 0.9rem;
                text-shadow: 0 0 5px #00ffff;
            }

            .chart-toggle-btn:hover {
                background: rgba(0, 255, 255, 0.2);
                box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
                transform: scale(1.05);
            }

            .chart-toggle-btn.active {
                background: rgba(0, 255, 255, 0.3);
                box-shadow: 0 0 20px rgba(0, 255, 255, 0.7);
                text-shadow: 0 0 10px #00ffff;
            }

            .chart-canvas-container {
                position: relative;
                height: 400px;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .chart-canvas {
                max-width: 100%;
                max-height: 100%;
                filter: drop-shadow(0 0 10px rgba(0, 255, 255, 0.3));
            }

            /* 글리치 효과 */
            @keyframes glitch {
                0% {
                    transform: translate(0);
                }

                20% {
                    transform: translate(-2px, 2px);
                }

                40% {
                    transform: translate(-2px, -2px);
                }

                60% {
                    transform: translate(2px, 2px);
                }

                80% {
                    transform: translate(2px, -2px);
                }

                100% {
                    transform: translate(0);
                }
            }

            .hologram-chart-container.glitch {
                animation: glitch 0.3s ease-in-out;
            }

            /* 데이터 스트림 효과 */
            .data-stream {
                position: absolute;
                top: 10px;
                right: 15px;
                font-family: 'Courier New', monospace;
                font-size: 0.7rem;
                color: rgba(0, 255, 255, 0.6);
                line-height: 1.2;
                animation: dataFlow 2s linear infinite;
            }

            @keyframes dataFlow {
                0% {
                    opacity: 0.3;
                }

                50% {
                    opacity: 0.8;
                }

                100% {
                    opacity: 0.3;
                }
            }

            .tab-pane {
                display: none;
            }

            .tab-pane.active.show {
                display: block;
            }

            /* --- 컴포넌트: 아코디언 (변경 없음) --- */
            .accordion-item {
                background-color: transparent;
                border-bottom: 1px solid var(--border-color);
            }

            .accordion-item:first-of-type,
            .accordion-item:last-of-type {
                border-radius: 0;
            }

            .accordion-header {
                margin-bottom: 0;
            }

            .accordion-button {
                position: relative;
                display: flex;
                align-items: center;
                width: 100%;
                padding: 1rem 1.25rem;
                font-size: 1rem;
                color: #E0E0E0;
                text-align: left;
                background-color: rgba(255, 255, 255, 0.05);
                border: 0;
                border-radius: 0;
                transition: all .2s ease-in-out;
            }

            .accordion-button:not(.collapsed) {
                color: #fff;
                background-color: var(--neon-electric-purple);
                box-shadow: 0 0 15px rgba(215, 103, 255, 0.5);
                border-radius: 0.375rem;
            }

            .accordion-button::after {
                flex-shrink: 0;
                width: 1.25rem;
                height: 1.25rem;
                margin-left: auto;
                content: '▼';
                text-align: center;
                transition: transform .2s ease-in-out;
            }

            .accordion-button:not(.collapsed)::after {
                transform: rotate(-180deg);
                color: #fff;
            }

            .accordion-collapse {
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.3s ease-out;
            }

            .accordion-collapse.show {
                max-height: 1500px;
                /* 충분히 큰 값 */
            }

            .accordion-body {
                padding: 1.5rem 1.25rem;
                background-color: rgba(0, 0, 0, 0.2);
            }


            /* --- 컴포넌트: 모달 (변경 없음) --- */
            .modal {
                position: fixed;
                top: 0;
                left: 0;
                z-index: 1050;
                display: none;
                width: 100%;
                height: 100%;
                overflow-y: auto;
                /* 전체 화면 스크롤 허용 */
                outline: 0;
                background-color: rgba(13, 13, 13, 0.8);
                backdrop-filter: blur(5px);
            }

            .modal.show {
                display: flex;
                align-items: flex-start;
                justify-content: center;
                padding: 5vh 0;
            }

            /* 상단 정렬 및 패딩 추가 */
            .modal-dialog {
                position: relative;
                width: auto;
                margin: .5rem;
                pointer-events: none;
                max-width: 500px;
            }

            .modal.show .modal-dialog {
                transform: none;
            }

            .modal-content {
                position: relative;
                display: flex;
                flex-direction: column;
                width: 100%;
                pointer-events: auto;
                background-color: var(--card-bg);
                background-clip: padding-box;
                border: 1px solid var(--neon-pink);
                border-radius: .5rem;
                outline: 0;
                box-shadow: 0 0 25px var(--neon-pink);
            }

            .modal-header {
                display: flex;
                flex-shrink: 0;
                align-items: center;
                justify-content: space-between;
                padding: 1rem 1rem;
                border-bottom: 1px solid var(--border-color);
            }

            .modal-title {
                margin-bottom: 0;
                line-height: 1.5;
                font-size: 1.25rem;
                color: var(--neon-pink);
            }

            .btn-close {
                padding: .5rem;
                background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23E0E0E0'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
                border: 0;
                border-radius: .25rem;
                opacity: .7;
                transition: opacity .2s, transform .2s;
            }

            .btn-close:hover {
                opacity: 1;
                transform: scale(1.1);
            }

            .modal-body {
                position: relative;
                flex: 1 1 auto;
                padding: 1.5rem;
            }

            .modal-footer {
                display: flex;
                flex-wrap: wrap;
                flex-shrink: 0;
                align-items: center;
                justify-content: center;
                padding: 1rem;
                border-top: 1px solid var(--border-color);
            }

            .modal-footer>* {
                margin: .25rem;
            }

            /* --- 버튼 (변경 없음) --- */
            .btn {
                display: inline-block;
                font-weight: 600;
                line-height: 1.5;
                text-align: center;
                text-decoration: none;
                vertical-align: middle;
                cursor: pointer;
                user-select: none;
                background-color: transparent;
                border: 2px solid;
                padding: .375rem 1rem;
                font-size: 1rem;
                border-radius: .5rem;
                transition: all .3s ease;
            }

            .btn-primary {
                border-color: var(--neon-pink);
                color: var(--neon-pink);
                box-shadow: 0 0 2px var(--neon-pink), inset 0 0 2px var(--neon-pink);
            }

            .btn-primary:hover {
                background-color: var(--neon-pink);
                color: var(--dark-bg);
                box-shadow: 0 0 5px var(--neon-pink), 0 0 10px var(--neon-pink);
                transform: scale(1.05);
            }

            .btn-secondary {
                border-color: var(--text-muted);
                color: var(--text-muted);
            }

            .btn-secondary:hover {
                background-color: var(--text-muted);
                color: var(--dark-bg);
                border-color: var(--text-muted);
                box-shadow: 0 0 10px var(--text-muted);
                transform: scale(1.05);
            }

            .btn-sm {
                padding: .25rem .5rem;
                font-size: .875rem;
                border-radius: .3rem;
                border-width: 1px;
            }

            .btn-outline-info {
                border-color: var(--neon-mint);
                color: var(--neon-mint);
            }

            .btn-outline-info:hover {
                background-color: var(--neon-mint);
                color: var(--dark-bg);
                box-shadow: 0 0 10px var(--neon-mint);
            }

            .btn-outline-danger {
                border-color: #f5365c;
                color: #f5365c;
            }

            .btn-outline-danger:hover {
                background-color: #f5365c;
                color: var(--dark-bg);
                box-shadow: 0 0 10px #f5365c;
            }

            /* --- 결과 및 기타 (변경 없음) --- */
            .result-container {
                margin-top: 40px;
                padding: 30px;
                background-color: var(--card-bg);
                color: #e0e0e0;
                border-radius: 10px;
                border: 1px solid var(--border-color);
                box-shadow: 0 0 20px rgba(222, 255, 4, 0.1);
            }

            .final-price {
                font-size: 2.8rem;
                font-weight: 900;
                color: var(--neon-yellow);
                text-shadow: 0 0 15px var(--neon-yellow);
            }

            .clone-button,
            .clone-page-button,
            .delete-page-button {
                font-size: 0.8em;
                vertical-align: middle;
                margin-left: 5px;
            }

            @keyframes flash {
                0% {
                    background-color: rgba(135, 206, 235, 0.2);
                }

                100% {
                    background-color: transparent;
                }
            }

            .flash-update {
                animation: flash 1s ease-out;
            }

            #priceBreakdownWrapper {
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.4s ease-in-out;
                border-bottom: 1px solid transparent;
                margin-bottom: 0;
            }

            #priceBreakdownWrapper.show {
                max-height: 3000px;
                border-bottom-color: var(--border-color);
                margin-bottom: 1.5rem;
            }

            #priceBreakdown {
                padding-bottom: 1rem;
            }

            #priceBreakdown ul {
                padding-left: 0;
            }

            #priceBreakdown .breakdown-category {
                font-weight: bold;
                color: var(--neon-skyblue);
                margin-top: 15px;
                border-bottom: 1px solid rgba(135, 206, 235, 0.2);
                padding-bottom: 5px;
                font-size: 1.1em;
            }

            #priceBreakdown .breakdown-item {
                padding: 8px 0 8px 15px;
                border-bottom: 1px solid var(--border-color);
            }

            #priceBreakdown .breakdown-item:last-child {
                border-bottom: none;
            }

            #priceBreakdown .breakdown-item span {
                color: #ccc;
            }

            #priceBreakdown .breakdown-item strong {
                color: #fff;
            }

            /* --- 상세 견적 탐색기 스타일 (변경 없음) --- */
            .breakdown-parent-item {
                cursor: pointer;
                user-select: none;
                transition: background-color 0.2s;
            }

            .breakdown-parent-item:hover {
                background-color: rgba(255, 255, 255, 0.05);
            }

            .breakdown-parent-item .toggle-arrow {
                display: inline-block;
                transition: transform 0.2s;
                margin-right: 8px;
                font-size: 0.8em;
                width: 1em;
                text-align: center;
            }

            .breakdown-parent-item.open .toggle-arrow {
                transform: rotate(180deg);
            }

            .breakdown-details {
                display: none;
                padding-left: 25px;
                margin-left: 15px;
                border-left: 1px dashed var(--border-color);
            }

            .breakdown-details.show {
                display: block;
            }

            .breakdown-details .breakdown-item {
                padding-left: 10px;
                font-size: 0.95em;
            }

            #subpage-copy-targets {
                max-height: 150px;
                overflow-y: auto;
                border: 1px solid #444;
                padding: 10px;
                border-radius: 5px;
                background-color: #2a2a2e;
            }

            /* --- 미리보기 팝업 스타일 (변경 없음) --- */
            #previewModal .modal-dialog {
                max-width: 1200px;
                width: 95%;
                height: 90vh;
                margin: auto;
            }

            #previewModal .modal-content {
                height: 100%;
                border-color: var(--neon-mint);
                box-shadow: 0 0 25px var(--neon-mint);
            }

            #previewModal .modal-body {
                padding: 0;
                overflow-y: auto;
                background-color: #111;
                scroll-behavior: smooth;
            }

            .preview-container {
                color: #fff;
                width: 100%
            }

            .preview-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 15px 30px;
                background-color: rgba(10, 10, 10, 0.8);
                border-bottom: 1px solid #333;
                position: sticky;
                top: 0;
                z-index: 10;
                backdrop-filter: blur(5px);
            }

            .preview-header .logo {
                font-size: 1.5rem;
                font-weight: 900;
                color: var(--neon-mint);
            }

            .preview-nav {
                display: flex;
                align-items: center;
            }

            .preview-nav a {
                color: #E0E0E0;
                text-decoration: none;
                margin: 0 15px;
                font-weight: 500;
                transition: color 0.2s;
            }

            .preview-nav a:hover {
                color: var(--neon-pink);
            }

            .preview-nav .login-indicator {
                padding: 8px 15px;
                border: 1px solid var(--neon-skyblue);
                color: var(--neon-skyblue);
                border-radius: 20px;
                margin-left: 20px;
            }

            .preview-subnav {
                display: flex;
                align-items: center;
            }

            .preview-subnav a {
                margin: 0 10px;
                font-size: 0.95rem;
            }

            .preview-nav-more {
                position: relative;
            }

            .preview-nav-more .more-dots {
                font-weight: bold;
                cursor: pointer;
                padding: 5px;
                letter-spacing: 2px;
            }

            .more-menu {
                display: none;
                position: absolute;
                top: 100%;
                right: 0;
                background-color: var(--card-bg);
                border: 1px solid var(--border-color);
                border-radius: 5px;
                padding: 10px;
                min-width: 150px;
                z-index: 20;
                box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
            }

            .more-menu.show {
                display: block;
            }

            .more-menu a {
                display: block;
                padding: 8px 12px;
                margin: 0;
                white-space: nowrap;
            }

            .more-menu a:hover {
                background-color: rgba(255, 105, 180, 0.1);
            }

            .preview-main {
                width: 100%;
            }

            .preview-section,
            .preview-subpage-wrapper {
                min-height: 400px;
                display: flex;
                flex-direction: column;
                width: 100%;
                align-items: center;
                justify-content: center;
                border-bottom: 2px dashed #000;
            }

            .preview-subpage-wrapper {
                padding-top: 60px;
            }

            .preview-subpage-title {
                font-size: 2.5rem;
                color: var(--neon-yellow);
                margin-bottom: 40px;
                text-shadow: 0 0 10px var(--neon-yellow);
            }

            .preview-section .section-number {
                font-size: 8rem;
                font-weight: 900;
                color: rgba(255, 255, 255, 0.5);
                text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
                user-select: none;
            }

            /* --- 반응형 CSS (모바일) (변경 없음) --- */
            @media (max-width: 767px) {
                .tab-content {
                    padding: 1em !important;
                }

                .mobile-br {
                    display: inline !important;
                }

                .calculator-container {
                    padding: 15px;
                    margin: 80px auto;
                }

                .section-header {
                    padding: 10px 15px;
                }

                .section-content {
                    padding: 15px;
                }

                .accordion-body {
                    padding: 1rem;
                }

                .result-container {
                    padding: 20px;
                    margin-top: 20px;
                }

                hr {
                    margin: 1rem 0;
                }

                .my-3 {
                    margin-top: 0.75rem !important;
                    margin-bottom: 0.75rem !important;
                }

                body {
                    font-size: 14px;
                }

                h1 {
                    font-size: 1.8rem;
                }

                .subtitle {
                    font-size: 0.9rem;
                    margin-bottom: 20px;
                }

                .section-title {
                    font-size: 1.1rem;
                }

                .form-control,
                .form-select,
                .btn {
                    font-size: 0.7rem;
                }

                .form-check-label {
                    font-size: 0.9rem;
                }

                .final-price {
                    font-size: 1.8rem;
                }

                .breakdown-category {
                    font-size: 1em;
                }

                .breakdown-item {
                    font-size: 0.9em;
                    padding: 6px 0 6px 10px;
                }

                .preview-header {
                    padding: 10px 15px;
                    flex-wrap: wrap;
                }

                .preview-header .logo {
                    font-size: 1.2rem;
                }

                .preview-nav {
                    margin-left: auto;
                }

                .preview-nav a,
                .preview-subnav a {
                    margin: 0 8px;
                    font-size: 0.85rem;
                }

                .preview-subpage-title {
                    font-size: 1.8rem;
                }

                .preview-section .section-number {
                    font-size: 5rem;
                }

                .consult-promo-section {
                    padding: 1rem !important;
                }

                .price-comparison {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    gap: 1.5rem;
                    margin-bottom: 1.5rem;
                    flex-direction: column;
                }
            }

            .function-category {
                border: 1px solid var(--border-color);
                border-radius: 5px;
                margin-bottom: 10px;
                background-color: rgba(255, 255, 255, 0.03);
                overflow: hidden;
            }

            .category-header {
                padding: 10px 15px;
                cursor: pointer;
                font-weight: 600;
                display: flex;
                justify-content: space-between;
                align-items: center;
                transition: background-color 0.2s;
            }

            .category-header:hover {
                background-color: rgba(255, 255, 255, 0.1);
            }

            .category-header::after {
                content: '▼';
                transition: transform 0.2s ease-in-out;
            }

            .function-category.active .category-header {
                background-color: rgba(152, 255, 152, 0.1);
                color: var(--neon-mint);
            }

            .function-category.active .category-header::after {
                transform: rotate(180deg);
            }

            .category-content {
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.3s ease-out, padding 0.3s ease-out;
                padding: 0 15px;
            }

            .function-category.active .category-content {
                max-height: 500px;
                padding: 15px;
            }

            /* --- 무료 상담 신청 섹션 스타일 (변경 없음) --- */
            .consult-promo-section {
                margin-top: 2rem;
                padding: 2rem;
                background: linear-gradient(135deg, rgba(255, 105, 180, 0.1), rgba(135, 206, 235, 0.1));
                border: 1px solid var(--neon-pink);
                border-radius: 10px;
                text-align: center;
                box-shadow: 0 0 15px rgba(255, 105, 180, 0.3);
            }

            .consult-promo-section h4 {
                font-size: 1.5rem;
                font-weight: 700;
                color: #fff;
                margin-bottom: 1rem;
            }

            .price-comparison {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 1.5rem;
                margin-bottom: 1.5rem;
            }

            .original-price {
                font-size: 2.0rem;
                color: #aaa;
                text-decoration: line-through;
                text-decoration-color: #f5365c;
                text-decoration-thickness: 6px;
            }

            .discounted-price {
                font-size: 2.2rem;
                font-weight: 900;
                color: var(--neon-mint);
                text-shadow: 0 0 10px var(--neon-mint);
                filter: blur(5px);
                transition: filter 0.3s ease;
            }

            .consult-btn {
                font-size: 1.1rem !important;
                padding: 0.8rem 2rem !important;
            }

            /* --- 상담 신청 팝업(모달) 스타일 (수정됨) --- */
            #consultModal .modal-dialog {
                max-width: 550px;
                /* 고정 너비 */
                width: 100%;
            }

            #consultModal .modal-body {
                max-height: 70vh;
                /* 최대 높이 설정 */
                overflow-y: auto;
                /* 내용이 길어지면 스크롤 */
            }

            #consultModal .modal-content {
                border-color: var(--neon-skyblue);
                box-shadow: 0 0 25px var(--neon-skyblue);
            }

            #consultModal .modal-title {
                color: var(--neon-skyblue);
            }

            #consultModal .form-label {
                font-weight: 600;
                color: #b0c4de;
            }

            #consultModal .privacy-agree {
                font-size: 0.9em;
                color: #a0a0a0;
            }

            #consultModal .privacy-agree a {
                color: var(--neon-skyblue);
                text-decoration: none;
            }

            #consultModal .privacy-agree a:hover {
                text-decoration: underline;
            }

            /* 견적 첨부 미리보기 스타일 */
            #attachedQuotePreview .quote-preview-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 10px 15px;
                cursor: pointer;
                background-color: rgba(255, 255, 255, 0.05);
                border-bottom: 1px solid #444;
            }

            #attachedQuotePreview .quote-preview-header strong {
                color: var(--neon-skyblue);
            }

            #attachedQuotePreview .quote-preview-content {
                padding: 15px;
                max-height: 180px;
                /* 미리보기 내용의 최대 높이 */
                overflow-y: auto;
                display: none;
                /* 기본적으로 숨김 */
                background-color: rgba(0, 0, 0, 0.2);
            }

            #attachedQuotePreview .quote-preview-content.show {
                display: block;
            }

            #attachedQuotePreview .toggle-quote-preview-btn {
                font-size: 0.8em;
                padding: 2px 8px;
            }

            /* --- 유효성 검사 에러 메시지 스타일 --- */
            .validation-error {
                display: block;
                width: 100%;
                margin-top: 0.25rem;
                font-size: 0.875em;
                color: #f5365c;
                animation: fadeIn 0.3s ease-in-out;
            }

            @keyframes fadeIn {
                from {
                    opacity: 0;
                    transform: translateY(-5px);
                }

                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }

            .form-control.error,
            .form-select.error {
                border-color: #f5365c;
                box-shadow: 0 0 0 0.2rem rgba(245, 54, 92, 0.25);
            }

            .form-check.error {
                border: 1px solid #f5365c;
                border-radius: 0.375rem;
                padding: 0.5rem;
                background-color: rgba(245, 54, 92, 0.1);
            }

            /* --- [추가됨] 기능 시연 모달 스타일 (쇼케이스 페이지에서 복사) --- */
            .feature-modal-overlay {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgba(0, 0, 0, 0.8);
                backdrop-filter: blur(5px);
                -webkit-backdrop-filter: blur(5px);
                z-index: 1060;
                /* 기존 모달보다 위에 표시 */
                display: none;
                justify-content: center;
                align-items: center;
                opacity: 0;
                transition: opacity 0.3s ease-in-out;
            }

            .feature-modal-overlay.visible {
                display: flex;
                opacity: 1;
            }

            .feature-modal-content {
                background-color: #1A1A1A;
                border: 1px solid rgba(135, 206, 235, 0.3);
                border-radius: 12px;
                width: 90%;
                height: 90%;
                max-width: 1600px;
                display: flex;
                flex-direction: column;
                box-shadow: 0 0 30px rgba(135, 206, 235, 0.2);
                transform: scale(0.95);
                transition: transform 0.3s ease-in-out;
            }

            .feature-modal-overlay.visible .feature-modal-content {
                transform: scale(1);
            }

            .modal-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0.75rem 1.5rem;
                border-bottom: 1px solid rgba(135, 206, 235, 0.2);
                flex-shrink: 0;
            }

            .device-controls {
                display: flex;
                gap: 0.5rem;
            }

            .device-btn {
                background-color: transparent;
                border: 1px solid #555;
                color: #999;
                padding: 0.4rem 1rem;
                border-radius: 6px;
                cursor: pointer;
                display: flex;
                align-items: center;
                gap: 0.5rem;
                transition: all 0.3s ease;
            }

            .device-btn:hover {
                color: var(--neon-skyblue);
                border-color: var(--neon-skyblue);
            }

            .device-btn.active {
                color: var(--neon-mint);
                border-color: var(--neon-mint);
                background-color: rgba(152, 255, 152, 0.1);
                box-shadow: 0 0 8px rgba(152, 255, 152, 0.5);
            }

            .device-btn svg {
                transition: all 0.3s ease;
            }

            .device-btn.active svg {
                stroke: var(--neon-mint);
            }

            .modal-close-btn {
                background: none;
                border: none;
                color: #999;
                font-size: 2.5rem;
                font-weight: 300;
                cursor: pointer;
                line-height: 1;
                transition: all 0.3s ease;
            }

            .modal-close-btn:hover {
                color: var(--neon-pink);
                transform: rotate(90deg);
            }

            .modal-body {
                flex-grow: 1;
                padding: 1rem;
                background-color: #0D0D0D;
                overflow: hidden;
                border-bottom-left-radius: 12px;
                border-bottom-right-radius: 12px;
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
            }

            #feature-iframe {
                width: 100%;
                height: 100%;
                background-color: white;
                border-radius: 8px;
                transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
                max-width: 100%;
            }

            @keyframes pulse-glow {
                0% {
                    transform: scale(1.0);
                    box-shadow: 0 0 8px var(--neon-pink), 0 0 15px var(--neon-pink);
                }

                50% {
                    transform: scale(1.05);
                    box-shadow: 0 0 20px var(--neon-pink), 0 0 40px var(--neon-pink);
                }

                100% {
                    transform: scale(1.0);
                    box-shadow: 0 0 8px var(--neon-pink), 0 0 15px var(--neon-pink);
                }
            }

            .consult-btn {
                /* 애니메이션 적용 */
                animation: pulse-glow 2s ease-in-out infinite;
            }

            /* --- [추가/수정됨] 디자인 옵션 스타일 --- */
            .design-options-wrapper {
                padding: 1rem 0;
            }

            .design-options-container {
                display: flex;
                flex-direction: column;
                gap: 1rem;
            }

            .design-production-container {
                display: flex;
                flex-direction: column;
                /* Mobile-first: 기본 세로 배치 */
                gap: 0;
            }

            @media (min-width: 768px) {
                .design-production-container {
                    flex-direction: row;
                    /* PC: 가로 배치 */
                    align-items: center;
                    gap: 1.5rem;
                }
            }

            .design-choice-card {
                flex: 1;
                padding: 1rem 1.25rem;
                border: 1px solid var(--border-color);
                border-radius: 8px;
                background-color: rgba(255, 255, 255, 0.02);
                cursor: pointer;
                transition: all 0.3s ease;
                position: relative;
                min-height: 95px;
                /* 카드 최소 높이를 고정하여 레이아웃 깨짐 방지 */
            }

            .design-choice-card:hover {
                background-color: rgba(255, 255, 255, 0.05);
                border-color: var(--neon-skyblue);
            }

            .design-choice-card input[type="radio"] {
                position: absolute;
                opacity: 0;
                width: 0;
                height: 0;
            }

            .design-choice-card .card-content {
                display: flex;
                flex-direction: column;
                height: 100%;
            }

            .design-choice-card .card-title {
                font-weight: 600;
                color: #E0E0E0;
                margin-bottom: 0.25rem;
                display: flex;
                align-items: center;
            }

            .design-choice-card .card-description {
                font-size: 0.85em;
                color: var(--text-muted);
                flex-grow: 1;
            }

            .design-choice-card.selected {
                border-color: var(--neon-pink);
                background-color: rgba(255, 105, 180, 0.08);
                box-shadow: 0 0 10px rgba(255, 105, 180, 0.3);
            }

            .design-choice-card.selected .card-title {
                color: var(--neon-pink);
            }

            .design-quantity-wrapper {
                max-height: 0;
                opacity: 0;
                overflow: hidden;
                transform: translateY(-10px);
                transition: all 0.4s ease-out;
            }

            .design-quantity-wrapper.show {
                max-height: 100px;
                opacity: 1;
                transform: translateY(0);
            }

            /* PC에서 수평 레이아웃일 때의 스타일 */
            @media (min-width: 768px) {
                .design-quantity-wrapper {
                    flex-basis: 0;
                    transform: translateX(-10px);
                    transition: all 0.4s ease-out;
                }

                .design-quantity-wrapper.show {
                    flex-basis: 240px;
                    /* 가로 배치 시 너비 확보 */
                    transform: translateX(0);
                }
            }

            /* 모바일에서 수직 레이아웃일 때의 스타일 */
            @media (max-width: 767px) {
                .design-quantity-wrapper.show {
                    margin-top: 1rem;
                    /* 카드와의 세로 간격 */
                }
            }

            /* --- 선택된 카드 체크 아이콘 --- */
            .design-choice-card .selected-check {
                position: absolute;
                top: 10px;
                right: 10px;
                font-size: 1.5rem;
                color: var(--neon-pink);
                opacity: 0;
                transform: scale(0.5);
                transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            }

            .design-choice-card.selected .selected-check {
                opacity: 1;
                transform: scale(1);
            }

            /* --- 창의적인 수량 조절 UI --- */
            .quantity-control {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                background-color: rgba(255, 255, 255, 0.03);
                padding: 0.75rem;
                border-radius: 8px;
                border: 1px solid var(--border-color);
            }

            .quantity-control .quantity-btn {
                width: 38px;
                height: 38px;
                border-radius: 50%;
                background-color: rgba(255, 255, 255, 0.1);
                color: #fff;
                font-size: 1.5rem;
                line-height: 1;
                border: 1px solid var(--border-color);
                transition: all 0.2s ease;
            }

            .quantity-control .quantity-btn:hover {
                background-color: var(--neon-skyblue);
                color: var(--dark-bg);
                border-color: var(--neon-skyblue);
                transform: scale(1.1);
            }

            .quantity-control .quantity-input {
                width: 80px;
                height: 42px;
                text-align: center;
                background-color: transparent;
                border: none;
                border-bottom: 2px solid var(--border-color);
                color: #fff;
                font-size: 1.5rem;
                font-weight: 700;
                padding: 0;
                transition: border-color 0.3s;
                -webkit-appearance: none;
                margin: 0;
            }

            .quantity-control .quantity-input::-webkit-outer-spin-button,
            .quantity-control .quantity-input::-webkit-inner-spin-button {
                -webkit-appearance: none;
                margin: 0;
            }

            .quantity-control .quantity-input[type=number] {
                -moz-appearance: textfield;
            }

            .quantity-control .quantity-input:focus {
                outline: none;
                border-color: var(--neon-pink);
            }
