/* ==================================================
   ASK NOW Responsive CSS - FINAL CLEAN
   - PC 원스크롤 구조 유지
   - 1024 이하 자연 스크롤
   - 중복 PATCH / FINAL OVERRIDE 제거
   - 섹션별 1회 선언 구조
================================================== */

/* ==================================================
   00. Display Helpers
================================================== */
.pc-only {
    display: block;
}

.mobile-only,
.asknow-intro-desc-mo {
    display: none !important;
}

/* ==================================================
   01. Wide Desktop / 1281 이상
================================================== */
@media (min-width:1281px) {
    .asknow-diff-section {
        grid-template-rows: minmax(0, 1fr) 165px !important;
    }

    .asknow-diff-main {
        padding: 100px 0 34px !important;
        gap: 30px !important;
        transform: none !important;
    }

    .asknow-diff-scenes {
        height: 430px !important;
    }

    .asknow-diff-copy {
        height: 122px !important;
        margin-bottom: 30px !important;
    }

    .asknow-diff-content {
        height: 240px !important;
        min-height: 240px !important;
    }

    .asknow-flow,
    .asknow-speed-flow,
    .asknow-compare,
    .asknow-media-grid {
        transform: none !important;
    }

    .asknow-diff-strips,
    .asknow-scene-strip,
    .asknow-bottom-strip {
        height: 165px !important;
        min-height: 165px !important;
    }
}

