/* ==========================================================================
   Section 01 - 수강정보 카드
   Scope: .aioffice-page
   ========================================================================== */
.aioffice-page {
    margin-top: 90px;
}
.aioffice-page .section-course-info {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg);
}

.aioffice-page .section-course-info .contents-container {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: var(--spacing-xl);
    align-items: start;
}

.aioffice-page .course-intro-card {
    background: url(../images/course-bg01.jpg);
    background-position: 105% 0%;
    background-repeat: no-repeat;
}

.feature-icons {
    display: flex;
    align-items: center;
    gap: 72px;
}

.feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: #2463ff;
    padding:7px;
}

.feature-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* ===== 좌측: 과정 소개 ===== */

.aioffice-page .course-intro-eyebrow {
    color: var(--color-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-body);
    margin-bottom: var(--spacing-xs);
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}

.aioffice-page .course-intro-eyebrow::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 3px;
    background: var(--color-primary);
    border-radius: var(--radius-full);
}

.aioffice-page .course-intro-title {
    margin-top: var(--spacing-md);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-tight);
    font-weight: var(--font-weight-bold);
}

.aioffice-page .course-intro-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
    color: var(--color-text-secondary);
    max-width: 49%;
}

.aioffice-page .course-intro-visual {
    position: relative;
    margin-top: var(--spacing-lg);
    max-width: 600px;
}

.aioffice-page .course-intro-visual img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.aioffice-page .course-feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-lg);
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    list-style: none;
    margin: 90px 20px 0;
    padding: 0;
}

.aioffice-page .course-feature-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 96px;
    text-align: center;
}

.aioffice-page .course-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 28px;
}

.aioffice-page .course-feature-label {
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text);
}

/* ===== 우측: 수강 정보 카드 ===== */

.aioffice-page .course-enroll-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    padding: var(--spacing-lg);
    position: sticky;
    top: 150px;
}

.aioffice-page .course-enroll-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--color-border);
}

.aioffice-page .course-enroll-header-icon {
    display: flex;
    color: #fff;
}

.aioffice-page .course-enroll-title {
    font-size: var(--font-size-h5);
}

.aioffice-page .course-enroll-list {
    margin: var(--spacing-sm) 0 0;
}

.aioffice-page .course-enroll-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
}

.aioffice-page .course-enroll-row dt {
    font-size: var(--font-size-body-sm);
    color: var(--color-text-secondary);
}

.aioffice-page .course-enroll-row dd {
    margin: 0;
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text);
}

.aioffice-page .course-enroll-price-original {
    color: var(--color-text-tertiary);
    text-decoration: line-through;
    font-weight: var(--font-weight-medium);
}

.aioffice-page .course-enroll-highlight {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--spacing-sm);
    padding: var(--spacing-sm);
    background: var(--color-primary-lighter);
    border-radius: var(--radius-md);
}

.aioffice-page .course-enroll-highlight-label {
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-dark);
}

.aioffice-page .course-enroll-highlight-price {
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.aioffice-page .course-enroll-badge-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: var(--spacing-sm);
    justify-content: space-between;
}

.aioffice-page .course-enroll-note {
    margin-top: var(--spacing-xs);
    font-size: var(--font-size-caption);
    color: var(--color-text-tertiary);
}

.aioffice-page .course-enroll-cta {
    display: flex;
    width: 100%;
    margin-top: var(--spacing-md);
}

/* ===== Responsive ===== */

@media (max-width: 1024px) {
    .aioffice-page .section-course-info .contents-container {
        grid-template-columns: 1fr;
    }

    .aioffice-page .course-enroll-card {
        position: static;
    }
}

@media (max-width: 768px) {
    .aioffice-page .course-feature-list {
        justify-content: center;
        gap: var(--spacing-md);
    }

    .aioffice-page .course-feature-item {
        width: 80px;
    }
}


/* ==========================================================================
   Section 02 - 고민 공감
   ========================================================================== */

.aioffice-page .section-pain-point {
    position: relative;
    overflow: hidden;
    padding: var(--spacing-2xl) 0;
    background: #edeff6;
    background-image: url(../images/satisfaction-bg01.png);
    background-position: left top;
    background-repeat: no-repeat;
}

