/* == index.html style block 1 == */

        /* Modal CSS */
        .scf-modal-overlay {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0, 5, 20, 0.8);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            z-index: 9999;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }
        .scf-modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        .scf-modal-content {
            background: #F8FAFC;
            border: 1px solid rgba(0, 44, 95, 0.1);
            border-radius: 20px;
            width: 90%;
            max-width: 1000px;
            height: 85vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 30px 60px rgba(0,0,0,0.5);
            transform: translateY(30px);
            transition: all 0.3s ease;
        }
        .scf-modal-overlay.active .scf-modal-content {
            transform: translateY(0);
        }
        .scf-modal-header {
            padding: 20px 30px;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .scf-modal-close {
            background: transparent;
            border: none;
            color: #fff;
            font-size: 36px;
            cursor: pointer;
            line-height: 1;
            transition: color 0.3s ease;
        }
        .scf-modal-close:hover {
            color: #4a90e2;
        }
        .scf-modal-body {
            padding: 30px;
            overflow-y: auto;
            flex: 1;
        }
        /* Custom Scrollbar for Modal */
        .scf-modal-body::-webkit-scrollbar {
            width: 10px;
        }
        .scf-modal-body::-webkit-scrollbar-track {
            background: rgba(255,255,255,0.05);
        }
        .scf-modal-body::-webkit-scrollbar-thumb {
            background: rgba(255,255,255,0.2);
            border-radius: 5px;
        }
        .scf-modal-body::-webkit-scrollbar-thumb:hover {
            background: rgba(255,255,255,0.4);
        }
    
/* == index.html style block 2 == */

        .contact-banner-container {
            background-color: #ffffff;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 40px 0;
            gap: 80px;
            flex-wrap: wrap;
            max-width: 1400px;
            margin: 0 auto;
        }
        .contact-banner-img-wrap {
            flex: 1;
            display: flex;
            justify-content: center;
            min-width: 300px;
        }
        .contact-banner-img-wrap img {
            max-width: 100%;
            height: auto;
            object-fit: contain;
            max-height: 450px;
        }
        .contact-banner-content {
            flex: 1.2;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            min-width: 300px;
        }
        .contact-banner-title {
            font-size: 42px;
            font-weight: 800;
            color: #111;
            line-height: 1.4;
            margin-bottom: 24px;
            letter-spacing: -0.02em;
            word-break: keep-all;
        }
        .contact-banner-subtitle {
            font-size: 18px;
            color: #555;
            line-height: 1.6;
            margin-bottom: 40px;
            font-weight: 500;
            word-break: keep-all;
            max-width: 600px;
        }
        .contact-banner-btn {
            background-color: #1E3A8A;
            color: #fff;
            padding: 20px 50px;
            font-size: 18px;
            font-weight: 700;
            text-decoration: none;
            border-radius: 8px;
            display: inline-block;
            text-align: center;
            width: 400px; /* 2x size */
            max-width: 100%;
            align-self: center; /* Center within the column */
            margin-top: 20px;
            transition: background-color 0.2s ease, transform 0.2s ease;
            box-shadow: 0 4px 12px rgba(30, 58, 138, 0.2);
        }
        .contact-banner-btn:hover {
            background-color: #172B66;
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(30, 58, 138, 0.3);
        }
        @media (max-width: 768px) {
            .contact-banner-container {
                padding: 40px 20px;
                text-align: center;
                gap: 40px;
            }
            .contact-banner-content {
                align-items: center;
            }
            .contact-banner-title {
                font-size: 32px;
            }
            .contact-banner-subtitle {
                font-size: 16px;
            }
        }
    
/* == index.html style block 3 == */

/* FOOTER PREMIUM STYLE SHEET */
.mcoaching-premium-footer {
    width: 100%;
    background-color: #ffffff; /* 촌스러운 다크톤을 전면 제거하고 무결한 순백색 배치 */
    padding: 80px 20px 100px 20px; /* 여백의 호흡을 넓혀 지적 품격을 견인 */
    border-top: 1px solid #f1f5f9; /* 보이지 않는 듯 정결한 초미세 경계선 분할 */
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.footer-inner-frame {
    max-width: 1100px;
    margin: 0 auto;
}

/* 상단 게이트 레이아웃 */
.footer-top-gate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
}

.footer-brand-logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1e3a8a; /* 명코칭 시그니처 딥 블루로 아이덴티티 확립 */
    letter-spacing: 2px;
}