/* ==================================================
   02. Laptop / Small Desktop / 1025~1280
================================================== */
@media (min-width:1025px) and (max-width:1280px) {
    .ns-header {
        height: 76px !important;
        padding: 0 40px !important;
    }

    .ns-nav {
        gap: 42px !important;
    }

    .ns-inner {
        max-width: 1100px !important;
        padding: 0 32px !important;
    }

    .ns-page .ns-section:not(.ns-hero)>.ns-inner>.ns-section-title h2,
    .ns-page .ns-section:not(.ns-hero) .ns-inner>.reveal>h2,
    .ns-page .asknow-diff-head h2,
    .ns-page .ns-contact>.ns-inner>h2,
    .asknow-intro-center h2 {
        font-size: 38px !important;
        line-height: 1.25 !important;
    }

    .ns-page .ns-service .ns-section-title,
    .ns-page .ns-process .ns-section-title,
    .ns-page .ns-faq .ns-section-title {
        margin-bottom: 44px !important;
    }

    .asknow-intro-center p {
        margin-top: 50px !important;
    }

    .asknow-intro-btn {
        margin-top: 56px !important;
    }

    .asknow-diff-section {
        grid-template-rows: minmax(0, 1fr) 155px !important;
    }

    .asknow-diff-main {
        padding: 70px 0 24px !important;
        gap: 30px !important;
        transform: none !important;
    }

    .asknow-diff-scenes {
        height: 400px !important;
    }

    .asknow-diff-body {
        width: min(1040px, calc(100% - 56px)) !important;
    }

    .asknow-diff-copy {
        height: 112px !important;
        margin-bottom: 48px !important;
    }

    .ns-page .asknow-diff-section .asknow-diff-copy h3 {
        font-size: 24px !important;
        line-height: 1.18 !important;
        margin-bottom: 12px !important;
    }

    .asknow-diff-copy p {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .asknow-diff-content {
        height: 220px !important;
        min-height: 220px !important;
    }

    .asknow-flow,
    .asknow-speed-flow {
        transform: scale(.9) !important;
        transform-origin: center top !important;
    }

    .asknow-compare,
    .asknow-media-grid {
        transform: scale(.94) !important;
        transform-origin: center top !important;
    }

    .asknow-diff-strips,
    .asknow-scene-strip,
    .asknow-bottom-strip {
        height: 155px !important;
        min-height: 155px !important;
    }

    .asknow-scene-strip strong,
    .asknow-bottom-strip strong {
        font-size: 30px !important;
    }

    .asknow-scene-strip p,
    .asknow-bottom-strip p {
        margin-top: 8px !important;
        font-size: 12.5px !important;
        line-height: 1.42 !important;
    }
}

/* ==================================================
   03. Laptop Height Fix / 낮은 노트북
================================================== */
@media (min-width:1025px) and (max-height:900px) {
    .asknow-diff-section {
        height: 100vh !important;
        min-height: 100vh !important;
        grid-template-rows: minmax(0, 1fr) 135px !important;
    }

    .asknow-diff-main {
        padding: 34px 0 24px !important;
        gap: 16px !important;
        justify-content: center !important;
        transform: none !important;
    }

    .asknow-diff-head .ns-label {
        margin-bottom: 10px !important;
    }

    .asknow-diff-head h2 {
        margin-bottom: 8px !important;
        font-size: 34px !important;
        line-height: 1.18 !important;
    }

    .asknow-diff-head>p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .asknow-diff-tabs {
        margin-top: 14px !important;
    }

    .asknow-diff-tabs button {
        height: 34px !important;
        padding: 0 20px !important;
        font-size: 12px !important;
    }

    .asknow-diff-scenes {
        height: 338px !important;
    }

    .asknow-diff-copy {
        height: 94px !important;
        margin-bottom: 36px !important;
    }

    .ns-page .asknow-diff-section .asknow-diff-copy h3 {
        font-size: 27px !important;
        line-height: 1.16 !important;
        margin-bottom: 10px !important;
    }

    .asknow-diff-copy p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .asknow-diff-content {
        height: 205px !important;
        min-height: 205px !important;
    }

    .asknow-flow,
    .asknow-speed-flow {
        transform: scale(.84) !important;
        transform-origin: center top !important;
    }

    .asknow-compare {
        transform: scale(.9) !important;
        transform-origin: center top !important;
    }

    .asknow-media-grid {
        transform: scale(.88) !important;
        transform-origin: center top !important;
    }

    .asknow-speed-card,
    .asknow-speed-center {
        min-height: 205px !important;
        padding: 24px 20px !important;
    }

    .asknow-diff-strips,
    .asknow-scene-strip,
    .asknow-bottom-strip {
        height: 135px !important;
        min-height: 135px !important;
    }

    .asknow-scene-strip {
        padding: 0 40px !important;
        align-items: center !important;
    }

    .asknow-scene-strip strong,
    .asknow-bottom-strip strong {
        font-size: 28px !important;
        line-height: 1.08 !important;
    }

    .asknow-scene-strip p,
    .asknow-bottom-strip p {
        margin-top: 7px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
}

/* ==================================================
   04. Tablet Base / 768~1024
================================================== */
@media (min-width:768px) and (max-width:1024px) {

    html,
    body,
    .ns-page {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .asknow-intro-center p {font-size: 14px !important;}

    .ns-section,
    .ns-section:not(.ns-hero),
    .ns-hero,
    .asknow-diff-section,
    .ns-service,
    .ns-process,
    .ns-contact {
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
        display: block !important;
    }

    .ns-section:not(.ns-hero) {
        padding: 78px 0 !important;
    }

    .ns-header {
        height: 72px !important;
        padding: 0 24px !important;
    }

    .ns-nav {
        display: none !important;
    }

    .ns-header-btn,
    .ns-join-btn {
        min-width: auto !important;
        height: 38px !important;
        padding: 0 16px !important;
        font-size: 12px !important;
    }

    .ns-inner {
        max-width: 760px !important;
        padding: 0 28px !important;
    }

    .ns-page .ns-section:not(.ns-hero)>.ns-inner>.ns-section-title h2,
    .ns-page .ns-section:not(.ns-hero) .ns-inner>.reveal>h2,
    .ns-page .asknow-diff-head h2,
    .ns-page .asknow-diff-body>.ns-section-title h3,
    .ns-page .ns-contact>.ns-inner>h2,
    .asknow-intro-center h2 {
        font-size: 34px !important;
        line-height: 1.28 !important;
    }

    .ns-page .ns-service .ns-section-title,
    .ns-page .ns-process .ns-section-title,
    .ns-page .ns-faq .ns-section-title {
        margin-bottom: 36px !important;
    }
}

/* ==================================================
   05. Hero Responsive
================================================== */
@media (min-width:768px) and (max-width:1024px) {
    .ns-hero {
        padding: 0 0 76px !important;
        min-height: 680px !important;
    }

    .ns-hero .ns-header {
        position: relative !important;
        top: 0 !important;
        height: 64px !important;
        padding: 0 28px !important;
        margin: 0 auto !important;
        align-items: center !important;
    }

    .ns-hero-content {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        width: min(680px, calc(100% - 40px)) !important;
        margin: 34px auto 0 !important;
    }

    .ns-kicker {
        font-size: 12px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }

    .ns-hero h1 {
        font-size: 64px !important;
        line-height: 1 !important;
        margin: 0 0 18px !important;
        letter-spacing: -0.045em !important;
    }

    .ns-badge {
        height: 31px !important;
        min-width: 270px !important;
        padding: 0 20px !important;
        margin-bottom: 30px !important;
        font-size: 11px !important;
    }

    .ns-desc {
        max-width: 600px !important;
        font-size: 14px !important;
        line-height: 1.85 !important;
    }

    .ns-btns {
        margin-top: 36px !important;
    }

    .ns-btns a {
        min-width: 145px !important;
        height: 42px !important;
        font-size: 12px !important;
    }
}

@media (max-width:767px) {
    .ns-hero {
        min-height: 100vh !important;
        min-height: 100svh !important;
        min-height: 100dvh !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .ns-hero .ns-header {
        position: relative !important;
        flex: 0 0 64px !important;
        height: 64px !important;
        z-index: 30 !important;
    }

    .ns-hero-content {
        flex: 1 !important;
        min-height: calc(100dvh - 64px) !important;
        width: calc(100% - 44px) !important;
        margin: 0 auto !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: translateY(-12px) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .ns-kicker {
        margin: 0 0 14px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    .ns-hero h1 {
        margin: 0 0 18px !important;
        font-size: 54px !important;
        line-height: 1 !important;
        letter-spacing: -0.06em !important;
    }

    .ns-badge {
        min-width: auto !important;
        height: 30px !important;
        padding: 0 16px !important;
        margin: 0 0 28px !important;
        font-size: 10px !important;
    }

    .ns-desc.mobile-only {
        max-width: 318px !important;
        margin: 0 auto !important;
        font-size: 14px !important;
        line-height: 1.78 !important;
        text-align: center !important;
    }

    .ns-btns {
        width: 100% !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
        margin-top: 30px !important;
    }

    .ns-btns a {
        width: min(260px, 100%) !important;
        height: 42px !important;
        font-size: 13px !important;
    }
}

/* ==================================================
   06. Mobile Base / 767 이하
================================================== */
@media (max-width:767px) {

    .pc-only,
    .asknow-intro-desc-pc {
        display: none !important;
    }

    .mobile-only,
    .asknow-intro-desc-mo {
        display: block !important;
    }

    html,
    body,
    .ns-page {
        background: #f6f5ff !important;
        overflow-x: hidden !important;
    }

    .ns-section:not(.ns-hero):not(.ns-contact) {
        padding: 64px 0 0 !important;
        background: #f6f5ff !important;
    }

    .ns-inner {
        padding: 0 18px !important;
    }

    .ns-header {
        height: 62px !important;
        padding: 0 16px !important;
    }

    .ns-logo {
        font-size: 19px !important;
    }

    .ns-header-btn {
        display: none !important;
    }

    .ns-join-btn {
        height: 32px !important;
        padding: 0 13px !important;
        font-size: 11px !important;
        border-radius: 4px !important;
    }

    .ns-label {
        height: 28px !important;
        padding: 0 14px !important;
        margin-bottom: 18px !important;
        font-size: 11px !important;
    }

    .ns-label::before {
        width: 8px !important;
        height: 8px !important;
    }

    .ns-section-title {
        margin-bottom: 30px !important;
    }

    .ns-page .ns-section:not(.ns-hero)>.ns-inner>.ns-section-title h2,
    .ns-page .ns-section:not(.ns-hero) .ns-inner>.reveal>h2,
    .ns-page .asknow-diff-head h2,
    .ns-page .asknow-diff-body>.ns-section-title h3,
    .ns-page .ns-contact>.ns-inner>h2,
    .asknow-intro-center h2 {
        font-size: 27px !important;
        line-height: 1.28 !important;
        letter-spacing: -0.055em !important;
    }

    .ns-page .ns-section:not(.ns-hero)>.ns-inner>.ns-section-title>p,
    .ns-page .asknow-diff-head>p,
    .ns-page .asknow-diff-body>.ns-section-title>p,
    .ns-page .ns-contact>.ns-inner>p,
    .asknow-intro-center p {
        font-size: 14px !important;
        line-height: 1.7 !important;
        word-break: keep-all !important;
    }
}

/* ==================================================
   07. Intro Section
================================================== */
@media (max-width:767px) {
    .ns-intro {
        padding: 70px 0 !important;
    }

    .asknow-intro-center {
        width: 100% !important;
    }

    .asknow-intro-point {
        margin-top: 14px !important;
        font-size: 25px !important;
        line-height: 1.45 !important;
    }

    .asknow-intro-desc-mo {
        max-width: 318px !important;
        margin: 28px auto 0 !important;
        font-size: 14px !important;
        line-height: 1.85 !important;
    }

    .asknow-intro-btn {
        width: min(280px, 100%) !important;
        min-width: 0 !important;
        height: 42px !important;
        margin-top: 34px !important;
        font-size: 13px !important;
    }
}

/* ==================================================
   08. Why Ask Now / Difference Common
================================================== */
.asknow-diff-head>.asknow-diff-tabs {
    display: flex !important;
}

.asknow-section-nav {
    display: none !important;
}

@media (min-width:768px) and (max-width:1024px) {
    .asknow-diff-section {
        height: auto !important;
        min-height: auto !important;
        padding: 88px 0 0 !important;
        display: block !important;
        overflow: visible !important;
        background: #f6f5ff !important;
    }

    .asknow-diff-main {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 0 56px !important;
        display: block !important;
        overflow: visible !important;
        transform: none !important;
    }

    .asknow-diff-head,
    .asknow-diff-body {
        width: min(760px, calc(100% - 64px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .asknow-diff-head {
        margin-bottom: 42px !important;
        text-align: center !important;
    }

    .asknow-diff-head .ns-label {
        margin-bottom: 20px !important;
    }

    .asknow-diff-head h2 {
        margin: 0 0 16px !important;
        font-size: 36px !important;
        line-height: 1.22 !important;
    }

    .asknow-diff-head>p {
        margin: 0 auto !important;
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    .asknow-diff-head>.asknow-diff-tabs {
        display: none !important;
    }

    .asknow-diff-scenes {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        position: relative !important;
    }

    .asknow-diff-scene,
    .asknow-diff-scene.is-active {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        margin: 0 0 88px !important;
        padding: 0 !important;
    }

    .asknow-diff-scene:last-child {
        margin-bottom: 0 !important;
    }

    .asknow-diff-body {
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        overflow: visible !important;
        text-align: center !important;
    }

    .asknow-diff-copy {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 30px !important;
        text-align: center !important;
    }

    .asknow-diff-copy h3 {
        margin: 0 0 14px !important;
        font-size: 30px !important;
        line-height: 1.24 !important;
    }

    .asknow-diff-copy p {
        max-width: 560px !important;
        margin: 0 auto !important;
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    .asknow-diff-content {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        overflow: visible !important;
    }

    .asknow-diff-scene .asknow-section-nav {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 0 30px !important;
        padding: 0 !important;
        background: transparent !important;
        pointer-events: auto !important;
    }

    .asknow-diff-scene .asknow-section-nav button {
        height: 38px !important;
        padding: 0 10px !important;
        border: 1px solid rgba(67, 32, 207, .24) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .62) !important;
        color: var(--theme) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    .asknow-diff-scene .asknow-section-nav button.is-active {
        background: var(--theme) !important;
        border-color: var(--theme) !important;
        color: #fff !important;
    }

    .asknow-diff-strips,
    .asknow-mobile-scene-strip {
        display: none !important;
    }
}

@media (max-width:767px) {
    .asknow-diff-section {
        padding: 66px 0 0 !important;
        background: #f6f5ff !important;
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
        display: block !important;
    }

    .asknow-diff-main {
        gap: 0 !important;
        padding: 20px 0 34px !important;
        height: auto !important;
        min-height: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }

    .asknow-diff-head,
    .asknow-diff-body {
        width: calc(100% - 36px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .asknow-diff-head {
        height: auto !important;
        min-height: 0 !important;
        margin-bottom: 28px !important;
    }

    .asknow-diff-head h2 {
        margin-bottom: 12px !important;
        font-size: 25px !important;
        line-height: 1.28 !important;
    }

    .asknow-diff-head>p {
        max-width: 300px !important;
        margin: 0 auto !important;
    }

    .asknow-diff-head>.asknow-diff-tabs {
        display: none !important;
    }

    .asknow-diff-scene .asknow-section-nav {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 0 22px !important;
        padding: 0 !important;
        background: transparent !important;
        pointer-events: auto !important;
    }

    .asknow-diff-scene .asknow-section-nav button {
        height: 34px !important;
        padding: 0 4px !important;
        border: 1px solid rgba(67, 32, 207, .24) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .62) !important;
        color: var(--theme) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    .asknow-diff-scene .asknow-section-nav button.is-active {
        background: var(--theme) !important;
        border-color: var(--theme) !important;
        color: #fff !important;
    }

    .asknow-diff-scenes {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .asknow-diff-scene,
    .asknow-diff-scene.is-active {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        margin-bottom: 50px !important;
        padding-bottom: 0 !important;
        scroll-margin-top: 118px !important;
    }

    .asknow-diff-scene:last-child {
        margin-bottom: -10px !important;
    }

    .asknow-diff-scene+.asknow-diff-scene {
        padding-top: 18px !important;
    }

    .asknow-diff-copy {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 24px !important;
        text-align: center !important;
    }

    .asknow-diff-copy h3 {
        margin: 0 0 12px !important;
        font-size: 28px !important;
        line-height: 1.25 !important;
    }

    .asknow-diff-copy p {
        max-width: 280px !important;
        margin: 0 auto !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .asknow-diff-content {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }
}

/* ==================================================
   09. Why Ask Now - Scene Components
================================================== */
@media (min-width:768px) and (max-width:1024px) {
    .asknow-flow {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 18px !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        border: 1px solid rgba(67, 32, 207, .16) !important;
        border-radius: 20px !important;
        background: rgba(255, 255, 255, .38) !important;
        transform: none !important;
    }

    .asknow-flow>i,
    .asknow-flow::before,
    .asknow-flow::after {
        display: none !important;
        content: none !important;
    }

    .asknow-data-card {
        width: 100% !important;
        min-height: 210px !important;
        padding: 34px 24px !important;
        border-radius: 16px !important;
    }

    .asknow-target-list {
        grid-column: 1 / span 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        border: 1px solid rgba(67, 32, 207, .16) !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        background: rgba(255, 255, 255, .44) !important;
        list-style: none !important;
    }

    .asknow-target-list li {
        height: 58px !important;
        padding: 0 10px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 0 !important;
        background: rgba(255, 255, 255, .34) !important;
        color: var(--theme) !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .asknow-target-list li:not(:first-child) {
        border-left: 1px solid rgba(67, 32, 207, .16) !important;
    }

    .asknow-target-list em {
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-style: normal !important;
        font-size: 15px !important;
        line-height: 1 !important;
    }

    .asknow-target-list span {
        display: inline-block !important;
        margin: 0 !important;
        color: var(--theme) !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .asknow-speed-flow {
        width: 100% !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0 !important;
        border: 1px solid rgba(67, 32, 207, .18) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .56) !important;
        overflow: hidden !important;
        transform: none !important;
    }

    .asknow-speed-flow::before {
        display: none !important;
    }

    .asknow-speed-card,
    .asknow-speed-center {
        width: 100% !important;
        min-height: 180px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .asknow-speed-center {
        background: linear-gradient(135deg, var(--theme) 0%, #6d59f8 100%) !important;
        color: #fff !important;
    }

    .asknow-compare {
        width: 100% !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    .asknow-media-grid {
        width: 100% !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
        transform: none !important;
    }

    .asknow-media-grid article,
    .asknow-media-grid article:nth-child(5) {
        width: 100% !important;
        min-height: 180px !important;
        margin: 0 !important;
    }

    .asknow-media-grid article:nth-child(5) {
        grid-column: 1 / span 2 !important;
    }
}

@media (max-width:767px) {
    .asknow-flow {
        width: 100% !important;
        margin-top: 22px !important;
        padding: 12px !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: stretch !important;
        border: 1px solid rgba(67, 32, 207, .16) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .34) !important;
        transform: none !important;
    }

    .asknow-flow>i,
    .asknow-flow::before,
    .asknow-flow::after {
        display: none !important;
        content: none !important;
    }

    .asknow-data-card {
        width: 100% !important;
        min-height: 142px !important;
        padding: 16px 8px !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .72) !important;
    }

    .asknow-data-card .skt-logo,
    .asknow-data-card img.skt-logo {
        max-width: 68px !important;
        max-height: 24px !important;
        margin: 0 auto 9px !important;
    }

    .asknow-data-card strong {
        font-size: 21px !important;
        line-height: 1.05 !important;
    }

    .asknow-data-card p {
        margin-top: 9px !important;
        font-size: 10.5px !important;
        line-height: 1.4 !important;
    }

    .asknow-target-list {
        grid-column: 1 / span 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 8px 10px !important;
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 0 !important;
        border: 0 !important;
        border-top: 1px solid rgba(67, 32, 207, .14) !important;
        background: transparent !important;
        list-style: none !important;
    }

    .asknow-target-list li {
        height: 34px !important;
        padding: 5px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        color: var(--theme) !important;
        white-space: nowrap !important;
    }

    .asknow-target-list li:not(:first-child) {
        border-left: 1px solid rgba(67, 32, 207, .16) !important;
    }

    .asknow-target-list em {
        font-style: normal !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .asknow-target-list span {
        font-size: 11px !important;
        line-height: 1.1 !important;
        font-weight: 800 !important;
    }

    .asknow-speed-flow {
        width: 100% !important;
        margin-top: 22px !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0 !important;
        border: 1px solid rgba(67, 32, 207, .18) !important;
        border-radius: 16px !important;
        background: rgba(255, 255, 255, .54) !important;
        overflow: hidden !important;
        transform: none !important;
    }

    .asknow-speed-flow::before {
        display: none !important;
    }

    .asknow-speed-card,
    .asknow-speed-center {
        width: 100% !important;
        height: 110px !important;
        min-height: 110px !important;
        margin: 0 !important;
        padding: 14px 6px !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }

    .asknow-speed-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
    }

    .asknow-speed-center {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: linear-gradient(135deg, var(--theme) 0%, #6d59f8 100%) !important;
        color: #fff !important;
    }

    .asknow-speed-card b {
        width: 32px !important;
        height: 32px !important;
        margin: 0 0 8px !important;
        border-radius: 9px !important;
        font-size: 15px !important;
    }

    .asknow-speed-card span {
        margin: 0 0 6px !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        color: var(--theme) !important;
    }

    .asknow-speed-card strong {
        font-size: 17px !important;
        line-height: 1.15 !important;
        color: #111829 !important;
    }

    .asknow-speed-card p {
        display: none !important;
    }

    .asknow-speed-center em,
    .asknow-speed-center strong {
        font-size: 0 !important;
        line-height: 0 !important;
        color: #fff !important;
    }

    .asknow-speed-center em::before {
        content: "평균 1시간" !important;
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        color: rgba(255, 255, 255, .85) !important;
    }

    .asknow-speed-center strong::before {
        content: "1,000명 응답" !important;
        display: block !important;
        font-size: 22px !important;
        line-height: 1.05 !important;
        font-weight: 800 !important;
        color: #fff !important;
    }

    .asknow-compare {
        width: 100% !important;
        margin-top: 22px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        background: #fff !important;
        transform: none !important;
    }

    .asknow-compare div {
        min-height: 66px !important;
        padding: 12px 9px !important;
        font-size: 11.5px !important;
        line-height: 1.5 !important;
        font-weight: 600 !important;
    }

    .asknow-compare .head {
        min-height: 48px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .asknow-media-grid {
        width: 100% !important;
        margin-top: 22px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        transform: none !important;
    }

    .asknow-media-grid article,
    .asknow-media-grid article:nth-child(5) {
        width: 100% !important;
        min-height: auto !important;
        margin: 0 !important;
        padding: 14px 16px !important;
        display: grid !important;
        grid-template-columns: 48px 1fr !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        text-align: left !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .72) !important;
    }

    .asknow-media-grid b {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        font-size: 16px !important;
    }

    .asknow-media-grid strong {
        grid-column: 2 !important;
        margin: 0 0 4px !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    .asknow-media-grid p {
        grid-column: 2 !important;
        margin: 0 !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
        word-break: keep-all !important;
    }
}

/* ==================================================
   10. Why Ask Now - Mobile Bottom Strip
================================================== */
.pc-strip-copy {
    display: inline;
}

.mo-strip-copy {
    display: none;
}

@media (max-width:767px) {
    .pc-strip-copy {
        display: none !important;
    }

    .mo-strip-copy {
        display: inline !important;
    }

    .asknow-diff-strips {
        display: none !important;
    }

    .asknow-mobile-scene-strip {
        width: calc(100% + 36px) !important;
        height: 88px !important;
        min-height: 88px !important;
        margin: 18px -18px 0 !important;
        padding: 0 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        background: linear-gradient(135deg, var(--theme) 0%, #3521b7 100%) !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
    }

    .asknow-mobile-scene-strip>div {
        flex: 1 1 0 !important;
        height: 100% !important;
        padding: 0 8px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        text-align: center !important;
    }

    .asknow-mobile-scene-strip>div+div {
        position: relative !important;
    }

    .asknow-mobile-scene-strip>div+div::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 50% !important;
        width: 1px !important;
        height: 32px !important;
        transform: translateY(-50%) !important;
        background: rgba(255, 255, 255, .22) !important;
    }

    .asknow-mobile-scene-strip strong {
        display: block !important;
        margin: 0 !important;
        color: #fff !important;
        font-size: 15px !important;
        line-height: 1.1 !important;
        font-weight: 800 !important;
    }

    .asknow-mobile-scene-strip p {
        margin: 5px 0 0 !important;
        color: rgba(255, 255, 255, .72) !important;
        font-size: 9.8px !important;
        line-height: 1.3 !important;
        word-break: keep-all !important;
    }
}

/* ==================================================
   11. Service Section
================================================== */
@media (min-width:1025px) and (max-width:1440px) {
    .ns-page .ns-service .ns-inner {
        max-width: 1320px !important;
    }

    .ns-page .asknow-service-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .ns-page .asknow-service-grid article {
        min-height: 430px !important;
        padding: 22px 16px !important;
        display: block !important;
    }

    .ns-page .asknow-service-grid b {
        width: 50px !important;
        height: 50px !important;
        margin: 0 0 16px !important;
        font-size: 24px !important;
    }

    .ns-page .asknow-service-grid span {
        font-size: 11.5px !important;
    }

    .ns-page .asknow-service-grid h3 {
        font-size: 20px !important;
        line-height: 1.22 !important;
        margin: 10px 0 !important;
    }

    .ns-page .asknow-service-grid p {
        min-height: auto !important;
        height: auto !important;
        margin: 8px 0 12px !important;
        padding: 0 !important;
        font-size: 12.5px !important;
        line-height: 1.55 !important;
    }

    .ns-page .asknow-service-grid ul {
        margin: 12px 0 0 !important;
        padding-top: 12px !important;
    }

    .ns-page .asknow-service-grid li {
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    .ns-page .asknow-service-grid em {
        display: block !important;
        margin-top: 12px !important;
        padding-top: 12px !important;
        font-size: 10.8px !important;
        line-height: 1.45 !important;
    }
}

@media (min-width:768px) and (max-width:1024px) {
    .ns-page .ns-service {
        padding: 78px 0 !important;
    }

    .ns-page .asknow-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .ns-page .asknow-service-grid article {
        min-height: auto !important;
        padding: 26px 22px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .ns-page .asknow-service-grid p {
        min-height: 0 !important;
    }

    .ns-page .asknow-service-grid em {
        margin-top: 16px !important;
        padding-top: 14px !important;
        border-top: 1px solid rgba(67, 32, 207, .12) !important;
    }
}

@media (max-width:767px) {
    .ns-page .ns-service {
        padding: 28px 0 68px !important;
    }

    .ns-page .asknow-service-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .ns-page .asknow-service-grid article {
        min-height: auto !important;
        padding: 14px 16px !important;
        display: grid !important;
        grid-template-columns: 50px 1fr !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 8px !important;
        row-gap: 0 !important;
        align-items: start !important;
        border-radius: 14px !important;
        text-align: left !important;
    }

    .ns-page .asknow-service-grid article b {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border-radius: 11px !important;
        font-size: 17px !important;
    }

    .ns-page .asknow-service-grid article span {
        grid-column: 2 !important;
        margin: 0 0 2px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .ns-page .asknow-service-grid article h3 {
        grid-column: 2 !important;
        margin: 0 0 6px !important;
        font-size: 18px !important;
        line-height: 1.15 !important;
    }

    .ns-page .asknow-service-grid article>p {
        grid-column: 2 !important;
        min-height: 0 !important;
        margin: 0 !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    .ns-page .asknow-service-grid article ul {
        grid-column: 1 / span 2 !important;
        margin: 10px 0 0 !important;
        padding-top: 9px !important;
        border-top: 1px solid rgba(67, 32, 207, .12) !important;
    }

    .ns-page .asknow-service-grid article li {
        margin-bottom: 4px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .ns-page .asknow-service-grid article li:last-child {
        margin-bottom: 0 !important;
    }

    .ns-page .asknow-service-grid article em {
        grid-column: 1 / span 2 !important;
        margin-top: 10px !important;
        padding-top: 10px !important;
        border-top: 1px solid rgba(67, 32, 207, .12) !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
}

/* ==================================================
   12. Process Section
================================================== */
@media (max-width:1280px) {
    .ns-page #process.ns-process .ns-inner {
        max-width: 1040px !important;
    }

    .ns-page #process.ns-process .ns-section-title {
        margin-bottom: 40px !important;
    }

    .ns-page #process.ns-process .ns-section-title h2 {
        font-size: 38px !important;
        line-height: 1.25 !important;
    }

    .ns-page #process.ns-process .ns-section-title p {
        margin: 14px 0 0 !important;
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .ns-page #process.ns-process .asknow-process-table {
        width: min(960px, 100%) !important;
        gap: 14px !important;
    }

    .ns-page #process.ns-process .asknow-process-row {
        min-height: 78px !important;
        padding: 0 30px !important;
        grid-template-columns: 52px 170px 1fr !important;
        column-gap: 26px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>strong {
        font-size: 19px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        white-space: nowrap !important;
    }

    .ns-page #process.ns-process .asknow-process-cta {
        margin-top: 38px !important;
    }

    .ns-page #process.ns-process .asknow-process-cta a,
    .ns-page #process.ns-process .asknow-process-cta a.wide {
        width: 210px !important;
        min-width: 210px !important;
        height: 50px !important;
    }
}

@media (max-width:1024px) {
    .ns-page #process.ns-process {
        padding: 78px 0 !important;
    }

    .ns-page #process.ns-process .ns-inner {
        max-width: 900px !important;
        padding: 0 28px !important;
    }

    .ns-page #process.ns-process .asknow-process-row {
        min-height: 74px !important;
        padding: 0 24px !important;
        grid-template-columns: 48px 140px 1fr !important;
        column-gap: 20px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>span {
        width: 48px !important;
        height: 48px !important;
        font-size: 20px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>strong {
        font-size: 17px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>p {
        font-size: 13px !important;
        line-height: 1.55 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

@media (max-width:767px) {
    .ns-page #process.ns-process {
        padding: 68px 0 !important;
    }

    .ns-page #process.ns-process .ns-inner {
        padding: 0 18px !important;
    }

    .ns-page #process.ns-process .asknow-process-table {
        width: 100% !important;
        gap: 10px !important;
    }

    .ns-page #process.ns-process .asknow-process-row {
        min-height: auto !important;
        padding: 18px 16px !important;
        grid-template-columns: 44px 1fr !important;
        grid-template-rows: auto auto !important;
        column-gap: 14px !important;
        row-gap: 5px !important;
        align-items: center !important;
        border-radius: 14px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>span {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 11px !important;
        font-size: 18px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>strong {
        grid-column: 2 !important;
        grid-row: 1 !important;
        font-size: 16px !important;
        line-height: 1.3 !important;
        text-align: left !important;
    }

    .ns-page #process.ns-process .asknow-process-row>p {
        grid-column: 2 !important;
        grid-row: 2 !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-break: keep-all !important;
    }

    .ns-page #process.ns-process .asknow-process-row:hover {
        transform: none !important;
    }

    .ns-page #process.ns-process .asknow-process-cta {
        width: 100% !important;
        margin-top: 28px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .ns-page #process.ns-process .asknow-process-cta>div {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .ns-page #process.ns-process .asknow-process-cta a,
    .ns-page #process.ns-process .asknow-process-cta a.wide {
        width: 100% !important;
        min-width: 0 !important;
        height: 46px !important;
        font-size: 13px !important;
    }
}

@media (max-width:420px) {
    .ns-page #process.ns-process .asknow-process-row {
        padding: 16px 14px !important;
        grid-template-columns: 40px 1fr !important;
        column-gap: 12px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>span {
        width: 40px !important;
        height: 40px !important;
        font-size: 16px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>strong {
        font-size: 15px !important;
    }

    .ns-page #process.ns-process .asknow-process-row>p {
        font-size: 11.5px !important;
    }
}

/* ==================================================
   13. Contact Section
================================================== */
.ns-contact .ns-contact-btns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 40px auto 0 !important;
    padding: 0 !important;
}

.ns-contact .ns-contact-btns>a,
.ns-contact .ns-contact-btns>a.ns-btn-wide,
.ns-contact .ns-contact-btns>a.ns-btn-primary,
.ns-contact .ns-contact-btns>a.ns-btn-secondary {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.ns-contact .ns-contact-logos {
    margin-top: 48px !important;
}

@media (min-width:1025px) and (max-width:1280px) {
    .ns-contact .ns-contact-btns {
        max-width: 720px !important;
        gap: 12px !important;
    }

    .ns-contact .ns-contact-btns>a {
        height: 48px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

@media (max-width:767px) {
    #nsPage.asknow-page .ns-contact {
        overflow: hidden !important;
        padding: 72px 0 64px !important;
    }

    #nsPage.asknow-page .ns-contact>.ns-inner {
        width: 100% !important;
        max-width: none !important;
        min-height: auto !important;
        padding: 0 20px !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-kicker {
        max-width: 300px !important;
        margin: 0 auto 16px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    #nsPage.asknow-page .ns-contact h2,
    #nsPage.asknow-page .ns-contact h2.con-title,
    #nsPage.asknow-page .ns-contact .con-title {
        margin: 0 0 18px !important;
        font-size: 58px !important;
        line-height: .95 !important;
        letter-spacing: -0.06em !important;
        color: #111829 !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-badge {
        width: min(260px, 100%) !important;
        max-width: 260px !important;
        height: 32px !important;
        padding: 0 16px !important;
        margin: 34px auto 34px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-desc {
        max-width: 300px !important;
        margin: 0 auto 44px !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
        word-break: keep-all !important;
        color: #111829 !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-btns {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 290px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-btns>a,
    #nsPage.asknow-page .ns-contact .ns-contact-btns>a.ns-btn-wide,
    #nsPage.asknow-page .ns-contact .ns-contact-btns>a.ns-btn-primary,
    #nsPage.asknow-page .ns-contact .ns-contact-btns>a.ns-btn-secondary {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        font-size: 13px !important;
        line-height: 1 !important;
        font-weight: 800 !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-logos {
        width: 100% !important;
        max-width: 300px !important;
        margin: 42px auto 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 16px !important;
        flex-wrap: nowrap !important;
        overflow: hidden !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-logos img {
        width: auto !important;
        max-width: 30% !important;
        height: auto !important;
        max-height: 28px !important;
        object-fit: contain !important;
        margin: 0 !important;
    }
}

/* ==================================================
   14. FAQ Section
================================================== */
.ns-faq-list button {
    padding-bottom: 24px !important;
}

.ns-faq-list div {
    display: block !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    transition: max-height .42s ease, opacity .28s ease, padding-top .32s ease, padding-bottom .32s ease !important;
}

.ns-faq-list button.is-open+div {
    max-height: 260px !important;
    opacity: 1 !important;
    padding-top: 18px !important;
    padding-bottom: 24px !important;
}

.ns-faq-list button.is-open {
    border-bottom-color: rgba(255, 255, 255, .12) !important;
}

.ns-faq-list button+div {
    border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
}

@media (max-width:767px) {
    body #nsPage.asknow-page .ns-faq {
        background: #0d1728 !important;
        color: #fff !important;
    }

    body #nsPage.asknow-page .ns-faq .ns-inner {
        padding: 0 18px !important;
    }

    body #nsPage.asknow-page .ns-faq .ns-label {
        background: rgba(255, 255, 255, .06) !important;
        border-color: rgba(255, 255, 255, .28) !important;
        color: #fff !important;
    }

    body #nsPage.asknow-page .ns-faq .ns-section-title h2,
    body #nsPage.asknow-page .ns-faq h2 {
        color: #fff !important;
    }

    body #nsPage.asknow-page .ns-faq .ns-section-title p,
    body #nsPage.asknow-page .ns-faq p {
        color: rgba(255, 255, 255, .72) !important;
    }

    body #nsPage.asknow-page .ns-faq-list button {
        min-height: 70px !important;
        margin: 0 !important;
        padding: 22px 32px 22px 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
        border-radius: 0 !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.45 !important;
        text-align: left !important;
    }

    body #nsPage.asknow-page .ns-faq-list button::after {
        content: "+" !important;
        color: #fff !important;
        right: 4px !important;
    }

    body #nsPage.asknow-page .ns-faq-list button.is-open::after {
        content: "−" !important;
    }

    body #nsPage.asknow-page .ns-faq-list button.is-open+div {
        padding-top: 14px !important;
        padding-bottom: 24px !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
    }

    body #nsPage.asknow-page .ns-faq-list div {
        background: transparent !important;
        border: 0 !important;
        color: rgba(255, 255, 255, .68) !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
    }
}

/* ==================================================
   15. Floating Help Menu
================================================== */
@media (max-width:767px) {
    .asknow-help-toggle {
        width: 54px !important;
        height: 54px !important;
        right: 18px !important;
        bottom: 18px !important;
    }

    .asknow-help-panel {
        right: 18px !important;
        bottom: 84px !important;
        width: calc(100vw - 36px) !important;
        max-width: 340px !important;
    }
}

/* ==================================================
   16. Small Mobile / 480 이하
================================================== */
@media (max-width:480px) {

    .ns-desc br,
    .asknow-intro-center p br,
    .ns-contact p br {
        display: none !important;
    }

    .ns-page .ns-section:not(.ns-hero)>.ns-inner>.ns-section-title h2,
    .ns-page .ns-section:not(.ns-hero) .ns-inner>.reveal>h2,
    .ns-page .asknow-diff-head h2,
    .ns-page .asknow-diff-body>.ns-section-title h3,
    .ns-page .ns-contact>.ns-inner>h2,
    .asknow-intro-center h2 {
        font-size: 25px !important;
    }

    .asknow-diff-tabs button {
        font-size: 10.5px !important;
    }

    .asknow-data-card strong {
        font-size: 21px !important;
    }
}


/* ==================================================
   REAL FINAL - Contact CTA Tablet Fix
   기존 강한 선택자까지 덮어쓰기
================================================== */

@media (min-width:768px) and (max-width:1024px) {

    html body.home main#nsPage.ns-page.asknow-page section#contact.ns-contact div.ns-inner div.ns-contact-btns {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;

        width: 100% !important;
        max-width: 620px !important;
        min-width: 0 !important;

        margin: 40px auto 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
        overflow: visible !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#contact.ns-contact div.ns-inner div.ns-contact-btns>a,
    html body.home main#nsPage.ns-page.asknow-page section#contact.ns-contact div.ns-inner div.ns-contact-btns>a.ns-btn-wide,
    html body.home main#nsPage.ns-page.asknow-page section#contact.ns-contact div.ns-inner div.ns-contact-btns>a.ns-btn-primary,
    html body.home main#nsPage.ns-page.asknow-page section#contact.ns-contact div.ns-inner div.ns-contact-btns>a.ns-btn-secondary {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: 50px !important;
        min-height: 50px !important;

        margin: 0 !important;
        padding: 0 12px !important;

        grid-column: auto !important;
        grid-row: auto !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;

        font-size: 13px !important;
        line-height: 1 !important;
        font-weight: 800 !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#contact.ns-contact div.ns-inner div.ns-contact-btns>a:nth-child(3) {
        grid-column: 1 / -1 !important;
    }
}

/* ==================================================
   Service Card Tablet Compact Fix
   768~1024 구간 카드 크기 축소
================================================== */

@media (min-width:768px) and (max-width:1024px) {

    #nsPage.asknow-page .ns-service {
        padding: 64px 0 !important;
    }

    #nsPage.asknow-page .ns-service .ns-inner {
        max-width: 820px !important;
        padding: 0 24px !important;
    }

    #nsPage.asknow-page .asknow-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    #nsPage.asknow-page .asknow-service-grid article {
        min-height: auto !important;
        padding: 18px 18px !important;
        border-radius: 14px !important;
    }

    #nsPage.asknow-page .asknow-service-grid b {
        width: 44px !important;
        height: 44px !important;
        margin: 0 0 12px !important;
        border-radius: 10px !important;
        font-size: 20px !important;
    }

    #nsPage.asknow-page .asknow-service-grid span {
        margin-bottom: 6px !important;
        font-size: 11px !important;
    }

    #nsPage.asknow-page .asknow-service-grid h3 {
        margin: 0 0 10px !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
    }

    #nsPage.asknow-page .asknow-service-grid p {
        min-height: auto !important;
        margin: 0 0 14px !important;
        font-size: 12.5px !important;
        line-height: 1.55 !important;
    }

    #nsPage.asknow-page .asknow-service-grid ul {
        margin: 0 !important;
        padding-top: 12px !important;
    }

    #nsPage.asknow-page .asknow-service-grid li {
        margin-bottom: 5px !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    #nsPage.asknow-page .asknow-service-grid em {
        margin-top: 12px !important;
        padding-top: 12px !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }
}