/* 좌측 여백에 걸치는 장식용 사진 + 손글씨 텍스트 (콘텐츠 흐름과 무관한 장식 요소) */
.aioffice-page .painpoint-decor {
    position: absolute;
    left: -40px;
    top: 64px;
    width: 240px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.aioffice-page .painpoint-decor-text {
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-relaxed);
    color: var(--color-text-secondary);
    transform: rotate(-3deg);
    padding-left: 24px;
}

.aioffice-page .painpoint-decor-photo {
    width: 220px;
    height: 260px;
    border-radius: var(--radius-lg);
    background: var(--color-bg-lighter);
    box-shadow: var(--shadow-md);
}

.aioffice-page .section-pain-point .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .painpoint-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .painpoint-card-list {
    display: flex;
    align-items: stretch;
    gap: 0;
    list-style: none;
    margin: var(--spacing-xl) 0 0;
    padding: 0;
}

.aioffice-page .painpoint-card {
    position: relative;
    flex: 1;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--spacing-md);
}

.aioffice-page .painpoint-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 28px;
}

.aioffice-page .painpoint-card-number {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    background: var(--color-primary);
    color: var(--color-text-white);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-bold);
}

.aioffice-page .painpoint-card h3 {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-h6);
}

.aioffice-page .painpoint-card p {
    margin-top: 10px;
    padding-top: var(--spacing-sm);
    border-top: 1px solid var(--color-border-light);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .painpoint-card-connector {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    color: var(--color-primary);
}

.aioffice-page .painpoint-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.aioffice-page .painpoint-summary-tip {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.aioffice-page .painpoint-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 24px;
}

.aioffice-page .painpoint-summary-quote {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: var(--spacing-lg);
    border-left: 1px solid var(--color-border);
    font-size: var(--font-size-body-sm);
    color: var(--color-text-secondary);
}

.aioffice-page .painpoint-summary-quote > span {
    font-size: 28px;
    line-height: 1;
    color: var(--color-primary-light);
}

@media (max-width: 1024px) {
    .aioffice-page .painpoint-decor {
        display: none;
    }
}

@media (max-width: 900px) {
    .aioffice-page .painpoint-card-list {
        flex-direction: column;
    }

    .aioffice-page .painpoint-card-connector {
        display: none;
    }

    .aioffice-page .painpoint-summary {
        grid-template-columns: 1fr;
    }

    .aioffice-page .painpoint-summary-quote {
        padding-left: 0;
        border-left: none;
        padding-top: var(--spacing-sm);
        border-top: 1px solid var(--color-border);
    }
}

/* ==========================================================================
   Section 03 - Before / After
   ========================================================================== */

.aioffice-page .section-before-after {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg);
}

.section-before-after .before {
    background-image: url(../images/before.jpg);
    background-position: center;
    background-repeat: no-repeat;
}

.section-before-after .after {
    background-image: url(../images/after.jpg);
    background-position: center;
    background-repeat: no-repeat;
}

.aioffice-page .section-before-after .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .before-after-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .before-after-compare {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    margin-top: var(--spacing-xl);
}

.aioffice-page .before-after-panel {
    margin: 0;
    padding: var(--spacing-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.aioffice-page .before-after-badge {
    display: inline-block;
    position: absolute;
    padding: 6px 14px;
    border-radius: var(--radius-sm);
    background: var(--color-secondary);
    color: var(--color-text-white);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.04em;
}

.aioffice-page .before-after-badge-after {
    background: var(--color-primary);
}

.aioffice-page .before-after-photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-md);
    height: 180px;
}

.aioffice-page .before-after-panel figcaption h3 {
    margin-top: var(--spacing-md);
    font-size: var(--font-size-h6);
}

.aioffice-page .before-after-list {
    list-style: none;
    margin: var(--spacing-sm) 0 0;
    padding: 0;
}

.aioffice-page .before-after-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: var(--font-size-body-sm);
    color: var(--color-text-secondary);
    border-bottom: 1px solid var(--color-border-light);
}

.aioffice-page .before-after-list .material-symbols-rounded {
    font-size: 18px;
    color: var(--color-text-tertiary);
    flex-shrink: 0;
}

.aioffice-page .before-after-panel-after .before-after-list .material-symbols-rounded {
    color: var(--color-primary);
}

.aioffice-page .before-after-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-tertiary);
}

.aioffice-page .before-after-note-positive {
    color: var(--color-primary);
}