/* 세련된 슬림 라인 버튼 디자인 변경 */
.footer-cta-line-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1e3a8a;
    border: 1px solid rgba(30, 58, 138, 0.2); /* 딥 블루 라인 링 셋업 */
    padding: 12px 26px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-cta-line-btn:hover {
    background-color: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.footer-line-divider {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08); /* 화이트 배경에 맞춘 다크 라인 */
    margin: 0 0 40px 0;
}

/* 2열 구조 에디토리얼 그리드 정렬 */
.footer-bottom-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
}

.footer-info-left, .footer-info-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* 텍스트 컬러를 화이트 바탕에 맞춰 고대비 다크 그레이로 전면 정렬 */
.office-address, .business-meta {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

.office-address strong, .business-meta strong {
    color: #0f172a;
    font-weight: 700;
}

.footer-copyright {
    font-size: 13px;
    color: #94a3b8;
    margin-top: 24px;
    font-weight: 300;
}

/* 원색의 생동감을 그대로 살린 오피셜 SNS 브랜드 서클 복구 */
.footer-sns-brand-color {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.sns-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.naver-blog {
    background-color: #03c75a;
    font-size: 18px;
}

.youtube-channel {
    background-color: #ff0000;
    font-size: 13px;
}

.facebook-page {
    background-color: #1877f2;
    font-size: 20px;
    font-family: 'Playfair Display', serif;
    padding-bottom: 3px;
}

.instagram-feed {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    font-size: 24px;
}

.sns-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
    filter: brightness(1.08);
}

/* 반응형 트랙 전환 */
@media (max-width: 768px) {
    .footer-top-gate { flex-direction: column; gap: 20px; align-items: flex-start; }
    .footer-bottom-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-copyright { margin-top: 10px; }
}

/* == selfcare.html style block 1 == */

/* FOOTER PREMIUM STYLE SHEET */
.mcoaching-premium-footer {
    width: 100%;
    background-color: #ffffff; /* 촌스러운 다크톤을 전면 제거하고 무결한 순백색 배치 */
    padding: 80px 20px 100px 20px; /* 여백의 호흡을 넓혀 지적 품격을 견인 */
    border-top: 1px solid #f1f5f9; /* 보이지 않는 듯 정결한 초미세 경계선 분할 */
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.footer-inner-frame {
    max-width: 1100px;
    margin: 0 auto;
}

/* 상단 게이트 레이아웃 */
.footer-top-gate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
}

.footer-brand-logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1e3a8a; /* 명코칭 시그니처 딥 블루로 아이덴티티 확립 */
    letter-spacing: 2px;
}

/* 세련된 슬림 라인 버튼 디자인 변경 */
.footer-cta-line-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1e3a8a;
    border: 1px solid rgba(30, 58, 138, 0.2); /* 딥 블루 라인 링 셋업 */
    padding: 12px 26px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-cta-line-btn:hover {
    background-color: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.footer-line-divider {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08); /* 화이트 배경에 맞춘 다크 라인 */
    margin: 0 0 40px 0;
}

/* 2열 구조 에디토리얼 그리드 정렬 */
.footer-bottom-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
}