@media (min-width:768px) and (max-width:1024px) {

    #nsPage.asknow-page .asknow-service-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    #nsPage.asknow-page .asknow-service-grid article {
        min-height: auto !important;
    }

    /* 마지막 카드 가운데 */
    #nsPage.asknow-page .asknow-service-grid article:nth-child(5) {
        grid-column: 1 / -1 !important;
        max-width: 420px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

/* ==================================================
   MOBILE TOTAL BALANCE PATCH
   - 767 이하 전체 크기 통일
   - 큰 카드 압축
   - Contact 버튼/로고 정리
================================================== */

@media (max-width:767px) {

    #nsPage.asknow-page {
        background: #f6f5ff !important;
        overflow-x: hidden !important;
    }

    #nsPage.asknow-page .ns-section:not(.ns-hero) {
        padding: 58px 0 !important;
        height: auto !important;
        min-height: auto !important;
    }

    #nsPage.asknow-page .ns-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 0 18px !important;
        margin: 0 auto !important;
    }

    #nsPage.asknow-page .ns-label {
        height: 28px !important;
        padding: 0 14px !important;
        margin-bottom: 16px !important;
        font-size: 10.5px !important;
    }

    #nsPage.asknow-page .ns-section-title {
        margin-bottom: 28px !important;
    }

    #nsPage.asknow-page .ns-section-title h2,
    #nsPage.asknow-page .asknow-diff-head h2,
    #nsPage.asknow-page .asknow-intro-center h2,
    #nsPage.asknow-page .ns-contact h2 {
        font-size: 26px !important;
        line-height: 1.28 !important;
        letter-spacing: -0.055em !important;
    }

    #nsPage.asknow-page .ns-section-title p,
    #nsPage.asknow-page .asknow-diff-head>p,
    #nsPage.asknow-page .asknow-intro-center p,
    #nsPage.asknow-page .ns-contact p {
        max-width: 310px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 13px !important;
        line-height: 1.7 !important;
        word-break: keep-all !important;
    }

    /* HERO */
    #nsPage.asknow-page .ns-hero {
        min-height: 640px !important;
        padding: 0 0 44px !important;
    }

    #nsPage.asknow-page .ns-hero-content {
        width: calc(100% - 40px) !important;
        margin: 42px auto 0 !important;
    }

    #nsPage.asknow-page .ns-hero h1 {
        font-size: 54px !important;
        line-height: .95 !important;
        margin-bottom: 18px !important;
    }

    #nsPage.asknow-page .ns-badge {
        height: 30px !important;
        max-width: 260px !important;
        margin-bottom: 28px !important;
        font-size: 10px !important;
    }

    /* WHY ASK NOW 내부 카드 축소 */
    #nsPage.asknow-page .asknow-flow,
    #nsPage.asknow-page .asknow-speed-flow,
    #nsPage.asknow-page .asknow-media-grid {
        margin-top: 20px !important;
    }

    #nsPage.asknow-page .asknow-data-card,
    #nsPage.asknow-page .asknow-speed-card,
    #nsPage.asknow-page .asknow-speed-center {
        min-height: 118px !important;
        padding: 14px 10px !important;
    }

    /* SERVICE 카드: 모바일은 긴 카드 대신 압축 리스트형 */
    #nsPage.asknow-page .ns-service {
        padding: 58px 0 !important;
    }

    #nsPage.asknow-page .asknow-service-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    #nsPage.asknow-page .asknow-service-grid article {
        min-height: auto !important;
        padding: 18px 16px !important;
        border-radius: 14px !important;
        display: grid !important;
        grid-template-columns: 46px 1fr !important;
        column-gap: 14px !important;
        align-items: start !important;
    }

    #nsPage.asknow-page .asknow-service-grid b {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border-radius: 10px !important;
        font-size: 18px !important;
    }

    #nsPage.asknow-page .asknow-service-grid span {
        grid-column: 2 !important;
        margin: 0 0 5px !important;
        font-size: 11px !important;
    }

    #nsPage.asknow-page .asknow-service-grid h3 {
        grid-column: 2 !important;
        margin: 0 0 8px !important;
        font-size: 19px !important;
        line-height: 1.25 !important;
    }

    #nsPage.asknow-page .asknow-service-grid p {
        grid-column: 2 !important;
        min-height: 0 !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.6 !important;
    }

    #nsPage.asknow-page .asknow-service-grid ul,
    #nsPage.asknow-page .asknow-service-grid em {
        display: none !important;
    }

    /* PROCESS */
    #nsPage.asknow-page #process.ns-process {
        padding: 58px 0 !important;
    }

    #nsPage.asknow-page .asknow-process-row {
        min-height: auto !important;
        padding: 16px 14px !important;
    }

    /* FAQ */
    #nsPage.asknow-page .ns-faq {
        padding: 58px 0 !important;
    }

    #nsPage.asknow-page .ns-faq-list button {
        min-height: auto !important;
        padding: 18px 30px 18px 0 !important;
        font-size: 14px !important;
    }

    /* CONTACT */
    #nsPage.asknow-page .ns-contact {
        padding: 64px 0 !important;
        overflow: hidden !important;
    }

    #nsPage.asknow-page .ns-contact .con-title {
        font-size: 52px !important;
        line-height: .95 !important;
        margin: 0 0 18px !important;
    }

    #nsPage.asknow-page .ns-contact-btns {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 290px !important;
        margin: 32px auto 0 !important;
        padding: 0 !important;
    }

    #nsPage.asknow-page .ns-contact-btns>a {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        grid-column: auto !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    #nsPage.asknow-page .ns-contact-logos {
        max-width: 300px !important;
        margin: 38px auto 0 !important;
        display: flex !important;
        justify-content: center !important;
        gap: 14px !important;
        overflow: hidden !important;
    }

    #nsPage.asknow-page .ns-contact-logos img {
        max-width: 30% !important;
        max-height: 25px !important;
        object-fit: contain !important;
    }
}