.aioffice-page .before-after-arrow {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-md);
    color: var(--color-primary);
}

.aioffice-page .before-after-feature-list {
    display: flex;
    gap: var(--spacing-md);
    list-style: none;
    margin: var(--spacing-xl) 0 0;
    padding: var(--spacing-md) 0 0;
    border-top: 1px solid var(--color-border);
}

.aioffice-page .before-after-feature-list li {
    flex: 1;
    text-align: center;
}

.aioffice-page .before-after-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 24px;
}

.aioffice-page .before-after-feature-list h4 {
    margin-top: var(--spacing-xs);
    font-size: var(--font-size-body);
}

.aioffice-page .before-after-feature-list p {
    margin-top: 6px;
    font-size: var(--font-size-caption);
    line-height: var(--line-height-relaxed);
}

@media (max-width: 900px) {
    .aioffice-page .before-after-compare {
        grid-template-columns: 1fr;
    }

    .aioffice-page .before-after-arrow {
        position: static;
        transform: none;
        margin: 0 auto;
    }

    .aioffice-page .before-after-feature-list {
        flex-wrap: wrap;
    }

    .aioffice-page .before-after-feature-list li {
        flex: 0 0 calc(50% - var(--spacing-md));
    }
}

/* ==========================================================================
   Section 04 - 학습소개 (툴 그리드)
   ========================================================================== */

.aioffice-page .section-overview {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg-light);
}

.aioffice-page .section-overview .text-container {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.section-overview h2 {
    font-size:43px;
}

.section-overview .text-primary {
    font-weight: var(--font-weight-bold);
}

.aioffice-page .overview-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .tool-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
    list-style: none;
    margin: var(--spacing-xl) 0 0;
    padding: 0;
}

.aioffice-page .tool-card {
    position: relative;
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    color: var(--color-text-white);
    min-height: 220px;
    display: flex;
    flex-direction: column;
}

.aioffice-page .tool-card-number {
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-bold);
    opacity: 0.85;
}

.aioffice-page .tool-card h3 {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-h6);
    color: inherit;
}

.aioffice-page .tool-card p {
    margin-top: 6px;
    font-size: var(--font-size-body-sm);
    color: inherit;
    opacity: 0.85;
    line-height: var(--line-height-relaxed);
}

.aioffice-page .tool-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    margin-top: auto;
    padding-top: var(--spacing-md);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
}

.aioffice-page .tool-card-tag .material-symbols-rounded {
    font-size: 18px;
}

.aioffice-page .tool-card-external {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    font-size: 18px;
    opacity: 0.85;
}

.aioffice-page .tool-card-01 {
    background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary-darker) 100%);
    background-image: url(../images/card-bg01.jpg);
    background-repeat: no-repeat;
}

.aioffice-page .tool-card-02 {
    background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
    background-image: url(../images/card-bg02.jpg);
    background-repeat: no-repeat;
}

.aioffice-page .tool-card-03 {
    background: linear-gradient(135deg, var(--color-primary-lighter) 0%, var(--color-surface) 100%);
    color: var(--color-text);
    border: 1px solid var(--color-border);
    background-image: url(../images/card-bg03.jpg);
    background-repeat: no-repeat;
}

.aioffice-page .tool-card-04 {
    background: linear-gradient(135deg, var(--color-purple) 0%, var(--color-purple-dark) 100%);
    background-image: url(../images/card-bg04.jpg);
    background-repeat: no-repeat;
}

.aioffice-page .tool-card-05 {
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);
    background-image: url(../images/card-bg05.jpg);
    background-repeat: no-repeat;
}

.aioffice-page .tool-card-06 {
    background: linear-gradient(135deg, var(--color-primary-darker) 0%, var(--color-secondary) 100%);
    background-image: url(../images/card-bg06.jpg);
    background-repeat: no-repeat;
}

.aioffice-page .overview-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.aioffice-page .overview-summary-text {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--font-size-body);
    color: var(--color-text);
}

.aioffice-page .overview-summary-text .material-symbols-rounded {
    color: var(--color-primary);
    font-size: 22px;
}

.aioffice-page .overview-summary-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.aioffice-page .overview-summary-list li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-body-sm);
    color: var(--color-text-secondary);
}

