@charset "utf-8";

@font-face {
    font-family: 'Aggravo';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroL.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Aggravo';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroM.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Aggravo';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroB.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

/* ══════ RESET ══════ */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    word-break: keep-all;
}

html {
    scroll-behavior: smooth;
    font-size: 15px
}

body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #fff;
    color: #1e293b;
    line-height: 1.65;
    overflow-x: hidden
}

a {
    color: inherit;
    text-decoration: none;
    transition: color .2s
}

button {
    font: inherit;
    border: 0;
    background: none;
    cursor: pointer
}

img {
    max-width: 100%;
    display: block
}

/* ══════ UTILITY ══════ */
.gj-ai {
    font-size: .55em;
    font-weight: 500;
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    vertical-align: super;
    line-height: 1;
}

.wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 clamp(1.2rem, 4vw, 2rem)
}

.hl {
    color: #6366f1
}

.hl-sub {
    color: #8b5cf6
}

/* ══════ BUTTONS ══════ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .85rem 2.2rem;
    border-radius: 99px;
    font-size: 1rem;
    font-weight: 700;
    transition: transform .2s, box-shadow .2s;
    white-space: nowrap;
}

.btn:hover {
    transform: translateY(-2px)
}

.btn--blue {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    box-shadow: 0 6px 24px rgba(99, 102, 241, .35)
}

.btn--blue:hover {
    box-shadow: 0 10px 32px rgba(99, 102, 241, .45)
}

.btn--white {
    background: #fff;
    color: #312e81;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .12)
}

.btn--ghost {
    background: rgba(255, 255, 255, .12);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .25)
}

.btn--outline {
    background: transparent;
    color: #6366f1;
    border: 2px solid #6366f1
}

.btn--outline:hover {
    background: #6366f1;
    color: #fff
}

/* ══════ HERO (풀스크린 중앙) ══════ */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8rem 0 4rem;
    overflow: hidden;
    background: linear-gradient(180deg, #1e2a6e 0%, #3b4fd9 30%, #5b6ef0 50%, #818cf8 68%, #b4c6fc 85%, #eef2ff 100%);
}

.hero__bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 25% 60%, rgba(139, 92, 246, .3), transparent 50%),
        radial-gradient(circle at 75% 30%, rgba(56, 189, 248, .25), transparent 50%);
    filter: blur(60px);
    pointer-events: none;
    animation: bgZoom 2.5s cubic-bezier(.22, 1, .36, 1) forwards;
}

@keyframes bgZoom {
    from {
        transform: scale(1.3)
    }

    to {
        transform: scale(1)
    }
}

.hero__grid {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: radial-gradient(ellipse 60% 55% at 50% 50%, #000, transparent 80%);
    pointer-events: none;
}

/* 워터마크 텍스트 */
.hero__watermark {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Aggravo', sans-serif;
    font-size: clamp(4rem, 12vw, 10rem);
    font-weight: 500;
    letter-spacing: -.06em;
    color: rgba(255, 255, 255, .08);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

.hero__watermark--tl {
    top: 14%;
    left: 6%;
    transform: rotate(-8deg);
    font-size: clamp(1.2rem, 2vw, 2rem);
    color: rgba(255, 255, 255, .035);
    animation: heroWmFloat 7s ease-in-out infinite;
}

.hero__watermark--mr {
    top: 55%;
    left: auto;
    right: 5%;
    transform: rotate(6deg);
    font-size: clamp(1rem, 1.6vw, 1.6rem);
    color: rgba(255, 255, 255, .03);
    animation: heroWmFloat 9s ease-in-out infinite reverse;
}

@keyframes heroWmFloat {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -10px; }
}

/* 히어로 탭 */
.hero__tabs {
    display: inline-flex;
    justify-content: center;
    gap: .35rem;
    position: relative;
    z-index: 3;
    margin: 0 auto 1.5rem;
    flex-wrap: wrap;
    padding: 0.7rem;
    background: rgba(15, 23, 42, .35);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .25);
    left: 50%;
    transform: translateX(-50%);
}

.hero__tab {
padding: .65rem 3rem;
    border-radius: 999px;
    font-size: 1.2rem;
    font-weight: 700;
    color: rgba(255, 255, 255, .85);
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: all .25s;
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.hero__tab:hover {
    color: #fff;
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .3);
}

.hero__tab.is-active {
    color: #fff;
    font-weight: 800;
    background: #fff;
    color: #312e81;
    border-color: #fff;
    box-shadow: 0 4px 20px rgba(255, 255, 255, .3);
}

.hero__tab i {
    font-size: 1.45rem;
}

/* Ring 캐러셀 넘김 버튼 */
.gj-ring__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    border: 4px solid #fff;
    box-shadow: 0 16px 38px rgba(79, 70, 229, .45), 0 4px 12px rgba(79, 70, 229, .25), 0 0 0 4px rgba(99, 102, 241, .18);
    cursor: pointer;
    font-size: 1.35rem;
    font-weight: 900;
    color: #fff;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    animation: sc2ArrowRing 2s ease-in-out infinite;
}
.gj-ring__arrow:hover {
    transform: translateY(-50%) scale(1.12);
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    box-shadow: 0 20px 48px rgba(79, 70, 229, .55), 0 6px 16px rgba(79, 70, 229, .3), 0 0 0 6px rgba(99, 102, 241, .25);
    animation: none;
}
.gj-ring__arrow:active { transform: translateY(-50%) scale(1.05); }
.gj-ring__arrow--prev { left: 24px; }
.gj-ring__arrow--next { right: 24px; }

/* 카테고리 숨김 */
.gj-ring__card[data-category] {
    display: none;
}

.gj-ring__card[data-category].is-ring-active {
    display: block;
}

@media (max-width: 860px) {
    .hero__tabs {
        display: grid;
        grid-template-columns: 2fr 2fr;
        border-radius: 30px;
        box-sizing: border-box;
        left: initial;
        transform: none;
        width: 90%;
    }    
    .hero__tab { justify-content: center; padding: 0.7rem 1rem 0.6rem; }
}

@media(max-width:578px) {
    .hero__tabs {
        gap: .35rem;
    }

    .hero__tab {
        padding: .7rem 1rem;
        font-size: 1rem;
        gap: 0.3rem;
    }
    .hero__tab i { font-size: 1.05rem; }
    .hero__title { font-size: clamp(2rem, 5.5vw, 3rem); line-height: 1.35; }
    .hero__sub { font-size: 1.2rem; }
}

.hero__inner {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto
}

.hero__text-col {
    text-align: center;
    padding: 0 clamp(1.2rem, 4vw, 2rem)
}

.hero__visual-col {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 600px;
    margin-top: 2rem
}

.hero__text-col>* {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeIn .8s cubic-bezier(.22, 1, .36, 1) forwards
}

.hero__text-col>:nth-child(1) {
    animation-delay: .2s
}

.hero__text-col>:nth-child(2) {
    animation-delay: .4s
}

.hero__text-col>:nth-child(3) {
    animation-delay: .6s
}

.hero__text-col>:nth-child(4) {
    animation-delay: .8s
}

.hero__text-col>:nth-child(5) {
    animation-delay: 1s
}

@keyframes fadeIn {
    to {
        opacity: 1;
        transform: none
    }
}

.hero__badge {
    display: inline-flex;
    align-items: center;
    padding: .35rem 1rem;
    border-radius: 99px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #ddd;
    margin-bottom: .2rem;
    letter-spacing: .02em;
    position: relative;
    z-index: 2
}

.hero__badge .gj-ai {
    -webkit-text-fill-color: #fff;
    color: #fff
}

.hero__title {
    font-size: clamp(2.2rem, 5.5vw, 3rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.04em;
    color: #fff;
    margin-bottom: 1rem;
}

.hero__title .hl {
    background: linear-gradient(90deg, #c4b5fd, #93c5fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero__sub {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, .65);
    font-weight: 400;
    line-height: 1.45;
    margin-bottom: 2rem;
}

.hero__actions {
    display: none;
    gap: .8rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 2rem
}

.hero__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .8rem;
    font-size: .8rem;
    color: rgba(255, 255, 255, .45)
}

.hero__trust span {
    display: flex;
    align-items: center;
    gap: .3rem
}

.hero__scroll {
    position: absolute;
    bottom: 2rem;
    left: 48%;
    /* transform: translateX(-50%); */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .1em;
    opacity: 0;
    animation: fadeIn .5s ease 1.5s forwards;
}

.hero__scroll-bar {
    width: 1px;
    height: 24px;
    background: rgba(0, 0, 0, .25);
    animation: scrollPulse 2s ease-in-out infinite
}

@keyframes scrollPulse {

    0%,
    100% {
        opacity: .3;
        height: 24px
    }

    50% {
        opacity: .8;
        height: 32px
    }
}

@keyframes popIn {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* 플로팅 장식 */
.hero__deco {
    position: absolute;
    border-radius: 16px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(12px);
    color: #fff;
    z-index: 3;
    opacity: 0;
    transform: scale(0);
    animation: popIn .5s cubic-bezier(.34, 1.56, .64, 1) forwards;
}

.hero__deco--a {
    left: 5%;
    top: 22%;
    animation-delay: .9s
}

.hero__deco--c {
    left: 8%;
    bottom: 20%;
    animation-delay: 1.3s
}



.hero__deco strong {
    display: block;
    margin-top: 4px;
    font-size: 14px
}

.hero__deco p {
    margin-top: 2px;
    font-size: 11px;
    color: rgba(255, 255, 255, .5);
    line-height: 1.4
}

.deco-chip {
    display: inline-flex;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700
}

.deco-chip--blue {
    background: rgba(59, 130, 246, .3);
    color: #93c5fd
}

.deco-chip--mint {
    background: rgba(13, 148, 136, .3);
    color: #5eead4
}

.deco-chip--violet {
    background: rgba(124, 58, 237, .3);
    color: #c4b5fd
}


/* ══════ SECTION 공통 ══════ */
.sec {
    padding: clamp(5rem, 10vw, 7rem) 0
}

.sec--alt {
    background: linear-gradient(180deg, #ced4ff 0%, #fff 100%);
    padding: 12rem 0;
    overflow: hidden;
    position: relative
}

.sparkle {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    opacity: .22
}

.sparkle--1 {
    width: 120px;
    top: 5%;
    left: -2%;
    transform: rotate(-15deg)
}

.sparkle--2 {
    width: 80px;
    top: 30%;
    right: -3%;
    transform: rotate(20deg);
    opacity: .18
}

.sparkle--3 {
    width: 60px;
    bottom: 22%;
    left: -1%;
    transform: rotate(10deg);
    opacity: .15
}

.sparkle--4 {
    width: 95px;
    bottom: 6%;
    right: -2%;
    transform: rotate(-25deg);
    opacity: .20
}

.sec--alt>*:not(.sparkle) {
    position: relative;
    z-index: 1;
}

.sec__head {
    text-align: center;
    margin-bottom: 3rem
}

.prog .sec__head {
    position: relative
}

.prog .sec__head::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(99, 102, 241, .15) 0%, rgba(139, 92, 246, .07) 40%, transparent 70%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 0
}

.sec__head h2 {
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.03em;
    color: #0f172a;
}

.sec__head .sub {
    font-size: clamp(0.9rem, 2.5vw, 1.6rem);
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .3rem
}

.sec__head p {
    margin-top: .6rem;
    font-size: 1.1rem;
    color: #64748b;
    line-height: 1.6;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto
}

/* ══════ PROG SUB LABELS ══════ */
.prog__sub {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    flex-wrap: wrap
}

.prog__label {
    font-size: 1.2rem;
    font-weight: 700;
    color: #64748b
}

.prog__dot {
    color: #e2e8f0;
    font-weight: 400
}

.prog .sec__head h2 {
    font-size: clamp(1.8rem, 4vw, 2.8rem)
}

@media (max-width: 578px) {
    .sec__head h2 { font-weight: 900 }
    .sec__head .sub { font-weight: 900 }
}

/* ══════ PAIN POINT ══════ */
.pain {
    padding-top: clamp(7rem, 13vw, 12.5rem);
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%)
}

.pain__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
}

.pain__icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 1.3rem;
    line-height: 1
}

.pain__card {
    background: #fff;
    border-radius: 20px;
    padding: 2.7rem 1.5rem 2.2rem;
    text-align: center;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #6366f1;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .06);
    transition: transform .25s, box-shadow .25s, border-color .25s
}

.pain__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(99, 102, 241, .12);
    border-top-color: #818cf8
}

.pain__card h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .6rem;
    line-height: 1.4
}

.pain__card p {
    font-size: 1.05rem;
    color: #64748b;
    line-height: 1.5;
}

[data-stagger]>.pain__card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .5s ease, transform .5s ease
}

[data-stagger].is-visible>.pain__card {
    opacity: 1;
    transform: none
}

@media (max-width: 768px) {
    .pain__card { padding: 2.7rem 0.5rem 1.2rem }
}

/* ══════ TRUST (태그 클라우드) ══════ */
.trust {
    padding: clamp(4rem, 8vw, 6rem) 0 clamp(5rem, 10vw, 8rem);
    background: linear-gradient(135deg, #4338ca, #6366f1, #2563eb);
    position: relative;
    overflow: hidden
}

.trust::before,
.trust::after {
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    filter: blur(80px);
    pointer-events: none
}

.trust::before {
    top: 50%;
    left: -80px;
    transform: translateY(-50%)
}

.trust::after {
    top: 50%;
    right: -80px;
    transform: translateY(-50%)
}

.trust__head {
    text-align: center;
    margin-bottom: 2.2rem
}

.trust__head p {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .6);
    font-weight: 600;
    letter-spacing: .02em;
    margin-bottom: .5rem
}

.trust__head h3 {
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 800;
    color: #fff;
    letter-spacing: -.03em
}

.trust__head h3 strong {
    color: #c7d2fe
}

.trust__flow {
    overflow: hidden;
    margin-top: 2.5rem;
    position: relative
}

.trust__flow-row {
    display: flex;
    width: max-content;
    gap: 16px;
    padding: 10px 0;
    animation: trustFlowLeft 35s linear infinite;
}

@keyframes trustFlowLeft {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

.trust__card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    width: 300px;
    height: 80px;
    padding: 1.2rem;
    border-radius: 40px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    transition: transform .25s, background .25s
}

.trust__card span {
    color: rgba(255, 255, 255, .9);
    font-weight: 700
}

.trust__card:hover {
    transform: translateY(-4px);
    background: #fff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .15)
}

.trust__card:hover span {
    color: #4338ca
}

.trust__card-icon {
    font-size: 2.2rem;
    line-height: 1;
}

.trust__card span {
    font-size: 1.6rem;
    font-weight: 700;
}

/* ══════ PROGRAM (2카드 좌우) ══════ */
.prog {
    position: relative;
    overflow: hidden;
    min-height: auto;
    padding-bottom: clamp(8rem, 14vw, 12rem);
    background: #fff
}

.prog__watermark {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: clamp(6rem, 15vw, 12rem);
    font-weight: 900;
    color: rgba(99, 102, 241, .08);
    letter-spacing: -.04em;
    white-space: nowrap;
    pointer-events: none;
    z-index: 0
}

/* 카드 뒤 배경 장식 도형 */
.prog__grid::before,
.prog__grid::after {
    content: '';
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

/* 좌상단: 큰 서류 아이콘 느낌 둥근 사각형 */
.prog__grid::before {
    width: 280px;
    height: 320px;
    top: 80px;
    left: 400px;
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(99, 102, 241, .06), rgba(139, 92, 246, .04));
    border: 1px solid rgba(99, 102, 241, .06);
    transform: rotate(-8deg);
}

/* 우하단: 큰 원형 */
.prog__grid::after {
    width: 260px;
    height: 260px;
    bottom: -50px;
    right: -70px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 92, 246, .07), transparent 70%);
}

.flow-banner {
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2.5rem) 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    user-select: none
}

.flow-banner__row {
    display: flex;
    width: max-content;
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1;
    color: rgba(99, 102, 241, .08);
    white-space: nowrap
}

.flow-banner__row span {
    padding: 0 .4em
}

.flow-banner__row--left {
    font-size: clamp(2.5rem, 7vw, 5rem);
    font-weight: 700;
    animation: flowLeft 20s linear infinite
}

.flow-banner__row--right {
    font-size: clamp(4rem, 12vw, 9rem);
    font-weight: 500;
    letter-spacing: -.06em;
    animation: flowRight 20s linear infinite
}

.prog__flow {
    position: relative;
    width: 100%;
    pointer-events: none;
    user-select: none;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 3rem;
    overflow: hidden
}

.prog__flow-row {
    display: flex;
    width: max-content;
    font-size: clamp(3.5rem, 10vw, 7.5rem);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1;
    color: rgba(99, 102, 241, .06);
    white-space: nowrap;
}

.prog__flow-row span {
    padding: 0 .4em
}

.prog__flow-row--left {
    font-size: clamp(2.5rem, 7vw, 5rem);
    font-weight: 700;
    animation: flowLeft 20s linear infinite
}

.prog__flow-row--right {
    font-size: clamp(4rem, 12vw, 9rem);
    font-weight: 500;
    letter-spacing: -.06em;
    animation: flowRight 20s linear infinite
}

@keyframes flowLeft {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

@keyframes flowRight {
    from {
        transform: translateX(-50%)
    }

    to {
        transform: translateX(0)
    }
}

.prog__zigzag {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    z-index: 1
}

.prog__item {
    display: grid;
    grid-template-columns: 35fr 65fr;
    gap: 2.5rem;
    align-items: center;
    background-color: #f8fafc;
    padding: 3rem;
    border-radius: 20px
}

.prog__item:nth-child(1) {
    background: linear-gradient(to right, #eef2ff, #e0e5ff)
}

.prog__item:nth-child(2) {
    background: linear-gradient(to left, #f5f3ff, #e6e0fb)
}

.prog__item:nth-child(3) {
    background: linear-gradient(to right, #eef2ff, #e0e5ff)
}

.prog__item:nth-child(4) {
    background: linear-gradient(to left, #f5f3ff, #e7e1fd)
}

.prog__item:nth-child(odd) {
    grid-template-columns: 30fr 70fr
}

.prog__item:nth-child(even) {
    grid-template-columns: 70fr 30fr
}

.prog__item-text {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    position: relative;
}

.prog__item-num {
    font-size: .82rem;
    font-weight: 700;
    color: #6366f1;
    letter-spacing: .08em
}

.prog__item:nth-child(odd) .prog__item-num {}

.prog__item:nth-child(even) .prog__item-num {}

.prog__beta {
    display: inline-block;
    align-self: flex-start;
    font: 900 .7rem/1 Pretendard, sans-serif;
    letter-spacing: .08em;
    background: linear-gradient(135deg, #ec4899, #8b5cf6);
    color: #fff;
    padding: 5px 10px;
    border-radius: 6px;
}

.h--prog__item-text { 
	position: absolute; 
    top: -7px;
    right: -7px;
}

.h--prog__beta {
	display: inline-block;
    padding: 2px 5px;
	font: 900 .6rem / 1 Pretendard, sans-serif;
}

.h2--prog__beta {
	position: absolute;
	top: 0;
	right: 0;
}

.site-header.site-header--scrolled .h--prog__beta {
	background: linear-gradient(135deg, #ec4899, #8b5cf6);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.site-header.site-header--scrolled .h--prog__item-text {
    top: -5px;
	right: -9px;
}

.prog__item-text strong {
    font-size: 2.4rem;
    font-weight: 800;
    color: #0f172a
}

.prog__item-text p {
    font-size: 1.2rem;
    line-height: 1.6;
    word-break: keep-all
}
.prog__item-text p .line-1 {
    display: block;
    margin-bottom: 10px;
    color: #5154ff;
    font-weight: 600;
}
.prog__item-text p .line-2 {
    display: block;
    font-size: 1.05rem;
    color: #64748b;
}

.prog__item-img {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 32px rgba(15, 23, 42, .08);
    transition: transform .3s, box-shadow .3s;
    cursor: pointer
}

.prog__item-img:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(15, 23, 42, .12)
}

.prog__item-img img {
    width: 100%;
    display: block
}

@media (max-width: 1200px) {
    .prog__item-text p { font-size: 1.05rem }
}

@media (max-width: 578px) {
    .prog__item-text { font-size: 1.8rem; gap: 0; }
    .prog__item-text p { line-height: 1.45; }
    .prog__item-text strong { font-size: 1.8rem; }
}

/* ══════ STEPS (번호 + 카드) ══════ */
.steps__list {
    display: grid;
    gap: 2rem;
    counter-reset: step
}

.step {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    background: #fff;
    border-radius: 24px;
    padding: 2.5rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 32px rgba(15, 23, 42, .06);
}

.step:nth-child(even) {
    direction: rtl
}

.step:nth-child(even)>* {
    direction: ltr
}

.step__num {
    display: inline-flex;
    align-items: baseline;
    gap: .3rem;
    font-size: 3.5rem;
    font-weight: 900;
    color: rgba(37, 99, 235, .12);
    letter-spacing: -.04em;
    margin-bottom: .6rem;
}

.step__num span {
    font-size: 1rem;
    color: #6366f1;
    font-weight: 700
}

.step__title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
    margin-bottom: .6rem
}

.step__desc {
    font-size: .95rem;
    color: #64748b;
    line-height: 1.65
}

.step__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #eef2ff, #f0fdfa);
    border-radius: 20px;
    min-height: 200px;
    padding: 1.5rem;
}

.step__visual-icon {
    font-size: 4rem;
    color: #6366f1;
    opacity: .5
}

/* ══════ BENEFITS (4컬럼) ══════ */
.bene__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px
}

.bene__card {
    background: #fff;
    border-radius: 20px;
    padding: 2rem 1.5rem;
    text-align: center;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .06);
    transition: transform .2s, box-shadow .2s;
}

.bene__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(15, 23, 42, .12)
}

.bene__card-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 1rem;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}

.bene__card:nth-child(1) .bene__card-icon {
    background: linear-gradient(135deg, #e0e7ff, #eef2ff);
    color: #6366f1
}

.bene__card:nth-child(2) .bene__card-icon {
    background: linear-gradient(135deg, #ccfbf1, #f0fdfa);
    color: #0d9488
}

.bene__card:nth-child(3) .bene__card-icon {
    background: linear-gradient(135deg, #fef3c7, #fffbeb);
    color: #d97706
}

.bene__card:nth-child(4) .bene__card-icon {
    background: linear-gradient(135deg, #ede9fe, #f5f3ff);
    color: #7c3aed
}

.bene__card strong {
    font-size: 1rem;
    color: #0f172a;
    display: block;
    margin-bottom: .5rem
}

.bene__card p {
    font-size: .85rem;
    color: #64748b;
    line-height: 1.55
}

/* ══════ PROCESS (STEP 뱃지 카드) ══════ */
.proc__path {
    margin-bottom: 3rem
}

.proc__path-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #6366f1;
    margin-bottom: 1.5rem;
}

.proc__path-title svg {
    width: 20px;
    height: 20px
}

.proc__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.proc__row--3 {
    grid-template-columns: repeat(3, 1fr)
}

.proc__card {
    background: #fff;
    border-radius: 20px;
    padding: 1.8rem;
    text-align: center;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}

.proc__step-badge {
    display: inline-flex;
    padding: .25rem .8rem;
    border-radius: 6px;
    background: #eef2ff;
    color: #6366f1;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: .8rem;
}

.proc__card-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto .8rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #eef2ff, #f0fdfa);
    font-size: 1.5rem;
    color: #6366f1;
}

.proc__card strong {
    font-size: .95rem;
    color: #0f172a;
    display: block;
    margin-bottom: .4rem
}

.proc__card p {
    font-size: .82rem;
    color: #64748b;
    line-height: 1.5
}

/* ══════ PREVIEW (탭 + 슬라이드) ══════ */
.preview {
    display: grid;
    gap: 3rem;
    align-items: start
}

/* .preview__left {
    position: sticky;
    top: 100px
} */

.preview__tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 2rem;
    justify-content: center;
}

.preview__tab {
    padding: .75rem 2.4rem;
    border-radius: 30px;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    font-size: 1.2rem;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    text-align: left
}

.preview__tab:hover {
    border-color: #c7d2fe;
    color: #6366f1
}

.preview__tab.is-active {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(99, 102, 241, .25)
}

.preview__desc {
    display: none;
    margin-bottom: 1.5rem
}

.preview__desc.is-active {
    display: block
}

.preview__desc h4 {
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .5rem
}

.preview__desc p {
    font-size: .95rem;
    color: #64748b;
    line-height: 1.65
}

.preview__panel {
    display: none
}

.preview__panel.is-active {
    display: block
}

.preview__slider {
    display: flex;
    gap: 20px;
    transition: transform .4s cubic-bezier(.4, 0, .2, 1)
}

.preview__slide {
    flex-shrink: 0;
    width: 100%;
    min-height: 500px;
    background: transparent;
    overflow: visible;
    opacity: .35;
    transform: scale(.88);
    filter: blur(1.5px);
    transition: opacity .5s, transform .5s, filter .5s;
    display: grid;
    grid-template-columns: 35% 65%;
    align-items: center;
    gap: 2rem
}

.preview__slide.is-active {
    opacity: 1;
    transform: scale(1);
    filter: blur(0)
}

/* ── 이미지 겹침 배치 ── */
.preview__slide-visual {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.preview__stack {
    position: relative;
    width: 100%;
}

.preview__stack-card {
    position: absolute;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .12);
    border: 1px solid rgba(255, 255, 255, .6);
    background: #fff;
    overflow: visible;
    transition: transform .4s, box-shadow .4s;
    display: flex;
    flex-direction: column
}

.preview__stack-caption {
    position: absolute;
    bottom: -33px;
    left: 50%;
    transform: translateX(-50%);
    padding: .35rem .8rem;
    font-size: .72rem;
    font-weight: 600;
    color: #1e40af;
    background: #dbeafe;
    border: 1px solid #bfdbfe;
    border-radius: 30px;
    white-space: nowrap;
    z-index: 5;
    box-shadow: 0 2px 8px rgba(37, 99, 235, .1)
}

.preview__stack-img--1 {
    width: 58%;
    top: 0;
    left: 0;
    z-index: 3;
    /* transform: rotate(-2deg) */
}

.preview__stack-img--2 {
    width: 50%;
    top: 15%;
    right: 0;
    z-index: 2;
    /* transform: rotate(2deg) */
}

.preview__stack-img--3 {
    width: 45%;
    bottom: 0;
    left: 10%;
    z-index: 1;
    /* transform: rotate(-1deg) */
}

.preview__slide.is-active .preview__stack-card:hover {
    transform: rotate(0deg) scale(1.05);
    box-shadow: 0 14px 40px rgba(15, 23, 42, .2);
    z-index: 10
}

/* ── point-tab / point-card 인터랙션 ── */
.point-tab {
    cursor: pointer;
    transition: color .3s, background .3s;
    padding: .3rem .6rem;
    border-radius: 8px
}

.point-tab.is-active {
    color: #2563eb;
    background: #dbeafe;
    font-weight: 700
}

.point-tab.is-active::before {
    background: #2563eb
}

.point-card {
    position: relative;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity .4s ease, transform .4s ease;
    pointer-events: none;
    z-index: 1
}

.point-card.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    z-index: 5
}

/* ══════ MK-PUB 목업 퍼블리싱 ══════ */
.mk-pub {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    font-size: .72rem;
    line-height: 1.5;
    color: #334155;
    max-height: 300px;
    overflow-y: auto
}

.mk-pub__head {
    padding: .55rem .8rem;
    font-weight: 700;
    font-size: .78rem;
    color: #1e293b;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    display: flex;
    align-items: center;
    gap: .4rem
}

.mk-pub__head i {
    color: #2563eb
}

.mk-pub__ver {
    margin-left: auto;
    font-size: .65rem;
    color: #64748b;
    background: #f1f5f9;
    padding: .15rem .5rem;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer
}

.mk-pub__close {
    margin-left: .5rem;
    color: #94a3b8;
    cursor: pointer
}

.mk-pub__plus {
    margin-left: auto;
    color: #94a3b8
}

.mk-pub__body {
    padding: .7rem .8rem
}

.mk-pub__tags {
    display: flex;
    gap: .3rem;
    padding: .5rem .8rem;
    flex-wrap: wrap;
    border-bottom: 1px solid #f1f5f9
}

.mk-pub__tag {
    font-size: .6rem;
    padding: .15rem .5rem;
    border-radius: 10px;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 500
}

.mk-pub__tag--active {
    background: #2563eb;
    color: #fff
}

.mk-pub__footer {
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding: .4rem 0;
    border-top: 1px solid #f1f5f9;
    font-size: .62rem;
    color: #94a3b8
}

.mk-pub__footer i {
    margin-right: .2rem
}

.mk-pub__summary {
    font-size: .68rem;
    color: #334155;
    padding: .3rem 0 0;
    line-height: 1.5
}

.mk-pub__summary strong {
    color: #1e293b
}

.mk-pub__summary mark {
    background: #dbeafe;
    color: #1e40af;
    padding: 0 .15rem;
    border-radius: 2px
}

/* TAM/SAM/SOM 벤다이어그램 */
.mk-tam-venn {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .5rem 0;
    position: relative;
    min-height: 200px
}

.mk-tam-venn__tam,
.mk-tam-venn__sam,
.mk-tam-venn__som {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    border-radius: 50%;
    padding-top: 8px
}