.footer-info-left, .footer-info-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* 텍스트 컬러를 화이트 바탕에 맞춰 고대비 다크 그레이로 전면 정렬 */
.office-address, .business-meta {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

.office-address strong, .business-meta strong {
    color: #0f172a;
    font-weight: 700;
}

.footer-copyright {
    font-size: 13px;
    color: #94a3b8;
    margin-top: 24px;
    font-weight: 300;
}

/* 원색의 생동감을 그대로 살린 오피셜 SNS 브랜드 서클 복구 */
.footer-sns-brand-color {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.sns-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.naver-blog {
    background-color: #03c75a;
    font-size: 18px;
}

.youtube-channel {
    background-color: #ff0000;
    font-size: 13px;
}

.facebook-page {
    background-color: #1877f2;
    font-size: 20px;
    font-family: 'Playfair Display', serif;
    padding-bottom: 3px;
}

.instagram-feed {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    font-size: 24px;
}

.sns-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
    filter: brightness(1.08);
}

/* 반응형 트랙 전환 */
@media (max-width: 768px) {
    .footer-top-gate { flex-direction: column; gap: 20px; align-items: flex-start; }
    .footer-bottom-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-copyright { margin-top: 10px; }
}

/* == facilitation.html style block 1 == */

/* FOOTER PREMIUM STYLE SHEET */
.mcoaching-premium-footer {
    width: 100%;
    background-color: #ffffff; /* 촌스러운 다크톤을 전면 제거하고 무결한 순백색 배치 */
    padding: 80px 20px 100px 20px; /* 여백의 호흡을 넓혀 지적 품격을 견인 */
    border-top: 1px solid #f1f5f9; /* 보이지 않는 듯 정결한 초미세 경계선 분할 */
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.footer-inner-frame {
    max-width: 1100px;
    margin: 0 auto;
}

/* 상단 게이트 레이아웃 */
.footer-top-gate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
}

.footer-brand-logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1e3a8a; /* 명코칭 시그니처 딥 블루로 아이덴티티 확립 */
    letter-spacing: 2px;
}

/* 세련된 슬림 라인 버튼 디자인 변경 */
.footer-cta-line-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1e3a8a;
    border: 1px solid rgba(30, 58, 138, 0.2); /* 딥 블루 라인 링 셋업 */
    padding: 12px 26px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-cta-line-btn:hover {
    background-color: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.footer-line-divider {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08); /* 화이트 배경에 맞춘 다크 라인 */
    margin: 0 0 40px 0;
}

/* 2열 구조 에디토리얼 그리드 정렬 */
.footer-bottom-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
}

.footer-info-left, .footer-info-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* 텍스트 컬러를 화이트 바탕에 맞춰 고대비 다크 그레이로 전면 정렬 */
.office-address, .business-meta {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

.office-address strong, .business-meta strong {
    color: #0f172a;
    font-weight: 700;
}

.footer-copyright {
    font-size: 13px;
    color: #94a3b8;
    margin-top: 24px;
    font-weight: 300;
}

/* 원색의 생동감을 그대로 살린 오피셜 SNS 브랜드 서클 복구 */
.footer-sns-brand-color {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.sns-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.naver-blog {
    background-color: #03c75a;
    font-size: 18px;
}

.youtube-channel {
    background-color: #ff0000;
    font-size: 13px;
}

.facebook-page {
    background-color: #1877f2;
    font-size: 20px;
    font-family: 'Playfair Display', serif;
    padding-bottom: 3px;
}

.instagram-feed {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    font-size: 24px;
}

.sns-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
    filter: brightness(1.08);
}

/* 반응형 트랙 전환 */
@media (max-width: 768px) {
    .footer-top-gate { flex-direction: column; gap: 20px; align-items: flex-start; }
    .footer-bottom-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-copyright { margin-top: 10px; }
}

/* == training.html style block 1 == */

/* FOOTER PREMIUM STYLE SHEET */
.mcoaching-premium-footer {
    width: 100%;
    background-color: #ffffff;
    padding: 80px 20px 100px 20px;
    border-top: 1px solid #f1f5f9;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.footer-inner-frame {
    max-width: 1100px;
    margin: 0 auto;
}

.footer-top-gate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
}

.footer-brand-logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1e3a8a;
    letter-spacing: 2px;
}

.footer-cta-line-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1e3a8a;
    border: 1px solid rgba(30, 58, 138, 0.2);
    padding: 12px 26px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-cta-line-btn:hover {
    background-color: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.footer-line-divider {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    margin: 0 0 40px 0;
}

.footer-bottom-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
}