.aioffice-page .overview-summary-list .material-symbols-rounded {
    font-size: 18px;
    color: var(--color-primary);
}

@media (max-width: 900px) {
    .aioffice-page .tool-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .aioffice-page .tool-grid {
        grid-template-columns: 1fr;
    }

    .aioffice-page .overview-summary {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ==========================================================================
   Section 05 - 워크플로우 다이어그램 (다크 배경)
   ========================================================================== */

.aioffice-page .section-workflow {
    padding: var(--spacing-2xl) 0;
    background: var(--color-secondary);
    background-image: url(../images/section-workflow-bg01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.section-workflow .icon {
    padding:10px;
    border:1px solid rgba(255, 255, 255, 0.14);
    border-radius: 900px;
}

.section-workflow .icon img {
    width:50px;
}

.aioffice-page .section-workflow .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .section-workflow h2 {
    color: var(--color-text-white);
}

.aioffice-page .workflow-eyebrow {
    color: var(--color-accent-light);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.2em;
}

.aioffice-page .workflow-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
    color: rgba(255, 255, 255, 0.68);
}

.aioffice-page .workflow-tree {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: var(--spacing-xl);
}

.aioffice-page .workflow-node {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: 260px;
    padding: var(--spacing-sm) var(--spacing-md);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(14px);
}

.aioffice-page .workflow-node-index {
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-accent-light);
}

.aioffice-page .workflow-node-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-text-white);
    font-size: 22px;
}

.aioffice-page .workflow-node-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aioffice-page .workflow-node-text strong {
    color: var(--color-text-white);
    font-size: var(--font-size-body);
}

.aioffice-page .workflow-node-text span {
    font-size: var(--font-size-caption);
    color: rgba(255, 255, 255, 0.6);
    line-height: var(--line-height-normal);
}

.aioffice-page .workflow-stem {
    width: 2px;
    height: 28px;
    background: rgba(255, 255, 255, 0.24);
}

.aioffice-page .workflow-row {
    position: relative;
    display: flex;
    gap: var(--spacing-md);
    padding-top: 28px;
    width: 100%;
    max-width: 880px;
    justify-content: center;
}

.aioffice-page .workflow-row::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(100% / 6.3);
    right: calc(100% / 6.3);
    height: 2px;
    background: rgba(255, 255, 255, 0.24);
}

.aioffice-page .workflow-row .workflow-node {
    position: relative;
    flex: 1;
    width: auto;
    min-width: 0;
}

.aioffice-page .workflow-row .workflow-node::before {
    content: '';
    position: absolute;
    top: -28px;
    left: 49.7%;
    width: 2px;
    height: 28px;
    background: rgba(255, 255, 255, 0.24);
}

.aioffice-page .workflow-summary {
    display: flex;
    align-items: center;
    gap: 40px;
    max-width: 720px;
    margin: var(--spacing-xl) auto 0;
    padding: 20px 70px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-lg);
}

.aioffice-page .workflow-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.1);
    color: var(--color-accent-light);
    font-size: 60px;
}

.aioffice-page .workflow-summary p {
    font-size: 20px;
    line-height: var(--line-height-relaxed);
    color: rgba(255, 255, 255, 0.72);
}

.aioffice-page .workflow-summary strong {
    color: var(--color-text-white);
    font-size: 30px;
}

@media (max-width: 768px) {
    .aioffice-page .workflow-node {
        width: 220px;
    }

    .aioffice-page .workflow-row {
        flex-direction: column;
        align-items: center;
        padding-top: 0;
        gap: 28px;
    }

    .aioffice-page .workflow-row::before {
        display: none;
    }

    .aioffice-page .workflow-row .workflow-node::before {
        top: -28px;
        height: 28px;
    }

    .aioffice-page .workflow-row .workflow-node:first-child::before {
        content: none;
    }

    .aioffice-page .workflow-row .workflow-node {
        flex: none;
        width: 220px;
    }

    .aioffice-page .workflow-summary {
        flex-direction: column;
        text-align: center;
    }
}

/* ==========================================================================
   Section 06 - 탭 전환 워크플로우
   ========================================================================== */

.aioffice-page .section-workflow-tab {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg);
}

.aioffice-page .section-workflow-tab .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .workflow-tab-eyebrow {
    color: var(--color-primary);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.15em;
}

.aioffice-page .workflow-tab-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .workflow-tabs {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xl);
}

