/* ========================================
   sub1_2 - 종합광고
   ======================================== */
.sub1_2_wrap .about-slogan-line span {
    font-size: clamp(28px, 6vw, 100px);
    font-weight: 800;
}
.sub1_2_wrap .az-text {
    font-size: clamp(28px, 6vw, 100px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--base-color-black);
    transition: color 0.5s ease;
}
.sub1_2_wrap .az-bar {
    display: inline-block;
    width: 0;
    height: clamp(3px, 0.4vw, 6px);
    background: var(--base-color-black);
    vertical-align: 0.35em;
    margin: 0 clamp(2px, 0.3vw, 6px);
    transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1), background 0.5s ease;
}
.sub1_2_wrap .about-section-slogan.az-active .az-bar {
    width: clamp(30px, 4vw, 80px);
    background: var(--signature-color);
}
.sub1_2_wrap .about-section-slogan.az-active .az-text {
    color: var(--signature-color);
}

/* svc grid override */
.sub1_2_wrap .svc-header {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
}
.sub1_2_wrap .svc-item {
    display: grid !important;
    grid-template-columns: clamp(180px, 18vw, 300px) 1fr !important;
}
.sub1_2_wrap .svc-big-text .mo-only {
    display: none;
}
@media (max-width: 768px) {
    .sub1_2_wrap .svc-big-text .mo-only {
        display: inline;
    }
    .sub1_2_wrap .svc-item {
        display: flex !important;
        flex-direction: column !important;
    }
    .sub1_2_wrap .svc-item .svc-meta {
        margin-bottom: 20px;
    }
}

/* ========================================
   sub1_3 - 온라인광고
   ======================================== */