.footer-info-left, .footer-info-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.office-address, .business-meta {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

.office-address strong, .business-meta strong {
    color: #0f172a;
    font-weight: 700;
}

.footer-copyright {
    font-size: 13px;
    color: #94a3b8;
    margin-top: 24px;
    font-weight: 300;
}

/* 원색의 생동감을 그대로 살린 오피셜 SNS 브랜드 서클 복구 */
.footer-sns-brand-color {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.sns-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.naver-blog {
    background-color: #03c75a;
    font-size: 18px;
}

.youtube-channel {
    background-color: #ff0000;
    font-size: 13px;
}

.facebook-page {
    background-color: #1877f2;
    font-size: 20px;
    font-family: 'Playfair Display', serif;
    padding-bottom: 3px;
}

.instagram-feed {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    font-size: 24px;
}

.sns-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
    filter: brightness(1.08);
}

@media (max-width: 768px) {
    .footer-top-gate { flex-direction: column; gap: 20px; align-items: flex-start; }
    .footer-bottom-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-copyright { margin-top: 10px; }
}

/* == about.html style block 1 == */

    @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;1,400&display=swap');

    /* 독립 서브 페이지 전용 무결한 화이트 캔버스 바디 매핑 */
    .inquiry-page-wrapper {
        width: 100%;
        background-color: #ffffff;
        padding: 100px 0 140px 0;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    }

    /* 1 상단 서브 히어로 배너 타이포그래피 격조 정렬 */
    .inquiry-hero-header {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
        text-align: center;
    }

    .subpage-badge {
        font-family: 'Playfair Display', serif;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 3px;
        color: #1e3a8a;
        display: inline-block;
        margin-bottom: 24px;
    }

    .inquiry-hero-header h1 {
        font-size: 42px;
        font-weight: 700;
        color: #0f172a;
        letter-spacing: -1px;
        margin-bottom: 28px;
        line-height: 1.3;
    }

    .hero-authoritative-lead {
        font-size: 19px;
        line-height: 1.85;
        color: #475569;
        font-weight: 300;
        max-width: 900px;
        margin: 0 auto;
    }

    /* 무결한 세련미를 완성하는 선 분할 마감 */
    .editorial-divider {
        max-width: 1200px;
        border: none;
        border-top: 1px solid #f1f5f9;
        margin: 60px auto;
    }

    /* 2 메인 2열 그리드 스페이스 할당 */
    .inquiry-content-body {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
    }

    .inquiry-grid-frame {
        display: grid;
        grid-template-columns: 1fr; max-width: 700px; margin: 0 auto;
        gap: 90px;
        align-items: flex-start;
    }

    /* 좌측 인포메이션 고정 축 스타일 */
    .sticky-info-card {
        position: -webkit-sticky;
        position: sticky;
        top: 100px; /* modified for fixed header */
    }

    .info-column-title {
        font-family: 'Playfair Display', serif;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 2px;
        color: #94a3b8;
        margin-bottom: 35px;
    }

    .target-track-box {
        display: flex;
        flex-direction: column;
        gap: 40px;
        margin-bottom: 50px;
    }

    .track-item-card {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .track-index {
        font-family: 'Playfair Display', serif;
        font-size: 20px;
        font-weight: 500;
        color: #1e3a8a;
        font-style: italic;
    }

    .track-item-card h4 {
        font-size: 19px;
        font-weight: 700;
        color: #0f172a;
        margin: 0;
    }

    .track-item-card p {
        font-size: 16px;
        line-height: 1.75;
        color: #475569;
        font-weight: 300;
        margin: 0;
    }

    .process-guarantee-note {
        background-color: #f8fafc;
        padding: 30px;
        border-radius: 20px;
        border: 1px solid rgba(30, 58, 138, 0.03);
    }

    .process-guarantee-note h5 {
        font-size: 15px;
        font-weight: 700;
        color: #1e3a8a;
        margin: 0 0 10px 0;
    }

    .process-guarantee-note p {
        font-size: 15px;
        line-height: 1.7;
        color: #64748b;
        font-weight: 300;
        margin: 0;
    }

    /* 우측 고급 서류 요청 시트 스타일 정렬 */
    .premium-editorial-sheet {
        background: #ffffff;
        padding: 55px;
        border-radius: 28px;
        border: 1px solid #f1f5f9;
        box-shadow: 0 40px 90px rgba(15, 23, 42, 0.03);
    }

    .sheet-main-caption {
        font-family: 'Playfair Display', serif;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 1px;
        color: #0f172a;
        text-align: center;
        margin-bottom: 8px;
    }

    .sheet-sub-caption {
        font-size: 14px;
        color: #94a3b8;
        text-align: center;
        font-weight: 300;
        margin: 0 0 45px 0;
    }

    .mcoaching-secure-form {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .form-row-twin {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .form-field-unit {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .form-field-unit label {
        font-size: 14px;
        font-weight: 600;
        color: #1e3a8a;
        padding-left: 2px;
    }

    .mcoaching-secure-form input,
    .mcoaching-secure-form textarea,
    .mcoaching-secure-form select {
        padding: 16px 20px;
        border-radius: 14px;
        border: 1px solid #e2e8f0;
        background-color: #f8fafc;
        font-size: 16px;
        color: #0f172a;
        font-weight: 300;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .mcoaching-secure-form input:focus,
    .mcoaching-secure-form textarea:focus,
    .mcoaching-secure-form select:focus {
        outline: none;
        border-color: #1e3a8a;
        background-color: #ffffff;
        box-shadow: 0 0 0 4px rgba(30, 58, 138, 0.05);
    }

    .select-field-gate {
        position: relative;
    }
    .mcoaching-secure-form select {
        width: 100%;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%231e3a8a' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 20px center;
        background-size: 16px;
    }

    .action-trigger-area {
        margin-top: 15px;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .premium-inbound-btn {
        width: 100%;
        padding: 22px;
        border-radius: 16px;
        border: none;
        background: linear-gradient(135deg, #1e3a8a 0%, #0d1b42 100%);
        color: #ffffff;
        font-size: 18px;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 20px 40px rgba(30, 58, 138, 0.15);
        transition: all 0.3s ease;
    }

    .premium-inbound-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 25px 50px rgba(30, 58, 138, 0.25);
        background: linear-gradient(135deg, #1e40af 0%, #111827 100%);
    }

    .action-safe-notice {
        font-size: 13px;
        color: #94a3b8;
        text-align: center;
        margin: 0;
        font-weight: 300;
    }

    @media (max-width: 1024px) {
        .inquiry-page-wrapper { padding: 60px 0 80px 0; }
        .inquiry-hero-header h1 { font-size: 32px; }
        .hero-authoritative-lead { font-size: 17px; }
        .inquiry-grid-frame { grid-template-columns: 1fr; gap: 60px; }
        .premium-editorial-sheet { padding: 40px 25px; }
        .form-row-twin { grid-template-columns: 1fr; gap: 28px; }
        .sticky-info-card { position: relative; top: auto; }
    }
    
/* == about.html style block 2 == */

    @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;1,400&display=swap');

    /* 무결한 화이트 에디토리얼 캔버스 베이스 매핑 */
    .mcoaching-location-container {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
        padding: 90px 20px 130px 20px;
        background-color: #ffffff;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    }

    /* 1 상단 타이틀 레이어 공정 */
    .location-page-header {
        text-align: center;
        margin-bottom: 75px;
    }

    .location-badge {
        font-family: 'Playfair Display', serif;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 3px;
        color: #1e3a8a;
        display: inline-block;
        margin-bottom: 20px;
    }

    .location-page-header h1 {
        font-size: 38px;
        font-weight: 700;
        color: #0f172a;
        letter-spacing: -1px;
        margin: 0 0 22px 0;
        line-height: 1.3;
    }

    .location-lead-text {
        font-size: 18px;
        line-height: 1.75;
        color: #475569;
        font-weight: 300;
        margin: 0;
        word-break: keep-all;
    }

    /* 2 지역 블록 및 심미적 인디케이터 정렬 */
    .office-location-block {
        display: flex;
        flex-direction: column;
        gap: 25px;
        margin-bottom: 30px;
    }

    .office-region-tag {
        display: flex;
        align-items: center;
        gap: 10px;
        padding-left: 2px;
    }

    .tag-square-icon {
        width: 12px;
        height: 12px;
        background-color: #1e3a8a;
        display: inline-block;
    }

    .office-region-tag h2 {
        font-size: 20px;
        font-weight: 700;
        color: #1e3a8a;
        margin: 0;
        letter-spacing: -0.5px;
    }

    /* 3 지도 임베드 영역 반응형 아키텍처 */
    .office-map-frame {
        width: 100%;
        height: 400px;
        border-radius: 16px;
        overflow: hidden;
        border: 1px solid #e2e8f0;
        box-shadow: 0 20px 45px rgba(15, 23, 42, 0.02);
        background-color: #f8fafc;
    }

    /* 4 데이터 메타 상세 정보 가독성 업스케일 */
    .office-meta-details {
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding: 10px 4px 20px 4px;
    }

    .meta-line {
        display: flex;
        align-items: flex-start;
        font-size: 17px;
        line-height: 1.6;
    }

    .meta-label {
        font-weight: 700;
        color: #0f172a;
        width: 90px;
        flex-shrink: 0;
    }

    .meta-value {
        color: #475569;
        font-weight: 300;
    }

    .text-link {
        color: #2563eb;
        text-decoration: none;
    }

    /* 구역 분할선 미학 */
    .location-section-divider {
        border: none;
        border-top: 1px dashed #e2e8f0;
        margin: 60px 0;
    }

    /* 고해상도 모바일 최적화 트랙 전환 */
    @media (max-width: 768px) {
        .mcoaching-location-container { padding: 60px 16px 80px 16px; }
        .location-page-header h1 { font-size: 28px; }
        .location-lead-text { font-size: 16px; }
        .office-map-frame { height: 260px; }
        .meta-line { flex-direction: column; gap: 4px; }
        .meta-label { width: auto; }
    }
    
/* == about.html style block 3 == */

        /* Modal CSS */
        .scf-modal-overlay {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0, 5, 20, 0.8);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            z-index: 9999;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }
        .scf-modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        .scf-modal-content {
            background: #F8FAFC;
            border: 1px solid rgba(0, 44, 95, 0.1);
            border-radius: 20px;
            width: 90%;
            max-width: 1000px;
            height: 85vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 30px 60px rgba(0,0,0,0.5);
            transform: translateY(30px);
            transition: all 0.3s ease;
        }
        .scf-modal-overlay.active .scf-modal-content {
            transform: translateY(0);
        }
        .scf-modal-header {
            padding: 20px 30px;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .scf-modal-close {
            background: transparent;
            border: none;
            color: #fff;
            font-size: 36px;
            cursor: pointer;
            line-height: 1;
            transition: color 0.3s ease;
        }
        .scf-modal-close:hover {
            color: #4a90e2;
        }
        .scf-modal-body {
            padding: 30px;
            overflow-y: auto;
            flex: 1;
        }
        /* Custom Scrollbar for Modal */
        .scf-modal-body::-webkit-scrollbar {
            width: 10px;
        }
        .scf-modal-body::-webkit-scrollbar-track {
            background: rgba(255,255,255,0.05);
        }
        .scf-modal-body::-webkit-scrollbar-thumb {
            background: rgba(255,255,255,0.2);
            border-radius: 5px;
        }
        .scf-modal-body::-webkit-scrollbar-thumb:hover {
            background: rgba(255,255,255,0.4);
        }
    
/* == about.html style block 4 == */

/* FOOTER PREMIUM STYLE SHEET */
.mcoaching-premium-footer {
    width: 100%;
    background-color: #ffffff; /* 촌스러운 다크톤을 전면 제거하고 무결한 순백색 배치 */
    padding: 80px 20px 100px 20px; /* 여백의 호흡을 넓혀 지적 품격을 견인 */
    border-top: 1px solid #f1f5f9; /* 보이지 않는 듯 정결한 초미세 경계선 분할 */
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.footer-inner-frame {
    max-width: 1100px;
    margin: 0 auto;
}

/* 상단 게이트 레이아웃 */
.footer-top-gate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
}

.footer-brand-logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1e3a8a; /* 명코칭 시그니처 딥 블루로 아이덴티티 확립 */
    letter-spacing: 2px;
}

/* 세련된 슬림 라인 버튼 디자인 변경 */
.footer-cta-line-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1e3a8a;
    border: 1px solid rgba(30, 58, 138, 0.2); /* 딥 블루 라인 링 셋업 */
    padding: 12px 26px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-cta-line-btn:hover {
    background-color: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.footer-line-divider {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08); /* 화이트 배경에 맞춘 다크 라인 */
    margin: 0 0 40px 0;
}

/* 2열 구조 에디토리얼 그리드 정렬 */
.footer-bottom-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
}

.footer-info-left, .footer-info-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* 텍스트 컬러를 화이트 바탕에 맞춰 고대비 다크 그레이로 전면 정렬 */
.office-address, .business-meta {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

.office-address strong, .business-meta strong {
    color: #0f172a;
    font-weight: 700;
}

.footer-copyright {
    font-size: 13px;
    color: #94a3b8;
    margin-top: 24px;
    font-weight: 300;
}

/* 원색의 생동감을 그대로 살린 오피셜 SNS 브랜드 서클 복구 */
.footer-sns-brand-color {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.sns-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.naver-blog {
    background-color: #03c75a;
    font-size: 18px;
}

.youtube-channel {
    background-color: #ff0000;
    font-size: 13px;
}

.facebook-page {
    background-color: #1877f2;
    font-size: 20px;
    font-family: 'Playfair Display', serif;
    padding-bottom: 3px;
}

.instagram-feed {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    font-size: 24px;
}

.sns-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
    filter: brightness(1.08);
}

/* 반응형 트랙 전환 */
@media (max-width: 768px) {
    .footer-top-gate { flex-direction: column; gap: 20px; align-items: flex-start; }
    .footer-bottom-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-copyright { margin-top: 10px; }
}

/* === TESTIMONIAL MARQUEE OVERRIDE === */
/* white-space: nowrap 강제 해제 (testimonial 텍스트 줄바꿈 허용) */
.scf-review-wrapper .marquee-track * {
    white-space: normal !important;
    word-break: keep-all !important;
}

/* 카드 고정 너비 및 높이 */
.scf-review-wrapper .testimonial-card {
    width: 380px !important;
    min-height: 220px !important;
    flex-shrink: 0 !important;
    background-color: #fafafa !important;
    border: 1px solid #eeeeee !important;
    border-radius: 6px !important;
    padding: 36px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.04) !important;
    box-sizing: border-box !important;
}

/* 후기 텍스트 */
.scf-review-wrapper .testimonial-card .quote {
    color: #1a233a !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 20px !important;
    font-weight: 400 !important;
    white-space: normal !important;
    word-break: keep-all !important;
}

/* 별점 - 금색 */
.scf-review-wrapper .testimonial-card .stars {
    color: #c9a96e !important;
    font-size: 16px !important;
    letter-spacing: 2px !important;
    margin-bottom: 8px !important;
}

/* 역할/직책 */
.scf-review-wrapper .testimonial-card .reviewer {
    color: #1a233a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* 마키 컨테이너 - 올바른 위치 */
.scf-review-wrapper .marquee-container {
    width: 100% !important;
    left: auto !important;
    transform: none !important;
    margin-left: 0 !important;
    overflow: hidden !important;
    padding: 20px 0 !important;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent) !important;
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent) !important;
}

/* 마키 트랙 */
.scf-review-wrapper .marquee-track {
    display: flex !important;
    gap: 24px !important;
    width: max-content !important;
    animation: scroll-marquee 40s linear infinite !important;
}

.scf-review-wrapper .marquee-group {
    display: flex !important;
    gap: 24px !important;
}

.scf-review-wrapper .marquee-track:hover {
    animation-play-state: paused !important;
}