.aioffice-page .workflow-tab-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: 0;
}

.aioffice-page .workflow-tab-btn .material-symbols-rounded {
    font-size: 20px;
    color: var(--color-text-tertiary);
}

.aioffice-page .workflow-tab-btn.is-active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-text-white);
}

.aioffice-page .workflow-tab-btn.is-active .material-symbols-rounded {
    color: var(--color-text-white);
}

.aioffice-page .workflow-panel-wrap {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 0 var(--radius-lg) var(--radius-lg) var(--radius-lg);
    padding: var(--spacing-lg);
}

.aioffice-page .workflow-panel-label {
    color: var(--color-primary);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em;
}

.aioffice-page .workflow-panel h3 {
    margin-top: 6px;
    font-size: var(--font-size-h4);
}

.aioffice-page .workflow-panel-desc {
    margin-top: var(--spacing-xs);
    font-size: var(--font-size-body);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .workflow-panel-placeholder {
    padding: var(--spacing-xl) 0;
    text-align: center;
    color: var(--color-text-tertiary);
}

.aioffice-page .workflow-step-list {
    display: flex;
    align-items: stretch;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-lg);
}

.aioffice-page .workflow-step {
    flex: 1;
    padding: var(--spacing-md);
    background: var(--color-bg-light);
    border-radius: var(--radius-md);
    text-align: center;
}

.aioffice-page .workflow-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin: 0 auto;
    border-radius: var(--radius-full);
    background: var(--color-surface);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
}

.aioffice-page .workflow-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: var(--spacing-xs) auto 0;
    border-radius: var(--radius-full);
    font-size: 24px;
    color: var(--color-text-white);
}

.aioffice-page .workflow-step-blue .workflow-step-icon {
    background: var(--color-primary);
}

.aioffice-page .workflow-step-purple .workflow-step-icon {
    background: var(--color-purple);
}

.aioffice-page .workflow-step-green .workflow-step-icon {
    background: var(--color-success);
}

.aioffice-page .workflow-step h4 {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body);
}

.aioffice-page .workflow-step p {
    margin-top: 4px;
    font-size: var(--font-size-caption);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .workflow-step-arrow {
    align-self: center;
    color: var(--color-text-tertiary);
    font-size: 20px;
}

.aioffice-page .workflow-result {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border);
}

.aioffice-page .workflow-result-label {
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-secondary);
}

.aioffice-page .workflow-result-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
}

.aioffice-page .workflow-result-name .material-symbols-rounded {
    color: var(--color-primary);
}

.aioffice-page .workflow-result-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    list-style: none;
    margin: 0;
    padding: 0;
}

.aioffice-page .workflow-result-tags li {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-body-sm);
    color: var(--color-text-secondary);
}

.aioffice-page .workflow-result-tags .material-symbols-rounded {
    font-size: 16px;
    color: var(--color-success);
}

@media (max-width: 900px) {
    .aioffice-page .workflow-tab-btn {
        flex-direction: column;
        font-size: var(--font-size-body-sm);
        padding: var(--spacing-sm);
    }

    .aioffice-page .workflow-step-list {
        flex-direction: column;
    }

    .aioffice-page .workflow-step-arrow {
        transform: rotate(90deg);
    }
}

/* ==========================================================================
   Section 07 - 학습 결과물
   ========================================================================== */

.aioffice-page .section-outcome {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg);
}

.section-outcome .container {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
}

.aioffice-page .section-outcome .contents-container {
    gap: var(--spacing-xl);
    align-items: center;
}

.aioffice-page .outcome-eyebrow {
    color: var(--color-primary);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em;
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}

.aioffice-page .outcome-eyebrow::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 3px;
    background: var(--color-primary);
    border-radius: var(--radius-full);
}

.aioffice-page .section-outcome h2 {
    margin-top: var(--spacing-md);
    font-size: 60px;
}

.aioffice-page .outcome-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .outcome-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.aioffice-page .outcome-card {
    position: relative;
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    overflow: hidden;
    height: 200px;
    border: 1px solid #e2e3e7;
}

.aioffice-page .outcome-card-number {
    font-size: var(--font-size-h5);
    font-weight: var(--font-weight-bold);
}

.aioffice-page .outcome-card-photo {
    margin-top: var(--spacing-sm);
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.5);
}

