* {
    box-sizing: border-box !important;
}

.hoppa-outer {
    width: 100% !important;
    text-align: center !important;
    overflow-x: hidden !important;
    font-family: 'Noto Sans KR', sans-serif !important;
}

.hoppa-inner {
    display: inline-block !important;
    width: 100% !important;
    max-width: 1050px !important;
    text-align: center !important;
    vertical-align: top !important;
    float: none !important;
    margin: 0 auto !important;
}

html {
    font-size: 15px !important;
    overflow-x: hidden !important;
}

body {
    font-family: 'Noto Sans KR', sans-serif !important;
    font-size: 1.1em !important;
    background: #ffffff !important;
    color: #3a3346 !important;
    line-height: 1.8 !important;
    letter-spacing: -.025em !important;
    word-break: keep-all !important;
    overflow-x: hidden !important;
    text-align: center !important;
}

#main-container,
.main-wrapper {
    width: 100% !important;
    max-width: 1050px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #ffffff !important;
    overflow-x: hidden !important;
    float: none !important;
    text-align: center !important;
}

.container {
    width: 100% !important;
    max-width: 1050px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    text-align: center !important;
    float: none !important;
}

.bg-light {
    background: #ffffff !important;
}

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

.divider {
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ff3d8b, #a855f7) !important;
    margin: 25px auto 0 !important;
    border-radius: 2px !important;
}

.info-section {
    padding: 90px 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(168,85,247,.16) !important;
    text-align: center !important;
    float: none !important;
}

.section-header {
    width: 100% !important;
    margin-bottom: 50px !important;
    text-align: center !important;
    float: none !important;
}

.content-block {
    position: relative !important;
    width: 100% !important;
    text-align: center !important;
    float: none !important;
}

#main-container h1,
.main-wrapper h1,
.hoppa-inner h1 {
    color: #ff3d8b !important;
    font-size: 2.7rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    margin: 35px auto 25px !important;
    text-align: center !important;
    word-break: keep-all !important;
    width: 100% !important;
    float: none !important;
}

#main-container h2,
.main-wrapper h2,
.hoppa-inner h2 {
    color: #a855f7 !important;
    font-size: 2.1rem !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: -.03em !important;
    text-align: center !important;
    width: 100% !important;
    float: none !important;
}

#main-container h3,
.main-wrapper h3,
.hoppa-inner h3 {
    color: #00b4d8 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    margin: 45px auto 15px !important;
    padding: 0 !important;
    border: none !important;
    text-align: center !important;
    width: 100% !important;
    float: none !important;
}

#main-container p,
.main-wrapper p,
.hoppa-inner p {
    font-size: 1.15rem !important;
    color: #4a4458 !important;
    margin: 0 auto 25px !important;
    text-align: center !important;
    line-height: 1.9 !important;
    width: 100% !important;
    float: none !important;
}

#main-container strong,
.main-wrapper strong,
.hoppa-inner strong {
    color: #ff3d8b !important;
}

#main-container .toc-box,
.main-wrapper .toc-box {
    display: inline-block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 10px auto 30px !important;
    padding: 28px 24px !important;
    background: #fdf6ff !important;
    border: 2px solid #f0d7ff !important;
    border-radius: 18px !important;
    text-align: center !important;
    float: none !important;
    vertical-align: top !important;
}

#main-container .toc-box .toc-title,
.main-wrapper .toc-box .toc-title {
    display: block !important;
    color: #a855f7 !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    margin: 0 auto 14px !important;
    text-align: center !important;
}