.scroll-pin-wrapper {
    height: 250vh;
    position: relative;
}
.scroll-pin-section {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: center;
}
.scroll-pin-section .sub_inner {
    margin: 0;
}
.scroll-slogan {
    display: flex;
    flex-direction: column;
    gap: clamp(4px, 0.5vw, 10px);
}
.scroll-slogan__title {
    font-size: clamp(25px, 6.3vw, 108px);
    font-weight: 900;
    line-height: 1.15;
    color: #000;
}
.scroll-slogan__desc {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin: 0;
}
.scroll-slogan__desc .fill-text {
    font-size: clamp(25px, 6.3vw, 108px);
    font-weight: 900;
    line-height: 1.15;
    --fill: 0%;
    background: linear-gradient(to right, #000 var(--fill), rgba(0,0,0,0.04) var(--fill));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.sub1_3_wrap .svc-section,
.sub1_4_wrap .svc-section,
.sub1_5_wrap .svc-section {
    padding: 0 0 var(--all-sec-margin-position) 0;
}

.svc-portfolio-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: clamp(20px, 2vw, 32px);
    padding: clamp(12px, 1.2vw, 24px) clamp(24px, 2.4vw, 46px);
    background: var(--base-color-black);
    color: #fff !important;
    border-radius: 100px;
    font-size: clamp(15px, 1.02vw, 17px);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.3s ease;
}
.svc-portfolio-btn:hover {
    background: var(--signature-color);
    transform: translateY(-2px);
}
.svc-portfolio-btn svg {
    transition: transform 0.3s ease;
    color: #fff !important;
    stroke: #fff !important;
}
.svc-portfolio-btn:hover svg {
    transform: translateX(4px);
}

/* svc grid override */
.sub1_3_wrap .svc-header,
.sub1_4_wrap .svc-header,
.sub1_5_wrap .svc-header {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
}
.sub1_3_wrap .svc-item,
.sub1_4_wrap .svc-item,
.sub1_5_wrap .svc-item {
    display: grid !important;
    grid-template-columns: clamp(180px, 18vw, 300px) 1fr !important;
}
.sub1_3_wrap .svc-big-text .mo-only,
.sub1_4_wrap .svc-big-text .mo-only,
.sub1_5_wrap .svc-big-text .mo-only {
    display: none;
}
@media (max-width: 768px) {
    .sub1_3_wrap .svc-big-text .mo-only,
    .sub1_4_wrap .svc-big-text .mo-only,
    .sub1_5_wrap .svc-big-text .mo-only {
        display: inline;
    }
    .sub1_3_wrap .svc-item,
    .sub1_4_wrap .svc-item,
    .sub1_5_wrap .svc-item {
        display: flex !important;
        flex-direction: column !important;
    }
    .sub1_3_wrap .svc-item .svc-meta,
    .sub1_4_wrap .svc-item .svc-meta,
    .sub1_5_wrap .svc-item .svc-meta {
        margin-bottom: 20px;
    }
}

/* ========================================
   sub1_5 - ALL IN ONE PROCESS
   ======================================== */
.sub1_5_wrap .svc-big-text {
    border-bottom: 1px solid #e5e3de;
    margin: 0 5%;
}

.sub1_5_wrap .aio-section {
    padding: clamp(39px, 4.9vw, 98px) 0 var(--all-sec-margin-position);
}

/* 헤더 */
.sub1_5_wrap .aio-header {
    text-align: center;
    margin-bottom: clamp(48px, 6vw, 100px);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.sub1_5_wrap .aio-header.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.sub1_5_wrap .aio-eyebrow {
    display: block;
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 600;
    letter-spacing: 0.25em;
    color: #555;
    margin: 0 0 clamp(20px, 2.5vw, 40px);
}
.sub1_5_wrap .aio-headline {
    font-size: clamp(32px, 5.5vw, 72px);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    margin: 0 0 clamp(24px, 3vw, 48px);
    color: var(--base-color-black);
}
.sub1_5_wrap .aio-headline em {
    font-style: normal;
    font-weight: inherit;
    font-size: inherit;
    color: var(--signature-color);
}
.sub1_5_wrap .aio-sub {
    font-size: clamp(15px, 1.2vw, 20px);
    line-height: 1.8;
    color: #555;
    margin: 0;
}

/* 스텝 카드 */
.sub1_5_wrap .aio-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.2vw, 20px);
}
.sub1_5_wrap .aio-card {
    background: #fff;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: clamp(10px, 1vw, 16px);
    padding: clamp(24px, 2.5vw, 40px) clamp(16px, 1.5vw, 24px) clamp(20px, 2vw, 32px);
    text-align: center;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s ease, transform 0.7s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.sub1_5_wrap .aio-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.sub1_5_wrap .aio-card:hover {
    transform: translateY(-4px);
    border-color: rgba(17, 17, 17, 0.14);
    box-shadow: 0 12px 32px -16px rgba(17, 17, 17, 0.18);
}
.sub1_5_wrap .aio-card.is-visible:hover {
    transform: translateY(-4px);
}
.sub1_5_wrap .aio-step-num {
    font-size: clamp(11px, 0.8vw, 13px);
    font-weight: 600;
    letter-spacing: 0.18em;
    color: #999;
    margin: 0 0 clamp(14px, 1.2vw, 20px);
}
.sub1_5_wrap .aio-icon-wrap {
    width: clamp(44px, 3.5vw, 56px);
    height: clamp(44px, 3.5vw, 56px);
    border-radius: 50%;
    background: var(--light-gray);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(12px, 1.2vw, 20px);
    transition: background 0.35s ease;
}
.sub1_5_wrap .aio-card:hover .aio-icon-wrap {
    background: #e8e6ff;
}
.sub1_5_wrap .aio-icon-wrap i {
    font-size: clamp(20px, 1.8vw, 26px);
    color: var(--base-color-black);
}
.sub1_5_wrap .aio-step-title {
    font-size: clamp(15px, 1.1vw, 19px);
    font-weight: 600;
    margin: 0 0 6px;
    letter-spacing: -0.01em;
    color: var(--base-color-black);
}
.sub1_5_wrap .aio-step-desc {
    font-size: clamp(15px, 1vw, 16px);
    color: #555;
    margin: 0;
    line-height: 1.55;
}

/* 수렴 라인 */
.sub1_5_wrap .aio-converge {
    display: block;
    width: 100%;
    height: clamp(144px, 15vw, 216px);
    margin: 0;
    overflow: visible;
}
.sub1_5_wrap .aio-converge .aio-line {
    stroke: rgba(17, 17, 17, 0.1);
}
.sub1_5_wrap .aio-converge .aio-center-line {
    stroke: rgba(17, 17, 17, 0.15);
}

/* 통합 배너 */
.sub1_5_wrap .aio-unified {
    background: var(--base-color-black);
    color: #fff;
    border-radius: clamp(10px, 1vw, 16px);
    padding: clamp(20px, 2vw, 30px) clamp(24px, 2.5vw, 40px);
    text-align: center;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.sub1_5_wrap .aio-unified.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.sub1_5_wrap .aio-unified i {
    font-size: clamp(20px, 1.8vw, 26px);
}
.sub1_5_wrap .aio-unified-text {
    font-size: clamp(14px, 1vw, 17px);
    font-weight: 500;
    letter-spacing: 0.16em;
    text-align: center;
    color: #fff;
}

/* 베네핏 */
.sub1_5_wrap .aio-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(12px, 1.2vw, 20px);
    margin-top: clamp(32px, 3.5vw, 56px);
}
.sub1_5_wrap .aio-bene {
    background: var(--light-gray);
    border-radius: clamp(10px, 1vw, 16px);
    padding: clamp(20px, 2vw, 30px) clamp(20px, 2vw, 32px);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.sub1_5_wrap .aio-bene.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.sub1_5_wrap .aio-bene-icon {
    font-size: clamp(20px, 1.6vw, 24px);
    color: var(--base-color-black);
    margin-bottom: clamp(10px, 1vw, 16px);
    display: block;
}
.sub1_5_wrap .aio-bene-title {
    font-size: clamp(15px, 1.1vw, 19px);
    font-weight: 600;
    margin: 0 0 6px;
    letter-spacing: -0.01em;
    color: var(--base-color-black);
}
.sub1_5_wrap .aio-bene-desc {
    font-size: clamp(15px, 1vw, 16px);
    color: #555;
    margin: 0;
    line-height: 1.55;
}

/* AIO 반응형 */
@media (max-width: 960px) {
    .sub1_5_wrap .aio-steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .sub1_5_wrap .aio-converge {
        display: none;
    }
    .sub1_5_wrap .aio-unified {
        margin-top: clamp(20px, 3vw, 32px);
    }
}
@media (max-width: 480px) {
    .sub1_5_wrap .aio-steps {
        grid-template-columns: 1fr;
    }
    .sub1_5_wrap .aio-benefits {
        grid-template-columns: 1fr;
    }
    .sub1_5_wrap .aio-unified {
        padding: clamp(18px, 4vw, 24px) clamp(16px, 4vw, 20px);
    }
    .sub1_5_wrap .aio-unified-text {
        letter-spacing: 0.1em;
    }
}


/* ========================================
   consent_modal - 동의 모달
   ======================================== */
#consentDialog { padding:0; border:none; border-radius:12px; }
#consentDialog::backdrop { background: rgba(0,0,0,.45); backdrop-filter: blur(5px); }
.cd-card { min-width: 320px; max-width: 560px; background:#fff; border-radius:12px; }
.cd-head { display:flex; align-items:center; justify-content:space-between; padding:16px; }
.cd-title { margin:0; font-size:18px; font-weight:bold; word-break:keep-all; }
.cd-body { max-height:500px; overflow-y:auto; padding:16px; border-top:1px solid #e6e6e9; border-bottom:1px solid #e6e6e9; line-height:1.6; font-size:14px; color:#222; }
.cd-actions { display:flex; gap:8px; justify-content:flex-end; padding:12px 16px 16px; }
.cd-actions .cd-agree { padding:8px 14px; border:1px solid #3a8afd; background:#3a8afd; color:#fff; border-radius:8px; }
.cd-actions .cd-close { padding:8px 14px; border:1px solid #ccc; background:#fff; color:#111; border-radius:8px; }