.aioffice-page .outcome-card h3 {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body);
}

.aioffice-page .outcome-card p {
    margin-top: 4px;
    font-size: var(--font-size-caption);
    color: var(--color-text-secondary);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .outcome-card-01 {
    background: #ecf5ff;
    background-image: url(../images/section-outcome-card-bg01.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
}

.aioffice-page .outcome-card-01 .outcome-card-number {
    color: var(--color-primary);
}

.aioffice-page .outcome-card-02 {
    background: #f0faf5;
    background-image: url(../images/section-outcome-card-bg02.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
}

.aioffice-page .outcome-card-02 .outcome-card-number {
    color: var(--color-success);
}

.aioffice-page .outcome-card-03 {
    background: #f4f0fe;
    background-image: url(../images/section-outcome-card-bg03.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
}

.aioffice-page .outcome-card-03 .outcome-card-number {
    color: var(--color-purple);
}

.aioffice-page .outcome-card-04 {
    background: #ffe9e3;
    background-image: url(../images/section-outcome-card-bg04.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
}

.aioffice-page .outcome-card-04 .outcome-card-number {
    color: var(--color-pink);
}

@media (max-width: 1024px) {
    .aioffice-page .section-outcome .contents-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .aioffice-page .outcome-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Section 08 - Why Miracle
   ========================================================================== */

.aioffice-page .section-reason {
    position: relative;
    overflow: hidden;
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg-light);
    background-image: url(../images/section-reason-bg01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.aioffice-page .section-reason h2 {
    font-size: clamp(28px, 3.7vw, 60px);
}

.aioffice-page .section-reason .text-container {
    max-width: 640px;
}

.aioffice-page .reason-eyebrow {
    color: var(--color-primary);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em;
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}

.aioffice-page .reason-eyebrow::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 3px;
    background: var(--color-primary);
    border-radius: var(--radius-full);
}

.aioffice-page .reason-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .reason-card-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-md);
    list-style: none;
    margin: var(--spacing-xl) 0 0;
    padding: 0;
}

.aioffice-page .reason-card {
    display: flex;
    flex-direction: column;
    padding: var(--spacing-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.aioffice-page .reason-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 22px;
}

.aioffice-page .reason-card-label {
    margin-top: var(--spacing-sm);
    color: var(--color-primary);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
}

.aioffice-page .reason-card h3 {
    margin-top: 4px;
    font-size: var(--font-size-h6);
}

.aioffice-page .reason-card-checklist {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    margin: var(--spacing-sm) 0 0;
    padding: 0;
}

.aioffice-page .reason-card-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: var(--font-size-caption);
    line-height: var(--line-height-relaxed);
    color: var(--color-text-secondary);
}

.aioffice-page .reason-card-checklist .material-symbols-rounded {
    font-size: 16px;
    color: var(--color-success);
    flex-shrink: 0;
    margin-top: 2px;
}

.aioffice-page .reason-card-icon-row {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: var(--spacing-sm);
}

.aioffice-page .reason-card-icon-row .material-symbols-rounded {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--radius-md);
    background: var(--color-bg-light);
    color: var(--color-primary);
    font-size: 18px;
}

.aioffice-page .reason-card-highlight {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    border-color: transparent;
    color: var(--color-text-white);
}

.aioffice-page .reason-card-highlight .reason-card-icon {
    background: rgba(255, 255, 255, 0.16);
    color: var(--color-text-white);
}

.aioffice-page .reason-card-highlight .reason-card-label,
.aioffice-page .reason-card-highlight h3 {
    color: var(--color-text-white);
}

.aioffice-page .reason-card-highlight .reason-card-checklist li {
    color: rgba(255, 255, 255, 0.85);
}

.aioffice-page .reason-card-highlight .reason-card-checklist .material-symbols-rounded {
    color: var(--color-text-white);
}

.aioffice-page .reason-card-highlight .reason-card-icon-row .material-symbols-rounded {
    background: rgba(255, 255, 255, 0.16);
    color: var(--color-text-white);
}

@media (max-width: 1024px) {
    .aioffice-page .reason-card-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .aioffice-page .reason-card-list {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Section 09 - 수강생 특별 혜택 (쿠폰형 배너)
   ========================================================================== */

.aioffice-page .section-benefit {
    padding: var(--spacing-2xl) 0;
    background: var(--color-secondary);
}

.aioffice-page .section-benefit .benefit-ticket {
    text-align: center;
}

.aioffice-page .section-benefit .text-container {
    text-align: center;
}

.aioffice-page .benefit-eyebrow {
    color: var(--color-accent-light);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.2em;
}

.aioffice-page .benefit-ticket-left {
    position: relative;
    background: var(--color-surface);
    padding: var(--spacing-xl);
    border-right: 2px dashed var(--color-border);
}

.aioffice-page .benefit-ticket-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-secondary);
}

.aioffice-page .benefit-ticket-label .material-symbols-rounded {
    color: var(--color-primary);
}

.aioffice-page .benefit-ticket-left h2 {
    margin-top: var(--spacing-sm);
}

.aioffice-page .benefit-ticket-desc {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border-light);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .benefit-ticket-right {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: var(--spacing-xl) var(--spacing-lg);
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    color: var(--color-text-white);
    text-align: center;
}

.aioffice-page .benefit-ticket-right-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
}

.aioffice-page .benefit-ticket-number {
    margin-top: 6px;
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.aioffice-page .benefit-ticket-number strong {
    font-size: 1.4em;
}

.aioffice-page .benefit-ticket-sub {
    font-size: var(--font-size-body-sm);
    color: rgba(255, 255, 255, 0.85);
}

.aioffice-page .benefit-ticket-code {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px dashed rgba(255, 255, 255, 0.4);
    width: 100%;
}

.aioffice-page .benefit-ticket-code span {
    font-size: var(--font-size-caption);
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.7);
}

.aioffice-page .benefit-ticket-code strong {
    display: inline-block;
    margin: 0 auto;
    padding: 6px 16px;
    background: var(--color-surface);
    color: var(--color-primary);
    border-radius: var(--radius-full);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
}

.aioffice-page .benefit-ticket-notch::before,
.aioffice-page .benefit-ticket-notch::after {
    content: '';
    position: absolute;
    left: 61.5%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    background: var(--color-secondary);
}

.aioffice-page .benefit-ticket-notch::before {
    top: -14px;
}

.aioffice-page .benefit-ticket-notch::after {
    bottom: -14px;
}

@media (max-width: 768px) {
    .aioffice-page .benefit-ticket {
        grid-template-columns: 1fr;
    }

    .aioffice-page .benefit-ticket-left {
        border-right: none;
        border-bottom: 2px dashed var(--color-border);
    }

    .aioffice-page .benefit-ticket-notch {
        display: none;
    }
}

/* ==========================================================================
   Section 10 - 추천 대상
   ========================================================================== */

.aioffice-page .section-target {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg-light);
}

.aioffice-page .section-target .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .target-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .target-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
    list-style: none;
    margin: var(--spacing-xl) 0 0;
    padding: 0;
}