@media (min-width:768px) and (max-width:1024px){

    .asknow-media-grid{
        display:grid !important;
        grid-template-columns:repeat(5,1fr) !important;
        gap:12px !important;
    }

    .asknow-media-grid article,
    .asknow-media-grid article:nth-child(5){
        grid-column:auto !important;
        width:100% !important;
        min-height:130px !important;
        padding:20px 12px !important;
        margin:0 !important;
    }

    .asknow-media-grid b{
        width:42px !important;
        height:42px !important;
        font-size:18px !important;
        margin-bottom:10px !important;
    }

    .asknow-media-grid strong{
        font-size:18px !important;
        line-height:1.2 !important;
        margin-bottom:8px !important;
    }

    .asknow-media-grid p{
        font-size:12px !important;
        line-height:1.5 !important;
    }
}

/* ==================================================
   870px 전후 태블릿 전체 축소 패치
   - Header / Footer 제외
   - Why / Service / Process / Contact 박스 크기 다운
================================================== */

@media (min-width:768px) and (max-width:899px){

    #nsPage.asknow-page .ns-section:not(.ns-hero){
        padding:56px 0 !important;
    }

    #nsPage.asknow-page .ns-inner{
        max-width:720px !important;
        padding:0 24px !important;
    }

    #nsPage.asknow-page .ns-section-title h2,
    #nsPage.asknow-page .asknow-diff-head h2,
    #nsPage.asknow-page .asknow-diff-copy h3,
    #nsPage.asknow-page .asknow-intro-center h2{
        font-size:30px !important;
        line-height:1.25 !important;
    }

    #nsPage.asknow-page .ns-section-title p,
    #nsPage.asknow-page .asknow-diff-head > p,
    #nsPage.asknow-page .asknow-diff-copy p{
        font-size:14px !important;
        line-height:1.6 !important;
    }

    /* WHY ASK NOW 전체 여백 축소 */
    #nsPage.asknow-page .asknow-diff-section{
        padding:56px 0 0 !important;
    }

    #nsPage.asknow-page .asknow-diff-main{
        padding:0 0 44px !important;
    }

    #nsPage.asknow-page .asknow-diff-scene,
    #nsPage.asknow-page .asknow-diff-scene.is-active{
        margin-bottom:56px !important;
    }

    #nsPage.asknow-page .asknow-diff-copy{
        margin-bottom:22px !important;
    }

    #nsPage.asknow-page .asknow-diff-scene .asknow-section-nav{
        margin-bottom:22px !important;
    }

    /* 패널 규모 */
    #nsPage.asknow-page .asknow-flow{
        padding:14px !important;
        gap:10px !important;
    }

    #nsPage.asknow-page .asknow-data-card{
        min-height:150px !important;
        padding:24px 18px !important;
    }

    #nsPage.asknow-page .asknow-data-card strong{
        font-size:28px !important;
    }

    #nsPage.asknow-page .asknow-data-card p{
        font-size:12px !important;
    }

    #nsPage.asknow-page .asknow-target-list li{
        height:46px !important;
        font-size:12px !important;
    }

    /* 퀵서베이 */
    #nsPage.asknow-page .asknow-speed-flow{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }

    #nsPage.asknow-page .asknow-speed-card,
    #nsPage.asknow-page .asknow-speed-center{
        min-height:130px !important;
        padding:18px 12px !important;
    }

    #nsPage.asknow-page .asknow-speed-card b{
        width:42px !important;
        height:42px !important;
        font-size:18px !important;
    }

    #nsPage.asknow-page .asknow-speed-card strong,
    #nsPage.asknow-page .asknow-speed-center strong{
        font-size:22px !important;
        line-height:1.15 !important;
    }

    #nsPage.asknow-page .asknow-speed-card p{
        font-size:12px !important;
        line-height:1.45 !important;
    }

    /* 프리시전 표 */
    #nsPage.asknow-page .asknow-compare div{
        min-height:54px !important;
        padding:12px 10px !important;
        font-size:12px !important;
        line-height:1.45 !important;
    }

    #nsPage.asknow-page .asknow-compare .head{
        min-height:44px !important;
        font-size:12px !important;
    }

    /* 미디어 1줄 5개 */
    #nsPage.asknow-page .asknow-media-grid{
        display:grid !important;
        grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
        gap:10px !important;
    }

    #nsPage.asknow-page .asknow-media-grid article,
    #nsPage.asknow-page .asknow-media-grid article:nth-child(5){
        grid-column:auto !important;
        width:100% !important;
        min-height:118px !important;
        padding:18px 10px !important;
        margin:0 !important;
    }

    #nsPage.asknow-page .asknow-media-grid b{
        width:38px !important;
        height:38px !important;
        margin-bottom:8px !important;
        font-size:16px !important;
    }

    #nsPage.asknow-page .asknow-media-grid strong{
        font-size:16px !important;
        line-height:1.2 !important;
        margin-bottom:6px !important;
    }

    #nsPage.asknow-page .asknow-media-grid p{
        font-size:11px !important;
        line-height:1.4 !important;
    }

    /* 서비스 카드 */
    #nsPage.asknow-page .ns-service{
        padding:56px 0 !important;
    }

    #nsPage.asknow-page .asknow-service-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:12px !important;
    }

    #nsPage.asknow-page .asknow-service-grid article{
        padding:18px !important;
        min-height:auto !important;
        border-radius:14px !important;
    }

    #nsPage.asknow-page .asknow-service-grid article:nth-child(5){
        grid-column:1 / -1 !important;
        max-width:360px !important;
        margin:0 auto !important;
    }

    #nsPage.asknow-page .asknow-service-grid b{
        width:42px !important;
        height:42px !important;
        font-size:18px !important;
        margin-bottom:10px !important;
    }

    #nsPage.asknow-page .asknow-service-grid h3{
        font-size:18px !important;
    }

    #nsPage.asknow-page .asknow-service-grid p{
        font-size:12px !important;
        line-height:1.5 !important;
        margin-bottom:12px !important;
    }

    #nsPage.asknow-page .asknow-service-grid li,
    #nsPage.asknow-page .asknow-service-grid em{
        font-size:11px !important;
        line-height:1.4 !important;
    }

    /* 프로세스 */
    #nsPage.asknow-page #process.ns-process{
        padding:56px 0 !important;
    }

    #nsPage.asknow-page #process.ns-process .asknow-process-row{
        min-height:62px !important;
        padding:0 18px !important;
        grid-template-columns:42px 120px 1fr !important;
        column-gap:16px !important;
    }

    #nsPage.asknow-page #process.ns-process .asknow-process-row > span{
        width:42px !important;
        height:42px !important;
        font-size:17px !important;
    }

    #nsPage.asknow-page #process.ns-process .asknow-process-row > strong{
        font-size:15px !important;
    }

    #nsPage.asknow-page #process.ns-process .asknow-process-row > p{
        font-size:12px !important;
    }

    /* Contact */
    #nsPage.asknow-page .ns-contact{
        padding:60px 0 !important;
    }

    #nsPage.asknow-page .ns-contact .con-title{
        font-size:64px !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-btns{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        max-width:560px !important;
        gap:10px !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-btns > a:nth-child(3){
        grid-column:1 / -1 !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-btns > a{
        height:46px !important;
        font-size:12px !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-logos{
        margin-top:34px !important;
        max-width:420px !important;
    }
}

/* ==================================================
   MOBILE EMERGENCY FIX
   - 헤더 깨짐 복구
   - 히어로 타이틀 중앙정렬 복구
   - 767px 이하만 적용
================================================== */

@media (max-width:767px){

    html,
    body,
    #nsPage,
    #nsPage.asknow-page{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    #nsPage.asknow-page .ns-hero{
        min-height:100svh !important;
        padding:0 !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
    }

    #nsPage.asknow-page .ns-hero .ns-header{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        transform:none !important;

        width:100% !important;
        max-width:none !important;
        height:62px !important;
        min-height:62px !important;

        margin:0 !important;
        padding:0 18px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        background:transparent !important;
        z-index:50 !important;
    }

    #nsPage.asknow-page .ns-hero .ns-logo{
        display:block !important;
        flex:0 0 auto !important;

        font-size:20px !important;
        line-height:1 !important;
        font-weight:900 !important;
        letter-spacing:-0.04em !important;

        color:#111829 !important;
        white-space:nowrap !important;
        text-decoration:none !important;
    }

    #nsPage.asknow-page .ns-hero .ns-nav{
        display:none !important;
    }

    #nsPage.asknow-page .ns-hero .ns-header-actions{
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 0 auto !important;
    }

    #nsPage.asknow-page .ns-hero .ns-join-btn{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:auto !important;
        min-width:68px !important;
        height:32px !important;
        padding:0 12px !important;

        border-radius:5px !important;
        background:#4320cf !important;
        color:#fff !important;

        font-size:11px !important;
        font-weight:800 !important;
        line-height:1 !important;
        white-space:nowrap !important;
        text-decoration:none !important;
    }

    #nsPage.asknow-page .ns-hero-content{
        position:relative !important;
        inset:auto !important;
        left:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;

        flex:1 1 auto !important;
        width:100% !important;
        max-width:none !important;
        min-height:calc(100svh - 62px) !important;

        margin:0 auto !important;
        padding:0 22px 42px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        text-align:center !important;
        transform:translateY(-18px) !important;
    }

    #nsPage.asknow-page .ns-kicker{
        margin:0 0 14px !important;
        font-size:12px !important;
        line-height:1.45 !important;
        text-align:center !important;
    }

    #nsPage.asknow-page .ns-hero h1{
        margin:0 0 18px !important;

        font-size:58px !important;
        line-height:.94 !important;
        font-weight:900 !important;
        letter-spacing:-0.065em !important;

        text-align:center !important;
        color:#111829 !important;
        word-break:keep-all !important;
    }

    #nsPage.asknow-page .ns-badge{
        width:min(280px, 100%) !important;
        min-width:0 !important;
        height:32px !important;

        margin:0 0 28px !important;
        padding:0 14px !important;

        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        font-size:10px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    #nsPage.asknow-page .ns-desc.mobile-only{
        display:block !important;
        width:100% !important;
        max-width:315px !important;

        margin:0 auto !important;

        font-size:13px !important;
        line-height:1.75 !important;
        text-align:center !important;
        word-break:keep-all !important;
    }

    #nsPage.asknow-page .ns-desc.pc-only{
        display:none !important;
    }

    #nsPage.asknow-page .ns-btns{
        width:100% !important;
        max-width:280px !important;

        margin:28px auto 0 !important;

        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    #nsPage.asknow-page .ns-btns a{
        width:100% !important;
        min-width:0 !important;
        height:44px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        font-size:13px !important;
        font-weight:800 !important;
        white-space:nowrap !important;
    }
}
/* ==================================================
   ASK NOW MOBILE HARD OVERRIDE
   - 767px 이하 강제 복구
   - 헤더 / 히어로 / Why 카드 깨짐 방지
================================================== */