.mk-tam-venn__tam {
    width: 200px;
    height: 200px;
    background: linear-gradient(180deg, #dbeafe, #eff6ff);
    border: 1.5px solid #bfdbfe;
    position: relative
}

.mk-tam-venn__sam {
    width: 145px;
    height: 145px;
    background: linear-gradient(180deg, #bfdbfe, #dbeafe);
    border: 1.5px solid #93c5fd;
    position: absolute;
    bottom: 0
}

.mk-tam-venn__som {
    width: 95px;
    height: 95px;
    background: linear-gradient(180deg, #3b82f6, #2563eb);
    border: 1.5px solid #1d4ed8;
    position: absolute;
    bottom: 0
}

.mk-tam-venn__title {
    font-weight: 800;
    font-size: .7rem;
    color: #1e40af
}

.mk-tam-venn__en {
    font-size: .42rem;
    color: #64748b
}

.mk-tam-venn__ko {
    font-size: .48rem;
    color: #475569
}

.mk-tam-venn__num {
    font-weight: 700;
    font-size: .65rem;
    color: #1e293b
}

.mk-tam-venn__num small {
    font-weight: 500;
    font-size: .45rem;
    color: #64748b
}

.mk-tam-venn__som .mk-tam-venn__title,
.mk-tam-venn__som .mk-tam-venn__en,
.mk-tam-venn__som .mk-tam-venn__ko,
.mk-tam-venn__som .mk-tam-venn__num {
    color: #fff
}

.mk-tam-venn__som .mk-tam-venn__num small {
    color: rgba(255, 255, 255, .7)
}

/* 시장 규모 요약 */
.mk-pub__body--market {
    font-size: .68rem
}

.mk-pub__market-title {
    font-size: .62rem;
    color: #94a3b8;
    margin-bottom: .4rem
}

.mk-pub__market-title i {
    margin-right: .2rem
}

.mk-pub__market-summary {
    font-size: .7rem;
    margin-bottom: .5rem
}

.mk-pub__market-summary mark {
    background: #dbeafe;
    color: #1e40af;
    padding: 0 .15rem;
    border-radius: 2px
}

.mk-pub__ref-title {
    font-size: .68rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: .3rem
}

.mk-pub__ref-title i {
    color: #2563eb;
    margin-right: .3rem
}

.mk-pub__ref-item {
    font-size: .62rem;
    color: #475569;
    padding: .3rem 0;
    border-bottom: 1px solid #f8fafc;
    line-height: 1.4
}

.mk-pub__ref-date {
    font-size: .55rem;
    color: #94a3b8
}

.mk-pub__ref-link {
    font-size: .55rem;
    color: #3b82f6;
    padding: .2rem 0;
    word-break: break-all
}

.mk-pub__ref-link i {
    margin-right: .2rem
}

.mk-pub__market-warn {
    margin-top: .5rem;
    padding: .5rem .6rem;
    background: #fefce8;
    border: 1px solid #fef08a;
    border-radius: 6px;
    font-size: .6rem;
    color: #854d0e;
    line-height: 1.4
}

.mk-pub__market-warn i {
    color: #eab308;
    margin-right: .3rem
}

.mk-pub__market-ref {
    margin-top: .4rem;
    padding: .5rem;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 6px
}

/* 참고자료 리스트 */
.mk-pub__body--refs {
    display: flex;
    flex-direction: column;
    gap: .4rem
}

.mk-pub__ref-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .5rem;
    font-size: .75rem
}

.mk-pub__ref-row i {
    color: #3b82f6;
    font-size: .7rem
}

.mk-pub__ref-row strong {
    color: #1e293b;
    font-size: .75rem
}

/* SWOT */
.mk-swot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0
}

.mk-swot__cell {
    padding: .5rem .6rem;
    font-size: .6rem;
    line-height: 1.45
}

.mk-swot__cell strong {
    font-size: .7rem;
    display: block;
    margin-bottom: .25rem
}

.mk-swot__cell ul {
    padding-left: 1rem;
    margin: 0
}

.mk-swot__cell li {
    margin-bottom: .2rem
}

.mk-swot__cell mark {
    padding: 0 .1rem;
    border-radius: 2px
}

.mk-swot__cell--s {
    background: #fef9c3;
    border-left: 3px solid #eab308
}

.mk-swot__cell--s mark {
    background: #fef08a
}

.mk-swot__cell--w {
    background: #fee2e2;
    border-left: 3px solid #ef4444
}

.mk-swot__cell--w mark {
    background: #fecaca;
    color: #dc2626
}

.mk-swot__cell--o {
    background: #dcfce7;
    border-left: 3px solid #22c55e
}

.mk-swot__cell--t {
    background: #ffe4e6;
    border-left: 3px solid #f43f5e
}

.mk-swot__cell--t mark {
    background: #fecdd3;
    color: #e11d48
}

/* 평가 리포트 탭 */
.mk-eval-tabs {
    display: flex;
    gap: .3rem;
    flex-wrap: wrap;
    margin-bottom: .6rem
}

.mk-eval-tabs__item {
    padding: .3rem .6rem;
    border-radius: 6px;
    font-size: .65rem;
    font-weight: 600;
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0
}

.mk-eval-tabs__item i {
    font-size: .55rem;
    color: #eab308
}

.mk-eval-tabs__item--active {
    background: #ef4444;
    color: #fff;
    border-color: #ef4444
}

.mk-eval-tabs__item--active i {
    color: #fef08a
}

.mk-eval-empty {
    text-align: center;
    padding: 1.5rem 0;
    color: #94a3b8;
    font-size: .75rem
}

/* 채팅 형태 (점수 결과) */
.mk-pub--chat {
    padding: .6rem
}

.mk-chat__msg {
    display: flex;
    gap: .4rem;
    margin-bottom: .4rem;
    align-items: flex-start
}

.mk-chat__icon {
    font-size: .9rem;
    flex-shrink: 0
}

.mk-chat__bubble {
    background: #f8fafc;
    border-radius: 10px;
    padding: .5rem .7rem;
    font-size: .65rem;
    line-height: 1.5;
    flex: 1
}

.mk-chat__msg--user {
    flex-direction: row-reverse
}

.mk-chat__msg--user .mk-chat__bubble {
    background: #dbeafe;
    color: #1e40af;
    text-align: right
}

.mk-chat__checklist {
    margin-top: .3rem;
    display: flex;
    flex-direction: column;
    gap: .15rem
}

.mk-chat__checklist div {
    color: #22c55e;
    font-size: .6rem
}

.mk-chat__checklist i {
    margin-right: .25rem
}

.mk-chat__score {
    display: flex;
    gap: 1rem;
    margin-top: .4rem;
    padding: .4rem;
    background: #eff6ff;
    border-radius: 8px
}

.mk-chat__grade,
.mk-chat__points {
    display: flex;
    flex-direction: column;
    align-items: center
}

.mk-chat__grade span,
.mk-chat__points span {
    font-size: .55rem;
    color: #64748b
}

.mk-chat__grade strong {
    font-size: 1.4rem;
    font-weight: 800;
    color: #2563eb
}

.mk-chat__points strong {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b
}

/* 부분 수정 탭 */
.mk-pub__section-tabs {
    display: flex;
    align-items: center;
    gap: 0;
    border-bottom: 2px solid #e2e8f0;
    font-size: .68rem;
    font-weight: 500;
    color: #94a3b8;
    overflow-x: auto
}

.mk-pub__section-tabs span {
    padding: .55rem .7rem;
    white-space: nowrap;
    cursor: pointer
}

.mk-pub__section-tabs--active {
    color: #2563eb;
    border-bottom: 2px solid #2563eb;
    font-weight: 700;
    background: #fff;
    margin-bottom: -2px
}

.mk-pub__section-tabs--report {
    margin-left: auto;
    color: #2563eb;
    font-weight: 600
}

.mk-pub__section-tabs--history {
    color: #64748b
}

.mk-pub__section-tabs--history em {
    background: #2563eb;
    color: #fff;
    font-style: normal;
    font-size: .55rem;
    padding: .1rem .35rem;
    border-radius: 10px;
    margin-left: .2rem
}

.mk-pub__edit-input {
    padding: .7rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #94a3b8;
    font-size: .72rem;
    margin-bottom: .5rem
}

.mk-pub__edit-action {
    display: flex;
    align-items: center;
    gap: .4rem
}

.mk-pub__edit-label {
    font-size: .72rem;
    font-weight: 700;
    color: #1e293b;
    background: linear-gradient(90deg, #dbeafe, #ede9fe);
    padding: .3rem .7rem;
    border-radius: 6px
}

.mk-pub__edit-btn {
    font-size: .65rem;
    font-weight: 600;
    color: #64748b;
    padding: .2rem .5rem;
    border-radius: 4px;
    background: #f1f5f9
}

.mk-pub__edit-btn i {
    color: #eab308;
    font-size: .55rem
}

.mk-pub__edit-send {
    background: #2563eb;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    cursor: pointer
}

/* 수정 이력 */
.mk-pub__body--history {
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.mk-hist__item {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    padding: .35rem .4rem;
    font-size: .62rem;
    border-bottom: 1px solid #f8fafc
}

.mk-hist__item strong {
    color: #2563eb;
    font-size: .68rem;
    min-width: 36px
}

.mk-hist__item span {
    font-size: .55rem;
    color: #94a3b8;
    min-width: 100px
}

.mk-hist__item p {
    margin: 0;
    color: #475569;
    flex: 1
}

.mk-hist__item--first strong {
    color: #94a3b8
}

.mk-pub__foot {
    padding: .4rem .8rem;
    text-align: right;
    font-size: .65rem;
    color: #3b82f6;
    border-top: 1px solid #e2e8f0;
    cursor: pointer
}

/* 내보내기 */
.mk-pub--export .mk-pub__body {
    padding: .3rem 0
}

.mk-export__row {
    padding: .55rem 1rem;
    font-size: .82rem;
    font-weight: 600;
    color: #334155;
    cursor: pointer
}

.mk-export__row:hover {
    background: #f8fafc
}



/* ══════ PIN-SECTION ══════ */
.pin-section {
    position: relative;
    background: #f0f4ff;
    display: none
}

.pin-section__bg {
    display: none
}

/* 고정 프레임: sticky, 화면 꽉 채움 */
.pin-frame {
    position: sticky;
    top: 66px;
    height: calc(100vh - 66px);
    display: flex;
    flex-direction: column;
    z-index: 10;
    overflow: hidden;
    background: linear-gradient(180deg, #ced4ff 0%, #e0d8ff 60%, #f0f4ff 100%)
}

/* ── 헤더 (타이틀 + 헤더탭) ── */
.pin-header {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(60px, 12vh, 120px) 2rem clamp(1.5rem, 3vh, 3rem);
    overflow: hidden
}

.pin-header__sub {
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .3rem
}

.pin-header__sub .hl {
    color: #6366f1
}

.pin-header__title {
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.03em;
    color: #0f172a;
    margin-bottom: .5rem
}

.pin-header__title.is-fading {
    opacity: 0;
    transform: translateY(-8px)
}

.pin-header__desc {
    margin-top: .6rem;
    font-size: 1.1rem;
    color: #64748b;
    line-height: 1.6;
    max-width: 560px
}

/* 헤더 안 탭 (스크롤 전 보이는 탭) */
.pin-tabs {
    display: flex;
    justify-content: center;
    gap: .6rem;
    padding: 1rem 2rem;
    margin-top: 1.5rem
}

/* ── 본문 탭 (pin-body__tabs: 스크롤 후 보이는 탭) ── */
.pin-body__tabs {
    display: flex;
    justify-content: center;
    gap: .6rem;
    padding: 1.2rem 2rem .6rem;
    flex-shrink: 0
}

/* ── 서브 탭 ── */
.pin-body__subtabs {
    display: flex;
    justify-content: center;
    gap: 0;
    padding: 0.2rem 2rem;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
    pointer-events: none;
    background: #ffffffad;
    margin-top: 10px;
}

.pin-subtab {
    padding: .7rem 1.5rem;
    font-size: 1.1rem;
    font-weight: 500;
    color: #94a3b8;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color .3s, border-color .3s;
    white-space: nowrap
}

.pin-subtab.is-active {
    color: #1e293b;
    font-weight: 700;
    border-bottom-color: #1e293b
}

/* ── 탭 버튼 공통 (헤더탭 + 본문탭 공용) ── */
.pin-tabs__btn {
    padding: .75rem 2.4rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: #475569;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 30px;
    cursor: default;
    pointer-events: none;
    transition: all .3s;
    display: flex;
    align-items: center;
    gap: .4rem
}

.pin-tabs__btn:hover {
    border-color: #6366f1;
    color: #6366f1
}

.pin-tabs__btn.is-active {
    color: #fff;
    font-weight: 700;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(99, 102, 241, .25)
}

/* ── 본문 (pin-body) ── */
.pin-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 0;
    background: transparent;
    pointer-events: none;
    transition: opacity .3s
}

/* ── 패널 ── */
.pin-panel {
    display: none
}

.pin-panel.is-active {
    display: block;
    flex: 1;
    height: 100%
}

/* ── 좌우 레이아웃 ── */
.pin-wrap {
    display: grid;
    grid-template-columns: 35% 60%;
    gap: 5%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    height: 100%;
    align-items: center
}

/* ── 왼쪽 (고정 텍스트) ── */
.pin-left {
    padding: 2rem 0 5rem
}

.pin-left__inner {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.pin-left__title {
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
    word-break: keep-all;
    transition: opacity .6s ease, transform .6s ease
}

.pin-left__title.is-fading {
    opacity: 0;
    transform: translateY(-8px)
}

.pin-left__desc {
    font-size: 1.05rem;
    color: #475569;
    line-height: 1.65;
    word-break: keep-all;
    transition: opacity .6s ease, transform .6s ease
}

.pin-left__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .5rem
}

.pin-tag {
    padding: .4rem 1.85rem;
    border-radius: 20px;
    font-size: 1rem;
    font-weight: 600;
    background: rgba(255, 255, 255, .7);
    color: #475569;
    border: 1px solid rgba(0, 0, 0, .06);
    cursor: default;
    pointer-events: none;
    transition: all .4s
}

.pin-tag.is-active {
    background: #1e293b;
    color: #fff;
    border-color: #1e293b
}

/* ── 오른쪽 (카드) ── */
.pin-right {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem 0 5rem
}

.pin-card {
    position: absolute;
    width: 90%;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .1);
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .8);
    overflow: hidden;
    opacity: 0;
    transform: translateY(30px) scale(.92);
    transition: opacity .6s ease, transform .6s ease;
    pointer-events: none
}

.pin-card.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
    z-index: 3
}

.pin-card.is-next {
    opacity: .35;
    transform: translateX(18px) translateY(8px) scale(.95);
    z-index: 2
}

.pin-card.is-next2 {
    opacity: .15;
    transform: translateX(32px) translateY(14px) scale(.9);
    z-index: 1
}

.pin-card .mk-pub {
    border-radius: 16px;
    max-height: 350px;
    overflow-y: auto
}

.pin-card__img {
    height: 40vh;
    overflow-y: auto;
    border-radius: 16px;
    position: relative;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.pin-card__img::-webkit-scrollbar {
    display: none
}

.pin-card__img img {
    width: 100%;
    display: block
}

/* 스크롤 가능 표시 — 하단 페이드 */
.pin-card__img::after {
    content: '↓';
    position: sticky;
    bottom: 0;
    display: block;
    text-align: center;
    padding: 1.5rem 0 .5rem;
    font-size: 1rem;
    color: #94a3b8;
    background: linear-gradient(transparent, rgba(255, 255, 255, .95) 60%);
    pointer-events: none
}

/* ── 플로팅 다음 버튼 ── */
.pin-next {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 120;
    background: #1e293b;
    color: #fff;
    border: none;
    padding: .7rem 1.5rem;
    border-radius: 30px;
    font-size: 1.25rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .25);
    display: flex;
    align-items: center;
    gap: .5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s, transform .3s;
    width: 200px;
    height: 50px;
    text-align: center;
    justify-content: center;
}

.pin-next.is-show {
    opacity: 1;
    pointer-events: auto
}

.pin-next:hover {
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 6px 24px rgba(15, 23, 42, .35)
}

.pin-next i {
    font-size: .75rem
}


.preview__slide-text {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.preview__slide-emoji {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 2.2rem
}

.preview__slide-emoji img {
    width: 40px;
}

.preview__slide-text h4 {
    font-size: 2rem;
    word-break: keep-all;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: .8rem
}

.preview__slide-text p {
    font-size: 1.4rem;
    word-break: keep-all;
    color: #64748b;
    line-height: 1.45
}

.preview__slide-img {
    height: 100%;
    background: #f8fafc;
    border-left: 1px solid #e2e8f0;
    overflow: hidden
}

.preview__slide-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: top
}

.preview__panel .preview__slider {
    padding-left: 0;
}

.preview__right {
    position: relative
}

.preview__slider-wrap {
    overflow: visible;
}


.preview__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, .9);
    color: #6366f1;
    font-size: .9rem;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
    z-index: 3
}

.preview__arrow--prev {
    left: -24px
}

.preview__arrow--next {
    right: -24px
}

.preview__arrow:hover {
    background: #6366f1;
    color: #fff
}

.preview__counter {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    font-size: .82rem;
    font-weight: 600;
    color: #fff;
    background: rgba(0, 0, 0, .4);
    padding: .3rem .8rem;
    border-radius: 99px;
    z-index: 3
}

/* ══════ CAMPAIGN (카드 슬라이더) ══════ */
.camp__slider {
    overflow: hidden;
    border-radius: 20px
}

.camp__track {
    display: flex;
    position: relative;
    transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}

.camp__card {
    flex: 0 0 100%;
    min-width: 0;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .06);
}

.camp__thumb {
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
}

.camp__card:nth-child(1) .camp__thumb {
    background: linear-gradient(135deg, #e0e7ff, #c7d2fe)
}

.camp__card:nth-child(2) .camp__thumb {
    background: linear-gradient(135deg, #ede9fe, #ddd6fe)
}

.camp__card:nth-child(3) .camp__thumb {
    background: linear-gradient(135deg, #e0e7ff, #a5b4fc)
}

.camp__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem
}

.camp__nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .2s;
    color: #64748b;
    font-size: 1.1rem;
}

.camp__nav-btn:hover {
    border-color: #6366f1;
    color: #6366f1
}

.camp__dots {
    display: flex;
    gap: 6px
}

.camp__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cbd5e1;
    transition: .2s;
    cursor: pointer
}

.camp__dot.is-active {
    background: #6366f1;
    width: 24px;
    border-radius: 4px
}

.camp__body {
    padding: 1.2rem
}

.camp__badge {
    display: inline-flex;
    padding: .2rem .6rem;
    border-radius: 4px;
    background: #6366f1;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    margin-bottom: .5rem;
}

.camp__body h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: .4rem
}

.camp__meta {
    font-size: .78rem;
    color: #94a3b8;
    margin-bottom: .6rem
}

.camp__reward {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .8rem
}

.camp__reward span {
    padding: .25rem .6rem;
    border-radius: 99px;
    font-size: .75rem;
    font-weight: 600;
    background: #eef2ff;
    color: #6366f1
}

.camp__link {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .85rem;
    font-weight: 700;
    color: #6366f1
}

/* ══════ COMPARE (Before / After) ══════ */
.gj-memory {
    padding: clamp(5rem, 10vw, 7rem) clamp(1.2rem, 4vw, 2rem);
    background: #f8fafc;
    text-align: center
}

.gj-memory .gj-sec-title {
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -.03em;
    margin-bottom: .6rem
}

.gj-memory .gj-sec-lede {
    font-size: 1.1rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0 auto 2rem
}

.gj-memory__points {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 3.5rem;
    flex-wrap: wrap
}

.gj-memory__point {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-size: 1.05rem;
    color: #0f172a;
    font-weight: 700
}

.gj-memory__point i {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .7rem;
    flex-shrink: 0
}

.gj-memory__cards {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    max-width: 960px;
    margin: 0 auto;
    flex-wrap: wrap
}

.gj-memory__arrow {
    font-size: 1.8rem;
    color: #6366f1;
    flex-shrink: 0
}

.gj-compare-box {
    flex: 1;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 3rem 2.2rem 2.2rem;
    text-align: left;
    position: relative;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .06);
    transition: transform .2s, box-shadow .2s
}

.gj-compare-box:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(15, 23, 42, .12)
}

.gj-compare-box--before {
    background: #fff;
    border: 1px solid #e2e8f0
}

.gj-compare-box--after {
    background: #fff;
    border: 2px solid #2563eb;
    box-shadow: 0 8px 32px rgba(37, 99, 235, .12);
    padding: 3.4rem 2.5rem 2.5rem
}

.gj-compare-box__badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #3b82f6, #60a5fa);
    color: #fff;
    font-size: .88rem;
    font-weight: 700;
    padding: .4rem 1.6rem;
    border-radius: 99px;
    white-space: nowrap;
    box-shadow: 0 2px 10px rgba(37, 99, 235, .3)
}

.gj-compare-box__label {
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: -.02em;
    margin-bottom: 1rem
}

.gj-compare-box--before .gj-compare-box__label {
    color: #94a3b8
}

.gj-compare-box--after .gj-compare-box__label {
    color: #2563eb
}

.gj-compare-box__text {
    line-height: 1.85;
    margin-bottom: 2rem
}

.gj-compare-box--before .gj-compare-box__text {
    font-size: 1.05rem;
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-color: rgba(0, 0, 0, .15);
    opacity: .7
}

.gj-compare-box--after .gj-compare-box__text {
    font-size: 1.25rem;
    color: #1e293b;
    font-weight: 600;
    line-height: 2;
    word-break: keep-all
}

.gj-compare-box__text mark {
    background: #2563eb;
    color: #fff;
    padding: .2rem .55rem;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none
}

.gj-compare-box__footer {
    padding-top: 1.2rem;
    border-top: 1px solid #e2e8f0;
    font-size: 1.2rem;
    font-weight: 800;
    text-align: center
}

.gj-compare-box--before .gj-compare-box__footer {
    color: #94a3b8
}

.gj-compare-box--after .gj-compare-box__footer {
    color: #2563eb;
    border-top-color: #e2e8f0
}

@media(max-width:768px) {
    .gj-memory__cards {
        gap: 1.5rem
    }

    .gj-memory__arrow {
        transform: rotate(90deg)
    }

    .gj-compare-box {
        min-width: 100%
    }
}

/* ══════ CTA ══════ */
.cta {
    padding: clamp(4rem, 8vw, 6rem) 0;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: visible;
    width: 90%;
    margin: 100px auto 150px;
    border-radius: 30px;
    background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%);
}

.cta__pattern {
    position: absolute;
    inset: 0;
    border-radius: 30px;
    pointer-events: none;
    background-image: url('/assets/images/main/pattern_bg.png');
    background-size: 400px;
    background-repeat: repeat;
    opacity: .05;
}

/* 양쪽 플로팅 이미지 장식 */
.cta__deco {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 200px;
    z-index: 5;
    pointer-events: none;
}

.cta__deco--left {
    left: 2%;
}

.cta__deco--right {
    right: 2%;
}

.cta__float {
    position: absolute;
    height: auto;
    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .2));
    opacity: .85;
}

/* 왼쪽 */
.cta__float--1 {
    width: clamp(100px, 11vw, 130px);
    bottom: 8%;
    left: 0;
    animation: ctaFloat1 5s ease-in-out infinite;
}

/* 오른쪽 */
.cta__float--3 {
    width: clamp(100px, 11vw, 130px);
    top: 10%;
    right: 0;
    animation: ctaFloat2 6s ease-in-out infinite;
}

@keyframes ctaFloat1 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes ctaFloat2 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

.cta__inner {
    position: relative;
    z-index: 2
}

.cta__inner .gj-ai {
    -webkit-text-fill-color: #fff;
    color: #fff
}

.cta h2 {
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 800;
    line-height: 1.2;
    /* letter-spacing: -.03em; */
    margin-bottom: .8rem;
    color: #fff;
}

.cta p {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, .7);
    margin-bottom: 2rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.cta__actions {
    display: flex;
    gap: .8rem;
    justify-content: center;
    flex-wrap: wrap
}

.cta__actions .btn--white {
    background: #fff;
    color: #0f172a;
    font-weight: 700;
}

.cta__actions .btn--white:hover {
    background: #dbeafe;
    color: #1d4ed8;
}

.cta__actions .btn--ghost {
    border-color: rgba(255, 255, 255, .4);
    color: #fff;
}

.cta__actions .btn--ghost:hover {
    background: rgba(255, 255, 255, .15);
    border-color: #fff;
}

@media (max-width: 1024px) {
    .cta__deco {
        display: none
    }
}

@media (max-width: 992px) {
    .cta { margin: 100px auto 120px;}    
}
@media (max-width: 578px) {
    .cta p { font-size: 1rem; }
}

/* ══════ SCROLL ANIM ══════ */
[data-anim] {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1)
}

[data-anim="left"] {
    transform: translateX(40px)
}

[data-anim="scale"] {
    transform: scale(.92);
    opacity: 0
}

[data-anim].is-visible {
    opacity: 1;
    transform: none
}

/* stagger children */
[data-stagger]>.bene__card,
[data-stagger]>.proc__card,
[data-stagger]>.prog__card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .5s ease, transform .5s ease
}

[data-stagger].is-visible>.bene__card,
[data-stagger].is-visible>.proc__card,
[data-stagger].is-visible>.prog__card {
    opacity: 1;
    transform: none
}

[data-stagger].is-visible>:nth-child(1) {
    transition-delay: .05s
}

[data-stagger].is-visible>:nth-child(2) {
    transition-delay: .12s
}

[data-stagger].is-visible>:nth-child(3) {
    transition-delay: .19s
}

[data-stagger].is-visible>:nth-child(4) {
    transition-delay: .26s
}

/* ══════ RING CAROUSEL (from index2) ══════ */
.gj-mockup-wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0
}

.gj-ring {
    width: 100%;
    max-width: 1400px;
    height: 600px;
    position: relative;
    margin: 0 auto
}

.gj-ring__track {
    width: 100%;
    height: 100%;
    position: relative
}

.gj-ring__card {
    position: absolute;
    width: 700px;
    max-height: 75%;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, .8);
    box-shadow: 0 8px 30px rgba(15, 23, 42, .1);
    overflow-y: auto;
    overflow-x: hidden;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all .7s cubic-bezier(.25, .46, .45, .94);
    opacity: 0;
    pointer-events: none
}

.gj-ring__card:has(.gj-mockup__title-row),
.gj-ring__card:has(.gj-card-head) {
    padding: 0
}

.gj-ring__card[data-category] {
    padding: 0;
}

.gj-ring__card[data-category] img {
    width: 100%;
    aspect-ratio: 16 / 11;
    display: block;
    border-radius: 16px;
    object-fit: contain;
    background: #eef2ff;
    padding: 1.5rem;
    box-sizing: border-box;
}

/* 퍼블리싱 카드 (rcard) — gj-ring__card 내부 HTML 목업 */
.rcard {
    padding: 22px 24px 20px;
    font-family: Pretendard, sans-serif;
    color: #0f172a;
    font-size: 1rem;
    position: relative;
}

.rcard__head {
    padding-bottom: 14px;
    border-bottom: 1px dashed #e2e8f0;
    margin-bottom: 14px;
}

.rcard__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .72rem;
    font-weight: 700;
    color: #6366f1;
    background: #eef2ff;
    padding: 5px 10px;
    border-radius: 999px;
    margin-bottom: 10px;
}

.rcard__title {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.5;
    margin: 0 0 8px;
    color: #0f172a;
    word-break: keep-all;
}

.rcard__title strong {
    color: #4f46e5;
}

.rcard__src {
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: #64748b;
    margin-top: 4px;
}

.rcard__meta {
    display: flex;
    gap: 12px;
    font-size: .74rem;
    color: #64748b;
    margin-bottom: 8px;
}

.rcard__meta i {
    margin-right: 4px;
}

.rcard__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .94rem;
    color: #2563eb;
    text-decoration: none;
    word-break: break-all;
    margin-bottom: 8px;
}

.rcard__note {
    font-size: .84rem;
    color: #64748b;
    margin: 0;
}

.rcard__sec {
    margin-bottom: 14px;
}

.rcard__sec-title {
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 10px;
}

.rcard__sec-title i {
    margin-right: 6px;
    color: #6366f1;
}

.rcard__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rcard__list li {
    font-size: .92rem;
    color: #2563eb;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 12px;
    word-break: keep-all;
}

.rcard__list li i {
    margin-right: 6px;
    color: #94a3b8;
}