.aioffice-page .target-card {
    padding: var(--spacing-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.aioffice-page .target-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 24px;
}

.aioffice-page .target-card h3 {
    margin-top: var(--spacing-sm);
    color: var(--color-primary);
    font-size: var(--font-size-h6);
}

.aioffice-page .target-card p {
    margin-top: 6px;
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-relaxed);
}

.aioffice-page .target-card-profile {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border-light);
}

.aioffice-page .target-card-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
}

.aioffice-page .target-card-profile-text {
    display: flex;
    flex-direction: column;
}

.aioffice-page .target-card-profile-text strong {
    font-size: var(--font-size-body-sm);
    color: var(--color-text);
}

.aioffice-page .target-card-profile-text span {
    font-size: var(--font-size-caption);
    color: var(--color-text-tertiary);
}

@media (max-width: 900px) {
    .aioffice-page .target-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .aioffice-page .target-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Section 11 - 커리큘럼
   ========================================================================== */

.aioffice-page .section-curriculum {
    padding: var(--spacing-2xl) 0;
    background: var(--color-bg);
}

.aioffice-page .section-curriculum .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .section-curriculum .badge-outline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.aioffice-page .section-curriculum .badge-outline .material-symbols-rounded {
    font-size: 16px;
}

.aioffice-page .section-curriculum h2 {
    margin-top: var(--spacing-md);
}

.aioffice-page .curriculum-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xl);
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.aioffice-page .curriculum-steps::before {
    content: '';
    position: absolute;
    left: 32px;
    top: 28px;
    bottom: 28px;
    width: 2px;
    background: repeating-linear-gradient(to bottom, var(--color-border) 0 6px, transparent 6px 12px);
    z-index: 0;
}