@media (max-width:767px){

    html body.home main#nsPage.ns-page.asknow-page{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    /* HEADER */
    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero header.ns-header{
        position:relative !important;
        top:0 !important;
        left:0 !important;
        right:auto !important;
        transform:none !important;

        width:100% !important;
        max-width:none !important;
        height:62px !important;
        min-height:62px !important;

        margin:0 !important;
        padding:0 16px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        background:transparent !important;
        z-index:999 !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero header.ns-header a.ns-logo{
        display:block !important;
        flex:0 0 auto !important;

        font-size:20px !important;
        font-weight:900 !important;
        line-height:1 !important;
        letter-spacing:-.04em !important;

        color:#111829 !important;
        white-space:nowrap !important;
        text-decoration:none !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero header.ns-header nav.ns-nav{
        display:none !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero header.ns-header .ns-header-actions{
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 0 auto !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero header.ns-header .ns-join-btn{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:auto !important;
        min-width:68px !important;
        height:32px !important;
        padding:0 12px !important;

        border-radius:5px !important;
        background:#4320cf !important;
        color:#fff !important;

        font-size:11px !important;
        font-weight:800 !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    /* HERO */
    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero{
        width:100% !important;
        min-height:100svh !important;
        padding:0 !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;

        overflow:hidden !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero div.ns-hero-content{
        position:relative !important;
        inset:auto !important;
        left:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;

        flex:1 1 auto !important;

        width:100% !important;
        max-width:none !important;
        min-height:calc(100svh - 62px) !important;

        margin:0 auto !important;
        padding:0 22px 38px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        text-align:center !important;
        transform:translateY(-10px) !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero .ns-kicker{
        margin:0 0 12px !important;
        font-size:12px !important;
        line-height:1.45 !important;
        text-align:center !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero h1{
        margin:0 0 16px !important;

        font-size:54px !important;
        line-height:.95 !important;
        font-weight:900 !important;
        letter-spacing:-.065em !important;

        text-align:center !important;
        color:#111829 !important;
        word-break:keep-all !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero .ns-badge{
        width:min(270px,100%) !important;
        min-width:0 !important;
        height:31px !important;

        margin:0 0 26px !important;
        padding:0 14px !important;

        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        font-size:10px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero .ns-desc.pc-only{
        display:none !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero .ns-desc.mobile-only{
        display:block !important;
        width:100% !important;
        max-width:315px !important;
        margin:0 auto !important;

        font-size:13px !important;
        line-height:1.75 !important;
        text-align:center !important;
        word-break:keep-all !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero .ns-btns{
        width:100% !important;
        max-width:280px !important;
        margin:28px auto 0 !important;

        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    html body.home main#nsPage.ns-page.asknow-page section#main.ns-hero .ns-btns a{
        width:100% !important;
        min-width:0 !important;
        height:44px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        font-size:13px !important;
        font-weight:800 !important;
        white-space:nowrap !important;
    }

    /* WHY ASK NOW 카드 과대 크기 방지 */
    html body.home main#nsPage.ns-page.asknow-page .asknow-data-card,
    html body.home main#nsPage.ns-page.asknow-page .asknow-speed-card,
    html body.home main#nsPage.ns-page.asknow-page .asknow-speed-center,
    html body.home main#nsPage.ns-page.asknow-page .asknow-media-grid article{
        min-height:110px !important;
        height:auto !important;
        padding:14px 10px !important;
    }

    html body.home main#nsPage.ns-page.asknow-page .asknow-speed-card p{
        display:none !important;
    }

    html body.home main#nsPage.ns-page.asknow-page .asknow-media-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:8px !important;
        transform:none !important;
    }

    html body.home main#nsPage.ns-page.asknow-page .asknow-media-grid article{
        width:100% !important;
        margin:0 !important;

        display:grid !important;
        grid-template-columns:42px 1fr !important;
        align-items:center !important;
        text-align:left !important;
    }

    html body.home main#nsPage.ns-page.asknow-page .asknow-media-grid article b{
        grid-column:1 !important;
        width:34px !important;
        height:34px !important;
        margin:0 !important;
        font-size:14px !important;
    }

    html body.home main#nsPage.ns-page.asknow-page .asknow-media-grid article strong{
        grid-column:2 !important;
        margin:0 0 4px !important;
        font-size:14px !important;
        line-height:1.25 !important;
    }

    html body.home main#nsPage.ns-page.asknow-page .asknow-media-grid article p{
        grid-column:2 !important;
        margin:0 !important;
        font-size:11px !important;
        line-height:1.45 !important;
    }
}

@media (max-width:767px){

    #nsPage.asknow-page .asknow-diff-copy h3{
        font-size:26px !important;
        line-height:1.2 !important;
        margin-bottom:12px !important;
    }

}

@media (max-width:767px){

    #nsPage.asknow-page .asknow-media-grid article{
        min-height:72px !important;
        padding:12px 16px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:center !important;

        text-align:left !important;
    }

    #nsPage.asknow-page .asknow-media-grid article strong{
        width:100% !important;
        margin:0 0 4px !important;

        font-size:16px !important;
        text-align:left !important;
    }

    #nsPage.asknow-page .asknow-media-grid article p{
        width:100% !important;
        margin:0 !important;

        font-size:11px !important;
        line-height:1.45 !important;
        text-align:left !important;
    }

}

/* ==================================================
   MOBILE HARD FIX - Media Survey Cards
   높이 축소 + 왼쪽 정렬 강제
================================================== */

@media (max-width:767px){

    html body.home main#nsPage.ns-page.asknow-page 
    section#difference.asknow-diff-section 
    article.asknow-diff-scene 
    div.asknow-media-grid > article{
        min-height:68px !important;
        height:auto !important;
        padding:11px 16px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:center !important;

        text-align:left !important;
    }

    html body.home main#nsPage.ns-page.asknow-page 
    section#difference.asknow-diff-section 
    article.asknow-diff-scene 
    div.asknow-media-grid > article strong{
        width:100% !important;
        margin:0 0 4px !important;

        display:block !important;
        text-align:left !important;

        font-size:15px !important;
        line-height:1.25 !important;
    }

    html body.home main#nsPage.ns-page.asknow-page 
    section#difference.asknow-diff-section 
    article.asknow-diff-scene 
    div.asknow-media-grid > article p{
        width:100% !important;
        margin:0 !important;

        display:block !important;
        text-align:left !important;

        font-size:11px !important;
        line-height:1.4 !important;
    }
}

/* ==================================================
   MOBILE CONTACT BUTTON HARD FIX
   - 360px 모바일에서 버튼 튀어나감 수정
================================================== */

@media (max-width:767px){

    html body.home main#nsPage.ns-page.asknow-page 
    section#contact.ns-contact 
    div.ns-inner.reveal.is-visible 
    div.ns-contact-btns{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;

        width:100% !important;
        max-width:290px !important;
        min-width:0 !important;

        margin:28px auto 0 !important;
        padding:0 !important;

        overflow:visible !important;
        box-sizing:border-box !important;
    }

    html body.home main#nsPage.ns-page.asknow-page 
    section#contact.ns-contact 
    div.ns-inner.reveal.is-visible 
    div.ns-contact-btns > a,
    html body.home main#nsPage.ns-page.asknow-page 
    section#contact.ns-contact 
    div.ns-inner.reveal.is-visible 
    div.ns-contact-btns > a.ns-btn-primary,
    html body.home main#nsPage.ns-page.asknow-page 
    section#contact.ns-contact 
    div.ns-inner.reveal.is-visible 
    div.ns-contact-btns > a.ns-btn-secondary,
    html body.home main#nsPage.ns-page.asknow-page 
    section#contact.ns-contact 
    div.ns-inner.reveal.is-visible 
    div.ns-contact-btns > a.ns-btn-wide{
        grid-column:1 / -1 !important;
        grid-row:auto !important;

        width:100% !important;
        max-width:290px !important;
        min-width:0 !important;

        height:46px !important;
        min-height:46px !important;

        margin:0 !important;
        padding:0 14px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        white-space:nowrap !important;
        word-break:keep-all !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;

        font-size:13px !important;
        font-weight:800 !important;
        line-height:1 !important;
        box-sizing:border-box !important;
    }

}

/* ==================================================
   FINAL OVERRIDE - Mobile/Tablet Title Balance
   Process / Contact 타이틀 크기 통일
================================================== */

/* 태블릿 구간 */
@media (min-width:768px) and (max-width:1024px){

    #nsPage.asknow-page #process.ns-process .ns-section-title h2,
    #nsPage.asknow-page .ns-contact h2,
    #nsPage.asknow-page .ns-contact h2.con-title,
    #nsPage.asknow-page .ns-contact .con-title{
        font-size:34px !important;
        line-height:1.28 !important;
        letter-spacing:-0.055em !important;
    }

    #nsPage.asknow-page #process.ns-process .ns-section-title p,
    #nsPage.asknow-page .ns-contact .ns-contact-desc,
    #nsPage.asknow-page .ns-contact p{
        font-size:14px !important;
        line-height:1.7 !important;
        word-break:keep-all !important;
    }
}

/* 모바일 구간 */
@media (max-width:767px){

    #nsPage.asknow-page #process.ns-process .ns-section-title h2,
    #nsPage.asknow-page .ns-contact h2,
    #nsPage.asknow-page .ns-contact h2.con-title,
    #nsPage.asknow-page .ns-contact .con-title{
        font-size:26px !important;
        line-height:1.28 !important;
        letter-spacing:-0.055em !important;
        margin-bottom:14px !important;
    }

    #nsPage.asknow-page #process.ns-process .ns-section-title p,
    #nsPage.asknow-page .ns-contact .ns-contact-desc,
    #nsPage.asknow-page .ns-contact p{
        max-width:310px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        font-size:13px !important;
        line-height:1.7 !important;
        word-break:keep-all !important;
    }

    #nsPage.asknow-page .ns-contact .ns-contact-badge{
        margin:20px auto 24px !important;
    }
}