/* biz_s1_3 인용형 카드 */
.rcard__title--quote {
    font-size: 1.2rem;
    line-height: 1.55;
    font-weight: 700;
    color: #1e293b;
    padding: 14px 16px;
    background: linear-gradient(135deg, #f5f3ff 0%, #eef2ff 100%);
    border-left: 4px solid #7c3aed;
    border-radius: 0 12px 12px 0;
    margin: 0;
}

.rcard__title--quote strong {
    color: #4f46e5;
    font-weight: 700;
}

.rcard__list--refs li {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #1e293b;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .04);
    padding: 12px 14px;
    font-size: .98rem;
}

.rcard__list--refs li i {
    color: #2563eb;
    font-size: .9rem;
}

.rcard__list--refs li strong {
    color: #2563eb;
    font-weight: 800;
}

.rcard__list--refs li span {
    color: #94a3b8;
    font-weight: 600;
}

/* SWOT 분석 (biz_s2_1) */
.rcard__num {
    color: #6366f1;
    margin-right: 4px;
}

.swot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.swot__cell {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid;
    background: #fff;
}

.swot__cell--s { background: #eff6ff; border-color: #bfdbfe; }
.swot__cell--w { background: #fff7ed; border-color: #fed7aa; }
.swot__cell--o { background: #f0fdf4; border-color: #bbf7d0; }
.swot__cell--t { background: #fef2f2; border-color: #fecaca; }

.swot__label {
    font-size: 1.35rem;
    font-weight: 900;
    margin-bottom: 8px;
}

.swot__cell--s .swot__label { color: #2563eb; }
.swot__cell--w .swot__label { color: #ea580c; }
.swot__cell--o .swot__label { color: #16a34a; }
.swot__cell--t .swot__label { color: #dc2626; }

.swot__label span {
    font-size: 1.3rem;
    font-weight: 700;
}

.swot__cell ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.swot__cell li {
    position: relative;
    padding-left: 12px;
    font-size: 1rem;
    line-height: 1.45;
    color: #334155;
    word-break: keep-all;
}

.swot__cell li::before {
    content: "•";
    position: absolute;
    left: 2px;
    top: 0;
    color: #94a3b8;
}

.swot__cell--s li strong { color: #2563eb; }
.swot__cell--w li strong { color: #ea580c; }
.swot__cell--o li strong { color: #16a34a; }
.swot__cell--t li strong { color: #dc2626; }

/* 평가 리포트 카드 (biz_s2_2) */
.erpt {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    padding: 14px 16px;
}
.erpt__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.erpt__title { font-size: 1.15rem; font-weight: 800; color: #9a3412; display: flex; align-items: center; gap: 6px; }
.erpt__title i { color: #f97316; }
.erpt__head-r { display: flex; align-items: center; gap: 8px; }
.erpt__ver { font-size: .9rem; font-weight: 700; color: #9a3412; background: #fff; border: 1px solid #fed7aa; padding: 6px 12px; border-radius: 8px; }
.erpt__close { color: #9ca3af; cursor: pointer; }
.erpt__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.erpt__chip {
    display: inline-flex; align-items: center; gap: 6px;
    background: #fff; border: 1px solid #fed7aa; color: #475569;
    border-radius: 999px; padding: 9px 16px; font-size: .95rem; font-weight: 600;
}
.erpt__chip strong { color: #1e293b; font-weight: 800; }
.erpt__chip em { font-style: normal; font-weight: 700; color: #f97316; font-size: .88rem; }
.erpt__chip.is-active { background: #ffedd5; border-color: #f97316; box-shadow: 0 0 0 2px rgba(249,115,22,.18); }
.erpt__chip.is-active strong { color: #c2410c; }
.erpt__alert {
    display: flex; align-items: center; justify-content: space-between;
    background: #fff; border: 1px solid #fed7aa; border-radius: 10px; padding: 10px 14px;
}
.erpt__alert > span { font-size: 1rem; color: #1e293b; font-weight: 700; }
.erpt__alert i.fa-circle-check { color: #f97316; margin-right: 4px; }
.erpt__btn {
    background: #f97316; color: #fff; border: 0; border-radius: 8px;
    padding: 9px 14px; font-size: .92rem; font-weight: 800; cursor: pointer;
    display: inline-flex; align-items: center; gap: 6px;
}

/* 점수 결과 카드 (biz_s2_3) */
.erpt2 { font-size: .92rem; color: #1e293b; }
.erpt2__head { font-size: 1.1rem; font-weight: 800; color: #0f172a; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.erpt2__head::before { content: "📊"; }
.erpt2__head span { color: #94a3b8; font-weight: 600; font-size: .92rem; }
.erpt2__top { background: linear-gradient(135deg, #eef2ff, #f5f3ff); border: 1px solid #c7d2fe; border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; }
.erpt2__score { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.erpt2__grade { background: #16a34a; color: #fff; font-weight: 900; padding: 7px 16px; border-radius: 8px; font-size: 1.2rem; }
.erpt2__pt { font-size: .98rem; font-weight: 700; margin-left: 4px; }
.erpt2__pass { font-size: 1rem; font-weight: 700; color: #16a34a; background: #dcfce7; border-radius: 999px; padding: 5px 12px; }
.erpt2__desc { font-size: 1rem; line-height: 1.6; color: #334155; margin: 0 0 8px; word-break: keep-all; }
.erpt2__desc strong { color: #4f46e5; font-weight: 800; }
.erpt2__tags { display: flex; flex-wrap: wrap; gap: 5px; }
.erpt2__tags span { font-size: .8rem; font-weight: 700; color: #6366f1; background: #fff; border: 1px solid #c7d2fe; padding: 4px 10px; border-radius: 999px; }
.erpt2__sec { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.erpt2__sec-head { font-size: .96rem; font-weight: 800; color: #0f172a; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.erpt2__sec-tag { width: 22px; height: 22px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .82rem; font-weight: 900; }
.erpt2__sec--p .erpt2__sec-tag { background: #dc2626; }
.erpt2__sec--s .erpt2__sec-tag { background: #2563eb; }
.erpt2__sec--g .erpt2__sec-tag { background: #16a34a; }
.erpt2__sec-pt { margin-left: auto; font-size: .82rem; color: #16a34a; font-weight: 800; background: #dcfce7; padding: 4px 10px; border-radius: 6px; }
.erpt2__sec ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.erpt2__sec li { font-size: .85rem; line-height: 1.6; color: #334155; word-break: keep-all; }
.erpt2__sec li .t-good { color: #16a34a; font-weight: 800; margin-right: 4px; }
.erpt2__sec li .t-bad { color: #dc2626; font-weight: 800; margin-right: 4px; }
.erpt2__sec li .t-fix { color: #2563eb; font-weight: 800; margin-right: 4px; }
.erpt2__sec li strong { color: #4f46e5; font-weight: 800; }
.erpt2__foot { display: flex; justify-content: flex-end; gap: 6px; margin-top: 8px; }
.erpt2__foot button { font-size: .85rem; font-weight: 700; padding: 8px 12px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; color: #475569; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.erpt2__foot button.is-prim { background: #4f46e5; color: #fff; border-color: #4f46e5; }

/* 부분 수정 카드 (biz_s3_1) */
.emod { font-size: .95rem; }
.emod__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 10px; }
.emod__tab { font-size: .92rem; font-weight: 700; color: #64748b; padding: 7px 14px; border-radius: 999px; cursor: pointer; }
.emod__tab.is-active { background: #2563eb; color: #fff; }
.emod__spacer { flex: 1; }
.emod__pill { font-size: .85rem; font-weight: 800; color: #ea580c; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 999px; padding: 6px 12px; display: inline-flex; align-items: center; gap: 4px; }
.emod__pill--ghost { color: #475569; background: #f1f5f9; border-color: #e2e8f0; }
.emod__pill em { background: #ef4444; color: #fff; border-radius: 999px; padding: 2px 7px; font-size: .78rem; font-style: normal; font-weight: 800; }
.emod__box { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; padding: 22px 18px; min-height: 90px; color: #94a3b8; font-size: .98rem; }
.emod__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; }
.emod__lbl { font-size: .92rem; color: #2563eb; font-weight: 700; }
.emod__lbl strong { color: #1d4ed8; font-weight: 900; margin-right: 4px; }
.emod__lbl em { color: #f97316; font-style: normal; font-weight: 800; margin-left: 4px; }
.emod__send { width: 32px; height: 32px; border-radius: 50%; background: #2563eb; color: #fff; border: 0; cursor: pointer; }

/* 수정 이력 카드 (biz_s3_2) */
.ehist { font-size: .92rem; }
.ehist__head { font-size: 1.08rem; font-weight: 800; color: #0f172a; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.ehist__head i { color: #6366f1; }
.ehist__list { list-style: none; padding: 0; margin: 0 0 10px; display: flex; flex-direction: column; gap: 6px; }
.ehist__list li { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; }
.ehist__list li.is-active { background: #eff6ff; border-color: #93c5fd; box-shadow: 0 0 0 2px rgba(37,99,235,.12); }
.ehist__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ehist__ver { font-size: .96rem; font-weight: 800; color: #1e293b; }
.ehist__list li.is-active .ehist__ver { color: #2563eb; }
.ehist__date { font-size: .82rem; color: #94a3b8; font-weight: 600; }
.ehist__memo { font-size: .85rem; line-height: 1.55; color: #475569; margin: 6px 0 0; word-break: keep-all; }
.ehist__cmp { display: block; margin-left: auto; font-size: .88rem; font-weight: 700; color: #475569; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 14px; cursor: pointer; }

/* NCS 직무분류 카드 (document_s2) */
.rncs { font-size: .92rem; background: transparent; box-shadow: none; max-height: none; overflow: visible; padding: 0; border-radius: 0; max-width: none; width: auto; }
.rncs__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; padding-bottom: 0; border-bottom: 0; }
.rncs__title { font-size: 1.05rem; font-weight: 800; color: #0f172a; display: flex; align-items: center; gap: 6px; }
.rncs__title i { color: #6366f1; }
.rncs__link { font-size: .8rem; font-weight: 700; color: #6366f1; background: transparent; border: 1px solid #c7d2fe; border-radius: 8px; padding: 6px 10px; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; box-shadow: none; }
.rncs__path { font-size: .82rem; color: #64748b; margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }
.rncs__path i { font-size: .65rem; color: #cbd5e1; }
.rncs__name { font-size: 1.45rem; font-weight: 900; color: #0f172a; margin-bottom: 8px; letter-spacing: -.02em; }
.rncs__desc { font-size: 1.1rem;
    line-height: 1.4; color: #475569; margin-bottom: 12px; padding: 0 0 12px; background: transparent; border: 0; border-bottom: 1px dashed #e2e8f0; border-radius: 0; word-break: keep-all; }
.rncs__sec { padding: 8px 0; margin-bottom: 4px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.rncs__sec-title { font-size: 1.1rem; font-weight: 800; color: #0f172a; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.rncs__sec-title i { color: #6366f1; }
.rncs__more { margin-left: auto; font-size: .78rem; color: #94a3b8; font-weight: 600; }
.rncs__row { display: flex; align-items: center; gap: 12px; font-size: 1rem; padding: 0; }
.rncs__row span { background: transparent; padding: 0; }
.rncs__lbl { color: #64748b; font-weight: 600; }
.rncs__val { color: #0f172a; font-weight: 800; }
.rncs__txt { font-size: 1rem; line-height: 1.6; color: #475569; margin: 0; word-break: keep-all; }
.rncs__txt strong { color: #4f46e5; font-weight: 800; }
.rncs__file { font-size: 1rem; color: #ea580c; font-weight: 700; padding: 8px 0; border-top: 1px dashed #e2e8f0; border-bottom: 1px dashed #e2e8f0; margin-bottom: 10px; background: transparent; }
.rncs__file i { color: #f97316; margin-right: 4px; }
.rncs__units { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.rncs__units li { background: transparent; border: 0; border-bottom: 1px dashed #e2e8f0; border-radius: 0; padding: 10px 0; display: flex; gap: 8px; align-items: flex-start; box-shadow: none; position: static; }
.rncs__units li:last-child { border-bottom: 0; }
.rncs__units li > div { flex: 1; }
.rncs__units li strong { font-size: 1.2rem; color: #0f172a; font-weight: 800; padding: 0; }
.rncs__units li p { font-size: 1rem; color: #64748b; margin: 4px 0 0; line-height: 1.5; word-break: keep-all; }
.rncs__lv { position: static; font-size: .72rem; font-weight: 800; color: #fff; background: #f97316; border: 0; border-radius: 6px; padding: 4px 8px; flex-shrink: 0; }

/* 국가자격증 카드 (document_s3) */
.cert { font-size: .92rem; }
.cert__head { font-size: 1.05rem; font-weight: 800; color: #0f172a; display: flex; align-items: center; gap: 6px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px dashed #e2e8f0; }
.cert__head i { color: #6366f1; }
.cert__head span { color: #94a3b8; font-size: .88rem; font-weight: 600; }
.cert__more { margin-left: auto; font-size: .8rem; }
.cert__group { margin-bottom: 12px; }
.cert__group-title { font-size: 1.1rem; font-weight: 800; color: #475569; margin-bottom: 8px; }
.cert__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cert__item { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.cert__name { font-size: 1rem; font-weight: 800; color: #0f172a; }
.cert__tag { align-self: flex-start; font-size: .8rem; font-weight: 800; color: #fff; padding: 3px 8px; border-radius: 999px; }
.cert__tag--blue { background: #6366f1; }
.cert__tag--green { background: #16a34a; }
.cert__tag--orange { background: #f97316; }
.cert__link { font-size: .8rem; color: #2563eb; text-decoration: none; cursor: pointer; }
.cert__link i { margin-right: 3px; font-size: .68rem; }

/* 추천 자격증 (document_s4) */
.reco { font-size: .92rem; }
.reco__head { font-size: 1.3rem; font-weight: 700; color: #0f172a; padding: 12px 14px; background: #fef3c7; border: 1px solid #fde68a; border-radius: 10px; margin-bottom: 10px; word-break: keep-all; }
.reco__head strong { color: #4f46e5; font-weight: 900; }
.reco__head em { color: #ea580c; font-style: normal; font-weight: 800; }
.reco__list { display: flex; flex-direction: column; gap: 8px; }
.reco__item { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; }
.reco__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; gap: 8px; }
.reco__name { font-size: 1.02rem; font-weight: 800; color: #0f172a; }
.reco__brand { color: #f97316; }
.reco__btn { font-size: 1rem; font-weight: 800; color: #ef4444; background: #fff; border: 1px solid #fecaca; border-radius: 8px; padding: 5px 10px; display: inline-flex; align-items: center; gap: 4px; }
.reco__item p { font-size: 1rem; line-height: 1.55; color: #64748b; margin: 0; word-break: keep-all; }
.reco__item p strong { color: #f97316; font-weight: 800; }

/* 활성 카드 가운데 정렬 보강 */
.gj-ring__card.is-ring-active[data-pos="center"] {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1);
    margin: 0 auto;
}

.gj-ring__card > .rcard {
    width: 100%;
}

.rcard__alert {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: .9rem;
    font-weight: 600;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 9px 11px;
    line-height: 1.45;
    word-break: keep-all;
}

.rcard__alert i {
    margin-top: 2px;
    flex-shrink: 0;
}

.gj-ring__card[data-pos="center"] {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    z-index: 5;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .18);
    pointer-events: auto
}

.gj-ring__card[data-pos="right"] {
    transform: translate(10%, -50%) scale(.78);
    opacity: .5;
    z-index: 3;
    filter: blur(1px)
}

.gj-ring__card[data-pos="left"] {
    transform: translate(-110%, -50%) scale(.78);
    opacity: .5;
    z-index: 3;
    filter: blur(1px)
}

.gj-ring__card[data-pos="far-right"] {
    transform: translate(55%, -50%) scale(.55);
    opacity: .15;
    z-index: 1;
    filter: blur(2.5px)
}

.gj-ring__card[data-pos="far-left"] {
    transform: translate(-155%, -50%) scale(.55);
    opacity: .15;
    z-index: 1;
    filter: blur(2.5px)
}

.gj-ring__card[data-pos="hidden"] {
    transform: translate(-50%, -50%) scale(.4);
    opacity: 0;
    z-index: 0
}

/* 카드 내부 */
.gj-card-head {
    padding: .9rem 1.4rem;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -.02em;
    display: flex;
    align-items: center;
    gap: .5rem;
    border-bottom: 1px solid #e2e8f0
}

.gj-card-head--blue {
    background: #f0f5ff;
    color: #2563eb
}

.gj-card-head--teal {
    background: #f0fdfa;
    color: #0d9488
}

.gj-card-body {
    padding: 1.4rem 1.6rem;
    position: relative
}

.gj-card-body::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3rem;
    background: linear-gradient(transparent, #fff);
    pointer-events: none
}

.gj-card-divider {
    height: 1px;
    background: #e2e8f0;
    margin: 1rem 0
}

.gj-card-desc {
    font-size: 1rem;
    color: #1e293b;
    line-height: 1.7;
    background: #f0f5ff;
    border-radius: 8px;
    padding: .8rem 1rem;
    border-left: 3px solid #3b82f6;
    text-align: left
}

.gj-summary-bar {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .4rem 0;
    margin-bottom: .8rem;
    border-bottom: 2px solid #e2e8f0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800
}

.gj-card-metrics-box {
    background: #f8fafc;
    border-radius: 10px;
    padding: .8rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .1rem
}

.gj-card-metrics-box .gj-card-metric {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .6rem;
    padding: .4rem 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 1rem
}

.gj-card-metrics-box .gj-card-metric:last-child {
    border-bottom: none
}

.gj-card-metrics-box .gj-card-metric span {
    color: #6f7a8a;
    font-weight: 600
}

.gj-card-metrics-box .gj-card-metric strong {
    font-size: 1.05rem;
    color: #0f172a
}

.gj-card-grade {
    font-size: 1.6rem
}

.gj-card-summary {
    display: flex;
    align-items: center;
    gap: 1rem
}

.gj-card-summary__left {
    flex: 1
}

.gj-card-summary__right {
    flex-shrink: 0;
    width: 140px
}

.gj-radar {
    position: relative;
    width: 140px;
    height: 140px
}

.gj-radar__svg {
    width: 100%;
    height: 100%
}

.gj-radar__bg {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 1
}

.gj-radar__mid {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: .5;
    stroke-dasharray: 3 3
}

.gj-radar__data--blue {
    fill: rgba(37, 99, 235, .15);
    stroke: #2563eb;
    stroke-width: 2
}

.gj-radar__data--teal {
    fill: rgba(13, 148, 136, .15);
    stroke: #0d9488;
    stroke-width: 2
}

.gj-radar__labels {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.gj-radar__labels span {
    position: absolute;
    font-size: .6rem;
    font-weight: 600;
    color: #6f7a8a;
    white-space: nowrap
}

.gj-keyword-box {
    background: #f3f0ff;
    border-radius: 10px;
    padding: .8rem 1rem;
    margin-bottom: 1rem
}

.gj-keyword-box__label {
    font-size: .8rem;
    font-weight: 700;
    color: #6366f1;
    margin-bottom: .5rem;
    display: flex;
    align-items: center;
    gap: .3rem
}

.gj-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: 1rem
}

.gj-card-tags span {
    padding: .3rem .85rem;
    border-radius: 99px;
    font-size: .85rem;
    font-weight: 600
}

.gj-card-tags--multi span:nth-child(1) {
    background: #dbeafe;
    color: #2563eb
}

.gj-card-tags--multi span:nth-child(2) {
    background: #ccfbf1;
    color: #0d9488
}

.gj-card-tags--multi span:nth-child(3) {
    background: #fef3c7;
    color: #d97706
}

.gj-card-tags--multi span:nth-child(4) {
    background: #ede9fe;
    color: #7c3aed
}

.gj-card-tags--multi span:nth-child(5) {
    background: #fce7f3;
    color: #db2777
}

.gj-card-qa {
    margin-bottom: .8rem;
    text-align: left
}

.gj-card-qa strong {
    font-size: 1rem;
    color: #1a73e8;
    display: block;
    margin-bottom: .3rem
}

.gj-card-qa p {
    font-size: 1rem;
    color: #6f7a8a;
    line-height: 1.6;
    margin: 0
}

.gj-card-qa__a {
    padding-left: .8rem;
    border-left: 2px solid #e2e8f0
}

/* mockup 카드 */
.gj-mockup__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.4rem;
    border-bottom: 1px solid #e2e8f0
}

.gj-mockup__title-row--blue {
    background: #f0f5ff
}

.gj-mockup__title-row--blue .gj-mockup__doc-title {
    color: #2563eb
}

.gj-mockup__title-row--teal {
    background: #f0fdfa
}

.gj-mockup__title-row--teal .gj-mockup__doc-title {
    color: #0d9488
}

.gj-mockup__body {
    padding: 1.2rem 1.6rem
}

.gj-mockup__doc-title {
    font-size: 1.2rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -.025em
}

.gj-mockup__action-btns {
    display: flex;
    gap: .4rem
}

.gj-mockup__btn {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .95rem;
    border-radius: 99px;
    font-size: .88rem;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #6f7a8a;
    cursor: default
}

.gj-mockup__sub-row {
    display: flex;
    align-items: center;
    gap: .6rem
}

.gj-mockup__doc-sub {
    font-size: 1.1rem;
    color: #94a3b8;
    font-weight: 500
}

.gj-mockup__status {
    font-size: 1.1rem;
    font-weight: 700;
    color: #2563eb
}

.gj-mockup__divider {
    height: 1px;
    background: #e2e8f0;
    margin: .8rem 0
}

.gj-mockup__section-box {
    background: #f1f5f9;
    border-radius: 14px;
    padding: .9rem 1rem;
    margin-bottom: .75rem
}

.gj-mockup__section-box--selected {
    background: #eef2f7
}

.gj-mockup__section-label {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0d9488;
    margin-bottom: .6rem
}

.gj-mockup__content-box {
    background: #fff;
    border-radius: 10px;
    padding: .65rem .85rem
}

.gj-mockup__content-text {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.6;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.gj-mockup__input-wrap {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #fff;
    border: 1.5px solid #aac4ff;
    border-radius: 10px;
    padding: .6rem .8rem;
    margin-bottom: .65rem;
    box-shadow: 0 2px 8px rgba(37, 99, 235, .1)
}

.gj-mockup__input-text {
    flex: 1;
    font-size: 1rem;
    color: #1e293b;
    line-height: 1.5;
    word-break: keep-all
}

.gj-mockup__input-send {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem
}

.gj-mockup__loading {
    text-align: center;
    font-size: 1.1rem;
    color: #94a3b8;
    padding: .35rem 0;
    margin-bottom: .7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem
}

.gj-mockup__loading-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #cbd5e1;
    animation: gjLoadDot 1.4s infinite ease-in-out both
}

.gj-mockup__loading-dot:nth-child(2) {
    animation-delay: .2s
}

.gj-mockup__loading-dot:nth-child(3) {
    animation-delay: .4s
}

@keyframes gjLoadDot {

    0%,
    80%,
    100% {
        opacity: .3;
        transform: scale(.8)
    }

    40% {
        opacity: 1;
        transform: scale(1)
    }
}

.gj-mockup__result {
    background: #eff6ff;
    border-radius: 10px;
    border: 1px solid #bfdbfe;
    box-shadow: 0 4px 20px rgba(37, 99, 235, .12);
    padding: .8rem 1rem;
    font-size: 1rem;
    color: #1e293b;
    line-height: 1.7;
    text-align: left
}

/* ══════ SLIDE POINTS ══════ */
.preview__slide-points {
    list-style: none;
    padding: 0;
    margin: 1.2rem 0 0;
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.preview__slide-points li {
    font-size: 1.05rem;
    color: #475569;
    padding-left: 1.2rem;
    position: relative
}

.preview__slide-points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .55em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb
}

/* ══════ SLIDE MOCKUP AREA ══════ */
.preview__slide-mockup {
    height: 100%;
    background: #f1f5f9;
    border-left: 1px solid #e2e8f0;
    overflow-y: auto;
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: .8rem
}

/* ── 목업 공통 ── */
.mk {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    font-size: .82rem
}

.mk__head {
    padding: .65rem 1rem;
    font-weight: 700;
    font-size: .85rem;
    color: #1e293b;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    display: flex;
    align-items: center;
    gap: .5rem
}

.mk__head i {
    color: #2563eb
}

.mk__body {
    padding: .8rem 1rem
}

/* ── TAM/SAM/SOM ── */
.mk-tam__tags {
    display: flex;
    gap: .35rem;
    padding: .5rem 1rem;
    flex-wrap: wrap;
    border-bottom: 1px solid #f1f5f9
}

.mk-tam__tag {
    font-size: .65rem;
    padding: .2rem .55rem;
    border-radius: 10px;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 500
}

.mk-tam__tag--active {
    background: #2563eb;
    color: #fff
}

.mk-tam__chart {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 1rem 0 .6rem;
    min-height: 260px
}

.mk-tam__ring {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border-radius: 50%;
    text-align: center;
    padding-top: 10px;
    position: relative
}

.mk-tam__ring--tam {
    width: 240px;
    height: 240px;
    background: linear-gradient(180deg, #dbeafe 0%, #eff6ff 100%);
    border: 1.5px solid #bfdbfe
}

.mk-tam__ring--sam {
    width: 170px;
    height: 170px;
    background: linear-gradient(180deg, #bfdbfe 0%, #dbeafe 100%);
    border: 1.5px solid #93c5fd;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    padding-top: 8px
}

.mk-tam__ring--som {
    width: 105px;
    height: 105px;
    background: linear-gradient(180deg, #3b82f6, #2563eb);
    border: 1.5px solid #1d4ed8;
    position: absolute;
    bottom: 0;
    padding-top: 6px
}

.mk-tam__ring--som .mk-tam__label,
.mk-tam__ring--som .mk-tam__desc,
.mk-tam__ring--som .mk-tam__val {
    color: #fff
}

.mk-tam__label {
    font-weight: 800;
    font-size: .7rem;
    color: #1e40af;
    line-height: 1
}

.mk-tam__desc {
    font-size: .48rem;
    color: #64748b;
    line-height: 1.2
}

.mk-tam__ring--som .mk-tam__desc {
    font-size: .45rem;
    color: rgba(255, 255, 255, .8)
}

.mk-tam__val {
    font-weight: 700;
    font-size: .72rem;
    color: #1e293b;
    line-height: 1.2
}

.mk-tam__val small {
    font-weight: 500;
    font-size: .5rem;
    color: #64748b;
    display: block
}

.mk-tam__ring--som .mk-tam__val small {
    color: rgba(255, 255, 255, .7)
}

.mk-tam__footer {
    display: flex;
    justify-content: center;
    gap: 1.2rem;
    padding: .5rem 0;
    border-top: 1px solid #f1f5f9;
    font-size: .68rem;
    color: #94a3b8
}

.mk-tam__footer i {
    margin-right: .25rem
}

.mk-tam__summary {
    font-size: .72rem;
    color: #334155;
    padding: .5rem 0 .2rem;
    line-height: 1.5
}

.mk-tam__summary strong {
    color: #1e293b
}

.mk-tam__summary mark {
    background: #dbeafe;
    color: #1e40af;
    padding: 0 .2rem;
    border-radius: 2px
}

/* ── 참고자료 ── */
.mk-ref__list {
    display: flex;
    flex-direction: column;
    gap: .45rem
}

.mk-ref__item {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .4rem .6rem;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #f1f5f9
}

.mk-ref__item i {
    color: #3b82f6;
    font-size: .75rem
}

.mk-ref__item strong {
    font-size: .78rem;
    color: #1e293b
}

.mk-ref__item span {
    font-size: .7rem;
    color: #94a3b8
}

/* ── SWOT ── */
.mk-swot__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px
}

.mk-swot__cell {
    padding: .6rem .7rem;
    border-radius: 8px
}

.mk-swot__cell strong {
    font-size: .78rem;
    display: block;
    margin-bottom: .3rem
}

.mk-swot__cell p {
    font-size: .7rem;
    line-height: 1.4;
    margin: 0;
    color: #334155
}

.mk-swot__cell--s {
    background: #fef3c7;
    border-left: 3px solid #f59e0b
}

.mk-swot__cell--w {
    background: #fee2e2;
    border-left: 3px solid #ef4444
}

.mk-swot__cell--o {
    background: #dcfce7;
    border-left: 3px solid #22c55e
}

.mk-swot__cell--t {
    background: #ffe4e6;
    border-left: 3px solid #f43f5e
}

/* ── 평가 리포트 ── */
.mk-eval__ver {
    margin-left: auto;
    font-size: .7rem;
    color: #64748b;
    font-weight: 500;
    background: #f1f5f9;
    padding: .15rem .5rem;
    border-radius: 4px
}

.mk-eval__tabs {
    display: flex;
    gap: .4rem;
    margin-bottom: .7rem;
    flex-wrap: wrap
}

.mk-eval__tab {
    padding: .3rem .65rem;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 600;
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0
}

.mk-eval__tab.is-active {
    background: #ef4444;
    color: #fff;
    border-color: #ef4444
}

.mk-eval__result {
    display: flex;
    gap: 1.5rem;
    align-items: center
}

.mk-eval__grade,
.mk-eval__score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem
}

.mk-eval__grade span,
.mk-eval__score span {
    font-size: .7rem;
    color: #64748b
}

.mk-eval__grade strong {
    font-size: 1.8rem;
    font-weight: 800;
    color: #2563eb
}

.mk-eval__score strong {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1e293b
}

/* ── 부분 수정 ── */
.mk-edit__tabs {
    display: flex;
    gap: 0;
    width: 100%;
    border-bottom: none
}

.mk-edit__tab {
    padding: .5rem .7rem;
    font-size: .72rem;
    font-weight: 600;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 2px solid transparent;
    flex: 1;
    text-align: center
}

.mk-edit__tab.is-active {
    color: #2563eb;
    background: #fff;
    border-bottom: 2px solid #2563eb
}

.mk-edit__input {
    padding: .8rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #94a3b8;
    font-size: .78rem;
    margin-bottom: .6rem
}

.mk-edit__action {
    display: flex;
    align-items: center;
    gap: .5rem
}

.mk-edit__label {
    font-size: .78rem;
    font-weight: 700;
    color: #1e293b;
    background: linear-gradient(90deg, #dbeafe, #ede9fe);
    padding: .3rem .7rem;
    border-radius: 6px
}

.mk-edit__btn {
    font-size: .72rem;
    font-weight: 600;
    color: #64748b;
    padding: .25rem .6rem;
    border-radius: 4px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0
}

/* ── 수정 이력 ── */
.mk-history__list {
    display: flex;
    flex-direction: column;
    gap: .35rem
}

.mk-history__item {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .4rem .6rem;
    border-radius: 6px;
    background: #f8fafc
}

.mk-history__item--active {
    background: #eff6ff;
    border: 1px solid #bfdbfe
}

.mk-history__item strong {
    font-size: .75rem;
    color: #2563eb;
    min-width: 36px
}

.mk-history__item span {
    font-size: .7rem;
    color: #64748b
}

/* ── 내보내기 ── */
.mk-export__list {
    display: flex;
    flex-direction: column;
    gap: .35rem
}

.mk-export__item {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .5rem .7rem;
    border-radius: 6px;
    font-size: .82rem;
    font-weight: 600;
    color: #334155;
    cursor: default
}

.mk-export__item:hover {
    background: #f1f5f9
}

.mk-export__item i {
    font-size: .9rem;
    width: 18px;
    text-align: center
}

.mk-export__item .fa-file-pdf {
    color: #ef4444
}

.mk-export__item .fa-file-word {
    color: #2563eb
}

.mk-export__item .fa-file {
    color: #0d9488
}


@media(max-width:1024px) {
    .preview {
        grid-template-columns: 1fr
    }

    .preview__tabs {
        flex-direction: row;
        flex-wrap: wrap
    }

    .preview__slide {
        grid-template-columns: 1fr;
        height: auto
    }

    .preview__slide-text {
        padding: 1.5rem
    }

    .preview__slide-img {
        border-left: none;
        border-top: 1px solid #e2e8f0
    }

    .preview__slide-mockup {
        border-left: none;
        border-top: 1px solid #e2e8f0;
        max-height: 400px
    }

    .prog__item {
        grid-template-columns: 1fr !important
    }

    .prog__item-img {
        order: -1
    }

    .pain__grid,
    .bene__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .proc__row--3 {
        grid-template-columns: 1fr
    }

    .step {
        grid-template-columns: 1fr
    }

    .step:nth-child(even) {
        direction: ltr
    }

    .prog__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .prog__grid::before {
        left: 50%;
        transform: translateX(-50%) rotate(-8deg)
    }
}

@media(max-width:768px) {
    .preview__tab {
        font-size: .82rem;
        padding: .5rem 1rem
    }

    .preview__arrow {
        width: 36px;
        height: 36px
    }

    .preview__arrow--prev {
        left: -18px
    }

    .preview__arrow--next {
        right: -18px
    }

    .preview__slide-text h4 {
        font-size: 1.1rem
    }

    .sec--alt {
        padding: 6rem 0
    }

    .prog__grid::before {
        width: 200px;
        height: 240px;
        left: 50%;
        top: 40px;
        transform: translateX(-50%) rotate(-8deg)
    }

    .prog__grid::after {
        width: 180px;
        height: 180px
    }

    .hd__nav,
    .hd__right {
        display: none
    }

    .hd__left {
        gap: 0
    }

    .pain__grid,
    .bene__grid {
        grid-template-columns: 1fr
    }

    .proc__row {
        grid-template-columns: 1fr
    }

    .ft__inner {
        flex-direction: column;
        align-items: flex-start
    }

    .hero__deco {
        display: none
    }

    .hero__inner {
        grid-template-columns: 1fr
    }

    .hero__text-col {
        text-align: center
    }

    .hero__actions {
        justify-content: center
    }

    .hero__trust {
        justify-content: center
    }

    .gj-ring {
        height: 500px
    }

    .gj-ring__card {
        width: calc(100vw - 2.5rem);
        max-width: 450px
    }

    /* pin-section 반응형 768px */
    .pin-body__tabs {
        flex-wrap: wrap;
        gap: .4rem;
        padding: .8rem 1rem .4rem
    }

    .pin-tabs__btn {
        padding: .55rem 1.4rem;
        font-size: .95rem
    }

    .pin-body__subtabs {
        flex-wrap: wrap;
        padding: .2rem 1rem
    }

    .pin-subtab {
        padding: .5rem .8rem;
        font-size: .78rem
    }

    .pin-wrap {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 0 1rem
    }

    .pin-left {
        padding: 1rem 0 0;
        text-align: center
    }

    .pin-left__title {
        font-size: 1.4rem
    }

    .pin-left__desc {
        font-size: .9rem
    }

    .pin-left__tags {
        justify-content: center
    }

    .pin-right {
        padding: 1rem 0 3rem
    }

    .pin-card {
        width: 100%
    }

    .pin-header {
        padding: clamp(40px, 8vh, 80px) 1rem clamp(1rem, 2vh, 2rem)
    }

    .pin-header__title {
        font-size: clamp(1.2rem, 5vw, 1.8rem)
    }

    .pin-header__desc {
        font-size: .9rem
    }

    .pin-next {
        bottom: 1rem;
        font-size: .78rem;
        padding: .5rem 1.2rem
    }
}

@media(max-width:578px) {
    .hero__tabs {
        gap: .35rem;
    }

    .hero__tab {
        padding: .4rem 1rem;
        font-size: 1.15rem;
        gap: 0.3rem;
    }
    .hero__tab i { font-size: 1.05rem; }
    .hero__title { font-size: clamp(2rem, 5.5vw, 3rem); line-height: 1.35; }
    .hero__sub { font-size: 1.05rem; }

    /* pin-section 모바일 */
    .pin-body__tabs {
        gap: .5rem;
        padding: .8rem .8rem .5rem;
        position: sticky;
        top: 46px;
        z-index: 50;
        background: rgba(255, 255, 255, .95);
        backdrop-filter: blur(12px);
        border-bottom: 1px solid #e2e8f0
    }

    .pin-body__subtabs {
        position: sticky;
        top: 94px;
        z-index: 49;
        background: rgba(255, 255, 255, .95);
        backdrop-filter: blur(12px);
        border-bottom: 1px solid #e2e8f0
    }

    .pin-tabs__btn {
        padding: .5rem 1.2rem;
        font-size: .88rem
    }

    .pin-body__subtabs {
        flex-wrap: wrap;
        padding: .2rem .8rem
    }

    .pin-subtab {
        padding: .5rem .8rem;
        font-size: .8rem
    }

    .pin-frame {
        height: auto !important;
        min-height: auto !important;
        position: relative !important;
        top: auto !important;
        background: #f0f4ff;
        overflow: visible !important
    }

    .pin-section {
        background: #f0f4ff;
        height: auto !important;
        overflow: visible !important
    }

    .pin-body {
        position: relative !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        overflow: visible !important
    }

    .pin-card {
        position: relative !important;
        width: 100% !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
        margin-bottom: 1.5rem;
        display: block !important
    }

    .pin-card.is-next,
    .pin-card.is-next2 {
        display: none !important
    }

    .pin-right {
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        position: relative !important
    }

    .pin-next {
        display: none
    }

    .pin-header {
        padding: 50px .8rem 1rem
    }

    .pin-header__title {
        font-size: 1.5rem
    }

    .pin-header__desc {
        font-size: .95rem
    }

    .pin-header__sub {
        font-size: 1rem
    }

    .pin-wrap {
        padding: 0 .8rem
    }

    .pin-left {
        padding: .8rem 0 0
    }

    .pin-left__title {
        font-size: 1.5rem
    }

    .pin-left__desc {
        font-size: 1rem;
        line-height: 1.6
    }

    .pin-left__tags {
        gap: .4rem
    }

    .pin-tag {
        padding: .4rem .7rem;
        font-size: .85rem
    }

    .pin-right {
        padding: .8rem 0 2rem
    }

    .pin-panel {
        display: none !important;
        height: auto !important
    }

    .pin-panel.is-active {
        display: block !important
    }

    .pin-card {
        overflow: hidden !important
    }

    .pin-card__img {
        height: auto !important;
        max-height: 50vh !important;
        overflow-y: auto !important
    }

    .pin-card__img::after {
        display: none !important
    }

    /* ── showcase 578px ── */
    .sc-intro__tabs {
        width: 100%;
        flex-direction: column;
    }

    .sc-tab {
        justify-content: center;
        font-size: .9rem;
    }

    .sc-section__frame {
        flex-direction: column;
        height: 100vh;
        min-height: 600px;
        top: 0;
        transform: none;
        padding: 50px .8rem .8rem;
        gap: 4px;
    }

    .sc-section__left {
        flex: none;
        width: 100%;
        padding: 0;
    }

    .sc-label {
        font-size: .9rem;
        margin-bottom: .4rem;
    }

    .sc-subtab {
        font-size: .65rem;
        padding: .1rem 0;
    }

    .sc-subtab.is-active {
        font-size: 1rem;
    }

    .sc-subtabs {
        gap: .1rem;
        margin-bottom: .5rem;
    }

    .sc-desc {
        font-size: .8rem !important;
        margin-bottom: .5rem !important;
    }

    .sc-tags {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        gap: .3rem;
        max-width: 100%;
        cursor: grab;
    }

    .sc-tags::-webkit-scrollbar {
        display: none;
    }

    .sc-tag {
        flex: 0 0 auto;
        white-space: nowrap;
        font-size: .75rem;
        padding: .35rem .6rem;
    }

    .sc-bg-blur {
        display: none;
    }

    .sc-section__right {
        flex: 1;
        min-height: 0;
    }

    .sc-card {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sc-card img,
    .sc-card video {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        width: 92% !important;
        height: auto !important;
        margin: auto;
        transform: scale(1) !important;
    }

    .pin-next {
        bottom: .8rem;
        font-size: .85rem;
        padding: .6rem 1.3rem
    }
}

/* @media 578px 닫힘 */

@media (max-width: 640px) {
    .prog__item {
        padding: 1.5rem;
    }
}

/* ══════════════════════════════════════
   SHOWCASE — sticky 스크롤 섹션
   ══════════════════════════════════════ */

/* ── Intro: sticky 배경 ── */
.sc-intro {
    position: sticky;
    top: 0;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(180deg, #818cf8 0%, #a5b4fc 30%, #c7d2fe 55%, #ddd6fe 75%, #e0e7ff 90%, #eef2ff 100%);
    color: #fff;
    overflow: hidden;
}

.sc-intro__bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 50%, rgba(139, 92, 246, .2), transparent 60%),
        radial-gradient(circle at 70% 40%, rgba(99, 102, 241, .15), transparent 50%);
    pointer-events: none;
}

.sc-intro__inner {
    position: relative;
    max-width: 720px;
    padding: 2rem;
}

.sc-intro__label {
    font-size: 1rem;
    font-weight: 700;
    color: #4f46e5;
    margin-bottom: 1.2rem;
    letter-spacing: .05em;
}

.sc-intro__title {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 1.2rem;
    color: #1e1b4b;
    word-break: keep-all;
}

.sc-intro__desc {
    font-size: clamp(.95rem, 1.6vw, 1.1rem);
    color: #4b5563;
    line-height: 1.7;
    margin-bottom: 2.5rem;
    word-break: keep-all;
}

.sc-intro__tabs {
    display: flex;
    justify-content: center;
    gap: .8rem;
    flex-wrap: wrap;
}

.sc-tab {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem 1.3rem;
    border-radius: 40px;
    border: 1.5px solid #d1d5db;
    background: #fff;
    font-size: .95rem;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: all .3s;
}

.sc-tab:hover {
    background: #f3f4f6;
    border-color: #9ca3af;
    color: #374151;
}

.sc-tab.is-active {
    background: #6366f1;
    border-color: #6366f1;
    color: #fff;
    box-shadow: 0 4px 16px rgba(99, 102, 241, .4);
}

/* ── Showcase wrapper: intro sticky 범위 제한 ── */
.sc-showcase {
    position: relative;
}

/* ── Content: intro 위에 올라옴 ── */
.sc-content {
    position: relative;
    z-index: 2;
}

/* ── Section: 탭당 하나, height=JS ── */
.sc-section {
    position: relative;
    width: 100%;
}

.sc-section__frame {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 1000px;
    display: flex;
    align-items: center;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem;
    gap: 50px;
    overflow: hidden;
}

.sc-section__left {
    flex: 0 0 340px;
    padding: 2rem 0;
}

.sc-section__right {
    flex: 1;
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: min(800px, 75vh);
    max-height: min(800px, 75vh);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
}

/* ── 줌 배경 (전체→부분 확대) ── */
.sc-bg-blur {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 16px;
    transition: background-size .6s cubic-bezier(.22, 1, .36, 1),
        background-position .6s cubic-bezier(.22, 1, .36, 1),
        background-image .4s ease;
    overflow: hidden;
}

.sc-bg-blur::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 16px;
    pointer-events: none;
    transition: opacity .5s ease;
}

.sc-bg-blur.is-preview::after {
    opacity: 0;
}

.sc-bg-blur.is-preview {
    opacity: 0;
}


/* ── 카드: absolute, 블러 위에 겹침 ── */
.sc-card {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
    z-index: 1;
}

.sc-card.is-visible {
    opacity: 1;
    pointer-events: auto;
}

/* ── 이미지 클릭 모달 ── */
.sc-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, .7);
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
    padding: 2rem;
}

.sc-modal.is-open {
    display: flex;
}

.sc-modal img,
.sc-modal video {
    max-width: 92vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 12px 60px rgba(0, 0, 0, .4);
}

/* ── 미리보기 카드 ── */
.sc-card--preview img,
.sc-card--preview video {
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3) !important;
    border: none !important;
    object-fit: contain;
}

/* ── 카드 안 이미지/영상 ── */
.sc-card img,
.sc-card video {
    position: absolute;
    border-radius: 8px;
    border: 0;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .5);
    display: block;
    transform: scale(0.3);
    transition: transform .6s cubic-bezier(.22, 1, .36, 1), opacity .4s ease;
}

.sc-card.is-visible img,
.sc-card.is-visible video {
    transform: scale(1);
}

/* ── 카드 미디어 (png 정적 이미지용) ── */
.sc-card img.sc-media {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 12px;
    transform: none;
    background: #fff;
    box-shadow: none;
    object-fit: cover;
}

.sc-card.is-visible img.sc-media {
    transform: none;
}

.sc-card img.sc-media--contain {
    background: transparent;
    object-fit: contain;
}


/* ── 텍스트 스타일 ── */
.sc-label {
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 700;
    color: #4f46e5;
    background: none;
    padding: 0;
    margin-bottom: 1rem;
}

.sc-label--teal {
    color: #0d9488;
    background: #f0fdfa;
}

.sc-label--purple {
    color: #7c3aed;
    background: #f5f3ff;
}

.sc-beta {
    color: #8b5cf6;
    background: #ede9fe;
    padding: .15rem .5rem;
    border-radius: 10px;
    font-size: .75rem;
    margin-right: .3rem;
}



.sc-desc {
    font-size: clamp(1.3rem, 2.5vw, 1.6rem);
    font-weight: 400;
    color: #a4acb9;
    line-height: 1.4;
    margin-bottom: 1.8rem;
    word-break: keep-all;
}

/* ── Subtabs (탭 버튼) ── */
.sc-subtabs {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-bottom: 1.2rem;
}

.sc-subtab {
    font-size: .85rem;
    font-weight: 600;
    color: #94a3b8;
    display: block;
    padding: .2rem 0;
    cursor: default;
    transition: color .3s, font-size .3s, opacity .3s;
    opacity: .5;
    line-height: 1.4;
}

.sc-subtab::before {
    content: attr(data-num) '. ';
    font-weight: 700;
}

.sc-subtab.is-active {
    font-size: 1.88rem;
    font-weight: 800;
    color: #1e293b;
    opacity: 1;
}

.sc-subtab.is-active::before {
    content: none;
}

/* ── Tags ── */
.sc-tags {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.sc-tag {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .65rem 1.2rem;
    border-radius: 10px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    cursor: pointer;
    background: rgba(255, 255, 255, .6);
    border: 1px solid #e2e8f0;
    transition: all .3s;
}

.sc-tag.is-active {
    color: #fff;
    background: #4f46e5;
    border-color: #4f46e5;
    box-shadow: 0 2px 8px rgba(99, 102, 241, .12);
}

.sc-tag--preview {
    color: #6b7280;
    gap: .3rem;
}

.sc-tag--preview.is-active {
    color: #fff;
    background: #4f46e5;
    border-color: #4f46e5;
}

/* ── 반응형 ── */
@media (max-width: 1500px) {
    .sc-section__frame {
        max-width: 100%;
    }
}

@media (max-width: 1280px) {
    .sc-section__frame {
        flex-direction: column;
        min-height: auto;
        height: 1000px;
        padding: 0 1.5rem;
        top: 50%;
        transform: translateY(-50%);
        gap: 10px;
    }

    .sc-section__frame.is-preview {
        padding: 2rem 1.5rem;
    }

    .sc-section__left {
        flex: none;
        width: 100%;
        max-width: 100%;
        overflow: visible;
        padding: 1.5rem 0;
        text-align: center;
    }

    .sc-subtabs {
        align-items: center;
    }

    .sc-tags {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: .5rem;
        padding-bottom: 1.2rem;
        width: 100%;
        max-width: 100vw;
        cursor: grab;
    }

    .sc-tags::-webkit-scrollbar {
        display: none;
    }

    .sc-tag {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .sc-section__right {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        max-width: min(90vw, 90vh);
        max-height: none;
        overflow: visible;
    }

    .sc-card img,
    .sc-card video {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        max-height: 100% !important;
        height: auto !important;
        margin: auto;
        transform: scale(1) !important;
        object-fit: contain
    }

    .sc-card {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .sc-intro__tabs {
        width: 90%;
        margin: auto;
        flex-direction: column;
    }

    .sc-tab {
        justify-content: center;
    }

    .sc-section__frame {
        flex-direction: column;
        padding: 1.5rem;
    }

    .sc-section__left {
        flex: none;
        padding: 1rem 0;
    }

    .sc-section__right {
        flex: 1;
        padding-left: 0;
        width: 100%;
    }
}

@media (max-width: 578px) {
    .sc-section__frame {
        top: 0;
        height: 700px;
        transform: translateY(0);
        padding: 8rem 1.5rem;
    }

    .sc-section__frame.is-preview {
        padding: 6rem 1.5rem;
    }

    .sc-label {
        margin-bottom: 0;
    }

    .sc-subtab {
        display: none;
    }

    .sc-subtab.is-active {
        display: block;
    }
}

/* ══════ SC-SKIP 섹션 이동 버튼 ══════ */
.sc-skip {
    position: fixed;
    bottom: 2.5rem;
    right: 2.5rem;
    z-index: 120;
    background: #1e293b;
    color: #fff;
    border: none;
    padding: .75rem 1.6rem;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .3);
    display: flex;
    align-items: center;
    gap: .5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s, transform .3s;
}

.sc-skip.is-show {
    opacity: 1;
    pointer-events: auto;
}

.sc-skip:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(15, 23, 42, .4);
    background: #6366f1;
}

.sc-skip i {
    font-size: .8rem;
}

@media (max-width: 578px) {
    .sc-skip {
        bottom: 1.2rem;
        right: 1.2rem;
        font-size: .85rem;
        padding: .6rem 1.2rem;
    }
}

/* ════ qnav: 퀵 네비게이션 ════ */
.qnav {
    position: fixed;
    right: 20px;
    bottom: 80px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
    width: max-content;
    overflow: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    background: linear-gradient(135deg, rgb(253 253 255 / 96%), rgb(235 236 237 / 96%));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 0;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(79, 70, 229, .08), 0 2px 6px rgba(79, 70, 229, .04);
    transition: opacity .35s ease, transform .35s ease
}

.qnav.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateX(30px)
}

.qnav::-webkit-scrollbar {
    display: none
}

.qnav a {
    flex-shrink: 0
}

.qnav a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 999px;
    color: #475569;
    font: 700 15px/1 Pretendard, sans-serif;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s, color .2s
}

.qnav__sep {
    flex-shrink: 0;
    height: 1px;
    width: 100%;
    margin: 2px 0;
    background: #e2e8f0
}

.qnav a::after {
    content: "클릭하면 페이지로 이동합니다";
    position: absolute;
    right: calc(100% + 14px);
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    color: #fff;
    font: 700 12px/1 Pretendard, sans-serif;
    padding: 10px 14px;
    border-radius: 10px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    box-shadow: 0 12px 28px rgba(79, 70, 229, .3), 0 4px 10px rgba(79, 70, 229, .18);
    z-index: 10
}

.qnav a::before {
    content: "";
    position: absolute;
    right: calc(100% + 2px);
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    border: 6px solid transparent;
    border-left-color: #3b82f6;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    z-index: 10
}

.qnav a:hover::after,
.qnav a:hover::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0)
}

.qnav a:hover {
    background: #eef2ff;
    color: #4f46e5
}

.qnav a.is-active {
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    color: #fff;
    box-shadow: 0 8px 20px rgba(79, 70, 229, .28)
}

.qnav a.is-active:hover {
    background: linear-gradient(135deg, #6366f1, #3b82f6);
    color: #fff
}

.qnav__dot {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    color: currentColor;
    opacity: .85;
    background: none;
    border-radius: 0
}

.qnav a.is-active .qnav__dot {
    opacity: 1
}

@media (max-width:860px) {
    .qnav {
        gap: 2px;
        padding: 8px;
        right: 10px;
        top: 70px;
        bottom: initial
    }

    .qnav a {
        padding: 8px 10px
    }

    .qnav__lbl {
        display: none
    }

    .qnav__dot {
        width: 22px;
        height: 22px;
        font-size: 18px
    }
}

/* ════ sc2: 기능 쇼케이스 슬라이더 ════ */
.sc2 {
    padding: 10rem 2rem 8rem;
    background: #fff;
    text-align: center;
    overflow: hidden
}

.sc2__head {
    max-width: 760px;
    margin: 0 auto 2rem;
    position: relative
}

.sc2__head::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(99, 102, 241, .15) 0%, rgba(139, 92, 246, .07) 40%, transparent 70%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 0
}

.sc2__head>* {
    position: relative;
    z-index: 1
}

.sc2__tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    max-width: 1380px;
    margin: 4rem auto;
    padding: 0 1rem
}

.sc2__tab {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 16px 22px;
    border-radius: 50px;
    border: 2px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
    font: inherit;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    text-align: center
}

.sc2__tab .sc2__beta {
    position: absolute;
    top: -5px;
    right: 0%;
}

.sc2__tab:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .08);
    border-color: #cbd5e1
}

.sc2__tab.is-active {
    background: #fff;
    border-width: 3px;
    border-color: #4f46e5;
    box-shadow: 0 20px 44px rgba(79, 70, 229, .18)
}

.sc2__tab.is-active .sc2__tab-title {
    color: #4f46e5
}

.sc2__tab-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    flex-shrink: 0
}

.sc2__tab-icon--blue {
    background: #2563eb
}

.sc2__tab-icon--yellow {
    background: #f59e0b
}

.sc2__tab-icon--red {
    background: #ef4444
}

.sc2__tab-icon--green {
    background: #22c55e
}

.sc2__tab-title {
    font: 700 1.3rem/1.4 Pretendard, sans-serif;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.sc2__beta {
    display: inline-block;
    font: 900 .62rem/1 Pretendard, sans-serif;
    letter-spacing: .06em;
    background: linear-gradient(135deg, #7c3aed, #4f46e5);
    color: #fff;
    padding: 3px 6px;
    border-radius: 4px;
    vertical-align: middle;
    border: 0;
}

.sc2-slide__label .sc2__beta {
    display: inline-block;
    margin-right: .5rem;
    font-size: .65rem;
    padding: 4px 7px;
    vertical-align: middle
}

.sc2-slide--hidden {
    display: none !important
}

.sc2__eyebrow {
    color: #4f46e5;
    font-family: 'Aggravo', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    margin: 0 0 .75rem;
    letter-spacing: .02em
}

.sc2__eyebrow .gj-ai {
    font-size: .7em;
    color: #7c3aed
}

.sc2__title {
    font: 800 clamp(1.6rem, 3.2vw, 2.4rem)/1.3 Pretendard, sans-serif;
    color: #0f172a;
    margin: 0 0 1rem;
    letter-spacing: -.02em
}

.sc2__desc {
    color: #64748b;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0
}

.sc2__viewport {
    position: relative;
    max-width: 1680px;
    margin: 0 auto;
    padding: 0;
    overflow: visible
}

.sc2__track {
    display: flex;
    gap: 80px;
    transition: transform .7s cubic-bezier(.22, 1, .36, 1);
    will-change: transform
}

.sc2-slide {
    flex: 0 0 1440px;
    max-width: 1440px;
    background: transparent;
    border-radius: 0;
    padding: 1.5rem 0;
    box-shadow: none;
    transform: scale(.94);
    opacity: .35;
    transition: transform .7s cubic-bezier(.22, 1, .36, 1), opacity .5s ease;
    text-align: left;
    border: 0;
    display: flex;
    gap: 3rem;
    align-items: center
}

.sc2-slide.is-active {
    transform: scale(1);
    opacity: 1;
    box-shadow: none
}

.sc2-slide__media {
    flex: 0 0 auto;
    width: min(900px, 72%);
    aspect-ratio: 16/11;
    min-height: 0;
    border-radius: 24px;
    overflow: hidden;
    background: #eef2ff;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.sc2-slide__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 0.5rem
}

/* TAM·SAM·SOM 전용 — Loom 스타일 플로팅 프레임 + 뱃지 */
.sc2-slide[data-key="biz-tam"] .sc2-slide__media {
    background: linear-gradient(rgba(245, 243, 255, .88), rgba(199, 210, 254, .92)), url('/assets/images/main/biz_s1_1--.png') center/cover;
    overflow: hidden;
    padding: 2rem;
    align-items: center;
    justify-content: center
}

.biz-tam__img {
    max-width: 75%;
    max-height: 90%;
    width: auto;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 30px 70px rgba(30, 27, 75, .28), 0 8px 20px rgba(30, 27, 75, .1);
    background: #fff
}

.sc2-slide[data-key="biz-tam"] .sc2-slide__media::before {
    display: none
}

.sc2-frame {
    position: relative;
    width: 92%;
    max-width: 650px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 30px 70px rgba(30, 27, 75, .28), 0 8px 20px rgba(30, 27, 75, .1);
    overflow: hidden;
    z-index: 1
}

.sc2-frame__bar {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0
}

.sc2-frame__bar span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e2e8f0
}

.sc2-frame__bar span:nth-child(1) {
    background: #fca5a5
}

.sc2-frame__bar span:nth-child(2) {
    background: #fcd34d
}

.sc2-frame__bar span:nth-child(3) {
    background: #86efac
}

.sc2-frame__body {
    position: relative
}

.sc2-frame__body img {
    display: block;
    width: 100%;
    height: auto;
    padding: 0
}

@media (max-width: 1500px) {
    .sc2-slide__media {
        aspect-ratio: 13 / 11;
    }
}

/* TAM/SAM/SOM 다이어그램 (HTML 퍼블리싱) */
.tsm {
    padding: 1.25rem 1.5rem 1.25rem;
    background: #fff;
    font: 500 1.08rem/1.4 Pretendard, sans-serif;
    color: #0f172a
}

.tsm__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 1rem;
    flex-wrap: wrap
}

.tsm__title {
    margin: 0;
    font: 800 1.18rem/1.3 Pretendard, sans-serif;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px
}

.tsm__title i {
    color: #6366f1
}

.tsm__tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap
}

.tsm__tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font: 700 .9rem/1 Pretendard, sans-serif;
    border: 1px solid #e2e8f0
}

.tsm__tag--ai {
    background: linear-gradient(135deg, #eef2ff, #ede9fe);
    color: #6366f1;
    border-color: #c7d2fe
}

.tsm__tag--ai i {
    font-size: .85rem
}

.tsm__nest {
    border-radius: 14px;
    padding: 12px;
    border: 1px solid transparent
}

.tsm__nest--tam {
    background: linear-gradient(180deg, #eff6ff, #dbeafe);
    border-color: #bfdbfe
}

.tsm__nest--sam {
    margin: 10px 6% 0;
    background: linear-gradient(180deg, #dbeafe, #bfdbfe);
    border-color: #93c5fd
}

.tsm__nest--som {
    margin: 10px 8% 4px;
    background: linear-gradient(180deg, #bfdbfe, #93c5fd);
    border-color: #60a5fa
}

.tsm__head-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 8px
}

.tsm__bar {
    flex: 1;
    min-width: 0
}

.tsm__bar-head {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 2px
}

.tsm__code {
    font: 900 1.15rem/1 Pretendard, sans-serif;
    color: #1e3a8a;
    letter-spacing: .02em
}

.tsm__en {
    font: 600 .86rem/1 Pretendard, sans-serif;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.tsm__kr {
    font: 600 .92rem/1.2 Pretendard, sans-serif;
    color: #1e3a8a;
    opacity: .75
}

.tsm__meta {
    text-align: right;
    flex-shrink: 0
}

.tsm__amt {
    font: 800 1.15rem/1 Pretendard, sans-serif;
    color: #1e3a8a
}

.tsm__pct {
    margin-top: 4px;
    font: 700 .85rem/1 Pretendard, sans-serif;
    color: #4f46e5;
    background: #ffffffcc;
    padding: 3px 8px;
    border-radius: 999px;
    display: inline-block;
    border: 1px solid #c7d2fe
}

.tsm__sm__foot {
    margin: .9rem auto 0.7rem;
}
.tsm__sm__foot span { display: block; font-size: 1.05rem;
    font-weight: 600; color: #333; text-align: center;
}

.tsm__foot {
    padding: 9px 12px;
    background: linear-gradient(90deg, #eef2ff, #f5f3ff);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    font: 600 .92rem/1.3 Pretendard, sans-serif;
    color: #475569;
    border: 1px solid #e0e7ff;
    flex-direction: column;
}

.tsm__foot i {
    color: #6366f1
}

.tsm__foot strong {
    color: #4f46e5;
    font-weight: 800
}

/* 공통 placeholder 카드 (개별 이미지 미공개 슬라이드) */
.sc2-slide__media .phold {
    position: relative;
    z-index: 1;
    width: 88%;
    max-width: 560px;
    background: #fff;
    border-radius: 18px;
    padding: 2.5rem 2rem;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .14), 0 6px 16px rgba(15, 23, 42, .06);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem
}

.sc2-slide__media .phold>i {
    font-size: 2.4rem;
    width: 78px;
    height: 78px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff
}

.sc2-slide__media .phold h4 {
    margin: 0;
    font: 800 1.4rem/1.3 Pretendard, sans-serif;
    color: #0f172a;
    letter-spacing: -.01em
}

.sc2-slide__media .phold p {
    margin: 0;
    font: 500 .95rem/1.55 Pretendard, sans-serif;
    color: #64748b;
    word-break: keep-all
}

.sc2-slide__media .phold__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font: 800 .72rem/1 Pretendard, sans-serif;
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0
}

.sc2-slide[data-cat="biz"][data-key^="biz-ph"] .sc2-slide__media,
.sc2-slide[data-key="biz-s2_2"] .sc2-slide__media,
.sc2-slide[data-key="biz-s2_3"] .sc2-slide__media,
.sc2-slide[data-key="biz-s3_1"] .sc2-slide__media,
.sc2-slide[data-key="biz-s3_2"] .sc2-slide__media,
.sc2-slide[data-key="biz-s3_3"] .sc2-slide__media {
    background: linear-gradient(160deg, #eef2ff, #e0e7ff);
    align-items: center;
    justify-content: center;
    padding: 2rem
}

.sc2-slide[data-cat="biz"] .phold>i {
    background: linear-gradient(135deg, #6366f1, #4f46e5)
}

.sc2-slide[data-cat="cover"] .sc2-slide__media {
    align-items: center;
    justify-content: center;
    padding: 2rem;
    overflow: hidden
}

.sc2-slide[data-cat="cover"] .sc2-slide__media::before {
    display: none
}

.sc2-slide[data-key="cov-ncs"] .sc2-slide__media {
    background: linear-gradient(rgba(204, 251, 241, .88), rgba(153, 246, 228, .92)), url('/assets/images/main/document_s1--1.png') center/cover
}

.sc2-slide[data-key="cov-cert"] .sc2-slide__media {
    background: linear-gradient(rgba(220, 252, 231, .88), rgba(187, 247, 208, .92)), url('/assets/images/main/document_s1--1.png') center/cover
}

.sc2-slide[data-key="cov-ai"] .sc2-slide__media {
    background: linear-gradient(rgba(207, 250, 254, .88), rgba(165, 243, 252, .92)), url('/assets/images/main/document_s1--1.png') center/cover
}

.sc2-slide[data-key="cov-eval"] .sc2-slide__media {
    background: linear-gradient(rgba(236, 252, 203, .88), rgba(217, 249, 157, .92)), url('/assets/images/main/document_s1--1.png') center/cover
}

.sc2-slide[data-key="cov-hr"] .sc2-slide__media {
    background: linear-gradient(rgba(240, 253, 244, .88), rgba(187, 247, 208, .92)), url('/assets/images/main/document_s1--1.png') center/cover
}

.sc2-slide[data-key="cov-edit"] .sc2-slide__media {
    background: linear-gradient(rgba(224, 242, 254, .88), rgba(186, 230, 253, .92)), url('/assets/images/main/document_s1--1.png') center/cover
}

.sc2-slide[data-key="cov-export"] .sc2-slide__media {
    background: linear-gradient(rgba(247, 254, 231, .92), rgba(217, 249, 157, .55)), url('/assets/images/main/document_s1--1.png') center/cover
}

/* NCS 직무 매칭 (cov-ncs / s2) */
.ncs {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(6, 78, 59, .18), 0 6px 16px rgba(6, 78, 59, .08);
    font: 500 .95rem/1.5 Pretendard, sans-serif;
    color: #0f172a;
    max-height: 520px;
    overflow-y: auto
}

.ncs__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: .7rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid #e2e8f0
}

.ncs__title {
    font: 800 1.1rem/1 Pretendard, sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a
}

.ncs__title i {
    color: #7c3aed
}

.ncs__link {
    padding: 6px 12px;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    border-radius: 8px;
    font: 700 .88rem/1 Pretendard, sans-serif;
    color: #7c3aed;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px
}

.ncs__crumb {
    font: 600 .9rem/1 Pretendard, sans-serif;
    color: #94a3b8;
    margin-bottom: .6rem;
    display: flex;
    align-items: center;
    gap: 6px
}

.ncs__crumb i {
    font-size: .75rem
}

.ncs__job {
    font: 900 1.4rem/1.2 Pretendard, sans-serif;
    color: #0f172a;
    margin-bottom: .5rem
}

.ncs__desc {
    margin: 0 0 .9rem;
    padding: .7rem .85rem;
    background: #f5f3ff;
    border-radius: 8px;
    font-size: .92rem;
    color: #5b21b6;
    line-height: 1.55;
    border-left: 3px solid #a78bfa
}

.ncs__sec {
    margin-bottom: .85rem;
    padding: .7rem .85rem;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0
}

.ncs__sec-title {
    font: 800 .98rem/1 Pretendard, sans-serif;
    color: #475569;
    margin-bottom: .6rem;
    display: flex;
    align-items: center;
    gap: 6px
}

.ncs__sec-title i {
    color: #7c3aed
}

.ncs__chev {
    margin-left: auto;
    color: #94a3b8;
    font-size: .85rem
}

.ncs__row {
    display: flex;
    gap: 10px;
    font-size: .9rem;
    padding: 5px 0;
    color: #475569;
    line-height: 1.45
}

.ncs__row span {
    flex-shrink: 0;
    font: 800 .85rem/1 Pretendard, sans-serif;
    background: #eef2ff;
    color: #4f46e5;
    padding: 4px 8px;
    border-radius: 5px;
    height: fit-content;
    margin-top: 1px
}

.ncs__row strong {
    font-weight: 800;
    color: #0f172a
}

.ncs__row p {
    margin: 0
}

.ncs__dl {
    margin-top: 8px;
    padding: 7px 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 8px;
    font: 800 .88rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px
}

.ncs__cards {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.ncs__card {
    padding: .6rem .8rem;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    position: relative
}

.ncs__card strong {
    display: inline-block;
    font: 800 .96rem/1.2 Pretendard, sans-serif;
    color: #0f172a;
    margin-bottom: 4px
}

.ncs__lv {
    position: absolute;
    top: .6rem;
    right: .7rem;
    font: 800 .82rem/1 Pretendard, sans-serif;
    background: #fef3c7;
    color: #a16207;
    padding: 4px 8px;
    border-radius: 5px;
    border: 1px solid #fde68a
}

.ncs__card p {
    margin: 0;
    font-size: .86rem;
    color: #64748b;
    line-height: 1.45
}

/* 자격증 (cov-cert / s3) */
.crt {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(6, 78, 59, .18), 0 6px 16px rgba(6, 78, 59, .08);
    font: 500 1rem/1.45 Pretendard, sans-serif;
    color: #0f172a
}

.crt__title {
    font: 800 1.1rem/1 Pretendard, sans-serif;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: .7rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid #e2e8f0
}

.crt__title i {
    color: #10b981
}

.crt__title em {
    font-style: normal;
    color: #10b981;
    font-weight: 800;
    font-size: .98rem
}

.crt__chev {
    margin-left: auto;
    color: #94a3b8;
    font-size: .85rem
}

.crt__group {
    margin-bottom: .85rem
}

.crt__label {
    font: 800 .92rem/1 Pretendard, sans-serif;
    color: #475569;
    margin-bottom: .55rem
}

.crt__label em {
    font-style: normal;
    font-weight: 700;
    color: #94a3b8;
    margin-left: 4px;
    font-size: .88rem
}

.crt__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px
}

.crt__card {
    padding: .7rem .85rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    position: relative
}

.crt__card strong {
    display: block;
    font: 800 .95rem/1.2 Pretendard, sans-serif;
    color: #0f172a;
    padding-right: 46px;
    margin-bottom: 4px
}

.crt__tag {
    position: absolute;
    top: .6rem;
    right: .7rem;
    font: 800 .78rem/1 Pretendard, sans-serif;
    background: #fef3c7;
    color: #a16207;
    padding: 3px 6px;
    border-radius: 5px;
    border: 1px solid #fde68a
}

.crt__card a {
    font: 700 .85rem/1 Pretendard, sans-serif;
    color: #7c3aed;
    text-decoration: none
}

/* AI 추천 (cov-ai / s4) */
.aiq {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(6, 78, 59, .18), 0 6px 16px rgba(6, 78, 59, .08);
    font: 500 1.02rem/1.5 Pretendard, sans-serif;
    color: #0f172a
}

.aiq__title {
    font: 800 1.02rem/1.4 Pretendard, sans-serif;
    color: #0f172a;
    padding-bottom: .7rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap
}

.aiq__title i {
    color: #7c3aed
}

.aiq__title em {
    font-style: normal;
    color: #4f46e5;
    font-weight: 800
}

.aiq__title sup {
    font-size: .55em;
    color: #7c3aed
}

.aiq__list {
    display: flex;
    flex-direction: column;
    gap: .55rem
}

.aiq__card {
    padding: .85rem 1rem;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0
}

.aiq__name {
    font: 800 1.05rem/1.3 Pretendard, sans-serif;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 5px
}

.aiq__src {
    font: 700 .82rem/1 Pretendard, sans-serif;
    background: #fef2f2;
    color: #dc2626;
    padding: 5px 9px;
    border-radius: 5px;
    border: 1px solid #fecaca;
    display: inline-flex;
    align-items: center;
    gap: 4px
}

.aiq__src i {
    font-size: .9rem
}

.aiq__card p {
    margin: 0;
    font-size: .94rem;
    color: #475569;
    line-height: 1.55
}

.aiq__card p strong {
    color: #7c3aed;
    font-weight: 800
}

/* 평가 리포트 cover 변형 */
.evalrep--cover {
    border-top-color: #7c3aed
}

.evalrep--cover .evalrep__title i {
    color: #7c3aed
}

.evalrep--cover .evalrep__ver {
    background: #f5f3ff;
    color: #7c3aed;
    border-color: #ddd6fe
}

.evalrep--cover .evalrep__tab span {
    color: #7c3aed
}

.evalrep--cover .evalrep__tab.is-active {
    background: #f5f3ff;
    border-color: #a78bfa;
    color: #5b21b6
}

.evalrep--cover .evalrep__tab.is-active strong {
    color: #5b21b6
}

.evalrep--cover .evalrep__bar {
    background: #f5f3ff;
    border-color: #ddd6fe
}

.evalrep--cover .evalrep__done {
    color: #5b21b6
}

.evalrep--cover .evalrep__done i {
    color: #7c3aed
}

.evalrep--cover .evalrep__btn {
    background: #7c3aed
}

.evalrep__done strong {
    white-space: nowrap
}

/* HR 평가 cover 변형 */
.rep--cover .rep__title i {
    color: #7c3aed
}

.rep__grade--a {
    background: linear-gradient(135deg, #10b981, #059669)
}

.rep__badge--m {
    background: #7c3aed
}

.rep__badge--g {
    background: #0ea5e9
}

.rep__badge--c {
    background: #22c55e
}

.rep__mini--a {
    color: #0284c7;
    background: #e0f2fe;
    border-color: #7dd3fc
}

/* cover 슬라이드 미디어 정렬 보정 */
.sc2-slide[data-key="cov-export"] .sc2-slide__media {
    align-items: flex-start;
    justify-content: flex-end
}

.sc2-slide[data-cat="cover"] .phold>i {
    background: linear-gradient(135deg, #10b981, #059669)
}

.sc2-slide[data-cat="cover"] .phold>i {
    background: linear-gradient(135deg, #10b981, #059669)
}

.sc2-slide[data-cat="interview"] .sc2-slide__media {
    align-items: center;
    justify-content: center;
    padding: 2rem;
    overflow: hidden
}

.sc2-slide[data-cat="interview"] .sc2-slide__media::before {
    display: none
}

.sc2-slide[data-cat="interview"] .phold>i {
    background: linear-gradient(135deg, #a855f7, #7c3aed)
}

.sc2-slide[data-key="int-chat"] .sc2-slide__media {
    background: linear-gradient(rgba(245, 243, 255, .88), rgba(221, 214, 254, .92)), url('/assets/images/main/interview---4.png') center/cover
}

.sc2-slide[data-key="int-result"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .88), rgba(199, 210, 254, .92)), url('/assets/images/main/interview---3.png') center/cover
}

.sc2-slide[data-cat="slide"] .sc2-slide__media {
    align-items: center;
    justify-content: center;
    padding: 2rem;
    overflow: hidden
}

.sc2-slide[data-cat="slide"] .sc2-slide__media::before {
    display: none
}

.sc2-slide[data-key="int-feedback"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .88), rgba(253, 230, 138, .92)), url('/assets/images/main/interview---4.png') center/cover
}

.sc2-slide[data-key="int-coach"] .sc2-slide__media {
    background: linear-gradient(rgba(255, 241, 242, .88), rgba(254, 205, 211, .92)), url('/assets/images/main/interview---3.png') center/cover
}

.sc2-slide[data-key="int-star"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .88), rgb(170 223 254 / 92%)), url('/assets/images/main/interview---4.png') center/cover
}

.sc2-slide[data-key="int-keyword"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .88), rgba(187, 247, 208, .92)), url('/assets/images/main/interview---4.png') center/cover
}

.sc2-slide[data-key="sld-create"] .sc2-slide__media {
    background: linear-gradient(rgba(255, 247, 237, .88), rgba(254, 215, 170, .92)), url('/assets/images/main/slide_s1_3.png') center/cover
}

.sc2-slide[data-key="sld-layout"] .sc2-slide__media {
    background: linear-gradient(rgba(255, 251, 235, .88), rgba(253, 230, 138, .92)), url('/assets/images/main/slide_s1_4.png') center/cover
}

.sc2-slide[data-key="sld-select"] .sc2-slide__media {
    background: linear-gradient(rgb(237 241 255 / 90%), rgb(170 223 254 / 92%)), url(/assets/images/main/slide---2.png) center / cover;
}

.sc2-slide[data-key="sld-structure"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .9), rgba(199, 210, 254, .92)), url('/assets/images/main/slide---3.png') center/cover
}

.sc2-slide[data-key="sld-design"] .sc2-slide__media {
    background: linear-gradient(rgba(245, 243, 255, .9), rgba(221, 214, 254, .92)), url('/assets/images/main/slide---2.png') center/cover
}

.sc2-slide[data-key="sld-build"] .sc2-slide__media {
    background: linear-gradient(rgba(239, 246, 255, .9), rgba(191, 219, 254, .92)), url('/assets/images/main/slide---3.png') center/cover
}

.sc2-slide[data-key="sld-edit"] .sc2-slide__media {
    background: linear-gradient(rgba(240, 253, 244, .9), rgba(187, 247, 208, .92)), url('/assets/images/main/slide---2.png') center/cover
}

.sc2-slide[data-key="sld-layout-edit"] .sc2-slide__media {
    background: linear-gradient(rgb(237 241 255 / 90%), rgb(170 223 254 / 92%)), url('/assets/images/main/slide---3.png') center/cover
}

.sc2-slide[data-key="sld-viz-strategy"] .sc2-slide__media {
    background: linear-gradient(rgba(254, 243, 199, .9), rgba(253, 230, 138, .92)), url('/assets/images/main/slide---2.png') center/cover
}

.sc2-slide[data-key="sld-color-edit"] .sc2-slide__media {
    background: linear-gradient(rgba(255, 247, 237, .88), rgba(254, 215, 170, .92)), url('/assets/images/main/slide---5.png') center/cover
}

.sc2-slide[data-key="sld-full-edit"] .sc2-slide__media {
    background: linear-gradient(rgba(240, 253, 244, .9), rgba(187, 247, 208, .92)), url('/assets/images/main/slide---4.png') center/cover
}

/* 모의면접 채팅 (int-chat) */
.ivw {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 560px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(76, 29, 149, .18), 0 6px 16px rgba(76, 29, 149, .08);
    font: 500 .96rem/1.5 Pretendard, sans-serif;
    color: #0f172a;
    max-height: 520px;
    overflow-y: auto
}

.ivw__head {
    font: 800 1.02rem/1 Pretendard, sans-serif;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: .7rem;
    margin-bottom: .7rem;
    border-bottom: 1px solid #e2e8f0
}

.ivw__head i {
    color: #7c3aed
}

.ivw__info {
    padding: .7rem .9rem;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    border-radius: 10px;
    margin-bottom: .85rem
}

.ivw__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
    font-size: .92rem;
    border-bottom: 1px dashed #ddd6fe
}

.ivw__row:last-child {
    border-bottom: 0
}

.ivw__row span {
    color: #6d28d9;
    font-weight: 700
}

.ivw__row strong {
    color: #0f172a;
    font-weight: 800
}

.ivw__msg {
    display: flex;
    gap: 8px;
    margin-bottom: .7rem;
    align-items: flex-start
}

.ivw__msg--ai {
    justify-content: flex-start
}

.ivw__msg--user {
    justify-content: flex-end
}

.ivw__avatar {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: linear-gradient(135deg, #7c3aed, #4f46e5);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 900 .95rem/1 Pretendard, sans-serif;
    flex-shrink: 0
}

.ivw__bubble {
    padding: .65rem .85rem;
    border-radius: 12px;
    font-size: .9rem;
    color: #0f172a;
    line-height: 1.55;
    max-width: 80%;
    background: #f1f5f9;
    border: 1px solid #e2e8f0
}

.ivw__msg--ai .ivw__bubble {
    background: #f8fafc;
    border-color: #e2e8f0
}

.ivw__msg--user .ivw__bubble {
    background: #ede9fe;
    border-color: #c4b5fd;
    color: #4c1d95
}

.ivw__bubble strong.strong {
    display: inline-block;
    font: 800 .85rem/1 Pretendard, sans-serif;
    background: #fff;
    padding: 3px 6px;
    border-radius: 5px;
    border: 1px solid #ddd6fe;

    color: #6400ff;
}
.ivw__bubble strong.strong2 { color: #6400ff; font-weight: 700; }
.ivw__bubble strong.strong3 { color: #000; font-weight: 900; }

.ivw__bubble p {
    margin: 4px 0 0;
    line-height: 1.55;
}

.ivw__bubble .em { color: #999; font-size: 0.8rem; font-weight: 400; line-height: 1.45; display: block;
    margin-top: 3px;
}

.ivw__more {
    width: fit-content;
    margin: 8px auto 2px;
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
    margin-top: 25px;
}
.ivw__more span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #64748b;
    animation: ivw-more-bounce 1.2s ease-in-out infinite;
}
.ivw__more span:nth-child(2) { animation-delay: .15s; }
.ivw__more span:nth-child(3) { animation-delay: .3s; }

@keyframes ivw-more-bounce {
    0%, 100% { transform: translateY(0); opacity: .35; }
    50% { transform: translateY(-3px); opacity: 1; }
}

/* 모의면접 결과 (int-result) */
.ivr {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 560px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(67, 56, 202, .18), 0 6px 16px rgba(67, 56, 202, .08);
    font: 500 .98rem/1.5 Pretendard, sans-serif;
    color: #0f172a;
    max-height: 520px;
    overflow-y: auto
}

.ivr__top {
    text-align: center;
    padding: .85rem;
    background: linear-gradient(160deg, #eef2ff, #ddd6fe);
    border-radius: 12px;
    margin-bottom: .85rem
}

.ivr__big {
    font: 900 2.6rem/1 Pretendard, sans-serif;
    color: #4f46e5
}

.ivr__big small {
    font-size: .95rem;
    font-weight: 700;
    opacity: .7
}

.ivr__grade {
    margin-top: 4px;
    font: 800 .98rem/1 Pretendard, sans-serif;
    color: #dc2626
}

.ivr__time {
    margin-top: 6px;
    font: 600 .85rem/1 Pretendard, sans-serif;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px
}

.ivr__time strong {
    color: #0f172a;
    font-weight: 800
}

.ivr__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-bottom: .95rem
}

.ivr__stats>div {
    padding: .6rem .5rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    text-align: center
}

.ivr__stats span {
    display: block;
    font: 700 .75rem/1 Pretendard, sans-serif;
    color: #94a3b8;
    margin-bottom: 4px
}

.ivr__stats strong {
    font: 800 1.02rem/1 Pretendard, sans-serif;
    color: #0f172a
}

.ivr__hi {
    color: #16a34a !important
}

.ivr__lo {
    color: #dc2626 !important
}

.ivr__title {
    font: 800 .96rem/1 Pretendard, sans-serif;
    color: #475569;
    margin-bottom: .55rem;
    display: flex;
    align-items: center;
    gap: 6px
}

.ivr__title i {
    color: #4f46e5
}

.ivr__bars {
    margin-bottom: .95rem
}

.ivr__bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
    font-size: .88rem
}

.ivr__bar span {
    flex: 0 0 22px;
    font-weight: 800;
    color: #475569
}

.ivr__bar div {
    flex: 1;
    height: 7px;
    background: #eef2ff;
    border-radius: 999px;
    overflow: hidden
}

.ivr__bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #818cf8, #ec4899);
    border-radius: 999px
}

.ivr__bar em {
    flex: 0 0 26px;
    text-align: right;
    font-style: normal;
    font-weight: 800;
    color: #0f172a
}

.ivr__radar {
    padding: 1rem;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}

.ivr__radar .ivr__title {
    margin-bottom: .6rem;
}

.ivr__radar-svg {
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    margin: 0 auto;
}

.ivr__radar-grid polygon {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 1;
}

.ivr__radar-axes line {
    stroke: #e2e8f0;
    stroke-width: 1;
}

.ivr__radar-data {
    fill: rgba(99, 102, 241, 0.18);
    stroke: #4f46e5;
    stroke-width: 2;
    stroke-linejoin: round;
}

.ivr__radar-dots circle {
    fill: #4f46e5;
    stroke: #fff;
    stroke-width: 2;
}

.ivr__radar-labels text {
    font: 700 12px/1 Pretendard, sans-serif;
    fill: #475569;
}

.ivr__radar-scale text {
    font: 600 9px/1 Pretendard, sans-serif;
    fill: #94a3b8;
}

/* SC2 모의면접 — 답변 코칭 카드 */
.ivw-coach-card { background: #f8fafc; border-radius: 14px; padding: 1.2rem; font: 500 1.08rem/1.5 Pretendard, sans-serif; border: 1px solid #e2e8f0; }
.ivw-coach-card__text { margin: 0 0 1rem; color: #334155; font: 500 1.05rem/1.7 Pretendard, sans-serif; letter-spacing: -0.005em; word-break: break-all; }
.ivw-coach-card__text strong { font-weight: 800; color: #0f172a; }
.ivw-coach-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: .85rem; border-top: 1px solid #e2e8f0; flex-wrap: wrap; }
.ivw-coach-card__tag { padding: 7px 14px; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font: 700 .98rem/1 Pretendard, sans-serif; border: 1px solid #bfdbfe; }
.ivw-coach-card__actions { display: inline-flex; align-items: center; gap: 10px; }
.ivw-coach-card__btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #fef3c7; border: 3px solid #fde68a; color: #92400e; font: 800 .98rem/1 Pretendard, sans-serif; cursor: pointer; box-shadow: 0 4px 10px rgba(245, 158, 11, 0.18), 0 1px 2px rgba(245, 158, 11, 0.12); }
.ivw-coach-card__btn i { color: #f59e0b; }
.ivw-coach-card__count { font: 500 .95rem/1 Pretendard, sans-serif; color: #94a3b8; }
.ivw-coach-card__send { color: #7c3aed; font-size: 1.2rem; }

/* SC2 모의면접 — AI 피드백 카드 */
.ivw-fb-card { background: #f8fafc; border-radius: 14px; padding: 1.2rem; font: 500 1.08rem/1.5 Pretendard, sans-serif; }
.ivw-fb-card__head { font: 800 1.25rem/1 Pretendard, sans-serif; color: #1e293b; display: flex; align-items: center; gap: 8px; margin-bottom: 1rem; }
.ivw-fb-card__head i { color: #6366f1; font-size: 1.3rem; }
.ivw-fb-card__qhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: .6rem; }
.ivw-fb-card__qnum { display: inline-flex; align-items: center; justify-content: center; padding: 5px 14px 7px; border-radius: 999px; background: #4f46e5; color: #fff; font: 800 .98rem/1 Pretendard, sans-serif; }
.ivw-fb-card__qscore { font: 900 1.3rem/1 Pretendard, sans-serif; color: #1e293b; }
.ivw-fb-card__question { padding: .85rem 1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; font: 500 1.02rem/1.55 Pretendard, sans-serif; color: #334155; margin-bottom: .8rem; word-break: break-all; }
.ivw-fb-card__sec { padding: .75rem .9rem; border-radius: 10px; margin-bottom: .6rem; }
.ivw-fb-card__sec:last-of-type { margin-bottom: 0; }
.ivw-fb-card__sec-title { font: 700 1.1rem/1 Pretendard, sans-serif; display: flex; align-items: center; gap: 6px; margin-bottom: .4rem; }
.ivw-fb-card__sec p { margin: 0; font: 500 1.05rem/1.5 Pretendard, sans-serif; word-break: break-all; }
.ivw-fb-card__sec p strong { font-weight: 800; }
.ivw-fb-card__sec--good { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.ivw-fb-card__sec--good .ivw-fb-card__sec-title { color: #16a34a; }
.ivw-fb-card__sec--warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.ivw-fb-card__sec--warn .ivw-fb-card__sec-title { color: #d97706; }
.ivw-fb-card__sec--ai { background: #f5f3ff; border: 1px solid #ddd6fe; color: #5b21b6; }
.ivw-fb-card__sec--ai .ivw-fb-card__sec-title { color: #7c3aed; }

/* SC2 모의면접 — STAR 기법 카드 */
.ivw-star-card { background: #f8fafc; border-radius: 14px; padding: 1.2rem; font: 500 1.08rem/1.5 Pretendard, sans-serif; }
.ivw-star-card__head { font: 800 1.25rem/1 Pretendard, sans-serif; color: #1e293b; display: flex; align-items: center; gap: 8px; margin-bottom: 1rem; }
.ivw-star-card__head i { color: #e11d48; font-size: 1.3rem; }
.ivw-star-card__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: .8rem; }
.ivw-star-card__item { padding: .75rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; text-align: center; }
.ivw-star-card__item em { display: block; font: 900 1.8rem/1 Pretendard, sans-serif; color: #4f46e5; font-style: normal; margin-bottom: 4px; }
.ivw-star-card__item strong { display: block; font: 800 1.05rem/1 Pretendard, sans-serif; color: #0f172a; margin-bottom: 4px; }
.ivw-star-card__item p { font: 500 .95rem/1.4 Pretendard, sans-serif; color: #64748b; margin: 0; }
.ivw-star-card__tip { padding: .65rem .8rem; background: #fef3c7; border: 1px solid #fde68a; border-radius: 8px; font: 600 1rem/1.4 Pretendard, sans-serif; color: #92400e; display: flex; align-items: flex-start; gap: 6px; }
.ivw-star-card__tip i { color: #f59e0b; margin-top: 2px; }

/* SC2 모의면접 — 키워드 매칭 카드 */
.ivw-kw-card { background: #f8fafc; border-radius: 14px; padding: 1.2rem; font: 500 1.08rem/1.5 Pretendard, sans-serif; }
.ivw-kw-card__head { font: 800 1.25rem/1 Pretendard, sans-serif; color: #1e293b; display: flex; align-items: center; gap: 8px; margin-bottom: 1rem; }
.ivw-kw-card__head i { color: #2563eb; font-size: 1.3rem; }
.ivw-kw-card__target { padding: .6rem .8rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; margin-bottom: .8rem; display: flex; align-items: center; gap: 8px; }
.ivw-kw-card__target span { font: 600 1rem/1 Pretendard, sans-serif; color: #64748b; }
.ivw-kw-card__target strong { font: 800 1.1rem/1 Pretendard, sans-serif; color: #1d4ed8; }
.ivw-kw-card__list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: .8rem; }
.ivw-kw-card__tag { display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px; border-radius: 999px; font: 700 1.02rem/1 Pretendard, sans-serif; }
.ivw-kw-card__tag--hit { background: #dcfce7; color: #16a34a; border: 1px solid #bbf7d0; }
.ivw-kw-card__tag--miss { background: #fef3c7; color: #d97706; border: 1px solid #fde68a; }
.ivw-kw-card__score { padding: .65rem .8rem; background: linear-gradient(135deg, #eef2ff, #e0e7ff); border-radius: 8px; display: flex; align-items: center; justify-content: space-between; }
.ivw-kw-card__score span { font: 600 1.05rem/1 Pretendard, sans-serif; color: #475569; }
.ivw-kw-card__score strong { font: 900 1.6rem/1 Pretendard, sans-serif; color: #4f46e5; }

/* 슬라이드 생성 (sld-create) */
.sld {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 560px;
    background: #f5f7ff;
    border-radius: 18px;
    padding: 1.2rem 1.4rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .16), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 1.08rem/1.5 Pretendard, sans-serif;
    color: #0f172a;
    max-height: 520px;
    overflow-y: auto
}

.sld__title {
    font: 800 1.25rem/1 Pretendard, sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
    padding-bottom: .7rem;
    margin-bottom: .85rem;
    border-bottom: 0
}

.sld__title i {
    color: #3b82f6
}

/* sld-select 문서연동 카드 */
.sld__tabs { display: flex; gap: 0; margin-bottom: .95rem; border-radius: 12px; overflow: hidden; border: 1px solid #e2e8f0; }
.sld__tab { flex: 1; padding: .8rem; font: 700 1.12rem/1 Pretendard, sans-serif; color: #64748b; background: #fff; border: 0; cursor: pointer; text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; }
.sld__tab.is-active { background: #3f8fff; color: #fff; }
.sld__select { display: flex; align-items: center; justify-content: space-between; padding: .85rem 1.1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: .95rem; font: 600 1.08rem/1.3 Pretendard, sans-serif; color: #0f172a; }
.sld__select i { color: #94a3b8; font-size: 1rem; }
.sld__card { padding: 1rem 1.1rem; background: #fff; border: 1.5px solid #3b82f6; border-radius: 14px; margin-bottom: .95rem; }
.sld__card-title { font: 800 1.12rem/1.35 Pretendard, sans-serif; color: #0f172a; margin-bottom: .55rem; display: flex; align-items: flex-start; gap: 8px; }
.sld__card-title i { color: #3b82f6; margin-top: 2px; font-size: 1.15rem; }
.sld__card-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: .6rem; }
.sld__card-meta span { font: 600 .98rem/1 Pretendard, sans-serif; color: #475569; background: #f1f5f9; padding: 5px 10px; border-radius: 6px; border: 1px solid #e2e8f0; }
.sld__card-meta strong { color: #0f172a; font-weight: 800; }
.sld__card-desc { font: 500 1.05rem/1.55 Pretendard, sans-serif; color: #475569; margin: 0 0 .5rem; padding: .75rem .9rem; background: #f8fafc; border-radius: 10px; border: 1px solid #e2e8f0; }
.sld__card-desc strong { color: #0f172a; font-weight: 800; }
.sld__card-more { display: block; text-align: right; font: 700 1.02rem/1 Pretendard, sans-serif; color: #3b82f6; cursor: pointer; }

.sld__input {
    padding: .85rem 1rem;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    margin-bottom: .95rem
}

/* sld-structure 채팅형 슬라이드 설계 */
.sld--chat { background: #fff; max-height: 520px; overflow-y: auto; }
.sld-info { padding: .85rem 1rem; background: #f0f5ff; border-radius: 12px; margin-bottom: .85rem; border: 1px solid #dbeafe; }
.sld-info__title { font: 800 1.12rem/1 Pretendard, sans-serif; color: #2563eb; margin-bottom: .6rem; display: flex; align-items: center; gap: 6px; }
.sld-info__row { display: flex; gap: 10px; padding: 4px 0; font: 600 1.02rem/1.4 Pretendard, sans-serif; color: #64748b; }
.sld-info__row strong { color: #0f172a; font-weight: 800; }
.sld-log { display: flex; flex-direction: column; gap: 5px; margin-bottom: .75rem; }
.sld-log__msg { font: 600 1.02rem/1.4 Pretendard, sans-serif; color: #475569; display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.sld-log__msg i { font-size: 1.05rem; color: #94a3b8; }
.sld-log__msg--done { color: #16a34a; }
.sld-log__msg--done i { color: #16a34a; }
.sld-psst { padding: .85rem 1rem; background: #f8fafc; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: .85rem; }
.sld-psst__title { font: 800 1.12rem/1 Pretendard, sans-serif; color: #0f172a; margin-bottom: .7rem; display: flex; align-items: center; gap: 6px; }
.sld-psst__title i { color: #6366f1; }
.sld-psst__sec { padding: 6px 0; border-bottom: 1px dashed #e2e8f0; }
.sld-psst__sec:last-child { border-bottom: 0; }
.sld-psst__label { font: 800 1.05rem/1 Pretendard, sans-serif; color: #2563eb; margin-bottom: 3px; }
.sld-psst__sec p { margin: 0; font: 500 1.02rem/1.55 Pretendard, sans-serif; color: #475569; }
.sld-psst__sec p strong { color: #0f172a; font-weight: 800; }
.sld-outline { padding: .85rem 1rem; background: #f0fdf4; border-radius: 12px; border: 1px solid #bbf7d0; }
.sld-outline__title { font: 800 1.12rem/1 Pretendard, sans-serif; color: #16a34a; margin-bottom: .6rem; display: flex; align-items: center; gap: 6px; }
.sld-outline__list { list-style: none; padding: 0; margin: 0; counter-reset: sld-step; display: flex; flex-direction: column; gap: 5px; }
.sld-outline__list li { counter-increment: sld-step; font: 600 1.02rem/1.4 Pretendard, sans-serif; color: #475569; padding: 6px 8px; background: #fff; border-radius: 8px; border: 1px solid #dcfce7; }
.sld-outline__list li::before { content: counter(sld-step) ". "; font-weight: 800; color: #16a34a; }
.sld-outline__list li strong { color: #0f172a; font-weight: 800; }

.sld-more { display: flex; justify-content: center; gap: 6px; padding: .8rem 0 .2rem; }
.sld-more span { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; animation: sldMorePulse 1.4s ease-in-out infinite; }
.sld-more span:nth-child(2) { animation-delay: .2s; }
.sld-more span:nth-child(3) { animation-delay: .4s; }
@keyframes sldMorePulse { 0%, 80%, 100% { opacity: .3; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }

/* sld-build 스트림 */
.sld-stream {
    position: relative; z-index: 1; width: 96%; max-width: 600px;
    display: flex; flex-direction: column; gap: 8px;
    max-height: 480px; overflow-y: auto; padding: 10px;
    background: #fff; border-radius: 16px;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .16), 0 6px 16px rgba(30, 27, 75, .08);
    scrollbar-width: thin; scrollbar-color: #c7d2fe transparent;
}
.sld-stream::-webkit-scrollbar { width: 5px; }
.sld-stream::-webkit-scrollbar-thumb { background: #c7d2fe; border-radius: 99px; }
.sc2-slide[data-key="sld-build"] .sc2-slide__media { overflow: visible; }
.sld-stream__log {
    font: 600 1.02rem/1.4 Pretendard, sans-serif; color: #475569;
    display: flex; align-items: center; justify-content: center; gap: 8px; padding: 6px 8px;
}
.sld-stream__log i { color: #6366f1; font-size: 1.1rem; }
.sld-stream__card {
    position: relative; border-radius: 10px; overflow: visible; flex-shrink: 0;
    border: 1px solid #e0e7ff;
    box-shadow: 0 6px 18px rgba(30, 27, 75, .1);
}
.sld-stream__card img { width: 100%; height: auto; display: block; flex-shrink: 0; }
.sld-stream__card span {
    position: absolute; bottom: 6px; right: 8px;
    font: 800 .88rem/1 Pretendard, sans-serif;
    color: #fff; background: rgba(15, 23, 42, .65);
    padding: 4px 10px; border-radius: 6px; backdrop-filter: blur(4px);
}
.sld-stream__done {
    font: 700 1.02rem/1 Pretendard, sans-serif; color: #16a34a;
    display: flex; align-items: center; justify-content: center; gap: 6px; padding: 4px 8px;
}
.sld-stream__done i { color: #16a34a; }
.sld-stream__dots {
    display: flex; justify-content: center; gap: 6px; padding: .5rem 0;
    opacity: 0; animation: ssIn .4s ease forwards;
}
.sld-stream__dots i {
    width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1;
    display: block; animation: sldMorePulse 1.4s ease-in-out infinite;
}
.sld-stream__dots i:nth-child(2) { animation-delay: .2s; }
.sld-stream__dots i:nth-child(3) { animation-delay: .4s; }

.sld-stream > * { opacity: 0; transform: translateY(12px); transition: opacity .4s ease, transform .4s ease; }
.sld-stream > *.ss-show { opacity: 1; transform: translateY(0); }

/* sld-build 슬라이드 프리뷰 */
.sld-preview { width: 96%; max-width: 600px; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(30, 27, 75, .16), 0 6px 16px rgba(30, 27, 75, .08); overflow: hidden; font: 500 .82rem/1.5 Pretendard, sans-serif; position: relative; z-index: 1; }
.sld-preview__bar { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font: 600 .75rem/1 Pretendard, sans-serif; color: #475569; }
.sld-preview__bar i { color: #ea580c; margin-right: 6px; }
.sld-preview__dots { display: flex; gap: 5px; }
.sld-preview__dots span { width: 8px; height: 8px; border-radius: 50%; }
.sld-preview__dots span:nth-child(1) { background: #fca5a5; }
.sld-preview__dots span:nth-child(2) { background: #fcd34d; }
.sld-preview__dots span:nth-child(3) { background: #86efac; }

.sld-preview__slide { margin: 10px; border-radius: 10px; overflow: hidden; border: 1px solid #e2e8f0; }
.sld-preview__slide--cover { display: flex; }
.sld-preview__cover-left { flex: 1.2; padding: 1.1rem 1.2rem; background: #fff; display: flex; flex-direction: column; gap: 6px; }
.sld-preview__badge { font: 800 .6rem/1 Pretendard, sans-serif; color: #2563eb; background: #dbeafe; padding: 4px 8px; border-radius: 4px; align-self: flex-start; letter-spacing: .04em; }
.sld-preview__cover-left h3 { font: 900 1rem/1.3 Pretendard, sans-serif; color: #0f172a; margin: 0; }
.sld-preview__cover-left h3 strong { color: #2563eb; }
.sld-preview__cover-left > p { font: 500 .72rem/1.3 Pretendard, sans-serif; color: #64748b; margin: 0; }
.sld-preview__meta { display: flex; gap: 10px; font: 700 .68rem/1 Pretendard, sans-serif; color: #475569; }
.sld-preview__meta i { color: #94a3b8; margin-right: 3px; }
.sld-preview__date { font: 600 .65rem/1 Pretendard, sans-serif; color: #94a3b8; }
.sld-preview__date i { margin-right: 4px; }
.sld-preview__cover-right { flex: .8; background: linear-gradient(160deg, #1e3a8a, #1d4ed8); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1rem; gap: 6px; }
.sld-preview__cover-right i { font-size: 2rem; background: rgba(255,255,255,.18); width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.sld-preview__cover-right strong { font: 800 .82rem/1.2 Pretendard, sans-serif; }
.sld-preview__cover-right span { font: 500 .55rem/1.2 Pretendard, sans-serif; opacity: .75; }

.sld-preview__slide--biz { background: #fff; }
.sld-preview__biz-head { display: flex; align-items: flex-end; justify-content: space-between; padding: 10px 14px; background: #1e293b; color: #fff; }
.sld-preview__biz-head div { display: flex; flex-direction: column; gap: 2px; }
.sld-preview__sec-badge { font: 800 .6rem/1 Pretendard, sans-serif; background: #3b82f6; padding: 3px 8px; border-radius: 4px; align-self: flex-start; }
.sld-preview__biz-head em { font: 600 .55rem/1 Pretendard, sans-serif; color: rgba(255,255,255,.5); font-style: normal; letter-spacing: .06em; }
.sld-preview__biz-head strong { font: 800 .92rem/1 Pretendard, sans-serif; }
.sld-preview__biz-head small { font: 600 .6rem/1 Pretendard, sans-serif; color: rgba(255,255,255,.5); }
.sld-preview__biz-sub { padding: 8px 14px; font: 700 .75rem/1 Pretendard, sans-serif; color: #0f172a; background: #f0f5ff; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 6px; }
.sld-preview__biz-sub i { color: #2563eb; }
.sld-preview__biz-desc { padding: 8px 14px; font: 500 .72rem/1.5 Pretendard, sans-serif; color: #475569; margin: 0; }
.sld-preview__biz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px 14px 12px; }
.sld-preview__biz-grid > div { padding: 8px 10px; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; }
.sld-preview__biz-grid strong { font: 800 .75rem/1 Pretendard, sans-serif; color: #0f172a; display: block; }
.sld-preview__biz-grid span { font: 600 .6rem/1 Pretendard, sans-serif; color: #94a3b8; }
.sld-preview__biz-grid p { font: 600 .68rem/1.4 Pretendard, sans-serif; color: #475569; margin: 4px 0 0; }
.sld-preview__biz-grid p em { font-style: normal; font-size: .6rem; color: #94a3b8; }

.sld__input strong {
    display: block;
    font: 800 .95rem/1.4 Pretendard, sans-serif;
    color: #0f172a;
    margin-bottom: 5px
}

.sld__input p {
    margin: 0;
    font-size: .82rem;
    color: #64748b;
    line-height: 1.55
}

.sld__sec {
    margin-bottom: .95rem
}

.sld__sec-title {
    font: 800 .78rem/1 Pretendard, sans-serif;
    color: #475569;
    margin-bottom: .55rem
}

.sld__opts {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.sld__opt {
    display: flex;
    gap: 12px;
    padding: .8rem 1rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    align-items: center
}

.sld__opt i {
    font-size: 1.3rem;
    color: #94a3b8;
    width: 22px;
    text-align: center;
    flex-shrink: 0
}

.sld__opt strong {
    display: block;
    font: 800 1.1rem/1.2 Pretendard, sans-serif;
    color: #0f172a;
    margin-bottom: 3px
}

.sld__opt span {
    font-size: .98rem;
    color: #64748b;
    line-height: 1.45
}

.sld__opt.is-active {
    background: #eff6ff;
    border-color: #3b82f6
}

.sld__opt.is-active i {
    color: #2563eb
}

.sld__opt.is-active strong {
    color: #1d4ed8
}

.sld__colors {
    display: flex;
    flex-wrap: wrap;
    gap: 6px
}

.sld__colors button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;
    font: 700 1.02rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer
}

.sld__colors button.is-active {
    background: #eff6ff;
    border-color: #60a5fa;
    color: #1d4ed8
}

.sld__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block
}

.sld__dot--auto {
    background: linear-gradient(135deg, #94a3b8, #cbd5e1)
}

.sld__dot--blue {
    background: #2563eb
}

.sld__dot--green {
    background: #22c55e
}

.sld__dot--orange {
    background: #f97316
}

.sld__dot--teal {
    background: #14b8a6
}

.sld__dot--rose {
    background: #f43f5e
}

.sld__cta {
    margin-top: .95rem;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: #fff;
    font: 800 1.15rem/1 Pretendard, sans-serif;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}

.sld__cta em {
    font-style: normal;
    background: rgba(255, 255, 255, .22);
    padding: 5px 10px;
    border-radius: 999px;
    font-size: .98rem;
    display: inline-flex;
    align-items: center;
    gap: 4px
}

/* 자동 슬라이드 구성 (sld-layout) */
.lay {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #f8fafc;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(124, 45, 18, .18), 0 6px 16px rgba(124, 45, 18, .08);
    font: 500 .95rem/1.45 Pretendard, sans-serif;
    color: #0f172a;
    max-height: 520px;
    overflow-y: auto
}

.lay__bar {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: .85rem
}

/* sld-edit 액션 버튼 + 툴바 + 이미지 */
.lay__actions { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: .75rem; }
.lay__act { padding: 8px 16px; border-radius: 10px; border: 1px solid #e2e8f0; background: #fff; font: 700 1.02rem/1 Pretendard, sans-serif; color: #1e293b; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.lay__act--pri { background: #1e293b; color: #fff; border-color: #1e293b; }
.lay__act i { font-size: 1.02rem; }
.lay__toolbar2 { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: .75rem; }
.lay__toolbar2-label { font: 700 1.08rem/1 Pretendard, sans-serif; color: #94a3b8; }
.lay__toolbar2 button { width: 36px; height: 36px; border-radius: 10px; border: 0; background: #f1f5f9; color: #64748b; display: flex; align-items: center; justify-content: center; font-size: 1.08rem; cursor: pointer; }
.lay__toolbar2 button:hover { background: #e2e8f0; color: #0f172a; }
.sc2-slide[data-key="sld-edit"] .lay__toolbar2 { justify-content: flex-end; }

/* sld-viz-strategy 아이콘 인포그래픽 카드 */
.sld-info-card {
    position: relative; z-index: 1; width: 96%; max-width: 600px;
    background: #fff; border-radius: 18px; padding: 1.2rem 1.4rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .16), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 1.05rem/1.5 Pretendard, sans-serif; color: #0f172a;
}
.sld-info-card__title {
    font: 800 1.25rem/1 Pretendard, sans-serif; color: #4f46e5;
    display: flex; align-items: center; gap: 8px; margin-bottom: 1rem;
    padding-bottom: .75rem; border-bottom: 1px dashed #e2e8f0;
}
.sld-info-card__title i { font-size: 1.3rem; }
.sld-info-card__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 1rem; }
.sld-info-card__item {
    padding: 1rem; background: #f8fafc; border: 1px solid #e2e8f0;
    border-radius: 14px; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.sld-info-card__icon {
    width: 48px; height: 48px; border-radius: 14px;
    background: linear-gradient(135deg, #eef2ff, #dbeafe); color: #2563eb;
    display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
}
.sld-info-card__icon--green { background: linear-gradient(135deg, #f0fdf4, #dcfce7); color: #16a34a; }
.sld-info-card__icon--orange { background: linear-gradient(135deg, #fff7ed, #ffedd5); color: #ea580c; }
.sld-info-card__icon--purple { background: linear-gradient(135deg, #f5f3ff, #ede9fe); color: #7c3aed; }
.sld-info-card__item strong { font: 800 1.12rem/1 Pretendard, sans-serif; color: #0f172a; }
.sld-info-card__item p { font: 500 .98rem/1.45 Pretendard, sans-serif; color: #64748b; margin: 0; }
.sld-info-card__foot {
    font: 600 .98rem/1.5 Pretendard, sans-serif; color: #64748b;
    background: #f0f5ff; border-radius: 10px; padding: .7rem 1rem;
    display: flex; align-items: flex-start; gap: 6px;
}
.sld-info-card__foot i { color: #4f46e5; margin-top: 2px; flex-shrink: 0; }

/* sld-layout-edit 레이아웃 변경 모달 */
.sld-layout-change {
    position: relative; z-index: 1; width: 96%; max-width: 520px;
    background: #fff; border-radius: 18px; padding: 1.4rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .16), 0 6px 16px rgba(30, 27, 75, .08);
}
.sld-layout-change__head {
    display: flex; align-items: flex-start; gap: 10px; margin-bottom: 1.2rem;
    padding-bottom: .85rem; border-bottom: 1px solid #e2e8f0;
}
.sld-layout-change__head > i { font-size: 1.3rem; color: #0f172a; margin-top: 3px; }
.sld-layout-change__head strong { font: 800 1.2rem/1.35 Pretendard, sans-serif; color: #0f172a; }
.sld-layout-change__close { margin-left: auto; color: #94a3b8; cursor: pointer; font-size: 1.3rem; }
.sld-layout-change__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sld-layout-change__item {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 1.2rem 1rem; border-radius: 14px;
    border: 2px solid #e2e8f0; background: #fff; text-align: center;
}
.sld-layout-change__item i { font-size: 1.8rem; color: #3b82f6; }
.sld-layout-change__item strong { font: 800 1.15rem/1 Pretendard, sans-serif; color: #0f172a; }
.sld-layout-change__item em { font: 600 .98rem/1 Pretendard, sans-serif; color: #94a3b8; font-style: normal; }
.sld-layout-change__item.is-active { border-color: #3b82f6; background: #eff6ff; }
.sld-layout-change__item.is-current { border-color: #3b82f6; background: #eff6ff; }
.sld-layout-change__badge {
    font: 800 .85rem/1 Pretendard, sans-serif; color: #2563eb; background: #dbeafe;
    padding: 3px 8px; border-radius: 999px; margin-top: 2px;
}

/* sld-color-edit 테마 색상 변경 모달 */
.sld-color-change {
    position: relative; z-index: 1; width: 96%; max-width: 520px;
    background: #fff; border-radius: 18px; padding: 1.4rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .16), 0 6px 16px rgba(30, 27, 75, .08);
}
.sld-color-change__head {
    display: flex; align-items: flex-start; gap: 10px; margin-bottom: .85rem;
    padding-bottom: .85rem; border-bottom: 1px solid #e2e8f0;
}
.sld-color-change__head > i { font-size: 1.3rem; color: #0f172a; margin-top: 3px; }
.sld-color-change__head strong { font: 800 1.2rem/1.35 Pretendard, sans-serif; color: #0f172a; }
.sld-color-change__close { margin-left: auto; color: #94a3b8; cursor: pointer; font-size: 1.3rem; }
.sld-color-change__desc { font: 600 1rem/1 Pretendard, sans-serif; color: #475569; margin: 0 0 .95rem; }
.sld-color-change__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sld-color-change__item {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 1.1rem 1rem; border-radius: 14px;
    border: 2px solid #e2e8f0; background: #fff; text-align: center;
}
.sld-color-change__item strong { font: 800 1.1rem/1 Pretendard, sans-serif; color: #0f172a; }
.sld-color-change__item.is-current { border-color: #3b82f6; background: #eff6ff; }
.sld-color-change__badge {
    font: 800 .85rem/1 Pretendard, sans-serif; color: #2563eb; background: #dbeafe;
    padding: 3px 8px; border-radius: 999px; margin-top: 2px;
}
.sld-color-change__dot {
    display: inline-block;
    width: 28px; height: 28px; border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
}
.sld-color-change__dot--blue { background: #3b82f6; }
.sld-color-change__dot--green { background: #22c55e; }
.sld-color-change__dot--purple { background: #a855f7; }
.sld-color-change__dot--orange { background: #f97316; }
.sld-color-change__dot--teal { background: #14b8a6; }
.sld-color-change__dot--rose { background: #e11d48; }

/* sld-full-edit 전체 편집 화면 */
.sld-wip {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 800px;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .18), 0 6px 16px rgba(30, 27, 75, .08);
}

.sld-wip img {
    display: block;
    width: 100%;
    height: auto;
}

/* hero ring — 슬라이드 생성 카드 (slide_s1_3 퍼블리싱) */
.sld-hero { font: 500 1.05rem/1.5 Pretendard, sans-serif; }
.sld-hero__select { display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: .8rem; font: 600 1.05rem/1.3 Pretendard, sans-serif; color: #0f172a; }
.sld-hero__select i { color: #94a3b8; font-size: .95rem; }
.sld-hero__card { padding: .85rem 1rem; background: #fff; border: 1.5px solid #3b82f6; border-radius: 12px; margin-bottom: .85rem; }
.sld-hero__card-title { font: 800 1.08rem/1.3 Pretendard, sans-serif; color: #0f172a; margin-bottom: .45rem; display: flex; align-items: flex-start; gap: 6px; }
.sld-hero__card-title i { color: #3b82f6; margin-top: 2px; }
.sld-hero__card-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: .45rem; }
.sld-hero__card-meta span { font: 600 .92rem/1 Pretendard, sans-serif; color: #475569; background: #f1f5f9; padding: 4px 8px; border-radius: 5px; border: 1px solid #e2e8f0; }
.sld-hero__card-meta strong { color: #0f172a; font-weight: 800; }
.sld-hero__card-desc { font: 500 .98rem/1.5 Pretendard, sans-serif; color: #475569; margin: 0 0 .4rem; padding: .6rem .75rem; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; }
.sld-hero__card-desc strong { color: #0f172a; font-weight: 800; }
.sld-hero__card-more { display: block; text-align: right; font: 700 .95rem/1 Pretendard, sans-serif; color: #3b82f6; }
.sld-hero__sec { background: #f0f5ff; border-radius: 12px; padding: .85rem 1rem; margin-bottom: .75rem; }
.sld-hero__sec-title { font: 800 1.12rem/1 Pretendard, sans-serif; color: #0f172a; display: flex; align-items: center; gap: 6px; margin-bottom: .65rem; }
.sld-hero__sec-title i { color: #3b82f6; }
.sld-hero__opts { display: flex; flex-direction: column; gap: 5px; }
.sld-hero__opt { display: flex; gap: 10px; padding: .7rem .85rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; align-items: center; }
.sld-hero__opt i { font-size: 1.15rem; color: #94a3b8; width: 20px; text-align: center; }
.sld-hero__opt strong { font: 800 1.05rem/1.2 Pretendard, sans-serif; color: #0f172a; display: block; margin-bottom: 2px; }
.sld-hero__opt span { font: 500 .92rem/1.3 Pretendard, sans-serif; color: #64748b; }
.sld-hero__opt.is-active { background: #eff6ff; border-color: #3b82f6; }
.sld-hero__opt.is-active i { color: #2563eb; }
.sld-hero__opt.is-active strong { color: #1d4ed8; }
.sld-hero__colors { display: flex; flex-wrap: wrap; gap: 6px; }
.sld-hero__color { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; font: 700 .98rem/1 Pretendard, sans-serif; color: #475569; }
.sld-hero__color i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.sld-hero__color.is-active { border-color: #3b82f6; background: #eff6ff; color: #1d4ed8; }
.sld-hero__cta { margin-top: .75rem; width: 100%; padding: 12px 16px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #3b82f6, #2563eb); color: #fff; font: 800 1.12rem/1 Pretendard, sans-serif; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; }
.sld-hero__cta em { font-style: normal; background: rgba(255,255,255,.2); padding: 4px 10px; border-radius: 999px; font-size: .98rem; display: inline-flex; align-items: center; gap: 3px; }

/* rcard 상단 라벨 */
.rcard__label {
    font: 600 1.4rem/1 Pretendard, sans-serif; justify-content: center;
    color: #40455f; background: linear-gradient(135deg, #b3d5fd, #ede2ff); display: flex; align-items: flex-end;
    gap: 8px; margin: 0 0 1rem; padding: 1rem 1.2rem; border-radius: 16px;
    position: sticky; top: 0; z-index: 5; }
.rcard__label i { font-size: 1.2rem; }
/* bizplan 카드 내용 — 글자 +0.2rem, 볼드 강화 */
[data-category="bizplan"] .rcard__chip { font-size: .92rem; font-weight: 800; }
[data-category="bizplan"] .rcard__title { font-size: 1.8rem; font-weight: 900; }
[data-category="bizplan"] .rcard__src { font-size: .98rem; font-weight: 700; }
[data-category="bizplan"] .rcard__meta { font-size: .94rem; font-weight: 700; }
[data-category="bizplan"] .rcard__link { font-size: .94rem; font-weight: 700; }
[data-category="bizplan"] .rcard__note { font-size: .94rem; font-weight: 700; }
[data-category="bizplan"] .rcard__sec-title { font-size: 1.15rem; font-weight: 900; }
[data-category="bizplan"] .rcard__list li { font-size: 1.12rem; font-weight: 700; }
[data-category="bizplan"] .rcard__title--quote { font-size: 1.2rem; font-weight: 700; }
[data-category="bizplan"] .rcard__list--refs li { font-size: 1.18rem; font-weight: 700; }
[data-category="bizplan"] .rcard__alert { font-size: .94rem; font-weight: 700; }

/* ring — 시장 분석 카드 (slide_s2_1-4) */
.sld-market__sec { margin-bottom: .75rem; }
.sld-market__title { font: 800 1.12rem/1 Pretendard, sans-serif; color: #0f172a; display: flex; align-items: center; gap: 6px; margin-bottom: .6rem; }
.sld-market__title i { color: #4f46e5; }
.sld-market__compare { display: flex; gap: 6px; }
.sld-market__comp { flex: 1; padding: .7rem .8rem; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; }
.sld-market__comp strong { font: 800 1.05rem/1 Pretendard, sans-serif; color: #0f172a; display: block; margin-bottom: 4px; }
.sld-market__comp p { font: 500 .95rem/1.4 Pretendard, sans-serif; color: #64748b; margin: 0; }
.sld-market__comp.is-active { background: #eff6ff; border-color: #3b82f6; }
.sld-market__comp.is-active strong { color: #1d4ed8; }
.sld-market__comp.is-active p { color: #1e40af; }
.sld-market__tam { display: flex; flex-direction: column; gap: 6px; }
.sld-market__tam > div { display: flex; align-items: center; gap: 10px; padding: .65rem .85rem; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; }
.sld-market__tam span { font: 800 1.02rem/1 Pretendard, sans-serif; color: #475569; min-width: 36px; }
.sld-market__tam p { flex: 1; font: 500 .95rem/1.3 Pretendard, sans-serif; color: #64748b; margin: 0; }
.sld-market__tam strong { font: 800 1.05rem/1 Pretendard, sans-serif; color: #0f172a; flex-shrink: 0; }
.sld-market__tam .is-som { background: linear-gradient(135deg, #dbeafe, #bfdbfe); border-color: #93c5fd; }
.sld-market__tam .is-som span, .sld-market__tam .is-som strong { color: #1d4ed8; }

/* ring — AI 생성 과정 카드 (slide_s2_3) */
.sld-process__header { font: 800 .98rem/1 Pretendard, sans-serif; color: #94a3b8; text-transform: uppercase; letter-spacing: .5px; margin-bottom: .5rem; }
.sld-process__info { padding: .7rem .85rem; background: #f0f5ff; border-radius: 10px; border: 1px solid #dbeafe; margin-bottom: .7rem; }
.sld-process__row { display: flex; gap: 8px; padding: 3px 0; font: 600 1rem/1.4 Pretendard, sans-serif; color: #64748b; }
.sld-process__row strong { color: #0f172a; font-weight: 800; }
.sld-process__log { display: flex; flex-direction: column; gap: 4px; margin-bottom: .7rem; }
.sld-process__msg { font: 600 1rem/1.4 Pretendard, sans-serif; color: #475569; display: flex; align-items: center; gap: 6px; padding: 4px 0; }
.sld-process__msg--sub { padding-left: 1.6rem; font-weight: 500; color: #94a3b8; font-size: .95rem; }
.sld-process__msg i.fa-circle-check { color: #16a34a; }
.sld-process__msg i.fa-robot { color: #6366f1; }
.sld-process__msg i.fa-sitemap { color: #6366f1; }
.sld-process__msg i.fa-brain { color: #8b5cf6; }
.sld-process__analysis { display: flex; flex-direction: column; gap: 5px; }
.sld-process__item { padding: .6rem .8rem; background: #f8fafc; border-radius: 8px; border-left: 3px solid #2563eb; border-top: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; }
.sld-process__item strong { font: 800 1.02rem/1 Pretendard, sans-serif; color: #2563eb; display: block; margin-bottom: 3px; }
.sld-process__item p { font: 500 .98rem/1.4 Pretendard, sans-serif; color: #475569; margin: 0; }
.sld-process__loading { display: flex; align-items: center; gap: 8px; margin-top: .7rem; padding: .5rem 0; }
.sld-process__spinner { width: 16px; height: 16px; border: 2px solid #dbeafe; border-top-color: #2563eb; border-radius: 50%; animation: sldSpin 1s linear infinite; }
@keyframes sldSpin { to { transform: rotate(360deg); } }
.sld-process__loading span { font: 600 1rem/1 Pretendard, sans-serif; color: #2563eb; }

/* ring — 비즈니스 모델 카드 (slide---4) */
.sld-biz__sec { margin-bottom: .75rem; }
.sld-biz__title { font: 800 1.12rem/1 Pretendard, sans-serif; color: #0f172a; display: flex; align-items: center; gap: 6px; margin-bottom: .6rem; }
.sld-biz__title i { color: #4f46e5; }
.sld-biz__row { display: flex; align-items: center; justify-content: space-between; padding: .5rem .8rem; border-bottom: 1px solid #f1f5f9; font: 600 1rem/1 Pretendard, sans-serif; }
.sld-biz__row span { color: #64748b; }
.sld-biz__row strong { color: #0f172a; font-weight: 800; }
.sld-biz__row:last-child { border-bottom: 0; }
.sld-biz__steps { display: flex; gap: 6px; margin-bottom: .65rem; }
.sld-biz__step { flex: 1; padding: .65rem .75rem; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; text-align: center; }
.sld-biz__step em { font-style: normal; font: 800 .92rem/1 Pretendard, sans-serif; color: #4f46e5; display: block; margin-bottom: 4px; }
.sld-biz__step strong { font: 800 .98rem/1.2 Pretendard, sans-serif; color: #0f172a; display: block; margin-bottom: 3px; }
.sld-biz__step p { font: 500 .9rem/1.3 Pretendard, sans-serif; color: #64748b; margin: 0; }
.sld-biz__bep { display: flex; align-items: center; justify-content: space-between; padding: .6rem .85rem; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; }
.sld-biz__bep span { font: 700 1.02rem/1 Pretendard, sans-serif; color: #0f172a; }
.sld-biz__bep strong { font: 800 1.12rem/1 Pretendard, sans-serif; color: #16a34a; }

/* 모의면접 결과 카드 (interview_s2_1 퍼블리싱) */
.ivw-result { font: 500 1.05rem/1.5 Pretendard, sans-serif; }
.ivw-result__top { text-align: center; padding: 1.2rem; background: linear-gradient(135deg, #eef2ff, #ede9fe); border-radius: 14px; margin-bottom: .85rem; }
.ivw-result__score { font: 900 3.2rem/1 Pretendard, sans-serif; color: #4f46e5; }
.ivw-result__grade { display: inline-block; font: 800 .98rem/1 Pretendard, sans-serif; color: #fff; background: #6366f1; padding: 5px 14px; border-radius: 999px; margin: .4rem 0; }
.ivw-result__top p { font: 600 1.02rem/1 Pretendard, sans-serif; color: #64748b; margin: .4rem 0 0; }
.ivw-result__top p strong { color: #0f172a; font-weight: 800; }
.ivw-result__top p i { margin-right: 4px; }
.ivw-result__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: .85rem; }
.ivw-result__stats > div { text-align: center; padding: .65rem .5rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
.ivw-result__stats span { display: block; font: 600 .92rem/1 Pretendard, sans-serif; color: #94a3b8; margin-bottom: 4px; }
.ivw-result__stats strong { font: 800 1.2rem/1 Pretendard, sans-serif; color: #0f172a; }
.ivw-result__hi { color: #2563eb !important; }
.ivw-result__lo { color: #dc2626 !important; }
.ivw-result__sec { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: .85rem 1rem; margin-bottom: .75rem; }
.ivw-result__sec-title { font: 800 1.08rem/1 Pretendard, sans-serif; color: #0f172a; display: flex; align-items: center; gap: 6px; margin-bottom: .65rem; }
.ivw-result__sec-title i { color: #6366f1; }
.ivw-result__bars { display: flex; flex-direction: column; gap: 5px; }
.ivw-result__bar { display: flex; align-items: center; gap: 8px; }
.ivw-result__bar span { flex: 0 0 24px; font: 800 .98rem/1 Pretendard, sans-serif; color: #475569; }
.ivw-result__bar > div { flex: 1; height: 8px; background: #eef2ff; border-radius: 999px; overflow: hidden; }
.ivw-result__bar i { display: block; height: 100%; background: linear-gradient(90deg, #818cf8, #f472b6); border-radius: 999px; }
.ivw-result__bar em { flex: 0 0 26px; text-align: right; font: 800 .98rem/1 Pretendard, sans-serif; color: #0f172a; font-style: normal; }
.ivw-result__radar { display: flex; justify-content: center; padding: .5rem 0; }
.ivw-radar-chart { width: 100%; max-width: 280px; height: auto; }
.ivw-radar__grid { fill: none; stroke: #e2e8f0; stroke-width: 1; }
.ivw-radar__axis { stroke: #cbd5e1; stroke-width: .8; }
.ivw-radar__scale { font: 500 11px Pretendard, sans-serif; fill: #94a3b8; }
.ivw-radar__data { fill: rgba(99,102,241,.2); stroke: #6366f1; stroke-width: 2; }
.ivw-radar__dot { fill: #6366f1; stroke: #fff; stroke-width: 1.5; }
.ivw-radar__label { font: 700 13px Pretendard, sans-serif; fill: #334155; }

/* 모의면접 종합 평가 카드 (interview_s2_4 퍼블리싱) */
.ivw-eval { display: flex; flex-direction: column; gap: 12px; }
.ivw-eval__sec { padding: .7rem .85rem; background: #f8fafc; border-radius: 10px; border: 1px solid #e2e8f0; }
.ivw-eval__sec-title { font: 800 1.22rem/1.3 Pretendard, sans-serif; color: #1e293b; margin-bottom: .5rem; }
.ivw-eval__sec p { font: 500 1.18rem/1.6 Pretendard, sans-serif; color: #475569; margin: 0 0 .4rem; }
.ivw-eval__sec p:last-child { margin-bottom: 0; }
.ivw-eval__sec p strong { color: #1e293b; font-weight: 800; }

/* 모의면접 입력정보+채팅형 Q&A (interview_s2_3 퍼블리싱) */
.ivw-chat { display: flex; flex-direction: column; gap: 10px; }
.ivw-chat__info { padding: .7rem .85rem; background: #f0f5ff; border-radius: 10px; border: 1px solid #dbeafe; }
.ivw-chat__info-title { font: 800 1.02rem/1 Pretendard, sans-serif; color: #2563eb; display: flex; align-items: center; gap: 6px; margin-bottom: .5rem; }
.ivw-chat__info-row { display: flex; gap: 8px; padding: 3px 0; font: 600 .98rem/1.4 Pretendard, sans-serif; color: #64748b; }
.ivw-chat__info-row strong { color: #0f172a; font-weight: 800; }
.ivw-chat__q { padding: .6rem .8rem; background: linear-gradient(135deg, #eef2ff, #e0e7ff); border-radius: 10px; font: 600 1rem/1.5 Pretendard, sans-serif; color: #312e81; border: 1px solid #c7d2fe; }
.ivw-chat__q-num { display: inline-block; background: #4f46e5; color: #fff; font: 800 .9rem/1 Pretendard, sans-serif; padding: 3px 8px; border-radius: 6px; margin-right: 6px; }
.ivw-chat__a { display: flex; gap: 8px; padding: .6rem .8rem; background: #f8fafc; border-radius: 10px; border: 1px solid #e2e8f0; font: 500 .98rem/1.5 Pretendard, sans-serif; color: #475569; }
.ivw-chat__a i { color: #6366f1; margin-top: 3px; flex-shrink: 0; }
.ivw-chat__a p { margin: 0; }
.ivw-chat__fb { padding: .6rem .8rem; border-radius: 10px; font: 500 .98rem/1.5 Pretendard, sans-serif; }
.ivw-chat__fb p { margin: 0 0 4px; }
.ivw-chat__fb-head { font: 700 1rem/1 Pretendard, sans-serif; display: flex; align-items: center; gap: 6px; margin-bottom: .4rem; }
.ivw-chat__fb--good { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.ivw-chat__fb--good .ivw-chat__fb-head { color: #16a34a; }
.ivw-chat__fb--warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.ivw-chat__fb--warn .ivw-chat__fb-head { color: #d97706; }
.ivw-chat__fb--ai { background: #f5f3ff; border: 1px solid #ddd6fe; color: #5b21b6; }
.ivw-chat__fb--ai .ivw-chat__fb-head { color: #7c3aed; }

/* 모의면접 문항별 평가 카드 (interview_s2_2 퍼블리싱) */
.ivw-qa { font: 500 1.05rem/1.5 Pretendard, sans-serif; }
.ivw-qa__tabs { display: flex; gap: 4px; margin-bottom: .75rem; flex-wrap: wrap; }
.ivw-qa__tab { padding: 6px 14px; border-radius: 8px; font: 700 1.02rem/1 Pretendard, sans-serif; color: #64748b; background: #f1f5f9; cursor: pointer; }
.ivw-qa__tab.is-active { background: #4f46e5; color: #fff; }
.ivw-qa__question { padding: .85rem 1rem; background: #f5f3ff; border-left: 3px solid #7c3aed; border-radius: 0 10px 10px 0; margin-bottom: .75rem; }
.ivw-qa__question p { font: 600 1.05rem/1.55 Pretendard, sans-serif; color: #4c1d95; margin: 0; }
.ivw-qa__section { margin-bottom: .65rem; }
.ivw-qa__sec-title { font: 800 1.05rem/1 Pretendard, sans-serif; color: #0f172a; display: flex; align-items: center; gap: 6px; margin-bottom: .5rem; }
.ivw-qa__sec-title i { color: #64748b; }
.ivw-qa__sec-title--ai i { color: #6366f1; }
.ivw-qa__answer { padding: .75rem .9rem; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; font: 500 1.02rem/1.55 Pretendard, sans-serif; color: #475569; }
.ivw-qa__answer strong { color: #0f172a; font-weight: 800; }
.ivw-qa__feedback { display: flex; flex-direction: column; gap: 6px; }
.ivw-qa__fb { padding: .7rem .85rem; border-radius: 10px; border: 1px solid #e2e8f0; }
.ivw-qa__fb span { font: 800 .95rem/1 Pretendard, sans-serif; display: inline-block; padding: 3px 8px; border-radius: 5px; margin-bottom: 4px; }
.ivw-qa__fb p { font: 500 1rem/1.5 Pretendard, sans-serif; color: #475569; margin: 0; }
.ivw-qa__fb p strong { color: #0f172a; font-weight: 800; }
.ivw-qa__fb--good { background: #f0fdf4; border-color: #bbf7d0; }
.ivw-qa__fb--good span { color: #16a34a; background: #dcfce7; }
.ivw-qa__fb--improve { background: #fef3c7; border-color: #fde68a; }
.ivw-qa__fb--improve span { color: #a16207; background: #fef9c3; }
.ivw-qa__sec-title--good { color: #16a34a; }
.ivw-qa__sec-title--good i { color: #16a34a; }
.ivw-qa__sec-title--warn { color: #d97706; }
.ivw-qa__sec-title--warn i { color: #d97706; }
.ivw-qa__score-chip { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; font: 700 .95rem/1 Pretendard, sans-serif; color: #16a34a; background: #dcfce7; padding: 4px 10px; border-radius: 999px; }
.ivw-qa__score-chip strong { font-weight: 900; }
.ivw-qa__score-chip--warn { color: #d97706; background: #fef9c3; }
.ivw-qa__model { padding: .75rem .9rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; font: 500 1.02rem/1.6 Pretendard, sans-serif; color: #1e40af; }
.ivw-qa__model p { margin: 0; }
.ivw-qa__model strong { color: #1d4ed8; font-weight: 800; }

.lay__page-img { border-radius: 10px; overflow: hidden; border: 1px solid #e2e8f0; box-shadow: 0 4px 12px rgba(15,23,42,.06); }
.lay__page-img img { width: 100%; height: auto; display: block; }

.lay__bar button {
    padding: 6px 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 6px;
    font: 700 .68rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px
}

.lay__page {
    background: #fff;
    border-radius: 10px;
    padding: .85rem 1rem;
    border: 1px solid #e2e8f0;
    margin-bottom: .7rem;
    position: relative
}

.lay__num {
    position: absolute;
    top: .85rem;
    left: 1rem;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 800 .65rem/1 Pretendard, sans-serif
}

.lay__head {
    padding-left: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font: 700 .68rem/1 Pretendard, sans-serif;
    color: #475569;
    margin-bottom: .7rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid #f1f5f9
}

.lay__head em {
    font-style: normal;
    color: #94a3b8;
    font-size: .62rem
}

.lay__cover {
    display: flex;
    gap: 0;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    overflow: hidden
}

.lay__cover-l {
    flex: 1.4;
    padding: .85rem .9rem;
    background: #fff
}

.lay__chip {
    display: inline-block;
    padding: 4px 9px;
    background: #dbeafe;
    color: #1d4ed8;
    border-radius: 5px;
    font: 800 .58rem/1 Pretendard, sans-serif;
    margin-bottom: .5rem
}

.lay__cover-l h4 {
    margin: 0 0 .45rem;
    font: 900 .98rem/1.3 Pretendard, sans-serif;
    color: #0f172a;
    letter-spacing: -.01em
}

.lay__cover-l h4 strong {
    color: #2563eb
}

.lay__cover-l p {
    margin: 0 0 .55rem;
    font-size: .62rem;
    color: #64748b;
    line-height: 1.5
}

.lay__meta {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: .5rem;
    border-top: 1px dashed #e2e8f0
}

.lay__meta span {
    display: block;
    font: 800 .55rem/1 Pretendard, sans-serif;
    color: #94a3b8;
    letter-spacing: .05em;
    margin-bottom: 2px
}

.lay__meta strong {
    font: 700 .66rem/1 Pretendard, sans-serif;
    color: #0f172a
}

.lay__cover-r {
    flex: 1;
    background: linear-gradient(160deg, #1d4ed8, #1e40af);
    color: #fff;
    padding: 1rem .85rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px
}

.lay__cover-r i {
    font-size: 1.6rem;
    background: rgba(255, 255, 255, .18);
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center
}

.lay__cover-r strong {
    font: 800 .8rem/1.2 Pretendard, sans-serif
}

.lay__cover-r span {
    font-size: .55rem;
    opacity: .8;
    font-weight: 600
}

.lay__bar2 {
    padding: 6px 12px;
    background: #1d4ed8;
    color: #fff;
    border-radius: 6px;
    font: 700 .65rem/1 Pretendard, sans-serif;
    margin-bottom: .6rem;
    display: flex;
    align-items: center;
    gap: 8px
}

.lay__bar2 strong {
    font-weight: 800;
    background: #fff;
    color: #1d4ed8;
    padding: 3px 6px;
    border-radius: 4px;
    font-size: .55rem
}

.lay__row {
    display: flex;
    gap: 8px;
    padding: .55rem .65rem;
    background: #f8fafc;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    margin-bottom: .6rem
}

.lay__row i {
    color: #2563eb;
    font-size: .7rem;
    margin-top: 2px
}

.lay__row p {
    margin: 0;
    font-size: .66rem;
    color: #475569;
    line-height: 1.5
}

.lay__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px
}

.lay__card {
    padding: .55rem .7rem;
    background: #eff6ff;
    border-radius: 6px;
    border: 1px solid #bfdbfe
}

.lay__card strong {
    display: block;
    font: 800 .68rem/1 Pretendard, sans-serif;
    color: #1d4ed8;
    margin-bottom: 5px
}

.lay__card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 3px
}

.lay__card li {
    position: relative;
    padding-left: 11px;
    font-size: .6rem;
    color: #475569;
    line-height: 1.4
}

.lay__card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #2563eb;
    font-weight: 800
}

.sc2-slide[data-cat="slide"] .phold>i {
    background: linear-gradient(135deg, #f97316, #ea580c)
}

/* 공통 pub 카드 (사업계획서 mock 퍼블리싱) */
.sc2-slide[data-key^="biz-eval"] .sc2-slide__media,
.sc2-slide[data-key^="biz-score"] .sc2-slide__media,
.sc2-slide[data-key^="biz-edit"] .sc2-slide__media,
.sc2-slide[data-key^="biz-history"] .sc2-slide__media,
.sc2-slide[data-key^="biz-export"] .sc2-slide__media {
    background: linear-gradient(160deg, #eef2ff 0%, #e0e7ff 60%, #c7d2fe 100%);
    overflow: hidden;
    padding: 2rem;
    align-items: center;
    justify-content: center
}

.sc2-slide[data-key^="biz-eval"] .sc2-slide__media::before,
.sc2-slide[data-key^="biz-score"] .sc2-slide__media::before,
.sc2-slide[data-key^="biz-edit"] .sc2-slide__media::before,
.sc2-slide[data-key^="biz-history"] .sc2-slide__media::before,
.sc2-slide[data-key^="biz-export"] .sc2-slide__media::before {
    display: none
}

.pub {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 18px;
    padding: 1.5rem 1.75rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .18), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 .82rem/1.5 Pretendard, sans-serif;
    color: #0f172a
}

.pub__title {
    font: 800 1rem/1 Pretendard, sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
    padding-bottom: .85rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0
}

.pub__title i {
    color: #6366f1
}

.pub__note {
    margin-top: .95rem;
    padding: .65rem .9rem;
    background: #eef2ff;
    border-radius: 8px;
    font: 600 .76rem/1.5 Pretendard, sans-serif;
    color: #4f46e5;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.pub__note i {
    margin-top: 2px;
    flex-shrink: 0
}

/* 평가 리포트 */
.eval {
    display: flex;
    flex-direction: column;
    gap: .65rem
}

.eval__row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: .78rem
}

.eval__name {
    flex: 0 0 88px;
    font-weight: 700;
    color: #1e293b
}

.eval__bar {
    flex: 1;
    height: 8px;
    background: #eef2ff;
    border-radius: 999px;
    overflow: hidden
}

.eval__bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #6366f1, #8b5cf6);
    border-radius: 999px
}

.eval__score {
    flex: 0 0 32px;
    text-align: right;
    font: 800 .85rem/1 Pretendard, sans-serif;
    color: #4f46e5
}

/* 점수 카드 */
.score {
    display: flex;
    gap: 1rem;
    align-items: stretch
}

.score__big {
    flex: 0 0 36%;
    background: linear-gradient(160deg, #4f46e5, #7c3aed);
    border-radius: 14px;
    padding: 1.1rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center
}

.score__num {
    font: 900 2.4rem/1 Pretendard, sans-serif;
    letter-spacing: -.02em
}

.score__num small {
    font-size: .85rem;
    font-weight: 700;
    opacity: .8
}

.score__grade {
    margin-top: .4rem;
    font: 800 .9rem/1 Pretendard, sans-serif;
    background: #fff;
    color: #4f46e5;
    padding: 5px 12px;
    border-radius: 999px
}

.score__sub {
    margin-top: .6rem;
    font: 600 .68rem/1 Pretendard, sans-serif;
    opacity: .85
}

.score__list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .55rem
}

.score__item {
    display: flex;
    gap: 10px;
    padding: .65rem .8rem;
    background: #f0fdf4;
    border-radius: 10px;
    border: 1px solid #bbf7d0;
    align-items: flex-start
}

.score__item i {
    color: #16a34a;
    font-size: .95rem;
    margin-top: 2px
}

.score__item strong {
    display: block;
    font: 800 .8rem/1 Pretendard, sans-serif;
    color: #15803d;
    margin-bottom: 3px
}

.score__item p {
    margin: 0;
    font-size: .72rem;
    color: #475569;
    line-height: 1.45
}

.score__item--warn {
    background: #fef3c7;
    border-color: #fde68a
}

.score__item--warn i {
    color: #d97706
}

.score__item--warn strong {
    color: #a16207
}

/* 부분 수정 */
.edit {
    display: flex;
    gap: .85rem
}

.edit__list {
    flex: 0 0 38%;
    display: flex;
    flex-direction: column;
    gap: 5px
}

.edit__item {
    padding: 9px 12px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font: 600 .76rem/1.3 Pretendard, sans-serif;
    color: #475569
}

.edit__item--active {
    background: linear-gradient(135deg, #eef2ff, #ede9fe);
    border-color: #a5b4fc;
    color: #4f46e5;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.edit__item--active span {
    font-size: .65rem;
    font-weight: 800;
    background: #4f46e5;
    color: #fff;
    padding: 3px 8px;
    border-radius: 999px;
    animation: editBlink 1.5s ease-in-out infinite
}

@keyframes editBlink {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .55
    }
}

.edit__panel {
    flex: 1;
    background: #f8fafc;
    border-radius: 10px;
    padding: .85rem .9rem;
    border: 1px solid #e2e8f0
}

.edit__diff {
    font: 500 .72rem/1.5 Pretendard, sans-serif;
    padding: 6px 10px;
    border-radius: 6px;
    margin-bottom: 5px
}

.edit__diff--del {
    background: #fef2f2;
    color: #b91c1c;
    text-decoration: line-through
}

.edit__diff--add {
    background: #f0fdf4;
    color: #15803d
}

.edit__btn {
    margin-top: .5rem;
    padding: 8px 16px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
    color: #fff;
    font: 800 .72rem/1 Pretendard, sans-serif;
    cursor: pointer;
    width: 100%
}

/* 수정 이력 */
.hist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    position: relative
}

.hist::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: #e2e8f0
}

.hist__item {
    display: flex;
    gap: 14px;
    position: relative;
    padding-left: 4px
}

.hist__dot {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #cbd5e1;
    border: 2px solid #fff;
    margin-top: 4px;
    z-index: 1;
    box-shadow: 0 0 0 1px #e2e8f0
}

.hist__item--current .hist__dot {
    background: #4f46e5;
    box-shadow: 0 0 0 1px #4f46e5, 0 0 0 5px rgba(79, 70, 229, .18)
}

.hist__head {
    display: flex;
    align-items: center;
    gap: 8px
}

.hist__head strong {
    font: 800 .85rem/1 Pretendard, sans-serif;
    color: #0f172a
}

.hist__head span {
    font: 800 .62rem/1 Pretendard, sans-serif;
    background: #dcfce7;
    color: #16a34a;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid #86efac
}

.hist__item p {
    margin: .2rem 0;
    font-size: .74rem;
    color: #475569;
    line-height: 1.45
}

.hist__item time {
    font-size: .66rem;
    color: #94a3b8;
    font-weight: 600
}

/* 내보내기 */
.exp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .75rem
}

.exp__card {
    padding: 1rem .85rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    transition: transform .2s
}

.exp__card:hover {
    transform: translateY(-3px)
}

.exp__card i {
    font-size: 1.8rem
}

.exp__card--pdf i {
    color: #dc2626
}

.exp__card--word i {
    color: #2563eb
}

.exp__card--hwp i {
    color: #0f172a
}

.exp__name {
    font: 800 .85rem/1 Pretendard, sans-serif;
    color: #0f172a
}

.exp__sub {
    font: 600 .65rem/1 Pretendard, sans-serif;
    color: #94a3b8
}

.exp__card button {
    margin-top: 6px;
    padding: 7px 12px;
    border: 0;
    border-radius: 6px;
    background: #4f46e5;
    color: #fff;
    font: 800 .68rem/1 Pretendard, sans-serif;
    cursor: pointer;
    width: 100%
}

.exp__card--word button {
    background: #2563eb
}

.exp__card--pdf button {
    background: #dc2626
}

.exp__card--hwp button {
    background: #0f172a
}

@media (max-width:1200px) {
    .pub {
        padding: 1.2rem 1.4rem
    }

    .score {
        flex-direction: column
    }

    .score__big {
        flex: none
    }

    .edit {
        flex-direction: column
    }

    .edit__list {
        flex: none
    }
}

/* 사업계획서 mock 퍼블리싱 - 미디어 배경에 원본 이미지 깔기 */
.sc2-slide[data-key="biz-eval"] .sc2-slide__media,
.sc2-slide[data-key="biz-score"] .sc2-slide__media,
.sc2-slide[data-key="biz-edit"] .sc2-slide__media,
.sc2-slide[data-key="biz-history"] .sc2-slide__media,
.sc2-slide[data-key="biz-export"] .sc2-slide__media {
    overflow: hidden;
    padding: 2rem;
    align-items: center;
    justify-content: center
}

.sc2-slide[data-key="biz-eval"] .sc2-slide__media {
    background: linear-gradient(rgba(255, 247, 237, .88), rgba(254, 215, 170, .92)), url('/assets/images/main/biz_s1_1--4.png') center/cover
}

.sc2-slide[data-key="biz-score"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .88), rgba(199, 210, 254, .92)), url('/assets/images/main/biz_s1_1--7.png') center/cover
}

.sc2-slide[data-key="biz-edit"] .sc2-slide__media {
    background: linear-gradient(rgba(239, 246, 255, .88), rgba(191, 219, 254, .92)), url('/assets/images/main/biz_s1_1--2.png') center/cover
}

.sc2-slide[data-key="biz-history"] .sc2-slide__media {
    background: linear-gradient(rgba(248, 250, 252, .88), rgba(226, 232, 240, .92)), url('/assets/images/main/biz_s1_1--5.png') center/cover
}

.sc2-slide[data-key="biz-export"] .sc2-slide__media {
    background: linear-gradient(rgba(240, 253, 244, .92), rgba(187, 247, 208, .55)), url('/assets/images/main/biz_s1_1--6.png') center/cover
}

.sc2-slide[data-key="biz-eval"] .sc2-slide__media::before,
.sc2-slide[data-key="biz-score"] .sc2-slide__media::before,
.sc2-slide[data-key="biz-edit"] .sc2-slide__media::before,
.sc2-slide[data-key="biz-history"] .sc2-slide__media::before,
.sc2-slide[data-key="biz-export"] .sc2-slide__media::before {
    display: none
}

/* 평가 리포트 (s2_2) */
.evalrep {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .2), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 1.05rem/1.4 Pretendard, sans-serif;
    color: #0f172a;
    border-top: 4px solid #f97316
}

.evalrep__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .85rem
}

.evalrep__title {
    font: 800 1.2rem/1 Pretendard, sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a
}

.evalrep__title i {
    color: #f97316
}

.evalrep__right {
    display: flex;
    align-items: center;
    gap: 10px
}

.evalrep__ver {
    padding: 6px 12px;
    background: #fff7ed;
    color: #c2410c;
    border-radius: 8px;
    font: 800 .98rem/1 Pretendard, sans-serif;
    border: 1px solid #fed7aa;
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.evalrep__close {
    color: #94a3b8;
    cursor: pointer
}

.evalrep__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: .95rem
}

.evalrep__tab {
    padding: 9px 14px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    font: 700 1rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.evalrep__tab strong {
    font-weight: 800;
    color: #1e293b
}

.evalrep__tab span {
    font: 800 .88rem/1 Pretendard, sans-serif;
    color: #f97316;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 7px;
}

.evalrep__tab.is-active {
    background: #fff7ed;
    border-color: #fb923c;
    color: #c2410c
}

.evalrep__tab.is-active strong {
    color: #9a3412
}

.evalrep__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px
}

.evalrep__done {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #9a3412;
    font-weight: 700;
    font-size: 1.02rem
}

.evalrep__done i {
    color: #f97316;
    font-size: 1.25rem
}

.evalrep__btn {
    padding: 9px 14px;
    background: #f97316;
    color: #fff;
    border: 0;
    border-radius: 8px;
    font: 800 .98rem/1 Pretendard, sans-serif;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px
}

/* 점수 리포트 (s2_3) */
.rep {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .2), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 .98rem/1.5 Pretendard, sans-serif;
    color: #0f172a;
    max-height: 520px;
    overflow-y: auto
}

.rep__title {
    font: 800 1.1rem/1.3 Pretendard, sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
    padding-bottom: .7rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid #e2e8f0
}

.rep__title i {
    color: #f97316
}

.rep__title em {
    font-style: normal;
    font-weight: 700;
    color: #94a3b8;
    font-size: .98rem
}

.rep__top {
    display: flex;
    gap: .85rem;
    margin-bottom: .85rem;
    align-items: flex-start
}

.rep__score {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px
}

.rep__grade {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 900 1.45rem/1 Pretendard, sans-serif
}

.rep__num {
    font: 900 1.25rem/1 Pretendard, sans-serif;
    color: #16a34a
}

.rep__num small {
    font-size: .85rem;
    font-weight: 700
}

.rep__chip {
    font: 800 .82rem/1 Pretendard, sans-serif;
    background: #dcfce7;
    color: #16a34a;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid #86efac
}

.rep__summary {
    flex: 1;
    font-size: .94rem;
    color: #475569;
    line-height: 1.55
}

.rep__radar {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 8px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 1.4rem
}

.rep__radar--chart {
    width: 160px;
    height: auto;
    background: transparent;
    border-radius: 0;
    padding: 2px 0;
    display: block;
}

.rep__radar-svg {
    display: block;
    width: 100%;
    height: auto;
}

.rep__radar-grid polygon {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 0.7;
}

.rep__radar-axes line {
    stroke: #e2e8f0;
    stroke-width: 0.7;
}

.rep__radar-data {
    fill: rgba(99, 102, 241, 0.22);
    stroke: #4f46e5;
    stroke-width: 1.5;
    stroke-linejoin: round;
}

.rep__radar-dots circle {
    fill: #4f46e5;
    stroke: #fff;
    stroke-width: 1;
}

.rep__radar-labels text {
    font: 700 8px/1 Pretendard, sans-serif;
    fill: #475569;
}

.rep__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: .95rem
}

.rep__tags span {
    font: 700 .86rem/1 Pretendard, sans-serif;
    background: #eff6ff;
    color: #2563eb;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid #bfdbfe
}

.rep__sec {
    margin-bottom: .9rem;
    padding: .7rem .85rem;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0
}

.rep__sec-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font: 800 1.02rem/1 Pretendard, sans-serif;
    color: #0f172a;
    margin-bottom: .6rem
}

.rep__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 5px;
    color: #fff;
    font: 900 .88rem/1 Pretendard, sans-serif
}

.rep__badge--p {
    background: #7c3aed
}

.rep__badge--s {
    background: #0ea5e9
}

.rep__badge--s2 {
    background: #22c55e
}

.rep__mini {
    margin-left: auto;
    font: 800 .88rem/1 Pretendard, sans-serif;
    color: #16a34a;
    background: #dcfce7;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid #86efac
}

.rep__row {
    display: flex;
    gap: 8px;
    padding: 5px 0;
    font-size: .9rem;
    line-height: 1.5;
    color: #475569
}

.rep__row span {
    flex-shrink: 0;
    font: 800 .82rem/1 Pretendard, sans-serif;
    padding: 4px 7px;
    border-radius: 5px;
    height: fit-content;
    margin-top: 2px
}

.rep__row--g span {
    background: #dcfce7;
    color: #16a34a
}

.rep__row--w span {
    background: #fee2e2;
    color: #dc2626
}

.rep__row--i span {
    background: #dbeafe;
    color: #2563eb
}

.rep__row p {
    margin: 0
}

.rep__foot {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: .6rem
}

.rep__btn {
    padding: 7px 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 8px;
    font: 800 .88rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.rep__btn--p {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c
}

/* 부분 수정 (s3_1) */
.edt {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .2), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 1.05rem/1.5 Pretendard, sans-serif;
    color: #0f172a
}

.edt__tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: .95rem
}

.edt__tabs button {
    padding: 8px 14px;
    border-radius: 999px;
    border: 0;
    background: transparent;
    font: 700 1.02rem/1 Pretendard, sans-serif;
    color: #64748b;
    cursor: pointer
}

.edt__tabs button.is-active {
    background: #7c3aed;
    color: #fff
}

.edt__spacer {
    flex: 1
}

.edt__chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font: 700 .92rem/1 Pretendard, sans-serif;
    color: #475569;
    padding: 6px 10px;
    border-radius: 8px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c
}

.edt__chip:last-of-type {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #475569
}

.edt__chip em {
    font-style: normal;
    font-weight: 800;
    background: #94a3b8;
    color: #fff;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: .8rem
}

.edt__input {
    padding: .85rem 1rem;
    background: transparent;
    border: 0;
    border-radius: 10px;
    min-height: 70px;
    color: #94a3b8
}

.edt__input p {
    margin: 0;
    font-size: 1.05rem
}

.edt__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: .85rem
}

.edt__label {
    font: 600 1.02rem/1 Pretendard, sans-serif;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.edt__label strong {
    background: #f5f3ff;
    color: #7c3aed;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 800
}

.edt__label em {
    font-style: normal;
    font-weight: 800;
    color: #f97316;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .98rem
}

.edt__send {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    background: #7c3aed;
    color: #fff;
    cursor: pointer;
    font-size: 1.05rem
}

/* 직접 수정 / AI 수정 2-섹션 */
.edt__direct,
.edt__ai {
    margin-top: .95rem;
    padding: .8rem .9rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0
}

.edt__direct {
    background: #faf5ff;
    border-color: #e9d5ff
}

.edt__ai {
    background: #eff6ff;
    border-color: #bfdbfe
}

.edt__mode {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    font: 800 1rem/1 Pretendard, sans-serif;
    background: #fff;
    color: #475569;
    border: 1px solid #e2e8f0;
    margin-bottom: .65rem
}

.edt__direct .edt__mode {
    color: #7c3aed;
    border-color: #ddd6fe
}

.edt__direct .edt__mode i {
    color: #7c3aed
}

.edt__ai .edt__mode {
    color: #2563eb;
    border-color: #bfdbfe
}

.edt__ai .edt__mode i {
    color: #2563eb
}

.edt__text {
    padding: .75rem .9rem;
    background: #fff;
    border: 1px solid #ddd6fe;
    border-radius: 10px;
    color: #0f172a;
    line-height: 1.7;
    font-size: 1.05rem;
    min-height: 90px
}

.edt__text mark {
    background: #f5f3ff;
    color: #5b21b6;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 700;
    border-bottom: 2px solid #a78bfa
}

/* 수정 이력 (s3_2) */
.hst {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 500px;
    background: #fff;
    border-radius: 14px;
    padding: .85rem 1rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .2), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 1rem/1.45 Pretendard, sans-serif;
    color: #0f172a
}

.hst__title {
    font: 800 1.1rem/1 Pretendard, sans-serif;
    color: #475569;
    padding-bottom: .7rem;
    margin-bottom: .7rem;
    border-bottom: 1px solid #e2e8f0
}

.hst ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem
}

.hst__item {
    padding: .7rem .85rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0
}

.hst__item.is-active {
    background: #dbeafe;
    border-color: #93c5fd
}

.hst__item--restore {
    background: #fef3c7;
    border-color: #fde68a
}

.hst__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px
}

.hst__top strong {
    font: 800 1.02rem/1 Pretendard, sans-serif;
    color: #1e293b
}

.hst__top time {
    font: 600 .85rem/1 Pretendard, sans-serif;
    color: #94a3b8
}

.hst__tags {
    display: flex;
    gap: 5px;
    margin: 5px 0
}

.hst__tags span {
    font: 700 .8rem/1 Pretendard, sans-serif;
    background: #e8eeff;
    color: #475569;
    padding: 3px 7px;
    border-radius: 5px;
    border: 1px solid #e2e8f0
}

.hst__item p {
    margin: 3px 0 0;
    font-size: .95rem;
    color: #64748b;
    line-height: 1.4;
    word-break: break-all;
}
.hst__item__4 p {
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.hst__compare {
    margin-top: .85rem;
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 8px;
    font: 800 .92rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px
}

/* 내보내기 (s3_3) */
.sc2-slide[data-key="biz-export"] .sc2-slide__media {
    align-items: flex-start;
    justify-content: flex-end
}

.expw {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    max-width: 240px
}

.expw__btn {
    padding: 10px 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font: 700 1.05rem/1 Pretendard, sans-serif;
    color: #0f172a;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .08)
}

.expw__menu {
    background: #fff;
    border-radius: 12px;
    padding: .4rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .22), 0 6px 16px rgba(30, 27, 75, .1);
    min-width: 200px
}

.expw__item {
    padding: 13px 18px;
    font: 600 1.1rem/1 Pretendard, sans-serif;
    color: #475569;
    cursor: pointer;
    border-radius: 8px
}

.expw__item:hover {
    background: #f8fafc;
    color: #0f172a
}

.expw__item strong {
    color: #0f172a;
    font-weight: 800;
    margin-right: 6px
}

@media (max-width:1200px) {
    .rep {
        max-height: 480px
    }
}

/* SWOT 분석 (2×2 그리드) */
.sc2-slide[data-key="biz-swot"] .sc2-slide__media {
    background: linear-gradient(rgba(248, 250, 252, .88), rgba(241, 245, 249, .92)), url('/assets/images/main/biz_s1_1--5.png') center/cover;
    overflow: hidden;
    padding: 2rem;
    align-items: center;
    justify-content: center
}

.sc2-slide[data-key="biz-swot"] .sc2-slide__media::before {
    display: none
}

.swot {
    position: relative;
    z-index: 1;
    width: 96%;
    max-width: 680px;
    background: #fff;
    border-radius: 14px;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .18), 0 6px 16px rgba(30, 27, 75, .08);
    display: flex;
    flex-direction: column;
    font: 500 1.02rem/1.5 Pretendard, sans-serif;
    color: #0f172a
}

.swot__title {
    font: 800 1.2rem/1 Pretendard, sans-serif;
    margin-bottom: .85rem;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a
}

.swot__title i {
    color: #6366f1
}

.swot__grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    min-height: 0
}

.swot__cell {
    padding: .85rem 1rem;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    border: 1px solid transparent;
    min-height: 0;
    overflow: hidden
}

.swot__cell--s {
    background: #fefce8;
    border-color: #fde68a
}

.swot__cell--w {
    background: #fff7ed;
    border-color: #fed7aa
}

.swot__cell--o {
    background: #eff6ff;
    border-color: #bfdbfe
}

.swot__cell--t {
    background: #fdf2f8;
    border-color: #fbcfe8
}

.swot__head {
    display: flex;
    align-items: center;
    gap: 6px;
    font: 800 1.02rem/1 Pretendard, sans-serif
}

.swot__cell--s .swot__head {
    color: #a16207
}

.swot__cell--w .swot__head {
    color: #c2410c
}

.swot__cell--o .swot__head {
    color: #1d4ed8
}

.swot__cell--t .swot__head {
    color: #be185d
}

.swot__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 5px;
    background: currentColor;
    color: #fff !important;
    font: 900 .88rem/1 Pretendard, sans-serif
}

.swot__cell--s .swot__badge {
    background: #ca8a04;
    color: #fff
}

.swot__cell--w .swot__badge {
    background: #ea580c;
    color: #fff
}

.swot__cell--o .swot__badge {
    background: #2563eb;
    color: #fff
}

.swot__cell--t .swot__badge {
    background: #db2777;
    color: #fff
}

.swot__name {
    font-weight: 700;
    font-size: .94rem;
    opacity: .85
}

.swot__cell ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    font-size: .9rem;
    line-height: 1.45;
    color: #334155
}

.swot__cell li {
    position: relative;
    padding-left: 11px
}

.swot__cell li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: #94a3b8;
    font-weight: 800
}

.swot__cell em {
    font-style: normal;
    font-weight: 800;
    color: #dc2626
}

.swot__cell--s em {
    color: #a16207
}

.swot__cell--w em {
    color: #c2410c
}

.swot__cell--o em {
    color: #1d4ed8
}

@media (max-width:1200px) {
    .swot__cell li {
        font-size: .86rem
    }
}

@media (max-width:960px) {
    .swot__grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto)
    }
}

/* KPI 인용 + 참고자료 (배경 위에 직접) */
.sc2-slide[data-key="biz-kpi"] .sc2-slide__media {
    background: linear-gradient(rgba(245, 243, 255, .88), rgba(221, 214, 254, .92)), url('/assets/images/main/biz_s1_1--2.png') center/cover;
    overflow: hidden;
    padding: 2rem;
    align-items: center;
    justify-content: center
}

.sc2-slide[data-key="biz-kpi"] .sc2-slide__media::before {
    display: none
}

.kpi {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #fff;
    border-radius: 16px;
    padding: 2rem 2.25rem;
    box-shadow: 0 24px 60px rgba(30, 27, 75, .18), 0 6px 16px rgba(30, 27, 75, .08);
    font: 500 1.25rem/1.65 Pretendard, sans-serif;
    color: #1e1b4b
}

.kpi__quote {
    margin: 0;
    font: 700 1.3rem/1.65 Pretendard, sans-serif;
    color: #1e1b4b;
    letter-spacing: -.005em
}

.kpi__quote strong {
    color: #4f46e5;
    font-weight: 800
}

.kpi__tail {
    font-weight: 600;
    color: #3730a3
}

.kpi__divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(79, 70, 229, .25), transparent);
    margin: 1.4rem 0
}

.kpi__refs-title {
    font: 800 1.2rem/1 Pretendard, sans-serif;
    color: #3730a3;
    margin-bottom: .9rem;
    display: flex;
    align-items: center;
    gap: 6px
}

.kpi__refs ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem
}

.kpi__refs li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.15rem;
    color: #312e81
}

.kpi__refs li i {
    color: #6366f1;
    font-size: 1.15rem;
    flex-shrink: 0
}

.kpi__refs li strong {
    color: #4f46e5;
    font-weight: 800
}

.kpi__refs li em {
    font-style: normal;
    color: #94a3b8;
    font-weight: 600
}

@media (max-width:1200px) {
    .kpi__quote {
        font-size: 1.2rem
    }

    .kpi__refs li {
        font-size: 1.08rem
    }
}

@media (max-width:960px) {
    .sc2-slide[data-key="biz-kpi"] .sc2-slide__media {
        padding: 1.25rem 1.5rem
    }

    .kpi__quote {
        font-size: 1.12rem
    }

    .kpi__refs-title {
        font-size: 1.1rem
    }

    .kpi__refs li {
        font-size: 1.02rem
    }
}

/* 출처/참고자료 카드 (HTML 퍼블리싱) */
.sc2-slide[data-key="biz-src"] .sc2-slide__media {
    background: linear-gradient(rgba(241, 245, 249, .88), rgba(203, 213, 225, .92)), url('/assets/images/main/biz_s1_1--2.png') center/cover;
    overflow: hidden;
    padding: 2rem
}

.sc2-slide[data-key="biz-src"] .sc2-slide__media::before {
    display: none
}

.sc2-slide[data-key="biz-kipris"] .sc2-slide__media {
    background: linear-gradient(rgba(238, 242, 255, .88), rgba(199, 210, 254, .92)), url('/assets/images/main/biz_s1_1--2.png') center/cover;
    overflow: hidden;
    padding: 2rem
}

.sc2-slide[data-key="biz-kipris"] .sc2-slide__media::before {
    display: none
}

/* KIPRIS - 지식재산(IP) 전략 및 차별화 분석 카드 */
.kipris {
    padding: 1.2rem 1.4rem;
    background: #fff;
    font: 500 1rem/1.5 Pretendard, sans-serif;
    color: #0f172a
}

.kipris__head {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: .8rem;
    margin-bottom: .9rem
}

.kipris__title {
    margin: 0 0 .5rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px
}

.kipris__title i { color: #6366f1 }

.kipris__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    font-size: .78rem;
    color: #64748b;
    justify-content: flex-end;
}

.kipris__meta strong {
    color: #4f46e5;
    font-weight: 700
}

.kipris__table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: .9rem
}

.kipris__table th:nth-child(1),
.kipris__table td:nth-child(1) { width: 18% }
.kipris__table th:nth-child(2),
.kipris__table td:nth-child(2) { width: 32% }
.kipris__table th:nth-child(3),
.kipris__table td:nth-child(3) { width: 50% }

.kipris__table thead th {
    padding: .5rem .75rem;
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    text-align: left
}

.kipris__table tbody td {
    padding: .7rem .75rem;
    font-size: .8rem;
    color: #334155;
    border: 1px solid #e2e8f0;
    vertical-align: top;
    word-break: break-word
}

.kipris__num {
    font-weight: 700;
    color: #0f172a;
    margin-bottom: .25rem
}

.kipris__sub {
    font-size: .75rem;
    color: #64748b;
    line-height: 1.45
}

.kipris__date {
    font-size: .8rem;
    line-height: 1.5
}

.kipris__date > div:first-child {
    font-weight: 600;
    color: #0f172a;
    margin-bottom: .35rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.kipris__date > span {
    display: block;
    font-size: .72rem;
}

.kipris__score {
    display: inline-block;
    margin-bottom: .3rem;
    padding: .18rem .5rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #3b82f6);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    width: 95px;
}

.kipris__desc { line-height: 1.55 }

.kipris__desc > div:first-child {
    font-size: .78rem;
    line-height: 1.55;
    color: #334155;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.kipris__org {
    margin-top: .3rem;
    font-size: .78rem;
    color: #64748b
}

.kipris__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: .9rem
}

.kipris__tag {
    padding: .25rem .7rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: .75rem;
    font-weight: 600;
    border: 1px solid #e2e8f0
}

.kipris__tag--ai {
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #fff;
    border-color: transparent
}

.kipris__foot {
    margin: 0;
    padding: .7rem .85rem;
    background: #f8fafc;
    border-left: 3px solid #6366f1;
    border-radius: 0 6px 6px 0;
    font-size: .82rem;
    line-height: 1.6;
    color: #475569
}

.kipris__foot strong {
    color: #0f172a;
    font-weight: 700
}

.src {
    padding: 1.1rem 1.25rem;
    background: #fff;
    font: 500 1.02rem/1.45 Pretendard, sans-serif;
    color: #0f172a
}

.src__head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-bottom: .85rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid #e2e8f0
}

.src__head>i {
    color: #4f46e5;
    font-size: 1.25rem;
    margin-top: 2px;
    flex-shrink: 0
}

.src__title {
    flex: 1;
    font: 800 1.12rem/1.45 Pretendard, sans-serif;
    color: #0f172a;
    letter-spacing: -.005em
}

.src__title strong {
    color: #4f46e5
}

.src__title em {
    font-style: normal;
    font-weight: 600;
    color: #64748b;
    font-size: .98rem;
    display: block;
    margin-top: 3px
}

.src__chip {
    flex-shrink: 0;
    font: 800 .85rem/1 Pretendard, sans-serif;
    padding: 5px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #16a34a;
    border: 1px solid #86efac
}

.src__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: .98rem
}

.src__k {
    display: inline-block;
    min-width: 48px;
    padding: 3px 9px;
    background: #eef2ff;
    color: #4f46e5;
    border-radius: 6px;
    font-weight: 800;
    font-size: .9rem;
    text-align: center
}

.src__v {
    color: #475569;
    font-weight: 600
}

.src__row--link {
    padding: 8px 10px;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    margin-top: 4px
}

.src__row--link i {
    color: #6366f1;
    font-size: .98rem
}

.src__row--link a {
    color: #4f46e5;
    font-weight: 700;
    text-decoration: none;
    word-break: break-all;
    font-size: .94rem
}

.src__note {
    margin: .85rem 0;
    padding: .7rem .9rem;
    background: #fef3c7;
    border-left: 3px solid #f59e0b;
    border-radius: 6px;
    font-size: .94rem;
    color: #78350f;
    line-height: 1.5
}

.src__more {
    margin-top: .85rem;
    padding: .85rem 1rem;
    background: linear-gradient(135deg, #eef2ff, #f5f3ff);
    border-radius: 10px;
    border: 1px solid #e0e7ff
}

.src__more-title {
    font: 800 .98rem/1 Pretendard, sans-serif;
    color: #4f46e5;
    margin-bottom: .6rem
}

.src__more ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.src__more li {
    font-size: .94rem;
    color: #475569;
    line-height: 1.5;
    display: flex;
    gap: 6px
}

.src__src {
    font-weight: 800;
    color: #1e293b;
    flex-shrink: 0
}

.src__warn {
    margin-top: .9rem;
    padding: .7rem .9rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #b91c1c;
    font: 700 .92rem/1.5 Pretendard, sans-serif;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.src__warn i {
    flex-shrink: 0;
    margin-top: 2px
}

@media (max-width:960px) {
    .sc2-slide[data-key="biz-src"] .sc2-slide__media,
    .sc2-slide[data-key="biz-kipris"] .sc2-slide__media {
        padding: 1rem
    }

    .src {
        padding: .9rem 1rem
    }

    .src__title {
        font-size: 1.04rem
    }

    .kipris { padding: .9rem 1rem }
    .kipris__title { font-size: 1rem }
    .kipris__table thead th,
    .kipris__table tbody td {
        padding: .5rem;
        font-size: .78rem
    }
    .kipris__foot { font-size: .78rem }
}

@media (max-width:960px) {
    .tsm {
        padding: 1rem
    }

    .tsm__title {
        font-size: 1.08rem
    }

    .tsm__nest--sam {
        margin: 8px 3% 0
    }

    .tsm__nest--som {
        margin: 8px 4% 2px
    }

    .tsm__en {
        display: none
    }
}

.sc2-badge {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    background: #fff;
    border-radius: 12px;
    font: 700 .78rem/1 Pretendard, sans-serif;
    color: #0f172a;
    box-shadow: 0 14px 32px rgba(30, 27, 75, .2), 0 3px 10px rgba(30, 27, 75, .08);
    z-index: 2;
    white-space: nowrap;
    border: 1px solid rgba(226, 232, 240, .8)
}

.sc2-badge i {
    font-size: .9rem;
    color: #6366f1
}

.sc2-badge--tl {
    top: 10%;
    left: 6%;
    animation: sc2Float 4s ease-in-out infinite
}

.sc2-badge--br {
    bottom: 12%;
    right: 6%;
    animation: sc2Float 4s ease-in-out infinite .8s
}

.sc2-badge--br i {
    color: #7c3aed
}

@keyframes sc2Float {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-6px)
    }
}

@media (max-width:1200px) {
    .sc2-frame {
        max-width: 640px
    }
}

@media (max-width:960px) {
    .sc2-slide[data-key="biz-tam"] .sc2-slide__media {
        padding: 1rem
    }

    .sc2-frame {
        width: 96%;
        max-width: 560px
    }

    .sc2-badge {
        font-size: .68rem;
        padding: 7px 10px
    }
}

@media (max-width:640px) {
    .sc2-frame {
        max-width: 100%;
        width: 100%
    }
}

.sc2-slide__body {
    flex: 0 1 28%;
    min-width: 0
}

.sc2-slide__label {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 700;
    color: #6366f1;
    margin-bottom: 0;
    letter-spacing: 0
}

.sc2-slide__title {
    font: 800 3.5rem/1.35 Pretendard, sans-serif !important;
    color: #0f172a;
    margin: 0 0 1rem !important;
    letter-spacing: -.02em;
    word-break: keep-all
}

.sc2-slide__desc {
    color: #64748b;
    font-size: 1.45rem;
    line-height: 1.4;
    margin: 0;
    margin-bottom: 0 !important;
    word-break: keep-all
}

.sc2-slide__label--biz {
    color: #4f46e5
}

.sc2-slide__label--cover {
    color: #10b981
}

.sc2-slide__label--int {
    color: #7c3aed
}

.sc2-slide__label--slide {
    color: #f97316
}

.sc2__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    border: 4px solid #fff;
    box-shadow: 0 16px 38px rgba(79, 70, 229, .45), 0 4px 12px rgba(79, 70, 229, .25), 0 0 0 4px rgba(99, 102, 241, .18);
    cursor: pointer;
    font-size: 1.35rem;
    font-weight: 900;
    color: #fff;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    animation: sc2ArrowRing 2s ease-in-out infinite
}

.sc2__arrow:hover {
    transform: translateY(-50%) scale(1.12);
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    box-shadow: 0 20px 48px rgba(79, 70, 229, .55), 0 6px 16px rgba(79, 70, 229, .3), 0 0 0 6px rgba(99, 102, 241, .25);
    animation: none
}

.sc2__arrow:active {
    transform: translateY(-50%) scale(1.05)
}

@keyframes sc2ArrowRing {
    0%, 100% { box-shadow: 0 16px 38px rgba(79, 70, 229, .45), 0 4px 12px rgba(79, 70, 229, .25), 0 0 0 4px rgba(99, 102, 241, .18); }
    50% { box-shadow: 0 16px 38px rgba(79, 70, 229, .5), 0 4px 12px rgba(79, 70, 229, .28), 0 0 0 12px rgba(99, 102, 241, .08); }
}

.sc2__arrow--prev {
    left: 24px
}

.sc2__arrow--next {
    right: 24px
}

.sc2__dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 2.5rem
}

.sc2__dots button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0;
    background: #cbd5e1;
    cursor: pointer;
    padding: 0;
    transition: width .3s ease, background .3s ease, border-radius .3s ease
}

.sc2__dots button.is-active {
    background: #4f46e5;
    width: 32px;
    border-radius: 6px
}

@media (max-width:1500px) {
    .sc2__track {
        gap: 40px
    }

    .sc2-slide {
        flex: 0 0 92%;
        max-width: none;
        gap: 2rem;
        justify-content: center;
        padding: 1.5rem 2%
    }

    .sc2-slide__media {
        width: min(640px, 56%);
        flex: 0 0 auto
    }

    .sc2-slide__body {
        flex: 1 1 0;
        min-width: 0;
        max-width: 32%
    }

    .sc2-slide__title {
        font-size: 2.4rem !important
    }

    .sc2-slide__desc {
        font-size: 1.15rem
    }

    .sc2__tabs {
        max-width: 96vw;
        padding: 0 1rem
    }

    .ncs,
    .rep,
    .crt,
    .aiq,
    .evalrep,
    .edt,
    .swot,
    .kpi,
    .src,
    .tsm {
        max-width: 100% !important;
        width: 100% !important
    }
}

@media (max-width:1200px) {
    .sc2-slide {
        flex-direction: column;
        gap: 1.25rem;
        padding: 1rem;
        flex: 0 0 88%;
        align-items: center
    }

    .sc2-slide__media {
        width: min(720px, 100%);
        max-width: 720px
    }

    .sc2-slide__body {
        width: 100%;
        max-width: 720px;
        text-align: center
    }

    .sc2-slide__title {
        font-size: 2rem !important
    }

    .sc2-slide__desc {
        font-size: 1.05rem
    }
}

@media (max-width:960px) {
    .sc2 {
        padding: 4rem 0 3.5rem;
        overflow-x: hidden
    }

    .sc2__viewport {
        padding: 0;
        max-width: 100%;
        overflow: hidden
    }

    .sc2__track {
        gap: 0
    }

    .sc2-slide {
        flex: 0 0 100%;
        padding: 1rem 1.5rem;
        flex-direction: column;
        gap: 1.5rem;
        align-items: center;
        justify-content: flex-start;
        box-sizing: border-box
    }

    .sc2-slide__media {
        flex: none;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 4/3;
        padding: 1rem
    }

    .sc2-slide__body {
        flex: none;
        width: 100%;
        max-width: 100%;
        text-align: center;
        padding: 0 1rem
    }

    .sc2-slide__label {
        font-size: .95rem
    }

    .sc2-slide__title {
        font-size: 1.5rem !important;
        margin-bottom: .5rem !important
    }

    .sc2__arrow {
        width: 40px;
        height: 40px
    }

    .sc2__arrow--prev {
        left: 0
    }

    .sc2__arrow--next {
        right: 0
    }

    .sc2__tabs {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 0 1rem
    }

    .sc2__tab {
        padding: 14px 16px;
        gap: 12px
    }

    .sc2__tab-title {
        font-size: 1.05rem
    }

    .ncs,
    .rep,
    .crt,
    .aiq,
    .evalrep,
    .edt,
    .swot,
    .kpi,
    .src,
    .tsm,
    .sc2-frame {
        max-width: 100% !important;
        width: 100% !important
    }

    .ncs,
    .rep {
        max-height: none
    }

    .sc2-slide__media {
        aspect-ratio: 4/3 !important;
        padding: 1.25rem !important
    }

    .ncs,
    .rep {
        max-height: 100% !important;
        overflow-y: auto
    }
}

@media (max-width:640px) {
    .sc2__tab-title {
        font-size: 1.1rem;
        width: 100%;
        justify-content: center;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .sc2-slide__media {
        padding: .75rem !important;
        aspect-ratio: 4/3 !important;
        overflow: hidden !important
    }

    .sc2-slide__media>* {
        max-height: 100% !important;
        max-width: 100% !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch
    }

    .ncs,
    .rep,
    .crt,
    .aiq,
    .evalrep,
    .edt,
    .swot,
    .kpi,
    .src,
    .tsm,
    .hst {
        padding: .85rem 1rem !important
    }
    .sc2__tab {
        padding: 12px 16px;
        font-size: 1rem;
    }

    .crt__cards {
        grid-template-columns: 1fr
    }

    .swot__grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto)
    }

    .score {
        flex-direction: column
    }

    .edit {
        flex-direction: column
    }

    .rep__top {
        flex-wrap: wrap
    }

    .rep__radar {
        display: none
    }

    .swot {
        height: auto !important;
        display: block !important
    }

    .swot__grid {
        display: flex !important;
        flex-direction: column;
        flex: none !important;
        height: auto !important
    }

    .swot__cell {
        overflow: visible !important;
        height: auto !important
    }
    /* ring arrow 위치 */
    .gj-ring__arrow { top: 100%; }
}

@media (max-width: 768px) {
    .hst {
        max-width: 100% !important;
        width: 100% !important
    }    
}
@media (max-width:578px) {

    /* ═══ SC2 공통 ═══ */
    .sc2__head {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
    .sc2__arrow--prev,
    .sc2__arrow--next { top: initial; bottom: 20%; }

    /* ═══ SC2 · biz-kpi (KPI 인용 + 참고자료) ═══ */
    .kpi__quote { font-size: .95rem; line-height: 1.6 }
    .kpi__refs-title { font-size: .95rem; margin-bottom: .7rem }
    .kpi__refs li { font-size: .88rem; gap: 8px }
    .kpi__refs li i { font-size: .95rem }

    /* ═══ SC2 · KIPRIS 표 — 모바일에선 카드 스택으로 변환 ═══ */
    .sc2-slide[data-key="biz-kipris"] .sc2-slide__media { padding: 1rem }
    .kipris { padding: 1rem 1.1rem; max-width: 100%; box-sizing: border-box }
    .kipris__title { font-size: 1.1rem }
    .kipris__meta { font-size: .82rem; justify-content: flex-start }

    /* 표 구조 해제 → 세로 카드 스택 */
    .kipris__table-wrap { width: 100%; max-width: 100%; margin-bottom: 1rem }
    .kipris__table,
    .kipris__table tbody,
    .kipris__table tr { display: block; width: 100% }
    .kipris__table thead { display: none }
    .kipris__table tbody tr {
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        padding: .9rem;
        margin: 0
    }
    .kipris__table tbody td {
        display: block;
        width: 100% !important;
        border: 0;
        padding: .55rem 0;
        font-size: .95rem
    }
    .kipris__table tbody td + td {
        border-top: 1px dashed #e2e8f0;
        padding-top: .7rem;
        margin-top: .1rem
    }
    .kipris__table tbody td::before {
        content: attr(data-label);
        display: block;
        font-size: .78rem;
        font-weight: 800;
        color: #4f46e5;
        text-transform: uppercase;
        letter-spacing: .05em;
        margin-bottom: .35rem
    }

    .kipris__num { font-size: 1rem }
    .kipris__sub { font-size: .88rem }
    .kipris__date { font-size: .95rem }
    .kipris__date > div:first-child { font-size: .98rem; -webkit-line-clamp: 2; line-clamp: 2 }
    .kipris__date > span { font-size: .85rem }
    .kipris__desc > div:first-child { font-size: .9rem; -webkit-line-clamp: 4; line-clamp: 4 }
    .kipris__score { font-size: .82rem; padding: .25rem .65rem; width: auto }
    .kipris__org { font-size: .85rem }
    .kipris__tags { gap: 8px }
    .kipris__tag { font-size: .82rem; padding: .3rem .75rem }

    .kipris__foot { font-size: .88rem; padding: .7rem .85rem; line-height: 1.6 }

    /* ═══ SC2 · 자기소개서 (ncs) ═══ */
    .ncs__link { line-height: 1.4 }
    .ncs__row { flex-direction: column }
    .ncs__row span { padding: 5px 8px }

    /* ═══ TRUST 카드 ═══ */
    .trust__card { height: 60px; }
    .trust__flow-row { padding: 0; }
    .trust__flow-row--left .trust__card-icon { font-size: 1.4rem; }
    .trust__flow-row--left .trust__card span { font-size: 1.4rem; }

    /* ═══ GJ-RING · 사업계획서 (bizplan) — 카드 폰트 축소 ═══ */
    .rcard { padding: .6rem; }
    [data-category="bizplan"] .rcard__chip { font-size: .87rem; }
    [data-category="bizplan"] .rcard__title { font-size: 1.5rem; }
    [data-category="bizplan"] .rcard__title--quote { font-size: 1.3rem; }
    [data-category="bizplan"] .rcard__src { font-size: .93rem; }
    [data-category="bizplan"] .rcard__meta { font-size: .89rem; }
    [data-category="bizplan"] .rcard__link { font-size: .89rem; }
    [data-category="bizplan"] .rcard__note { font-size: .89rem; }
    [data-category="bizplan"] .rcard__sec-title { font-size: 1.07rem; }
    [data-category="bizplan"] .rcard__list li { font-size: 1.05rem; }
    [data-category="bizplan"] .rcard__list--refs li { font-size: 1.1rem; }
    [data-category="bizplan"] .rcard__alert { font-size: .89rem; }
    [data-category="bizplan"] .swot__label { font-size: .93rem; }
    [data-category="bizplan"] .swot__cell ul li { font-size: .93rem; }
    [data-category="bizplan"] .swot__label span { font-size: 1.2rem; }

    /* ═══ GJ-RING · 자기소개서 (resume) — 카드 폰트 축소 (기존 대비 -0.2rem) ═══ */
    /* rncs */
    [data-category="resume"] .rncs { font-size: .72rem; }
    [data-category="resume"] .rncs__title { font-size: .85rem; }
    [data-category="resume"] .rncs__link { font-size: .6rem; }
    [data-category="resume"] .rncs__path { font-size: .62rem; }
    [data-category="resume"] .rncs__name { font-size: 1.25rem; }
    [data-category="resume"] .rncs__desc { font-size: .9rem; }
    [data-category="resume"] .rncs__sec-title { font-size: .9rem; }
    [data-category="resume"] .rncs__row { font-size: .8rem; }
    [data-category="resume"] .rncs__txt { font-size: .8rem; }
    [data-category="resume"] .rncs__file { font-size: .8rem; }
    [data-category="resume"] .rncs__units li strong { font-size: 1rem; }
    [data-category="resume"] .rncs__units li p { font-size: .8rem; }
    [data-category="resume"] .rncs__lv { font-size: .52rem; }
    /* cert */
    [data-category="resume"] .cert { font-size: .72rem; }
    [data-category="resume"] .cert__head { font-size: .85rem; }
    [data-category="resume"] .cert__head span { font-size: .68rem; }
    [data-category="resume"] .cert__group-title { font-size: .9rem; }
    [data-category="resume"] .cert__name { font-size: .8rem; }
    [data-category="resume"] .cert__tag { font-size: .6rem; }
    [data-category="resume"] .cert__link { font-size: .6rem; }
    /* reco */
    [data-category="resume"] .reco { font-size: .72rem; }
    [data-category="resume"] .reco__head { font-size: 1.1rem; }
    [data-category="resume"] .reco__name { font-size: .82rem; }
    [data-category="resume"] .reco__btn { font-size: .8rem; }
    [data-category="resume"] .reco__item p { font-size: .8rem; }
    /* erpt / erpt2 */
    [data-category="resume"] .erpt__title { font-size: .95rem; }
    [data-category="resume"] .erpt__ver { font-size: .7rem; }
    [data-category="resume"] .erpt__chip em { font-size: .68rem; }
    [data-category="resume"] .erpt__alert > span { font-size: .8rem; }
    [data-category="resume"] .erpt2 { font-size: .72rem; }
    [data-category="resume"] .erpt2__head { font-size: .9rem; }
    [data-category="resume"] .erpt2__head span { font-size: .72rem; }
    [data-category="resume"] .erpt2__grade { font-size: 1rem; }
    [data-category="resume"] .erpt2__pt { font-size: .78rem; }
    [data-category="resume"] .erpt2__pass { font-size: .8rem; }
    [data-category="resume"] .erpt2__desc { font-size: .8rem; }
    [data-category="resume"] .erpt2__tags span { font-size: .6rem; }
    [data-category="resume"] .erpt2__sec-head { font-size: .76rem; }
    [data-category="resume"] .erpt2__sec-pt { font-size: .62rem; }
    [data-category="resume"] .erpt2__sec li { font-size: .65rem; }
    [data-category="resume"] .erpt2__foot button { font-size: .65rem; }
    /* emod */
    [data-category="resume"] .emod { font-size: .75rem; }
    [data-category="resume"] .emod__tab { font-size: .72rem; }
    [data-category="resume"] .emod__pill { font-size: .65rem; }
    [data-category="resume"] .emod__pill em { font-size: .58rem; }
    [data-category="resume"] .emod__box { font-size: .78rem; }
    [data-category="resume"] .emod__lbl { font-size: .72rem; }

    /* ═══ GJ-RING · 발표슬라이드 (slide) — 카드 폰트 축소 (기존 대비 -0.2rem) ═══ */
    /* sld-hero */
    [data-category="slide"] .sld-hero { font-size: .85rem; }
    [data-category="slide"] .sld-hero__select { font-size: .85rem; }
    [data-category="slide"] .sld-hero__select i { font-size: .75rem; }
    [data-category="slide"] .sld-hero__card-title { font-size: .88rem; }
    [data-category="slide"] .sld-hero__card-meta span { font-size: .72rem; }
    [data-category="slide"] .sld-hero__card-desc { font-size: .78rem; }
    [data-category="slide"] .sld-hero__card-more { font-size: .75rem; }
    [data-category="slide"] .sld-hero__sec-title { font-size: .92rem; }
    [data-category="slide"] .sld-hero__opt i { font-size: .95rem; }
    [data-category="slide"] .sld-hero__opt strong { font-size: .85rem; }
    [data-category="slide"] .sld-hero__opt span { font-size: .72rem; }
    [data-category="slide"] .sld-hero__color { font-size: .78rem; }
    [data-category="slide"] .sld-hero__cta { font-size: .92rem; }
    [data-category="slide"] .sld-hero__cta em { font-size: .78rem; }
    /* sld-market */
    [data-category="slide"] .sld-market__title { font-size: .92rem; }
    [data-category="slide"] .sld-market__comp strong { font-size: .85rem; }
    [data-category="slide"] .sld-market__comp p { font-size: .75rem; }
    [data-category="slide"] .sld-market__tam span { font-size: .82rem; }
    [data-category="slide"] .sld-market__tam p { font-size: .75rem; }
    [data-category="slide"] .sld-market__tam strong { font-size: .85rem; }
    /* sld-process */
    [data-category="slide"] .sld-process__header { font-size: .78rem; }
    [data-category="slide"] .sld-process__row { font-size: .8rem; }
    [data-category="slide"] .sld-process__msg { font-size: .8rem; }
    [data-category="slide"] .sld-process__msg--sub { font-size: .75rem; }
    [data-category="slide"] .sld-process__item strong { font-size: .82rem; }
    [data-category="slide"] .sld-process__item p { font-size: .78rem; }
    [data-category="slide"] .sld-process__loading span { font-size: .8rem; }
    /* sld-biz */
    [data-category="slide"] .sld-biz__title { font-size: .92rem; }
    [data-category="slide"] .sld-biz__row { font-size: .8rem; }
    [data-category="slide"] .sld-biz__step em { font-size: .72rem; }
    [data-category="slide"] .sld-biz__step strong { font-size: .78rem; }
    [data-category="slide"] .sld-biz__step p { font-size: .7rem; }
    [data-category="slide"] .sld-biz__bep span { font-size: .82rem; }
    [data-category="slide"] .sld-biz__bep strong { font-size: .92rem; }

    /* ═══ GJ-RING · 모의면접 (interview) — 카드 폰트 축소 (기존 대비 -0.2rem) ═══ */
    /* ivw-result */
    [data-category="interview"] .ivw-result { font-size: .85rem; }
    [data-category="interview"] .ivw-result__score { font-size: 3rem; }
    [data-category="interview"] .ivw-result__grade { font-size: .78rem; }
    [data-category="interview"] .ivw-result__top p { font-size: .82rem; }
    [data-category="interview"] .ivw-result__stats span { font-size: .72rem; }
    [data-category="interview"] .ivw-result__stats strong { font-size: 1rem; }
    [data-category="interview"] .ivw-result__sec-title { font-size: .88rem; }
    [data-category="interview"] .ivw-result__bar span { font-size: .78rem; }
    [data-category="interview"] .ivw-result__bar em { font-size: .78rem; }
    /* ivw-eval */
    [data-category="interview"] .ivw-eval__sec-title { font-size: 1.02rem; }
    [data-category="interview"] .ivw-eval__sec p { font-size: .98rem; }
    /* ivw-chat */
    [data-category="interview"] .ivw-chat__info-title { font-size: .82rem; }
    [data-category="interview"] .ivw-chat__info-row { font-size: .78rem; }
    [data-category="interview"] .ivw-chat__q { font-size: .8rem; }
    [data-category="interview"] .ivw-chat__q-num { font-size: .7rem; }
    [data-category="interview"] .ivw-chat__a { font-size: .78rem; }
    [data-category="interview"] .ivw-chat__fb { font-size: .78rem; }
    [data-category="interview"] .ivw-chat__fb-head { font-size: .8rem; }
    /* ivw-qa */
    [data-category="interview"] .ivw-qa { font-size: .85rem; }
    [data-category="interview"] .ivw-qa__tab { font-size: .82rem; }
    [data-category="interview"] .ivw-qa__question p { font-size: .85rem; }
    [data-category="interview"] .ivw-qa__sec-title { font-size: .85rem; }
    [data-category="interview"] .ivw-qa__answer { font-size: .82rem; }
    [data-category="interview"] .ivw-qa__fb span { font-size: .75rem; }
    [data-category="interview"] .ivw-qa__fb p { font-size: .8rem; }
    [data-category="interview"] .ivw-qa__score-chip { font-size: .75rem; }
    [data-category="interview"] .ivw-qa__model { font-size: .82rem; }
}

/* ════ gws: 굿잡 워크플로우 섹션 ════ */
.gws {
    padding: 8rem 2rem 7rem;
    background: linear-gradient(180deg, #f5f3ff 0%, #eef2ff 60%, #ffffff 100%);
    text-align: center;
    position: relative;
    overflow: hidden
}

.gws__head {
    max-width: 760px;
    margin: 0 auto 4rem;
    position: relative;
    z-index: 1
}

.gws__eyebrow {
    font: 800 1.5rem/1 'Aggravo', sans-serif;
    color: #7c3aed;
    margin: 0 0 .85rem;
    letter-spacing: .02em
}

.gws__title {
    font: 900 clamp(1.8rem, 3.2vw, 2.6rem)/1.3 Pretendard, sans-serif;
    color: #0f172a;
    margin: 0 0 1rem;
    letter-spacing: -.02em
}

.gws__desc {
    color: #64748b;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
    word-break: keep-all
}

.gws__flow {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    z-index: 1
}

.gws__flow::before {
    content: "";
    position: absolute;
    left: 50px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: linear-gradient(180deg, #a78bfa, #818cf8 50%, #60a5fa);
    z-index: 0
}

.gws__step {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    z-index: 1
}

.gws__num {
    flex: 0 0 auto;
    width: 100px;
    text-align: right;
    font: 900 .95rem/1 'Aggravo', sans-serif;
    color: #7c3aed;
    background: #fff;
    padding: 14px 16px;
    border-radius: 12px;
    border: 2px solid #ddd6fe;
    box-shadow: 0 8px 20px rgba(124, 58, 237, .12);
    position: relative
}

.gws__num::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -26px;
    width: 24px;
    height: 2px;
    background: #c4b5fd;
    transform: translateY(-50%)
}

.gws__num::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -32px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #8b5cf6;
    transform: translateY(-50%);
    z-index: 2;
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .15)
}

.gws__card {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    padding: 1.4rem 1.6rem;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 36px rgba(67, 56, 202, .1), 0 4px 10px rgba(67, 56, 202, .05);
    border: 1px solid #e0e7ff;
    text-align: left;
    transition: transform .3s ease, box-shadow .3s ease
}

.gws__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px rgba(67, 56, 202, .18), 0 6px 14px rgba(67, 56, 202, .08)
}

.gws__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #a78bfa, #7c3aed);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 8px 20px rgba(124, 58, 237, .25)
}

.gws__body {
    flex: 1;
    min-width: 0
}

.gws__body strong {
    display: block;
    font: 700 1.5rem/1.3 Pretendard, sans-serif;
    color: #0f172a;
    margin-bottom: 6px;
    letter-spacing: -.01em
}

.gws__body p {
    margin: 0;
    font: 400 1.1rem/1.6 Pretendard, sans-serif;
    color: #64748b;
    word-break: keep-all
}

.gws__sub {
    list-style: none;
    padding: 0;
    margin: .85rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.gws__sub li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: #f5f3ff;
    border-radius: 10px;
    border: 1px solid #ede9fe;
    font: 600 1rem/1.3 Pretendard, sans-serif;
    color: #5b21b6
}

.gws__sub li span {
    flex-shrink: 0;
    font: 900 .7rem/1 'Aggravo', sans-serif;
    color: #fff;
    background: #8b5cf6;
    padding: 4px 8px;
    border-radius: 6px;
    letter-spacing: .02em
}

.gws__step--last .gws__num {
    background: linear-gradient(135deg, #7c3aed, #4f46e5);
    color: #fff;
    border-color: #7c3aed;
    box-shadow: 0 12px 28px rgba(124, 58, 237, .32)
}

.gws__step--last .gws__num::before {
    background: #7c3aed;
    border-color: #fff;
    box-shadow: 0 0 0 4px rgba(124, 58, 237, .25)
}

.gws__card--final {
    background: linear-gradient(135deg, #fefefe, #f5f3ff);
    border-color: #c4b5fd
}

.gws__card--final .gws__icon {
    background: linear-gradient(135deg, #10b981, #059669);
    box-shadow: 0 8px 20px rgba(16, 185, 129, .28)
}

@media (max-width:768px) {
    .gws {
        padding: 5rem 1rem 4rem
    }

    .gws__flow::before {
        left: 14px
    }

    .gws__step {
        gap: 1rem;
        flex-direction: column
    }

    .gws__num {
        width: auto;
        text-align: left;
        padding: 8px 14px;
        align-self: flex-start;
        font-size: .85rem
    }

    .gws__num::after,
    .gws__num::before {
        display: none
    }

    .gws__card {
        padding: 1.1rem 1.2rem;
        width: 100%
    }

    .gws__icon {
        width: 42px;
        height: 42px;
        font-size: 1rem;
        border-radius: 12px
    }

    .gws__body strong {
        font-size: 1.1rem
    }

    .gws__body p {
        line-height: 1.55
    }
}
@media (max-width: 578px) {
    .gws__body p { font-size: 1rem; }
}

.gws--ax {
    background: linear-gradient(180deg, #eff6ff 0%, #e0f2fe 60%, #ffffff 100%)
}

.gws--ax .gws__eyebrow {
    color: #0284c7
}

.gws--ax .gws__flow::before {
    background: linear-gradient(180deg, #38bdf8, #0ea5e9 50%, #2563eb)
}

.gws--ax .gws__num {
    color: #0284c7;
    border-color: #bae6fd;
    box-shadow: 0 8px 20px rgba(14, 165, 233, .14)
}

.gws--ax .gws__num::after {
    background: #7dd3fc
}

.gws--ax .gws__num::before {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, .18)
}

.gws--ax .gws__card {
    border-color: #dbeafe;
    box-shadow: 0 14px 36px rgba(2, 132, 199, .1), 0 4px 10px rgba(2, 132, 199, .05)
}

.gws--ax .gws__card:hover {
    box-shadow: 0 20px 50px rgba(2, 132, 199, .2), 0 6px 14px rgba(2, 132, 199, .08)
}

.gws--ax .gws__icon {
    background: linear-gradient(135deg, #38bdf8, #0284c7);
    box-shadow: 0 8px 20px rgba(14, 165, 233, .28)
}

.gws--ax .gws__sub li {
    background: #eff6ff;
    border-color: #dbeafe;
    color: #075985
}

.gws--ax .gws__sub li span {
    background: #0ea5e9
}

.gws--ax .gws__step--last .gws__num {
    background: linear-gradient(135deg, #0ea5e9, #2563eb);
    color: #fff;
    border-color: #0ea5e9;
    box-shadow: 0 12px 28px rgba(14, 165, 233, .34)
}

.gws--ax .gws__step--last .gws__num::before {
    background: #0ea5e9;
    border-color: #fff;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, .28)
}

.gws--ax .gws__card--final {
    background: linear-gradient(135deg, #fefefe, #eff6ff);
    border-color: #93c5fd
}

.gws--ax .gws__card--final .gws__icon {
    background: linear-gradient(135deg, #10b981, #0284c7);
    box-shadow: 0 8px 20px rgba(16, 185, 129, .28)
}

/* AX Interview 아이콘 — 통일 블루 라인 SVG */
.gws--ax .gws__icon {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    filter: drop-shadow(0 6px 14px rgba(37, 99, 235, .28));
}

.gws--ax .gws__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ════ gsh: 굿잡 사용 흐름 섹션 ════ */
.gsh {
    padding: 8rem 2rem 7rem;
    background: #fafafa;
    text-align: center;
    position: relative;
    overflow: hidden
}

.gsh::before {
    content: "";
    position: absolute;
    top: 10%;
    left: 5%;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 158, 11, .18), transparent 60%);
    filter: blur(40px);
    pointer-events: none
}

.gsh::after {
    content: "";
    position: absolute;
    bottom: 5%;
    right: 8%;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(217, 119, 6, .16), transparent 60%);
    filter: blur(50px);
    pointer-events: none
}

.gsh__head {
    max-width: 760px;
    margin: 0 auto 4rem;
    position: relative;
    z-index: 1
}

.gsh__soon-wrap {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 3.5rem auto 0;
    text-align: center
}

.gsh__soon {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font: 900 2rem/1 'Aggravo', sans-serif;
    letter-spacing: .1em;
    color: #fff;
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    padding: 28px 48px;
    border-radius: 999px;
    box-shadow: 0 22px 50px rgba(124, 58, 237, .4)
}

.gsh__soon-desc {
    margin: 3.6rem 0 0;
    font: 700 1.2rem/1.5 Pretendard, sans-serif;
    color: #475569
}

.gsh__soon.gsh__soon--top {
    font-size: .85rem;
    padding: 9px 16px;
    gap: 6px;
    margin-bottom: 1rem;
    box-shadow: 0 8px 20px rgba(124, 58, 237, .24)
}

.gsh__eyebrow {
    font: 800 1.5rem/1 'Aggravo', sans-serif;
    color: #a855f7;
    margin: 0 0 .85rem;
    letter-spacing: .02em
}

.gsh__title {
    font: 900 clamp(1.8rem, 3.2vw, 2.6rem)/1.3 Pretendard, sans-serif;
    color: #0f172a;
    margin: 0 0 1rem;
    letter-spacing: -.02em
}

.gsh__desc {
    color: #6b21a8;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
    word-break: keep-all;
    opacity: .85
}

.gsh__grid {
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    z-index: 1
}

.gsh__card {
    width: 100%;
    padding: 2rem 1.75rem;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 18px 44px rgba(168, 85, 247, .1), 0 4px 12px rgba(168, 85, 247, .05);
    border: 1px solid #f3e8ff;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    transition: transform .3s ease, box-shadow .3s ease
}

.gsh__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 54px rgba(168, 85, 247, .2), 0 6px 16px rgba(168, 85, 247, .1)
}

.gsh__step {
    font: 900 .85rem/1 'Aggravo', sans-serif;
    color: #a855f7;
    letter-spacing: .06em
}

.gsh__emo {
    font-size: 2.4rem;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fdf4ff, #fae8ff);
    /* border: 1px solid #f3e8ff; */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: .25rem;
    margin-bottom: 1rem;
    box-shadow: 0 6px 16px rgba(168, 85, 247, .12)
}

.gsh__card h4 {
    margin: 0;
    font: 700 1.8rem/1.3 Pretendard, sans-serif;
    color: #0f172a;
    letter-spacing: -.01em
}

.gsh__card p {
    margin: 0;
    font: 500 1.1rem/1.6 Pretendard, sans-serif;
    color: #64748b;
    word-break: keep-all
}

.gsh__sub {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: .5rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.gsh__sub li {
    padding: 8px 12px 8px 24px;
    background: linear-gradient(90deg, #fdf4ff, #fae8ff);
    border: 1px solid #f3e8ff;
    border-radius: 10px;
    font: 600 1rem/1.3 Pretendard, sans-serif;
    color: #86198f;
    position: relative
}

.gsh__sub li::before {
    content: "›";
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: #d946ef;
    font-weight: 900;
    font-size: 1rem
}

.gsh__card--full {
    grid-column: 1/-1;
    background: linear-gradient(135deg, #fff, #fdf4ff);
    border-color: #e9d5ff
}

.gsh__card--full .gsh__emo {
    background: linear-gradient(135deg, #fae8ff, #f3e8ff);
    border-color: #e9d5ff
}

@media (max-width:1200px) {
    .gsh__desc {
        font-size: 1.05rem
    }
}

@media (max-width:1024px) {
    .gsh__grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:640px) {
    .gsh {
        padding: 5rem 1rem 4rem
    }

    .gsh__grid {
        grid-template-columns: 1fr;
        gap: 1rem
    }

    .gsh__card {
        padding: 1.5rem 1.4rem
    }

    .gsh__card h4 {
        font-size: 1.5rem;
    }
    .rcard__label { font: 600 1.2rem / 1 Pretendard, sans-serif; }
    [data-category="bizplan"] .rcard__title--quote { font-size: 1rem; }
    .rcard__sec-title { font-size: 0.9rem; }
    .gsh__eyebrow { font: 800 1.25rem / 1 'Aggravo', sans-serif; }
}

@media (max-width:578px) {
    .gsh__card p { font-size: 1.05rem }
}

/* gsh__soon 반응형 */
@media (max-width: 1024px) {
    .gsh__soon {
        font-size: 1.5rem !important;
        padding: 22px 36px !important;
        gap: 10px !important;
    }

    .gsh__soon.gsh__soon--top {
        font-size: .8rem !important;
        padding: 8px 14px !important;
    }

    .gsh__soon-desc {
        font-size: 1.05rem;
        margin: 2.4rem 0 0 !important;
    }
}

@media (max-width: 640px) {
    .gsh__soon {
        font-size: 1.1rem !important;
        padding: 16px 26px !important;
        gap: 8px !important;
        letter-spacing: .06em !important;
    }

    .gsh__soon.gsh__soon--top {
        font-size: .72rem !important;
        padding: 7px 12px !important;
        margin-bottom: .85rem !important;
    }

    .gsh__soon-desc {
        font-size: 1.05rem;
        margin: 1.8rem 0 0 !important;
        word-break: keep-all;
        padding: 0 1rem;
    }
}

/* AX Interview coming soon 색상 (보라 → 시안/블루) */
.gws--ax .gsh__soon {
    background: linear-gradient(135deg, #0ea5e9, #2563eb);
    box-shadow: 0 22px 50px rgba(14, 165, 233, .4);
}

.gws--ax .gsh__soon.gsh__soon--top {
    box-shadow: 0 8px 20px rgba(14, 165, 233, .28);
}

/* AX Interview 섹션 배경 효과 (radial blur orbs) */
.gws--ax {
    position: relative;
    overflow: hidden;
}

.gws--ax::before {
    content: "";
    position: absolute;
    top: 8%;
    left: 6%;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14, 165, 233, .2), transparent 60%);
    filter: blur(50px);
    pointer-events: none;
    z-index: 0;
}

.gws--ax::after {
    content: "";
    position: absolute;
    bottom: 6%;
    right: 8%;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14, 165, 233, .2), transparent 60%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

.gws--ax .gws__head,
.gws--ax .gws__flow,
.gws--ax .gsh__soon-wrap {
    position: relative;
    z-index: 1;
}