.aioffice-page .curriculum-step {
    position: relative;
    display: grid;
    grid-template-columns: 64px 56px 1fr 260px;
    align-items: center;
    gap: var(--spacing-md);
    box-shadow: 0 8px 24px rgba(31, 45, 90, 0.08);
    border-radius: 20px;
    overflow: hidden;
}

.aioffice-page .curriculum-step-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 100%;
    background: var(--color-primary);
    color: var(--color-text-white);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-semibold);
}

.aioffice-page .curriculum-step-badge strong {
    font-size: var(--font-size-h5);
    font-weight: var(--font-weight-bold);
}

.aioffice-page .curriculum-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    background: var(--color-primary-lighter);
    color: var(--color-primary);
    font-size: 28px;
}

.aioffice-page .curriculum-step-text h3 {
    font-size: var(--font-size-h6);
    text-align: left;
}

.aioffice-page .curriculum-step-text p {
    margin-top: 2px;
    font-size: var(--font-size-body-sm);
    text-align: left;
}

.aioffice-page .curriculum-step-tools {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.aioffice-page .curriculum-step-tools span {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-body-sm);
    color: var(--color-text);
}

.aioffice-page .curriculum-step-tools .material-symbols-rounded {
    font-size: 18px;
    color: var(--color-primary);
}

.aioffice-page .curriculum-more {
    display: flex;
    width: fit-content;
    margin: var(--spacing-xl) auto 0;
}

@media (max-width: 900px) {
    .aioffice-page .curriculum-steps::before {
        display: none;
    }

    .aioffice-page .curriculum-step {
        grid-template-columns: 56px 48px 1fr;
    }

    .aioffice-page .curriculum-step-tools {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: var(--spacing-xs);
    }
}

@media (max-width: 600px) {
    .aioffice-page .curriculum-step {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .aioffice-page .curriculum-step-badge,
    .aioffice-page .curriculum-step-icon {
        margin: 0 auto;
    }

    .aioffice-page .curriculum-step-text h3,
    .aioffice-page .curriculum-step-text p {
        text-align: center;
    }

    .aioffice-page .curriculum-step-tools {
        justify-content: center;
    }
}

/* ==========================================================================
   Section 12 - Final CTA
   ========================================================================== */

.aioffice-page .section-final-cta {
    position: relative;
    overflow: hidden;
    padding: var(--spacing-2xl) 0;
    background-image: url(../images/section-final-cta-bg01.jpg);
    background-position: top right;
}

/*
TODO: 실사 배경 이미지 교체 필요
시안: 노트북 자판을 치는 손 위에 다크 오버레이가 깔린 배경 사진
*/
.aioffice-page .section-final-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.9;
    z-index: 0;
}

.aioffice-page .section-final-cta .container {
    position: relative;
}

.aioffice-page .section-final-cta .text-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.aioffice-page .section-final-cta h2 {
    color: var(--color-text-white);
}

.aioffice-page .final-cta-desc {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-relaxed);
    color: rgba(255, 255, 255, 0.72);
}

.aioffice-page .final-cta-badges {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--spacing-lg);
    list-style: none;
    margin: var(--spacing-lg) 0 0;
    padding: 0;
}

.aioffice-page .final-cta-badges li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-medium);
    color: rgba(255, 255, 255, 0.85);
}

.aioffice-page .final-cta-badges .material-symbols-rounded {
    font-size: 18px;
    color: var(--color-accent-light);
}

.aioffice-page .final-cta-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xl);
}

.aioffice-page .final-cta-tile {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--color-surface);
    border-radius: var(--radius-md);
    color: var(--color-text);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    transition: var(--transition-base);
}

.aioffice-page .final-cta-tile:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.aioffice-page .final-cta-tile-icon {
    display: flex;
    color: var(--color-primary);
    font-size: 20px;
}

.aioffice-page .final-cta-tile-arrow {
    font-size: 18px;
    color: var(--color-text-tertiary);
}

@media (max-width: 600px) {
    .aioffice-page .final-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .aioffice-page .final-cta-tile {
        justify-content: center;
    }
}
