.retreatment-ortho-page {
    /* 디자인 시스템 토큰 (Figma) */
    --color-point: #5E2C7B;
    --color-point2: #A8599E;
    --color-warm-800: #292524;
    --color-warm-700: #44403C;
    --color-warm-500: #78716C;
    --color-warm-400: #A8A29E;
    --color-bg-soft: #F7F7F7;
    --color-bg-soft2: #FCFCFC;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--color-warm-800);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.retreatment-ortho-page .mobile-break { display: none; }


.ortho-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
            linear-gradient(180deg, rgba(0, 0, 0, 0) 40.61%, rgba(0, 0, 0, .5) 100%),
            linear-gradient(0deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .6) 100%),
            url('../img/orthodontics/retreatment/hero-bg.webp') center / cover no-repeat;
    filter: grayscale(1);
}

/* 공통 히어로 오버레이는 위 background에 포함합니다. */
.retreatment-ortho-page .ortho-hero::after {
    display: none;
}


.retreatment-ortho-page .ortho-hero {
    height: auto;
    min-height: 958px;
    aspect-ratio: 1920 / 924;
}

.retreatment-ortho-checks {
    width: 704px;
    max-width: 100%;
    margin-top: 60px;
}

.retreatment-ortho-checks__title {
    margin: 0 0 40px;
    padding-left: 20px;
    border-left: 3px solid #ffcf4a;
    color: #ffcf4a;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: -.72px;
}

.retreatment-ortho-checks__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.retreatment-ortho-checks__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
}

.retreatment-ortho-checks__label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #ffcf4a;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.51px;
}

.retreatment-ortho-checks__label img {
    flex: 0 0 16px;
}

.retreatment-ortho-checks__detail {
    box-sizing: border-box;
    width: 100%;
    padding: 20px 26px;
    border-radius: 100px;
    background: rgba(245, 245, 244, .05);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -.51px;
    white-space: nowrap;
}

.retreatment-comparison {
    padding: 120px 0;
}

.retreatment-comparison .contents-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.retreatment-comparison .retreatment-comparison__desc {
    font-size: 24px;
    line-height: 34px;
    letter-spacing: -1.2px;
}

.retreatment-comparison .comparison-table--retreatment {
    display: grid;
    grid-template-columns: 160px repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 40px;
}

.retreatment-comparison .comparison-table__label-column,
.retreatment-comparison .comparison-table__column {
    display: contents;
}