#main-container .toc-box ol,
.main-wrapper .toc-box ol {
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

#main-container .toc-box li,
.main-wrapper .toc-box li {
    display: block !important;
    margin: 0 auto 9px !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 1.02rem !important;
    line-height: 1.7 !important;
}

#main-container .toc-box a,
.main-wrapper .toc-box a {
    color: #7c3aed !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    border-bottom: 1px solid rgba(124,58,237,.3) !important;
}

#main-container .info-table,
.main-wrapper .info-table {
    width: 100% !important;
    max-width: 900px !important;
    margin: 30px auto 35px !important;
    border-collapse: collapse !important;
    font-size: 1rem !important;
    text-align: center !important;
    float: none !important;
}

#main-container .info-table th,
.main-wrapper .info-table th {
    background: linear-gradient(135deg, #ff3d8b, #a855f7) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    padding: 14px 10px !important;
    border: 1px solid #e9d5ff !important;
    text-align: center !important;
    word-break: keep-all !important;
}

#main-container .info-table td,
.main-wrapper .info-table td {
    padding: 13px 10px !important;
    border: 1px solid #eee2f8 !important;
    color: #4a4458 !important;
    text-align: center !important;
    line-height: 1.7 !important;
    word-break: keep-all !important;
}

#main-container .info-table tr:nth-child(even) td,
.main-wrapper .info-table tr:nth-child(even) td {
    background: #fdf6ff !important;
}

@keyframes pulse-3d {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 8px 0 #1a1a1a, 0 15px 25px rgba(0,0,0,.25);
    }
    50% {
        transform: scale(1.04);
        box-shadow: 0 10px 0 #1a1a1a, 0 25px 35px rgba(0,0,0,.3);
    }
}

#main-container .btn-call,
.main-wrapper .btn-call,
.hoppa-inner .btn-call {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 20px 50px !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    margin: 25px auto !important;
    border: none !important;
    animation: pulse-3d 2s infinite ease-in-out !important;
    float: none !important;
}

#main-container .btn-call svg,
.main-wrapper .btn-call svg,
.hoppa-inner .btn-call svg {
    fill: #fff !important;
}

#main-container .cta-call-img,
.main-wrapper .cta-call-img,
.hoppa-inner .cta-call-img {
    display: inline-block !important;
    width: 500px !important;
    height: 160px !important;
    max-width: 100% !important;
    margin: 25px auto !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    float: none !important;
    vertical-align: top !important;
}

.hero-section {
    padding: 100px 0 70px !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(168,85,247,.16) !important;
    text-align: center !important;
    float: none !important;
}

.hero-container {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    float: none !important;
}

#main-container .section-image,
.main-wrapper .section-image {
    display: inline-block !important;
    width: 930px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto 50px !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 12px rgba(168,85,247,.14) !important;
    object-fit: cover !important;
    float: none !important;
    vertical-align: top !important;
}

#main-container .hero-image,
.main-wrapper .hero-image {
    margin-bottom: 35px !important;
}

#main-container .image-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 620px !important;
    background: #2a0a3d !important;
    border: 2px dashed #ff3d8b !important;
    box-shadow: none !important;
    padding: 30px !important;
}

#main-container .prompt-inner {
    text-align: center !important;
    max-width: 700px !important;
}

#main-container .prompt-inner p {
    font-size: .95rem !important;
    color: #e3c8f5 !important;
    margin-bottom: 12px !important;
    text-align: center !important;
    line-height: 1.7 !important;
}

#main-container .prompt-inner strong {
    color: #ff8ec0 !important;
}

#main-container section,
#main-container .hero-section,
.main-wrapper section,
.main-wrapper .hero-section,
.hoppa-inner section,
.hoppa-inner .hero-section {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    text-align: center !important;
}

.site-footer,
.hoppa-inner .site-footer,
.hoppa-outer > .site-footer {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    background: linear-gradient(180deg, #2b0b3f 0%, #14061f 100%) !important;
    border-top: none !important;
    padding: 48px 0 56px !important;
    text-align: center !important;
    float: none !important;
    box-sizing: border-box !important;
}

.site-footer::before {
    content: '' !important;
    display: block !important;
    width: 100% !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ff3d8b, #a855f7, #00b4d8, #a855f7, #ff3d8b) !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

.site-footer .container,
.site-footer .footer-container {
    width: 100% !important;
    max-width: 900px !important;
    text-align: center !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    float: none !important;
}

.site-footer p {
    color: #e0bff5 !important;
    font-size: 0.88rem !important;
    line-height: 1.85 !important;
    margin: 0 auto 12px !important;
    text-align: center !important;
    float: none !important;
    word-break: keep-all !important;
}

.site-footer .footer-copy-main {
    color: #ffd9ec !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    margin-bottom: 18px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(255,141,192,.3) !important;
}

.site-footer p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    #main-container h1,
    .main-wrapper h1 {
        font-size: 2.1rem !important;
    }
    #main-container h2,
    .main-wrapper h2 {
        font-size: 1.7rem !important;
    }
    #main-container h3,
    .main-wrapper h3 {
        font-size: 1.25rem !important;
    }
    #main-container .info-table,
    .main-wrapper .info-table {
        font-size: .9rem !important;
    }
    #main-container .info-table th,
    .main-wrapper .info-table th,
    #main-container .info-table td,
    .main-wrapper .info-table td {
        padding: 10px 6px !important;
    }
    #main-container .section-image,
    .main-wrapper .section-image {
        width: 100% !important;
        max-width: 400px !important;
        margin: 0 auto 35px !important;
    }
    #main-container .image-placeholder {
        min-height: 400px !important;
        padding: 20px !important;
    }
    #main-container .btn-call,
    .main-wrapper .btn-call {
        padding: 18px 40px !important;
        font-size: 1.2rem !important;
        width: 90% !important;
        max-width: 350px !important;
    }
    #main-container .cta-call-img,
    .main-wrapper .cta-call-img,
    .hoppa-inner .cta-call-img {
        width: 380px !important;
        height: 100px !important;
        border-radius: 10px !important;
    }
}