.retreatment-comparison .comparison-table__label-column > * { grid-column: 1; }
.retreatment-comparison .comparison-table__column--first > * { grid-column: 2; }
.retreatment-comparison .comparison-table__column--repeat > * { grid-column: 3; }
.retreatment-comparison .comparison-table__header { grid-row: 1; min-height: 30px; padding: 0 10px; }
.retreatment-comparison .comparison-table__image { grid-row: 2; margin: 10px 0; }
.retreatment-comparison .comparison-table__row:nth-child(3) { grid-row: 3; }
.retreatment-comparison .comparison-table__row:nth-child(4) { grid-row: 4; }
.retreatment-comparison .comparison-table__row:nth-child(5) { grid-row: 5; }
.retreatment-comparison .comparison-table__row:nth-child(6) { grid-row: 6; }
.retreatment-comparison .comparison-table__row:nth-child(7) { grid-row: 7; }
.retreatment-comparison .comparison-table__label-column .comparison-table__row { background: #f5f5f4; color: #57534e; }
.retreatment-comparison .comparison-table__column .comparison-table__row { background: rgba(94, 44, 123, .05); font-weight: 500; }
.retreatment-comparison .comparison-table__column--first .comparison-table__header { color: #a8599e; }
.retreatment-comparison .comparison-table__column--repeat .comparison-table__header { color: #5e2c7b; }
.retreatment-comparison .comparison-table__column--first .comparison-table__image img { object-position: center top; }
.retreatment-comparison .comparison-table__mobile-card--first .comparison-table__mobile-title { color: #a8599e; }
.retreatment-comparison .comparison-table__mobile-card--repeat .comparison-table__mobile-title { color: #5e2c7b; }
.retreatment-comparison .comparison-table__mobile-row-label { background: #f5f5f4; color: #57534e; }
.retreatment-comparison .comparison-table__mobile-row-value { background: rgba(94, 44, 123, .05); }

@media (max-width: 1199px) {
    .retreatment-comparison .comparison-table--retreatment { grid-template-columns: 135px repeat(2, minmax(0, 1fr)); padding: 20px; }
    .retreatment-comparison .comparison-table__image { height: auto; aspect-ratio: 271.5 / 175.97; }
    .retreatment-comparison .retreatment-comparison__desc { font-size: 20px; line-height: 1.5; }
    .retreatment-ortho-page .ortho-hero {
        min-height: 920px;
    }

    .retreatment-ortho-page .ortho-hero {
        min-height: 0;
        padding: 100px 15px;
        aspect-ratio: auto;
    }

    .retreatment-ortho-page .ortho-hero .ortho-hero__copy {
        padding: 15px 0;
    }
}

@media (max-width: 767px) {
    .retreatment-ortho-page .mobile-break { display: inline; }
    .retreatment-comparison { padding: 60px 0; }
    .retreatment-comparison .contents-wrapper { gap: 40px; }
    .retreatment-comparison .comparison-table--retreatment { display: none; }
    .retreatment-comparison .retreatment-comparison__desc { font-size: 15px; line-height: 1.5; letter-spacing: -.6px; }
    .retreatment-ortho-page .ortho-hero {
        height: auto;
        min-height: 0;
        padding: 40px 9px;
        aspect-ratio: 375 / 891;
    }

    .retreatment-ortho-page .ortho-hero .ortho-wrap {
        padding: 0;
    }

    .retreatment-ortho-page .desktop-tablet-only,
    .retreatment-ortho-page .ortho-hero__lead--desktop-tablet {
        display: none;
    }

    .retreatment-ortho-page .mobile-only,
    .retreatment-ortho-page .ortho-hero__lead--mobile {
        display: inline;
    }

    .retreatment-ortho-page .ortho-hero__lead--mobile {
        display: block;
    }

    .retreatment-ortho-checks {
        width: 260px;
        margin-top: 40px;
    }

    .retreatment-ortho-checks__title {
        margin-bottom: 20px;
        padding-left: 7px;
        font-size: 23px;
        line-height: 29.9px;
        letter-spacing: -.45px;
    }

    .retreatment-ortho-checks__list {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .retreatment-ortho-checks__item {
        gap: 7px;
    }

    .retreatment-ortho-checks__label {
        gap: 3px;
        font-size: 13px;
        letter-spacing: -.39px;
    }

    .retreatment-ortho-checks__label img {
        flex-basis: 12px;
        width: 12px;
        height: 12px;
    }

    .retreatment-ortho-checks__detail {
        padding: 14px 20px;
        font-size: 13px;
        letter-spacing: -.39px;
        white-space: nowrap;
    }
}


/* 재교정 원인 */
.retreatment-reasons__intro { padding-top: 130px; padding-bottom: 130px; }
.retreatment-reasons__intro .theme-title-center { align-items: flex-start; text-align: left; }
.retreatment-reasons__banner { padding: 50px 15px; background: #5e2c7b; text-align: center; }
.retreatment-reasons__banner h3 { margin: 0; color: #fff; font-size: 56px; font-weight: 800; line-height: 1.3; letter-spacing: -0.05em; word-break: keep-all; }
.retreatment-reasons__body { padding: 160px 15px 180px; background: radial-gradient(ellipse at top right, rgba(255,255,255,.7), transparent 70%), radial-gradient(ellipse at top left, rgba(255,255,255,.7), transparent 70%), linear-gradient(to bottom, transparent 35%, #f7f7f7), url('../img/orthodontics/retreatment/reasons-bg.webp') center bottom / cover no-repeat; }
.retreatment-reasons__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; max-width: 1340px; margin: 0 auto; }
.retreatment-reasons__cards > :nth-child(4) { grid-column: 3; }
.retreatment-reasons .special-system__card {
    display: flex;
    flex: 0 0 calc((100% - 60px) / 4);
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: calc((100% - 60px) / 4);
    min-height: 373px;
    height: auto;
    min-width: 0;
    padding: 30px 26px;
    border: 1px solid rgba(123, 44, 106, 0.05);
    background: #fff;
    border-radius: 8px;
}

.retreatment-reasons .special-system__card-main,
.retreatment-reasons .special-system__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.retreatment-reasons .special-system__card-main {
    gap: 20px;
}

.retreatment-reasons .special-system__heading {
    gap: 10px;
}

.retreatment-reasons .special-system__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 5px;
    border-bottom: 2px solid #5e2c7b;
    color: #5e2c7b;
    font-size: 17px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.51px;
    white-space: nowrap;
}

.retreatment-reasons .special-system__title,
.retreatment-reasons .special-system__description,
.retreatment-reasons .special-system__keyword-box p,
.retreatment-reasons .special-system__keyword-label strong {
    margin: 0;
    word-break: keep-all;
}

.retreatment-reasons .special-system__title {
    color: #131214;
    font-size: 28px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -1.4px;
}

.retreatment-reasons .special-system__description {
    color: #78716c;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.68px;
}

.retreatment-reasons .special-system__keyword-box {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: flex-start;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    background: rgba(123, 44, 106, 0.05);
}

.retreatment-reasons .special-system__keyword-label {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
}

.retreatment-reasons .special-system__check {
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.retreatment-reasons .special-system__keyword-label strong {
    color: #5e2c7b;
    font-size: 17px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.51px;
    white-space: nowrap;
}

.retreatment-reasons .special-system__keyword-box > p {
    width: 100%;
    padding-left: 20px;
    color: #292524;
    font-size: 13px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.39px;
}

.retreatment-reasons .special-system__card { width: auto; gap: 60px; }
@media (min-width: 768px) and (max-width: 1199px) {
    .retreatment-reasons__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .retreatment-reasons__cards > :nth-child(4) { grid-column: auto; }
}
@media (max-width: 767px) {
    .retreatment-reasons .special-system__number {font-size: 13px;font-weight: 700;letter-spacing: -0.39px;}
    .retreatment-reasons__intro { padding-top: 80px; padding-bottom: 80px; }
    .retreatment-reasons__banner { padding: 30px 15px; }
    .retreatment-reasons__banner h3 { font-size: 28px; }
    .retreatment-reasons__body { padding: 80px 15px; }
    .retreatment-reasons__cards { grid-template-columns: 1fr; gap: 16px; }
    .retreatment-reasons__cards > :nth-child(4) { grid-column: auto; }
    .retreatment-reasons .special-system__card { min-height: 0; padding: 24px 20px; gap: 30px; }
    .retreatment-reasons .special-system__title { font-size: 20px;font-weight: 700;letter-spacing: -1px; }
    .retreatment-reasons .special-system__description { font-size: 13px;font-weight: 500;line-height: 140%;letter-spacing: -0.52px;}
    .retreatment-reasons .special-system__keyword-label strong { font-size: 13px;font-weight: 700;letter-spacing: -0.39px;}
    .retreatment-reasons .special-system__keyword-box > p {font-size: 12px;font-weight: 400;letter-spacing: -0.36px;}
    .retreatment-reasons .special-system__check {flex: 0 0 12px; width: 12px; height: 12px}
    .retreatment-reasons .special-system__keyword-box {padding : 8px}
    .ortho-signal__image {aspect-ratio: 108/98 !important;height: auto!important;}
    .ortho-signal .contents-wrapper {gap : 60px}
}

.retreatment-scope {
    padding: 130px 0;
    background: #fff;
}

.retreatment-scope__title {
    align-items: flex-start;
    text-align: left;
}

.retreatment-scope__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-top: 80px;
}

.retreatment-scope__card {
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-width: 0;
}

.retreatment-scope__image {
    display: block;
    width: 100%;
    aspect-ratio: 665 / 500;
    height: auto;
    object-fit: cover;
    object-position: top;
}

.retreatment-scope__copy {
    min-height: 130px;
}

.retreatment-scope__copy h3 {
    margin: 0 0 10px;
    color: #5e2c7b;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -1.5px;
}

.retreatment-scope__copy p {
    margin: 0;
    color: #78716c;
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
    letter-spacing: -1.2px;
    word-break: keep-all;
}

.retreatment-scope__checks h4 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    color: #5e2c7b;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: -0.72px;
}

.retreatment-scope__checks h4 img {
    flex: 0 0 23px;
}

.retreatment-scope__checks ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.retreatment-scope__checks li {
    padding: 15px 25px;
    border: 1px solid rgba(204, 204, 204, 0.1);
    border-radius: 8px;
    background: rgba(123, 44, 106, 0.05);
    color: #57534e;
    font-size: 21px;
    font-weight: 500;
    line-height: 31px;
    letter-spacing: -0.84px;
}

@media (max-width: 767px) {
    .retreatment-scope { padding: 70px 0; }
    .retreatment-scope__cards { grid-template-columns: 1fr; gap: 40px; margin-top: 40px; }
    .retreatment-scope__card { gap: 20px; }
    .retreatment-scope__copy { min-height: 0; }
    .retreatment-scope__copy h3 { font-size: 26px; }
    .retreatment-scope__copy p { font-size: 16px; line-height: 1.5; letter-spacing: -0.5px; }
    .retreatment-scope__checks h4 { font-size: 18px; line-height: 1.4; }
    .retreatment-scope__checks li { padding: 12px 16px; font-size: 16px; line-height: 1.5; letter-spacing: -0.5px; }
}

/* 재교정 장치와 치료 방법 */
.retreatment-methods .dental-si__text {
    justify-content: space-between;
}
.retreatment-methods .dental-si__img-wrap {
    flex: 1;
}
.retreatment-methods .dental-si__text {
    flex: 1;
}
.retreatment-methods .dental-si:first-child .dental-si__img-wrap {
    background: #f7f7f7;
}

@media (max-width: 1199px) {
    .retreatment-methods .dental-si__img-wrap {
        flex: none;
    }
}

.retreatment-cost .media-checklist__media,
.retreatment-maintenance .media-checklist__media {
    aspect-ratio: 633.333 / 500;
}
.retreatment-cost .media-checklist__media img,
.retreatment-maintenance .media-checklist__media img {
    height: 100%;
    object-fit: cover;
}

.retreatment-cost .theme-title-center,
.retreatment-maintenance .theme-title-center {
    align-items: flex-start;
    text-align: left;
}

/* 재교정 주의사항 카드 */
.retreatment-caution .dsc__point {
    gap: 8px;
    box-sizing: border-box;
    padding: 20px 20px 30px;
    background: rgba(123, 44, 106, 0.03);
    border-radius: 10px;
}
.retreatment-caution .dsc__point-text {
    min-height: 0;
    padding: 0 0 0 33px;
    border: 0;
    background: none;
    color: #78716c;
    font-size: 17px;
    line-height: normal;
    letter-spacing: -0.68px;
}
.retreatment-caution .dsc__img { position: relative; }
.retreatment-caution .dsc:nth-of-type(1) .dsc__img img,
.retreatment-caution .dsc:nth-of-type(5) .dsc__img img,
.retreatment-caution .dsc:nth-of-type(7) .dsc__img img {
    position: absolute;
    max-width: none;
    object-fit: fill;
}
.retreatment-caution .dsc:nth-of-type(1) .dsc__img img { width: 153.04%; height: 114.78%; left: -42%; top: -7.37%; }
.retreatment-caution .dsc:nth-of-type(5) .dsc__img img { width: 150.4%; height: 150.4%; left: -40.02%; top: -50.61%; }
.retreatment-caution .dsc:nth-of-type(7) .dsc__img img { width: 155.54%; height: 155.54%; left: -16.71%; top: -15.44%; }
.retreatment-caution .dsc:nth-of-type(6) .dsc__img img { object-position: bottom; }
@media (max-width: 767px) {
    .retreatment-caution .dsc__point { padding: 16px; }
    .retreatment-caution .dsc__point-text { font-size: 12.48px; letter-spacing: -0.499px; }
}
