.raum-sub-visual {
    width: 100%;
    height: var(--space-500);
    position: relative;
    overflow: hidden;
}

/* 영상 배경 */
.raum-sub-video-wrap {
    position: absolute;
    inset: 0;
    z-index: var(--z-default);
}

.raum-sub-video-wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.raum-sub-video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(var(--color-black-rgb), var(--alpha-4));
}

/* 텍스트 */
.raum-sub-text-wrap {
    position: absolute;
    inset: 0;
    z-index: var(--z-raised);
    display: flex;
    justify-content: center;
    align-items: center;
}

.raum-sub-text {
    text-align: center;
    color: var(--base-color-white);
}

.raum-sub-text h2 {
    font-size: var(--title-point-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-white);
    margin-bottom: var(--gap-md-3);
}

.raum-sub-text p {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: rgba(var(--color-white-rgb), var(--alpha-85));
    line-height: var(--lh-1-8);
    letter-spacing: var(--em-0-02);
}

@media all and (max-width: 860px) {
    .raum-sub-visual {
        height: var(--vh-60);
    }

    .raum-sub-text h2 {
        font-size: var(--cv-md-16);
        margin-bottom: var(--space-14);
    }

    .raum-sub-text p {
        font-size: var(--cv-sm-12);
        padding: 0 var(--space-20);
    }

}

@media all and (max-width: 500px) {
    .raum-sub-visual {
        height: var(--vh-50);
    }

    .raum-sub-text h2 {
        font-size: var(--space-24);
        margin-bottom: var(--space-10);
    }

    .raum-sub-text p {
        font-size: var(--space-14);
    }
}


/* #################################### hh.css 통합 #################################### */

/* ------------------------------------- sub1-1 ------------------------------------- */

/* sub1-1 section 1 : 회사소개 */
.raum-about-section-intro {
    --about-wrapper-pt: calc(var(--header-height) + var(--spacing-3xl));
    --raum-about-section-height: calc(var(--svh-100) - var(--about-wrapper-pt));
    --about-body-height: calc(var(--font-md-md) * 1.8 * 9 + var(--gap-sm-md) * 2);
    --about-gap: var(--cv-md-17);
    --about-top-height: calc(var(--raum-about-section-height) - var(--about-body-height) - var(--about-gap) - var(--section-pad-sm));
    background-color: var(--background-color);
    height: var(--raum-about-section-height);
    padding: 0;
}

.raum-about-intro-top {
    display: flex;
    gap: var(--section-pad-md);
    align-items: stretch;
    height: var(--about-top-height);
    margin-bottom: var(--about-gap);
}

.raum-about-intro-img {
    width: 60%;
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
}

.raum-about-intro-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.raum-about-intro-text {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.raum-about-intro-title {
    margin-bottom: var(--card-pad-alt);
}

.raum-about-intro-title h3 {
    font-size: var(--cv-md-12);
    line-height: var(--lh-1-6);
    margin-top: var(--em-neg-0-3);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
}

.raum-about-title-line1 {
    display: block;
    font-size: inherit;
}

.raum-about-title-line2 {
    display: block;
    font-size: inherit;
    padding-left: var(--cv-lg-17);
}

.raum-about-title-underline {
    text-decoration: underline;
    text-underline-offset: var(--cv-xxs-4);
    text-decoration-thickness: var(--px-2);
}

.raum-about-intro-point {
    text-align: center;
    margin-top: auto;
}

.raum-about-intro-point p {
    font-size: var(--text-font-title-size);
    line-height: var(--lh-1-8);
    color: var(--base-color-black);
    font-weight: var(--fw-medium);
}

.raum-about-intro-point-line {
    width: var(--space-1);
    height: var(--cv-md-9);
    background-color: var(--base-color-black);
    margin: var(--font-sm-alt) auto;
}

.raum-about-intro-body {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm-md);
}

.raum-about-intro-desc p {
    font-size: var(--font-md-md);
    line-height: var(--lh-1-8);
    color: var(--base-color-black);
    font-weight: var(--fw-medium);
}

.raum-about-bold {
    font-weight: var(--fw-bold);
}

.raum-about-line {
    display: block;
}


/* sub1-1 section 2 : Core Values */
.raum-about-section-values {
    background-color: var(--background-color);
    padding: var(--gap-section-half) 0 0;
}

.raum-about-values-list {
    display: flex;
    padding: var(--spacing-section-md) 0;
    border-top: var(--px-2) solid var(--base-color-black);
}

.raum-about-values-item {
    flex: 1;
}

.raum-about-values-kor {
    display: block;
    font-size: var(--cv-sm-8);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    margin-bottom: var(--gap-tiny-3);
}

.raum-about-values-eng {
    display: block;
    font-size: var(--cv-md-6);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
    letter-spacing: var(--em-0-03);
}

.raum-about-values-desc {
    font-size: var(--cv-sm-6);
    color: var(--base-color-black);
    font-weight: var(--fw-medium);
    line-height: var(--lh-1-6);
    margin-top: var(--cv-md-23);
}

.raum-about-values-line {
    width: 100%;
    height: var(--space-2);
    background-color: var(--base-color-black);
}


/* ------------------------------------- sub1-4 ------------------------------------- */

/* sub1-4 section 1 : Life at RAUM */
/* =========================
   sub1_4 : Careers (raum-careers)
========================= */

/* 히어로 섹션 */
.raum-careers-hero {
    --careers-wrapper-pt: calc(var(--header-height) + var(--spacing-3xl));
    --careers-section-height: min(calc(var(--svh-100) - var(--careers-wrapper-pt)), 75vw);
    background-color: var(--background-color);
    height: auto;
    padding: 0;
}

.raum-careers-hero-wrap {
    position: relative;
    overflow: hidden;
    height: auto;
}

.raum-careers-hero-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-white-rgb), var(--alpha-72));
}

.raum-careers-hero-wrap img {
    width: 100%;
    height: var(--careers-section-height);
    object-fit: cover;
    display: block;
}

.raum-careers-hero-text {
    position: absolute;
    top: var(--gap-card-md);
    left: var(--gap-card-md);
    z-index: var(--z-default);
}

.raum-careers-hero-title {
    font-size: var(--cv-md-2);
    font-weight: var(--fw-bold);
    color: var(--signature-color);
    line-height: var(--lh-1-5);
    margin-bottom: var(--spacing-md);
}

.raum-careers-hero-highlight {
    display: block;
    font-size: inherit;
    font-weight: inherit;
}

.raum-careers-hero-desc p {
    font-size: var(--text-font-size);
    line-height: var(--lh-1-8);
    color: var(--base-color-black);
    font-weight: var(--fw-medium);
}

/* 버튼 섹션 */
.raum-careers-btn-wrap {
    position: absolute;
    bottom: var(--spacing-xl);
    right: var(--spacing-xl);
    z-index: var(--z-default);
    display: flex;
    gap: var(--cv-md-25);
}

.raum-careers-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--space-160);
    padding: var(--font-md-alt) var(--spacing-lg);
    padding-top: calc(var(--font-md-alt) - 1px);
    font-size: var(--cv-sm-7);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    background: var(--base-color-white);
    text-align: center;
    transition: all var(--transition-fast);
    text-decoration: none;
}

.raum-careers-btn:hover {
    background: var(--signature-color);
    color: var(--base-color-white);
}

/* Life at RAUM 섹션 */
.raum-careers-life {
    padding-top: var(--section-gap);
    background-color: var(--background-color);
}

.raum-careers-life-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: var(--card-padding);
}

.raum-careers-life-title {
    font-size: var(--text-font-size);
    color: var(--base-color-black);
    font-weight: var(--fw-normal);
    text-align: center;
}

.raum-careers-life-title strong {
    font-weight: var(--fw-bold);
}

.raum-careers-life-line {
    display: block;
    width: var(--px-1);
    height: var(--card-pad-alt);
    background-color: var(--base-color-black);
    margin-top: var(--cv-sm-5);
}

.raum-careers-life-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.raum-careers-life-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 반응형 */
@media (max-width: 600px) {
    .raum-careers-hero-text {
        position: relative;
        top: auto;
        left: auto;
        margin-bottom: var(--gap-sm-3);
    }

    .raum-careers-btn-wrap {
        left: var(--spacing-xl);
        right: var(--spacing-xl);
        flex-direction: column;
        align-items: center;
    }

    .raum-careers-btn {
        width: 100%;
    }
}


/* sub1-4-1 section 2 : 인재상 & 복리후생 */
.raum-careers-section-info {
    background-color: var(--background-color);
    padding: var(--section-gap) 0 var(--gap-section-half);
}

.raum-careers-info-row {
    display: flex;
    gap: var(--gap-lg-alt);
}

.raum-careers-info-left,
.raum-careers-info-right {
    width: 50%;
}

.raum-careers-info-title-area {
    padding-bottom: var(--cv-sm-13);
    border-bottom: var(--border-bottom-dark);
    margin-bottom: var(--cv-md-10);
}

.raum-careers-info-subtitle {
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
    line-height: var(--lh-1-6);
}

.raum-careers-info-subtitle-point {
    color: var(--signature-color);
    font-size: inherit;
    font-weight: inherit;
}

.raum-careers-info-content {
    display: flex;
    gap: var(--gap-md);
}

.raum-careers-info-label {
    flex-shrink: 0;
    padding-right: var(--gap-md);
    border-right: var(--border-bg-gray-right);
}

.raum-careers-info-label-eng {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-medium);
    color: var(--signature-color);
    margin-bottom: var(--space-4);
}

.raum-careers-info-label-kor {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

.raum-careers-info-list {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm-px-2);
}

.raum-careers-info-item {
    display: flex;
    gap: var(--cv-xs-10);
    align-items: baseline;
}

.raum-careers-info-item-title {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    flex-shrink: 0;
    white-space: nowrap;
}

.raum-careers-info-item-desc {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-6);
}


/* sub1-4-1 section 3 : 그리드 + 입사지원 */
.raum-careers-section-grid {
    background-color: var(--background-color);
    padding: var(--section-gap) 0 0;
}

.raum-careers-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-mo-px);
}

.raum-careers-grid > .raum-careers-grid-item {
    flex: 0 0 calc((100% - var(--gap-mo-px) * 3) / 4);
    height: var(--careers-grid-h);
}

.raum-careers-grid-item {
    overflow: hidden;
}

.raum-careers-grid-img {
    position: relative;
}

.raum-careers-grid-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.raum-careers-grid-grayscale img {
    filter: grayscale(100%);
    transition: filter var(--transition-base);
}

.raum-careers-grid-grayscale:hover img {
    filter: grayscale(0%);
}

/* 하단 : 입사지원 버튼 + 슬로건 */
.raum-careers-grid-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: var(--card-padding);
}

.raum-careers-grid-apply {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--gap-tiny);
    width: 50%;
    padding: var(--cv-md-21) var(--gap-md);
    background-color: var(--base-color-black);
    transition: all var(--transition-fast);
}

.raum-careers-grid-apply-text {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-white);
}

.raum-careers-grid-apply-arrow {
    font-size: var(--text-font-size);
    color: var(--base-color-white);
    transition: transform var(--transition-fast);
}

.raum-careers-grid-apply:hover .raum-careers-grid-apply-arrow {
    transform: translateX(var(--px-6));
}

.raum-careers-grid-apply:hover {
    background-color: var(--signature-color);
}

.raum-careers-grid-slogan {
    font-size: var(--text-font-size);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
    margin-left: auto;
}


/* ------------------------------------- sub1-4-2 ------------------------------------- */

/* sub1-4-2 section 2 : 모집 공고 */
.raum-careers-section-recruit {
    background-color: var(--background-color);
    padding: var(--section-gap) 0 0;
}

.raum-careers-recruit-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-8);
    padding-bottom: var(--font-base-2);
    border-bottom: var(--px-2) solid var(--base-color-black);
    margin-bottom: var(--card-padding);
    position: relative;
}

.raum-careers-recruit-title p {
    margin: 0;
    margin-right: auto;
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
}

.raum-careers-recruit-row {
    display: flex;
    justify-content: space-between; align-items: flex-start;
    gap: var(--gap-md);
}

.raum-careers-recruit-cell {
    display: flex;
    gap: var(--careers-recruit-label-gap);
}

.raum-careers-recruit-cell-right {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm-px-2);
}

.raum-careers-recruit-sub {
    display: flex;
    gap: var(--careers-recruit-label-gap);
    align-items: stretch;
}

.raum-careers-recruit-sub .raum-careers-recruit-label {
    display: flex;
    align-items: center;
}

.raum-careers-recruit-label {
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    color: var(--signature-color);
    flex-shrink: 0;
    white-space: nowrap;
    border-right: var(--border-bg-gray-right);
    padding-right: var(--careers-recruit-label-gap);
    line-height: var(--lh-1-8);
}

.raum-careers-recruit-value p {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
}

/* sub1-4-2 모집공고 타이틀 (관리자 버튼 영역 포함) */


/* 활성 공고 없음 안내 */
.raum-careers-recruit-empty-notice {
    font-size: var(--em-0-75);
    color: var(--color-warning-red);
}

/* 관리자 버튼 공통 (수정/작성/적용) */
.raum-recruit-admin-btn,
button.raum-recruit-admin-btn,
a.raum-recruit-admin-btn,
a.raum-recruit-admin-btn:link,
a.raum-recruit-admin-btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--space-32);
    height: var(--space-32);
    background: var(--signature-color);
    color: var(--base-color-white);
    text-decoration: none;
    border: none;
    border-radius: var(--space-3);
    cursor: pointer;
    transition: opacity var(--transition-fast);
}

.raum-recruit-admin-btn + .raum-recruit-admin-btn {
    margin-left: var(--space-4);
}

.raum-recruit-admin-btn:hover {
    opacity: var(--opacity-70);
}

/* 관리자 전용 모달 */
.raum-recruit-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--z-modal-backdrop);
}

.raum-recruit-modal.is-open {
    display: block;
}

.raum-recruit-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(var(--color-black-rgb), var(--alpha-5));
}

.raum-recruit-modal-content {
    position: relative;
    margin: var(--vh-5) auto;
    max-width: var(--cv-xxl-6);
    max-height: var(--vh-90);
    overflow-y: auto;
    background: var(--base-color-white);
    padding: var(--space-32);
    border-radius: var(--space-8);
    box-shadow: 0 var(--space-10) var(--space-40) rgba(var(--color-black-rgb), var(--alpha-3));
}

.raum-recruit-modal-close {
    position: absolute;
    top: var(--space-16);
    right: var(--space-16);
    background: none;
    border: none;
    font-size: var(--space-24);
    cursor: pointer;
    line-height: var(--lh-1);
}

.raum-recruit-modal-title {
    margin: 0 0 var(--space-24) 0;
    font-size: var(--space-18);
    font-weight: var(--fw-bold);
    color: var(--signature-color);
}

.raum-recruit-modal-empty {
    color: var(--color-gray-500);
    margin: 0;
}

.raum-recruit-modal-empty a {
    color: var(--signature-color);
    font-weight: var(--fw-bold);
}

/* 관리자 전용 테이블 */
.raum-recruit-admin-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--base-color-white);
    font-size: var(--space-14);
}

.raum-recruit-admin-table thead tr {
    background: var(--signature-color);
    color: var(--base-color-white);
}

.raum-recruit-admin-table th {
    padding: var(--space-9-alt);
    text-align: center;
}

.raum-recruit-admin-table th.is-title {
    text-align: left;
}

.raum-recruit-admin-table th.col-status { width: var(--space-64); }
.raum-recruit-admin-table th.col-period { width: var(--space-160); }
.raum-recruit-admin-table th.col-date { width: var(--space-112); }
.raum-recruit-admin-table th.col-action { width: var(--space-192); }

.raum-recruit-admin-table tbody tr {
    border-bottom: var(--border-table-row);
}

.raum-recruit-admin-table tbody tr.is-active {
    background: var(--color-active-highlight-bg);
}

.raum-recruit-admin-table td {
    padding: var(--space-9-alt);
}

.raum-recruit-admin-table td.is-center {
    text-align: center;
}

.raum-recruit-admin-table td.is-muted {
    color: var(--color-gray-600);
}

.raum-recruit-admin-table td.is-action {
    text-align: center;
    white-space: nowrap;
}

.raum-recruit-active-badge {
    display: inline-block;
    padding: var(--space-0-2) var(--space-9-alt);
    background: var(--signature-color);
    color: var(--base-color-white);
    font-size: var(--space-12);
    font-weight: var(--fw-bold);
    border-radius: var(--space-3);
}

.raum-recruit-inactive-dash {
    color: var(--color-gray-400);
    font-size: var(--space-12);
}

.raum-recruit-activate-btn {
    padding: var(--space-5-alt) var(--space-9-alt);
    background: var(--signature-color);
    color: var(--base-color-white);
    border: none;
    border-radius: var(--space-3);
    cursor: pointer;
    font-size: var(--space-12);
}

.raum-recruit-row-edit-btn,
.raum-recruit-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--space-29-alt);
    height: var(--space-29-alt);
    border-radius: var(--space-3);
    vertical-align: middle;
    background: var(--base-color-white);
    border: 1px solid var(--color-accent-red);
    color: var(--color-accent-red);
    cursor: pointer;
}

.raum-recruit-row-edit-btn {
    border: var(--border-default);
    color: var(--color-gray-900);
    text-decoration: none;
    background: var(--base-color-white);
}



.raum-recruit-edit-textarea {
    width: 100%;
    padding: var(--space-8) var(--space-12);
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    font-family: inherit;
    border: 1px solid rgba(var(--color-black-rgb), var(--alpha-2));
    resize: vertical;
    outline: none;
    box-sizing: border-box;
    transition: border-color var(--transition-fast);
}

.raum-recruit-edit-textarea:focus {
    border-color: var(--signature-color);
}

.raum-recruit-edit-input {
    width: 100%;
    padding: var(--space-8) var(--space-12);
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    font-family: inherit;
    border: 1px solid rgba(var(--color-black-rgb), var(--alpha-2));
    outline: none;
    box-sizing: border-box;
    transition: border-color var(--transition-fast);
}

.raum-recruit-edit-input:focus {
    border-color: var(--signature-color);
}

.raum-recruit-edit-actions {
    display: flex;
    justify-content: center;
    gap: var(--space-12);
    margin-top: var(--gap-md-sm);
}

.raum-recruit-btn-save,
.raum-recruit-btn-cancel {
    padding: var(--space-10) var(--space-36);
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    border: none;
    cursor: pointer;
    transition: opacity var(--transition-fast);
    background-color: var(--background-color-gray);
    color: var(--base-color-black);
}

.raum-recruit-btn-save {
    background-color: var(--signature-color);
    color: var(--base-color-white);
}



.raum-recruit-btn-save:hover,
.raum-recruit-btn-cancel:hover {
    opacity: var(--opacity-70);
}

/* sub1-4-2 section 3 : 채용 절차 */
.raum-careers-section-process {
    background-color: var(--background-color);
    padding: var(--section-gap) 0 0;
}

.raum-careers-process-title {
    padding-bottom: var(--font-base-2);
    border-bottom: var(--px-2) solid var(--base-color-black);
    margin-bottom: var(--spacing-section-md);
}

.raum-careers-process-title p {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
}

.raum-careers-process-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--cv-md-8);
    padding: var(--cv-md-8) 0;
    width: 100%;
}

.raum-careers-process-circle {
    width: var(--photo-gallery-sq);
    height: var(--photo-gallery-sq);
    border-radius: var(--radius-circle);
    display: flex;
    align-items: center;
    justify-content: center;
}

.raum-careers-process-circle span {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-white);
}

.raum-careers-process-item:nth-child(1) .raum-careers-process-circle {
    background-color: var(--signature-color);
    opacity: var(--opacity-55);
}

.raum-careers-process-item:nth-child(3) .raum-careers-process-circle {
    background-color: var(--signature-color);
    opacity: var(--opacity-70);
}

.raum-careers-process-item:nth-child(5) .raum-careers-process-circle {
    background-color: var(--signature-color);
    opacity: var(--opacity-85);
}

.raum-careers-process-item:nth-child(7) .raum-careers-process-circle {
    background-color: var(--signature-color);
    opacity: var(--opacity-100);
}

.raum-careers-process-arrow img {
    width: var(--cv-md-13);
    height: auto;
}

/* sub1-4-2 section 4 : 접수처 */
.raum-careers-section-contact {
    background-color: var(--background-color);
    padding: var(--section-gap) 0 0;
}

.raum-careers-contact-title {
    padding-bottom: var(--font-base-2);
    border-bottom: var(--px-2) solid var(--base-color-black);
    margin-bottom: var(--card-padding);
}

.raum-careers-contact-title p {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
}

.raum-careers-contact-row {
    display: flex;
    gap: var(--gap-lg-alt);
    align-items: center;
}

.raum-careers-contact-left {
    display: flex;
    gap: var(--gap-md);
    flex-shrink: 0;
}

.raum-careers-contact-method {
    border-right: var(--border-bg-gray-right);
    padding-right: var(--gap-md);
}

.raum-careers-contact-method-title {
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    color: var(--signature-color);
    margin-bottom: var(--space-8);
}

.raum-careers-contact-method-desc {
    font-size: var(--text-font-size-s);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

.raum-careers-contact-info {
    display: flex;
    flex-direction: column;
    gap: var(--space-10);
}

.raum-careers-contact-info-item {
    display: flex;
    align-items: center;
    gap: var(--space-10);
}

.raum-careers-contact-info-item img {
    width: var(--space-18);
    height: var(--space-18);
    opacity: var(--opacity-70);
}

.raum-careers-contact-info-item p {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

.raum-careers-contact-right {
    flex: 1;
    display: flex;
    align-items: center;
}

.raum-careers-contact-download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-10);
    width: 100%;
    padding: var(--cv-md-3) var(--gap-lg-alt);
    background-color: var(--base-color-black);
    text-decoration: none;
    transition: all var(--transition-fast);
}

.raum-careers-contact-download:hover {
    background-color: var(--signature-color);
}

.raum-careers-contact-download span {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-white);
}

.raum-careers-contact-download img {
    width: var(--space-18);
    height: var(--space-18);
    filter: brightness(0) invert(1);
}


/* ========================================= */
/* sub2-2 : CM Works                         */
/* ========================================= */

/* ========================================= */
/* sub2-3 : EXPERTISE                        */
/* ========================================= */

/* 탭 메뉴 */
.raum-expertise-section-tab {
    background-color: var(--background-color);
    padding: 0;
    --expertise-tab-h-mobile: clamp(5.25rem, 13vw, 6rem);
}

.raum-expertise-tab-list {
    display: flex;
    border-top: var(--px-2) solid var(--base-color-black);
    border-bottom: var(--px-2) solid var(--base-color-black);
}

.raum-expertise-tab-btn {
    flex: 1;
    padding: var(--gap-md-sm-alt) var(--cv-xs-3);
    border: none;
    border-right: none;
    border-radius: 0;
    color: var(--base-color-black);
    font-size: var(--font-base-4);
    text-decoration: none;
    transition: all var(--transition-snappy);
    background: transparent;
    cursor: pointer;
    font-family: var(--font-KR-base);
    text-align: center;
    line-height: var(--lh-1-5);
}

.raum-expertise-tab-btn:last-child {
    border-right: none;
}

.raum-expertise-tab-sub {
    display: block;
    font-size: var(--font-base-3);
    font-weight: var(--fw-normal);
}

.raum-expertise-tab-btn:hover {
    color: var(--signature-color);
}

.raum-expertise-tab-active {
    color: var(--signature-color);
    font-weight: var(--fw-semibold);
    background: rgba(var(--color-signature-rgb), var(--alpha-05));
}

/* 모바일 — 탭 세로 stack (각 탭 가로 full, 부제 줄바꿈 여유 확보) */
@media (max-width: 768px) {
    .raum-expertise-tab-list {
        flex-direction: column;
    }

    .raum-expertise-tab-btn {
        border-bottom: var(--px-1) solid rgba(var(--color-black-rgb), var(--alpha-15));
        min-height: var(--expertise-tab-h-mobile);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .raum-expertise-tab-btn:last-child {
        border-bottom: none;
    }
}

/* 탭 콘텐츠 */
.raum-expertise-section-content {
    background-color: var(--background-color);
    padding: 0;
    --expertise-wrapper-pt: calc(var(--header-height) + var(--spacing-3xl));
    --expertise-tab-pad: calc(2 * var(--gap-md-sm-alt));
    --expertise-tab-text-main: calc(1.5 * var(--font-base-4));
    --expertise-tab-text-sub: calc(1.5 * var(--font-base-3));
    --expertise-tab-border: var(--space-4);
    --expertise-tab-h: calc(var(--expertise-tab-pad) + var(--expertise-tab-text-main) + var(--expertise-tab-text-sub) + var(--expertise-tab-border));
    --expertise-intro-pad: calc(var(--gap-xxs) + var(--spacing-section-md));
    --expertise-intro-text: calc(1.8 * var(--text-font-size));
    --expertise-intro-h: calc(var(--expertise-intro-pad) + var(--expertise-intro-text));
    --expertise-hero-h: calc(var(--svh-100) - var(--expertise-wrapper-pt) - var(--expertise-tab-h) - var(--expertise-intro-h));
}

.raum-expertise-tab-content {
    display: none;
}

.raum-expertise-tab-show {
    display: block;
}

/* 3컬럼 카드 */
.raum-expertise-intro-cards {
    display: flex;
    gap: var(--gap-card-sm);
    width: 100%;
    margin-top: var(--card-padding-lg);
}

.raum-expertise-intro-card {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.raum-expertise-intro-card-title {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
    margin-bottom: var(--gap-tiny);
}

.raum-expertise-intro-card-sub {
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
    margin-bottom: var(--font-sm-alt);
}

.raum-expertise-intro-card-box {
    background-color: rgba(var(--color-black-rgb), var(--alpha-05));
    padding: var(--gap-md-alt) var(--font-padding-sm);
    margin-top: auto;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.raum-expertise-intro-card-box p {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
}

.raum-expertise-intro-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--gap-sm-alt) 0;
}

.raum-expertise-intro-card-icon img {
    width: var(--section-pad-md);
    height: var(--section-pad-md);
    object-fit: contain;
}

.raum-expertise-intro-cards-4 {
    display: flex;
    gap: var(--gap-card-sm);
}

/* 두번째 탭 : 구조안전진단 인트로 */
.raum-expertise-safety-intro {
    padding: var(--gap-xxs) 0 var(--spacing-section-md);
}

.raum-expertise-safety-intro-desc {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
}

/* 두번째 탭 : 섹션 제목 + 가로선 */
.raum-expertise-section-heading {
    display: flex;
    align-items: center;
    gap: var(--gap-sm-alt);
    margin-bottom: var(--card-padding-lg);
}

.raum-expertise-section-heading-text {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
    white-space: nowrap;
}

.raum-expertise-section-heading-line {
    flex: 1;
    height: var(--px-1);
    background-color: var(--base-color-black);
}

/* 탭 히어로 이미지 — 첫 화면 calc 체인 */


/* 첫번째 탭 : 법원감정 히어로 이미지 (회색톤) */
.raum-expertise-court-hero {
    margin-bottom: var(--spacing-section-md);
}

.raum-expertise-court-hero img {
    width: 100%;
    height: var(--expertise-hero-h);
    display: block;
    object-fit: cover;
    filter: grayscale(100%);
}

/* 두번째 탭 : 구조안전진단 히어로 이미지 (2분할) */
.raum-expertise-safety-hero {
    display: flex;
    gap: 0;
    margin-bottom: var(--spacing-section-md);
}

.raum-expertise-safety-hero > * {
    flex: 1 1 50%;
    min-width: 0;
}

.raum-expertise-safety-hero img {
    width: 100%;
    height: var(--expertise-hero-h);
    display: block;
    object-fit: cover;
    filter: grayscale(100%);
}

/* 두번째 탭 : 진단 분야 */
.raum-expertise-safety-field {
}

/* 두번째 탭 : 필요한 상황 */
.raum-expertise-safety-situation {
    margin-top: var(--spacing-section-lg);
    padding-top: var(--cv-xl-2);
}

#tab-safety .raum-expertise-safety-situation,
#tab-court .raum-expertise-safety-situation {
    margin-top: 0;
    padding-top: var(--cv-lg-8);
}



.raum-expertise-situation-list {
    display: flex;
    justify-content: center;
    gap: var(--cv-lg-11);
    padding: 0;
}

.raum-expertise-situation-circle {
    width: var(--photo-section-h);
    height: var(--photo-section-h);
    border-radius: var(--radius-circle);
    background-color: var(--color-gray-150);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.raum-expertise-situation-label {
    font-size: var(--font-base-3);
    font-weight: var(--fw-semibold);
    color: var(--signature-color);
    text-align: center;
    word-break: keep-all;
    line-height: var(--lh-1-6);
}

/* 첫번째 탭 : 감정 절차 원형 + 화살표 */
.raum-expertise-process-flow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.raum-expertise-process-flow-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-sm-md);
}

.raum-expertise-process-flow-item .raum-expertise-situation-circle {
    width: var(--photo-lg-h);
    height: var(--photo-lg-h);
}

.raum-expertise-process-flow-arrow {
    flex-shrink: 0;
    color: var(--signature-color);
}

.raum-expertise-process-flow-arrow svg {
    width: var(--cv-lg-9);
    height: auto;
}

/* expertise 모바일 - situation list */
@media (max-width: 768px) {
    .raum-expertise-situation-list {
        flex-direction: column;
        align-items: center;
        gap: var(--cv-md-15);
    }

    .raum-expertise-situation-circle {
        width: var(--photo-md-h);
        height: var(--photo-md-h);
    }
}

/* expertise process flow 세로 배치 기준 — 원 5개가 콘텐츠 폭 안에 들어가는 1055 부터 가로 (2026-09-23 실측, 768 기준이면 769~1054 에서 원이 폭 밖으로 밀린다) */
@media (max-width: 1054px) {
    .raum-expertise-process-flow {
        flex-direction: column;
        gap: var(--cv-xs-5);
    }

    .raum-expertise-process-flow-item {
        flex: 0 0 auto;
        width: 100%;
    }

    .raum-expertise-process-flow-arrow {
        transform: rotate(90deg);
    }

    .raum-expertise-process-flow-arrow svg {
        width: var(--cv-lg-4);
    }
}

/* 세번째 탭 : 서비스 그리드 (상단 사진 비대칭 + 하단 3열 텍스트) */
.raum-expertise-defect-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: var(--expertise-hero-h);
    --expertise-defect-photos-h: clamp(16rem, 76vw, 22rem);
}

.raum-expertise-defect-photos {
    flex: 1;
    min-height: 0;
    display: flex;
    gap: 0;
}

.raum-expertise-defect-photos > :first-child {
    flex: 2 1 0;
    min-width: 0;
}

.raum-expertise-defect-photos > :last-child {
    flex: 1 1 0;
    min-width: 0;
}

.raum-expertise-defect-photo-side {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.raum-expertise-defect-photo-side > * {
    flex: 1 1 0;
}

.raum-expertise-defect-photo {
    overflow: hidden;
}

.raum-expertise-defect-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: grayscale(100%);
}

.raum-expertise-defect-services {
    flex: 0 0 auto;
    display: flex;
    gap: var(--cv-md-24);
    padding: var(--cv-md-22) var(--gap-md-sm-2);
    background: var(--color-gray-50);
}

.raum-expertise-defect-services > * {
    flex: 1 1 0;
    min-width: 0;
}

.raum-expertise-defect-service {
    display: flex;
    flex-direction: column;
    gap: var(--cv-xxs-2);
}

.raum-expertise-defect-service .raum-expertise-service-num {
    font-size: var(--section-pad-sm);
    font-weight: var(--fw-semibold);
    color: rgba(var(--color-black-rgb), var(--alpha-15));
    letter-spacing: calc(-1 * var(--em-0-05));
    line-height: var(--lh-1);
    align-self: flex-start;
}

.raum-expertise-defect-service .raum-expertise-service-eng {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--signature-color);
}

.raum-expertise-defect-service .raum-expertise-service-desc {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

/* 모바일 — defect 세로 흐름 (grid 고정 해제 + 사진 고정 높이 + 서비스 세로 stack) */
@media (max-width: 768px) {
    .raum-expertise-defect-grid {
        height: auto;
    }

    .raum-expertise-defect-photos {
        height: var(--expertise-defect-photos-h);
    }

    .raum-expertise-defect-services {
        flex-direction: column;
    }

    .raum-expertise-defect-services > * {
        flex: 0 0 auto;
    }
}

/* 세번째 탭 : 대상 시설 카드 */
.raum-expertise-target-list {
    display: flex;
    gap: var(--cv-sm-2);
    height: var(--expertise-target-h);
}

.raum-expertise-target-item {
    position: relative;
    flex: 1;
    background-color: var(--color-gray-400);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: var(--spacing-section-md) var(--gap-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--cv-xs-4);
    overflow: hidden;
}

.raum-expertise-target-item-01 {
    background-image: url('../img/expertise-facility-01.webp');
}

.raum-expertise-target-item-02 {
    background-image: url('../img/expertise-facility-02.webp');
}

.raum-expertise-target-item-03 {
    background-image: url('../img/expertise-facility-03.webp');
}

.raum-expertise-target-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(var(--color-black-rgb), var(--alpha-65));
    pointer-events: none;
    transition: background var(--transition-fast);
}

.raum-expertise-target-item:hover::before {
    background: rgba(var(--color-black-rgb), var(--alpha-45));
}

.raum-expertise-target-label {
    position: relative;
    z-index: var(--z-default);
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-white);
    text-align: center;
    text-shadow: 0 1px var(--px-2) rgba(var(--color-black-rgb), var(--alpha-4));
}

.raum-expertise-target-item .raum-expertise-defect-placeholder {
    color: var(--color-accent-red);
}

.raum-expertise-service-num {
    font-size: var(--section-gap-md);
    font-weight: var(--fw-bold);
    color: var(--background-color-gray);
    opacity: var(--opacity-30);
    line-height: var(--lh-1);
    align-self: flex-end;
}

.raum-expertise-service-eng {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-medium);
    color: var(--signature-color);
}

.raum-expertise-service-desc {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
}


/* ------------------------------------- sub5-1 ------------------------------------- */

/* sub5-1 section 1 : 견적 문의 */
.raum-contact-section-form {
    background-color: var(--background-color);
    padding: 0 0 var(--spacing-section-xl);
}

.raum-contact-row {
    display: flex;
    gap: var(--spacing-section-md);
    align-items: stretch;
}

/* 왼쪽 이미지 */
.raum-contact-left {
    width: 40%;
    flex-shrink: 0;
}

.raum-contact-left img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* 오른쪽 폼 */
.raum-contact-right {
    flex: 1;
}

.raum-contact-form-top {
    display: flex;
    gap: var(--gap-lg-alt);
    margin-bottom: var(--cv-xs-7);
}

.raum-contact-form-left,
.raum-contact-form-right {
    flex: 1;
}

.raum-contact-form-label {
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
    padding-bottom: var(--cv-sm-4);
    border-bottom: var(--px-2) solid var(--base-color-black);
}

.raum-contact-form-group {
    margin-bottom: var(--cv-sm-1);
}

.raum-contact-form-group input,
.raum-contact-form-group textarea,
.raum-contact-form-group select {
    width: 100%;
    border: none;
    border-bottom: var(--border-bg-gray-bottom);
    background: transparent;
    padding: var(--gap-xxs) 0;
    font-size: var(--text-font-size);
    color: var(--base-color-black);
    outline: none;
    transition: border-color var(--transition-fast);
    font-family: var(--font-KR-base);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23dadada' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0 center;
}



.raum-contact-form-group select:focus {
    border-bottom-color: var(--signature-color);
}

.raum-contact-form-group select option[disabled] {
    color: var(--background-color-gray);
}

.raum-contact-form-group input:focus,
.raum-contact-form-group textarea:focus {
    border-bottom-color: var(--signature-color);
}

.raum-contact-form-group input::placeholder,
.raum-contact-form-group textarea::placeholder {
    color: var(--background-color-gray);
    font-weight: var(--fw-medium);
}

.raum-contact-form-group textarea {
    resize: vertical;
    min-height: var(--textarea-min-h);
    line-height: var(--lh-1-8);
}

.raum-contact-form-notice {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
    margin: var(--font-padding-sm) 0;
}

/* 개인정보 동의 체크박스 */
.raum-contact-form-agree {
    margin-bottom: var(--gap-md-alt);
}

.raum-contact-form-agree label {
    display: flex;
    align-items: center;
    gap: var(--space-10);
    cursor: pointer;
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

.raum-contact-form-agree input[type="checkbox"] {
    display: none;
}

.raum-contact-checkbox {
    width: var(--space-18);
    height: var(--space-18);
    border: var(--border-bg-gray);
    display: inline-block;
    position: relative;
    transition: all var(--transition-snappy);
}

.raum-contact-form-agree input[type="checkbox"]:checked + .raum-contact-checkbox {
    background-color: var(--signature-color);
    border-color: var(--signature-color);
}

.raum-contact-form-agree input[type="checkbox"]:checked + .raum-contact-checkbox::after {
    content: '';
    position: absolute;
    top: var(--space-2);
    left: var(--space-5);
    width: var(--space-5);
    height: var(--space-9);
    border: solid var(--base-color-white);
    border-width: 0 var(--px-2) var(--px-2) 0;
    transform: rotate(45deg);
}

/* 견적 문의하기 버튼 */
.raum-contact-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-10);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-family: var(--base-font);
}

.raum-contact-submit-btn span {
    font-size: var(--text-title-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    transition: color var(--transition-fast);
}

.raum-contact-submit-btn img {
    width: var(--space-18);
    height: var(--space-18);
    transition: transform var(--transition-fast);
}

.raum-contact-submit-btn:hover span {
    color: var(--signature-color);
}

.raum-contact-submit-btn:hover img {
    transform: translate(var(--px-3), -var(--px-3));
}

.raum-contact-submit-btn:disabled {
    opacity: var(--opacity-50);
    cursor: not-allowed;
}

/* 버튼 행 */
.raum-contact-btn-row {
    display: flex;
    align-items: center;
    gap: var(--gap-md);
}

/* 샘플보기 버튼 — raum-contact-submit-btn 공통 스타일 상속 */
.raum-contact-sample-btn svg {
    width: var(--space-18);
    height: var(--space-18);
    color: var(--base-color-black);
    transition: transform var(--transition-fast);
}

.raum-contact-sample-btn:hover svg {
    transform: scale(1.15);
}

/* 샘플 모달 */
.raum-contact-sample-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: var(--z-modal-backdrop);
    justify-content: center;
    align-items: center;
}

.raum-contact-sample-modal.active {
    display: flex;
}

.raum-contact-sample-overlay {
    position: absolute;
    inset: 0;
    background: rgba(var(--color-black-rgb), var(--alpha-5));
}

.raum-contact-sample-content {
    position: relative;
    background: var(--background-color);
    padding: var(--card-pad-alt);
    max-width: var(--space-600);
    width: 90%;
    max-height: var(--vh-80);
    overflow-y: auto;
}

.raum-contact-sample-close {
    position: absolute;
    top: var(--space-15);
    right: var(--space-20);
    background: none;
    border: none;
    font-size: var(--space-28);
    color: var(--base-color-black);
    cursor: pointer;
    line-height: var(--lh-1);
}

.raum-contact-sample-title {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
    margin-bottom: var(--gap-md-sm);
    padding-bottom: var(--font-base-2);
    border-bottom: var(--border-bottom-dark);
}

.raum-contact-sample-table {
    width: 100%;
    border-collapse: collapse;
}

.raum-contact-sample-table tr {
    border-bottom: var(--border-gray-200-bottom);
}

.raum-contact-sample-table th,
.raum-contact-sample-table td {
    padding: var(--cv-xs-8) 0;
    font-size: var(--text-font-size);
    text-align: left;
    vertical-align: top;
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-6);
}

.raum-contact-sample-table th {
    width: 30%;
    font-weight: var(--fw-semibold);
    color: var(--signature-color);
}



/* sub5-1 section 2 : 오시는 길 / 문의 안내 */
.raum-contact-section-info {
    background-color: var(--background-color);
    padding: var(--spacing-section-md) 0 0;
}

.raum-contact-info-row {
    display: flex;
    gap: var(--gap-lg-alt);
}

.raum-contact-info-col {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.raum-contact-info-title {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    letter-spacing: var(--em-0-03);
}

.raum-contact-info-divider {
    width: 100%;
    height: var(--space-1);
    background-color: var(--base-color-black);
    margin: var(--gap-sm-md) 0;
}

.raum-contact-info-desc {
    margin-bottom: auto;
}

.raum-contact-info-desc p {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
}

.raum-contact-info-buttons {
    display: flex;
    gap: var(--gap-card-sm);
    margin-top: var(--gap-medium-2);
}

.raum-contact-info-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    text-decoration: none;
}

.raum-contact-info-btn span {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    transition: color var(--transition-fast);
}

.raum-contact-info-btn img {
    width: var(--space-16);
    height: var(--space-16);
    transition: transform var(--transition-fast);
}

.raum-contact-info-btn:hover span {
    color: var(--signature-color);
}

.raum-contact-info-btn:hover img {
    transform: translate(var(--px-3), -var(--px-3));
}


/* ------------------------------------- sub5-2 ------------------------------------- */

/* sub5-2 공통 : 오시는 길 */
.raum-location-section-office,
.raum-location-section-rnd {
    background-color: var(--background-color);
    padding: 0 0 var(--spacing-section-xl);
}

.raum-location-row {
    display: flex;
    gap: 0;
    align-items: stretch;
}

/* 왼쪽 : 지도 (옆 텍스트 영역 높이에 자동 stretch) */
.raum-location-map {
    width: 50%;
    flex-shrink: 0;
    align-self: stretch;
    position: relative;
}

.raum-location-map iframe,
.raum-location-map-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

.raum-history-map-iframe {
    width: 100%;
    height: var(--cv-xxl-4);
    border: 0;
    display: block;
}

.raum-location-gallery-slider.is-hidden {
    display: none;
}

/* 오른쪽 : 정보 */
.raum-location-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* 상단 : 타이틀 + 바로가기 */
.raum-location-info-header {
    padding-left: var(--gap-md-alt);
    margin-bottom: var(--font-padding-sm);
}

.raum-location-info-title {
    font-size: var(--sub-title-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
    letter-spacing: var(--em-0-03);
    margin-bottom: var(--gap-sm-md-2);
}

.raum-location-info-title-point {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

.raum-location-info-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    text-decoration: none;
}

.raum-location-info-link span {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    transition: color var(--transition-fast);
}

.raum-location-info-link img {
    width: var(--space-16);
    height: var(--space-16);
    transition: transform var(--transition-fast);
}

.raum-location-info-link:hover span {
    color: var(--signature-color);
}

.raum-location-info-link:hover img {
    transform: translate(var(--px-3), -var(--px-3));
}

/* 회색 박스 */
.raum-location-info-box {
    background-color: rgba(var(--color-black-rgb), var(--alpha-05));
    padding: var(--gap-medium-2) var(--gap-md-alt);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--cv-md-5);
}

.raum-location-info-group-title {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    margin-bottom: var(--gap-tiny);
}

.raum-location-info-group-title img {
    width: var(--font-icon-sm);
    height: var(--font-icon-sm);
    object-fit: contain;
}

.raum-location-info-group-title span {
    font-size: var(--text-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
}

.raum-location-info-group-content p {
    font-size: var(--text-font-size-s);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    line-height: var(--lh-1-8);
}

.raum-location-info-detail {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    line-height: var(--lh-1-8);
}

.raum-location-info-detail img {
    width: var(--font-icon-sm);
    height: var(--font-icon-sm);
    object-fit: contain;
    flex-shrink: 0;
}

.raum-location-info-detail span {
    font-size: var(--text-font-size-s);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
}

.raum-location-info-detail span.raum-location-info-label {
    font-weight: var(--fw-semibold);
    flex-shrink: 0;
}

.raum-location-info-group-etc {
    display: flex;
    flex-direction: column;
    gap: var(--gap-tiny-3);
}

/* sub5-2 section 3 : Raum Gallery */
.raum-location-section-gallery {
    background-color: var(--background-color);
    padding: var(--gap-section-half) 0 0;
}

/* 탭 */
.raum-location-gallery-tabs {
    display: flex;
    justify-content: center;
    gap: var(--space-8);
    margin-top: var(--gap-medium-2);
    margin-bottom: var(--gap-medium-2);
}

.raum-location-gallery-tab {
    display: block;
    padding: var(--space-8) var(--space-20);
    border: 1px solid rgba(var(--color-black-rgb), var(--alpha-2));
    background: transparent;
    color: var(--base-color-black);
    font-size: var(--cv-sm-9);
    cursor: pointer;
    transition: all var(--transition-snappy);
    font-family: var(--font-KR-base);
}

.raum-location-gallery-tab:hover {
    background: var(--base-color-black);
    color: var(--base-color-white);
    border-color: var(--base-color-black);
}

.raum-location-gallery-tab-active {
    background: var(--base-color-black);
    color: var(--base-color-white);
    border-color: var(--base-color-black);
    font-weight: var(--fw-medium);
}

/* 슬라이더 메인 */
.raum-location-gallery-main {
    position: relative;
    overflow: hidden;
}

.raum-location-gallery-viewport {
    width: 100%;
    overflow: hidden;
}

.raum-location-gallery-track {
    display: flex;
    transition: transform var(--transition-medium);
}

.raum-location-gallery-slide {
    --gallery-slide-h: clamp(6.5rem, 33vw, 46rem);
    flex: 0 0 100%;
    min-width: 100%;
    max-width: 100%;
    height: var(--gallery-slide-h);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.raum-location-gallery-slide img {
    display: block;
    /* width/height/background: JS 3분기 주입 */
}

/* 화살표 (portfolio .raum-pf-photo_arrow 동형 — 위치만 갤러리 내부 유지) */
.raum-location-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: var(--z-dropdown);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray-400);
    opacity: var(--opacity-100);
    transition: color var(--transition-snappy);
}

.raum-location-gallery-arrow:hover {
    color: var(--base-color-black);
}

.raum-location-gallery-arrow svg {
    width: var(--gap-lg-2);
    height: auto;
    display: block;
}

.raum-location-gallery-prev {
    left: var(--gap-mo-px-2);
}

.raum-location-gallery-next {
    right: var(--gap-mo-px-2);
}

/* 도트 */
.raum-location-gallery-dots {
    display: flex;
    justify-content: center;
    gap: var(--space-8);
    margin: var(--cv-xs-9) 0;
}

.raum-location-gallery-dot {
    width: var(--space-10);
    height: var(--space-10);
    border-radius: var(--radius-circle);
    border: var(--border-bg-gray);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: all var(--transition-snappy);
}

.raum-location-gallery-dot-active {
    background: var(--base-color-black);
    border-color: var(--base-color-black);
}

/* 썸네일 (sub5_2 기존 균등 flex 디자인 — 3분기 fit 동작 위해 컨테이너 정렬만 portfolio 패턴 유지) */
.raum-location-gallery-thumbs {
    display: flex;
    justify-content: space-between;
    gap: var(--cv-xs-2);
    margin-top: var(--spacing-md);
}

.raum-location-gallery-thumb {
    flex: 1;
    cursor: pointer;
    opacity: var(--opacity-50);
    transition: opacity var(--transition-fast);
    overflow: hidden;
    height: var(--cv-lg-13);
    display: flex;
    align-items: center;
    justify-content: center;
}

.raum-location-gallery-thumb img {
    display: block;
    /* width/height/background: JS 3분기 주입 */
}

.raum-location-gallery-thumb-active {
    opacity: var(--opacity-100);
}

/* 모바일 — 썸네일만 터치 크기로(11vw) + JS cover. PC(기본 cv-lg-13)는 미접촉 */
@media (max-width: 768px) {
    .raum-location-gallery-thumb {
        --gallery-thumb-h: clamp(3.2rem, 11vw, 6rem);
        height: var(--gallery-thumb-h);
    }
}


/* ------------------------------------- sub1-5 ------------------------------------- */

/* sub1-5 section 1 : T-Vulcan */


/* #################################### hn.css 통합 #################################### */

.raum-section-bg {
    background-color: var(--background-color);
}

/* =========================
   sub1_2 섹션 1 : 홍보영상
========================= */
.raum-history-hero {
    --history-wrapper-pt: calc(var(--header-height) + var(--spacing-3xl));
    --history-section-height: calc(var(--svh-100) - var(--history-wrapper-pt) - var(--section-pad-sm));
    --history-title-height: calc(var(--gap-lg-2) * 1.3 + var(--gap-lg-alt2));
    --history-gap: var(--gap-medium-3);
    --history-video-height: calc(var(--history-section-height) - var(--history-title-height) - var(--history-gap) - var(--section-pad-sm));
    height: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--history-gap);
}

.raum-history-video {
    width: 100%;
    padding: 0;
    position: relative;
    height: min(var(--history-video-height), var(--video-aspect-h));
    background-color: var(--background-color-edit);
    overflow: hidden;
}

/* sub1_2 공통 컨테이너 (영상·인트로·타임라인 좌측 정렬 통일) */



.raum-history-video img,
.raum-history-video video,
.raum-history-video iframe {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* 홍보영상(iframe)은 컬러 그대로 — 흑백은 사진·영상 파일에만 */
.raum-history-video img,
.raum-history-video video {
    filter: grayscale(100%);
}

.raum-history-video-placeholder {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-bold);
    color: var(--base-color-white);
}

/* =========================
   sub1_2 인트로 타이틀 (타임라인 내부)
========================= */

.raum-history-intro-content {
    text-align: left;
    padding-bottom: var(--gap-lg-alt2);
}

.raum-history-intro-content h2 {
    font-size: var(--gap-lg-2);
    line-height: var(--lh-1-3);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
}

/* =========================
   sub1_2 섹션 3 : 타임라인
========================= */
.raum-history-timeline {
    position: relative;
    width: 100%;
    padding-top: var(--cv-lg-10);
    padding-bottom: var(--section-gap-md-2);
}

/* 세로 연결선 — 타이틀 아래부터 마지막 아이템까지 */
.raum-history-timeline-track {
    position: relative;
    padding-left: var(--space-48);
}

/* 세로선: 도트 중심(var(--space-7))에 정렬 — border-box 기준 */
.raum-history-timeline-track::before {
    content: '';
    position: absolute;
    left: var(--space-10);
    top: var(--offset-neg-md);
    bottom: 0;
    width: var(--px-1);
    background-color: rgba(var(--color-black-rgb), var(--alpha-15));
}

.raum-history-timeline-item {
    padding: var(--cv-md-11) 0;
}

.raum-history-timeline-item + .raum-history-timeline-item {
    border-top: none;
}

/* 연도 + 우측 설명 (같은 줄) */
.raum-history-timeline-header {
    display: flex;
    align-items: baseline;
    gap: var(--cv-xl-1);
    padding-bottom: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    border-bottom: 1px solid rgba(var(--color-black-rgb), var(--alpha-08));
    width: fit-content;
}

.raum-history-timeline-year {
    font-family: var(--font-KR-base);
    font-size: var(--cv-md-4);
    font-weight: var(--fw-bold);
    color: var(--signature-color);
    white-space: nowrap;
    position: relative;
}

/* 도트: track의 padding-left 기준으로 왼쪽에 배치 */
.raum-history-timeline-year::before {
    content: '';
    display: block;
    position: absolute;
    left: -var(--space-45);
    top: 50%;
    transform: translateY(-50%);
    width: var(--space-14);
    height: var(--space-14);
    border-radius: var(--radius-circle);
    background-color: var(--base-color-white);
    border: var(--px-2) solid var(--signature-color);
    z-index: var(--z-default);
}

.raum-history-timeline-desc {
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-black);
    font-weight: var(--fw-bold);
    word-break: keep-all;
}

/* 불릿 리스트 */
.raum-history-timeline-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.raum-history-timeline-list li {
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-black);
    padding: var(--space-6) 0;
}

@media (max-width: 640px) {
    .raum-history-timeline-header {
        flex-direction: column;
        gap: var(--space-8);
    }
}

/* =========================
   sub1_2 섹션 4 : 수행 프로젝트 리스트
========================= */
.raum-history-projects {
    width: 100%;
    padding: var(--section-gap-md-2) 0 0;
}

.raum-history-projects-title {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-bold);
    color: var(--base-color-darkblack);
    margin-bottom: var(--cv-md-18);
}

.raum-history-projects-grid {
    display: flex;
    gap: var(--gap-md-3);
}

.raum-history-projects-col {
    flex: 1;
}

.raum-history-projects-year {
    background-color: var(--signature-color);
    color: var(--base-color-white);
    font-size: var(--text-font-size);
    font-weight: var(--fw-bold);
    padding: var(--space-10) var(--gap-card-sm-3);
    text-align: center;
}

.raum-history-projects-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.raum-history-projects-list li {
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-sub-black);
    padding: var(--space-6) var(--gap-card-sm-3);
    border-bottom: 1px solid rgba(var(--color-black-rgb), var(--alpha-06));
}

@media (max-width: 640px) {
    .raum-history-projects-grid {
        flex-direction: column;
    }
}


/* =========================
   sub1_3 섹션 1 : Organization (4열 그리드)
========================= */
.raum-org-section {
    --org-wrapper-pt: calc(var(--header-height) + var(--spacing-3xl));
    --org-section-height: calc(var(--svh-100) - var(--org-wrapper-pt));
    --org-text-pad: var(--gap-tiny-2);
    --org-text-height: calc(var(--org-text-pad) * 2 + var(--text-font-title-size-line) + var(--spacing-md) + var(--cv-lg-15) + var(--space-32));
    --org-gap: var(--spacing-md);
    --org-photo-height: calc(var(--org-section-height) - var(--org-text-height) - var(--org-gap) - var(--cv-lg-1));
    background-color: var(--background-color);
    height: var(--org-section-height);
    padding: 0;
}

.raum-org-grid {
    display: flex;
    gap: var(--cv-xxs-1);
    height: 100%;
}

.raum-org-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--org-gap);
}

.raum-org-photo {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 0 0 var(--spacing-lg) var(--spacing-lg);
    height: var(--org-photo-height);
    background-color: var(--color-bg-warm-dark);
    color: var(--color-accent-red);
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    text-align: center;
    line-height: var(--lh-1-5);
    overflow: hidden;
}

.raum-org-photo:has(img) {
    padding: 0;
}

.raum-org-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.raum-org-text {
    height: var(--org-text-height);
    border-left: var(--border-base-black-left);
    padding: var(--gap-tiny-2) var(--gap-sm-px);
}

.raum-org-name {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    margin-bottom: var(--spacing-md);
}

.raum-org-desc {
    font-size: var(--font-base-5);
    line-height: var(--lh-1-6);
    color: var(--base-color-black);
    text-align: right;
}

.raum-org-dept {
    display: block;
    font-size: var(--font-base-5);
    font-weight: var(--fw-bold);
}

/* 반응형 */
@media (max-width: 1024px) {
    .raum-org-section {
        height: auto;
        padding: var(--cv-lg-2) 0;
    }

    .raum-org-grid {
        flex-wrap: wrap;
        height: auto;
    }

    .raum-org-item {
        flex: 1 1 calc(50% - var(--px-2));
    }

    .raum-org-photo {
        height: var(--cv-xxl-2);
    }
}

@media (max-width: 480px) {
    .raum-org-section {
        padding: var(--cv-lg-6) 0;
    }

    .raum-org-grid {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .raum-org-item {
        flex: 0 0 auto;
        width: 100%;
    }

    .raum-org-photo {
        height: var(--cv-xxl-1);
    }
}


/* =========================
   sub1_3 섹션 2 : RAUM 전체사진
========================= */
.raum-org-company {
    background-color: var(--background-color);
    padding: var(--spacing-section-lg) 0;
}

.raum-org-company-photo {
    background-color: var(--color-bg-warm-alt);
    height: var(--org-company-photo-h);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.raum-org-company-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* =========================
   sub1_3 섹션 3 : RAUM Leaders
========================= */

.raum-org-section-2 {
    background-color: var(--background-color);
    padding: var(--spacing-section-lg) 0;
}

.raum-team-title {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    padding-bottom: var(--font-padding-sm);
    margin-bottom: var(--spacing-section-md);
    border-bottom: var(--border-bottom-dark);
}

.raum-team-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--section-gap);
}

.raum-team-grid > .raum-member {
    flex: 1 1 calc(25% - var(--section-gap) * 3 / 4);
    min-width: 0;
}

/* Member card */
.raum-member-header {
    margin-bottom: var(--gap-md-sm);
}

.raum-member-role {
    display: block;
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-black);
    margin-bottom: var(--space-4);
}

.raum-member-name {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
}

.raum-member-img {
    width: 100%;
    max-width: var(--space-350);
    height: var(--space-350);
    overflow: hidden;
    margin-bottom: var(--gap-md-sm);
}

.raum-member-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.raum-member-career {
    list-style: none;
    padding: 0;
    margin: 0;
}

.raum-member-career li {
    font-size: var(--text-font-size);
    line-height: var(--lh-2);
    color: var(--base-color-black);
}

/* 반응형 */
@media (max-width: 1024px) {
    .raum-team-grid > .raum-member {
        flex: 1 1 calc(50% - var(--section-gap) / 2);
    }

    .raum-member {
        text-align: center;
    }

    .raum-member-img {
        margin: 0 auto var(--gap-md-sm);
    }
}

@media (max-width: 600px) {
    .raum-team-grid > .raum-member {
        flex: 1 1 100%;
    }
}


/* =========================
   sub1_3 섹션 3 : RAUM Team
========================= */
.raum-org-section-3 {
    background-color: var(--background-color);
    padding: var(--spacing-section-lg) 0 0;
}


.raum-team-groups {
    display: flex;
    flex-direction: column;
    gap: var(--cv-lg-16);
}

.raum-team-group {
    padding: 0;
}

/* Team 카드는 Leaders 카드에서 사진/이력만 빠진 동일 구조 */
.raum-team-group .raum-team-grid {
    row-gap: var(--cv-sm-3);
}

.raum-team-group .raum-team-grid > .raum-member {
    flex: 0 0 calc(25% - var(--section-gap) * 3 / 4);
    min-width: 0;
}

/* 반응형 */
@media (max-width: 1024px) {
    .raum-team-group .raum-team-grid {
        column-gap: var(--gap-lg-3);
    }
    .raum-team-group .raum-team-grid > .raum-member {
        flex: 0 0 calc(33.333% - var(--gap-lg-3) * 2 / 3);
    }
}

@media (max-width: 600px) {
    .raum-team-group .raum-team-grid {
        column-gap: var(--gap-card-sm-2);
    }
    .raum-team-group .raum-team-grid > .raum-member {
        flex: 0 0 calc(50% - var(--gap-card-sm-2) / 2);
    }
}


/* =========================
   sub4_2 섹션 1 : E-Broshure
========================= */
.raum-brochure-section-1 {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    height: var(--vh-50);
    margin-bottom: var(--spacing-section-xl);
}

.raum-brochure-bg-img {
    position: absolute;
    inset: 0;
    z-index: var(--z-base);
}

.raum-brochure-bg-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Left column */
.raum-brochure-left {
    width: 50%;
    position: relative;
    z-index: var(--z-default);
    display: flex;
    align-items: center;
}

.raum-brochure-left-content {
    width: 100%;
    height: 100%;
    padding: var(--cv-md-19);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: rgba(var(--color-white-rgb), var(--alpha-6));
    backdrop-filter: blur(var(--px-10));
}

.raum-brochure-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-10);
    margin-top: auto;
    margin-bottom: auto;
}

.raum-brochure-label {
    font-size: var(--title-point-font-size);
    color: var(--base-color-black);
    font-weight: var(--fw-bold);
}

.raum-brochure-title {
    font-size: var(--sub-title-font-size);
    line-height: var(--sub-title-font-size-line);
    color: var(--base-color-black);
    font-weight: var(--fw-bold);
    padding-bottom: var(--gap-card-asym);
    border-bottom: var(--border-bottom-dark);
}

.raum-brochure-download-link {
    font-size: var(--text-font-size);
    color: var(--base-color-white);
    font-weight: var(--fw-semibold);
    text-decoration: none;
    transition: opacity var(--transition-fast);
}

.raum-brochure-download-link:hover {
    opacity: var(--opacity-60);
}

.raum-brochure-download-ico {
    width: var(--cv-sm-10);
    height: auto;
    vertical-align: middle;
    margin-left: var(--space-6);
}

/* Right column */
.raum-brochure-right {
    width: 50%;
    position: relative;
    z-index: var(--z-default);
    margin-right: var(--space-15);
}

/* 반응형 */
@media (max-width: 1024px) {
    .raum-brochure-section-1 {
        flex-direction: column;
        height: auto;
        padding: 0;
    }

    .raum-brochure-left {
        width: 100%;
    }

    .raum-brochure-right {
        width: 100%;
        height: var(--vh-30);
    }

    .raum-brochure-download-link {
        padding-top: var(--gap-card-asym);
    }
}


/* =========================
   sub3_1 섹션 1 : RAUM LAB
========================= */
.raum-lab-section-1 {
    padding: 0 0 var(--spacing-section-xl);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.raum-lab-header {
    text-align: center;
    margin-bottom: var(--card-padding-lg);
}

.raum-lab-title {
    font-size: var(--sub-title-font-size);
    line-height: var(--sub-title-font-size-line);
    font-weight: var(--fw-bold);
    color: var(--base-color-darkblack);
    margin-bottom: var(--font-padding-sm);
}

.raum-lab-desc {
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-sub-black);
    word-break: keep-all;
}

.raum-lab-img {
    width: 100%;
    margin-bottom: var(--card-padding-lg);
}

.raum-lab-img img {
    width: 100%;
    height: auto;
    display: block;
}

.raum-lab-vm {
    width: 100%;
    display: flex;
}

.raum-lab-vm-item {
    flex: 1;
    text-align: center;
}

.raum-lab-vm-item + .raum-lab-vm-item {
    border-left: var(--border-gray-300-left);
}

.raum-lab-vm-label {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-bold);
    color: var(--base-color-black);
    margin-bottom: var(--gap-sm-md-2);
}

.raum-lab-vm-text {
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-sub-black);
    word-break: keep-all;
}

@media (max-width: 600px) {
    .raum-lab-vm {
        flex-direction: column;
        gap: var(--cv-lg-3);
    }

    .raum-lab-vm-item + .raum-lab-vm-item {
        border-left: none;
    }
}


/* =========================
   sub3_1 섹션 2 : Content
========================= */
.raum-lab-section-2 {
    padding: var(--spacing-section-lg) 0;
    width: 100%;
}

.raum-lab-con-title {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-medium);
    color: var(--base-color-black);
    text-align: center;
    margin-bottom: var(--cv-xl-3);
}

.raum-lab-con-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--section-gap-md-3);
}

.raum-lab-con-grid > .raum-lab-con-card {
    flex: 1 1 calc(33.333% - var(--section-gap-md-3) * 2 / 3);
    min-width: 0;
}

.raum-lab-con-card {
    display: flex;
    flex-direction: column;
}

.raum-lab-con-img-wrap {
    margin-bottom: var(--gap-lg-alt2);
}

.raum-lab-con-num {
    display: block;
    text-align: right;
    font-size: var(--cv-lg-7);
    font-weight: var(--fw-bold);
    color: var(--color-gray-300);
    line-height: var(--lh-1);
    margin-bottom: var(--gap-xs);
}

.raum-lab-con-img {
    position: relative;
    width: 100%;
    height: var(--image-aspect-h);
    overflow: hidden;
}

.raum-lab-con-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter var(--transition-base);
}

.raum-lab-con-card:hover .raum-lab-con-img img {
    filter: grayscale(0%);
}

.raum-lab-con-name {
    font-size: var(--text-font-title-size);
    line-height: var(--text-font-title-size-line);
    font-weight: var(--fw-bold);
    color: var(--signature-color);
    margin-bottom: var(--gap-xs);
}

.raum-lab-con-name::before {
    content: '';
    display: block;
    width: var(--space-80);
    height: var(--space-8);
    background-color: var(--signature-color);
    margin-bottom: var(--gap-sm-alt);
}

.raum-lab-con-desc {
    font-size: var(--text-font-size);
    line-height: var(--text-font-size-line);
    color: var(--base-color-sub-black);
    word-break: keep-all;
}

@media (max-width: 768px) {
    .raum-lab-con-grid {
        gap: var(--cv-lg-12);
    }

    .raum-lab-con-grid > .raum-lab-con-card {
        flex: 1 1 100%;
    }
}


/* =========================
   sub3_1 섹션 3 : 인증서 게시판
========================= */
.raum-lab-section-3 {
    padding: var(--spacing-section-lg) 0 0;
    width: 100%;
}


/* =========================
   sub3_2 섹션 1 : 선순환 구조
========================= */
.raum-arch-section-1 {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-section-xl);
}

/* 다크 풀섹션 : 선순환 구조 */
.raum-arch-cycle-section {
    position: relative;
    overflow: hidden;
}

.raum-arch-cycle-bg {
    position: absolute;
    inset: 0;
}

.raum-arch-cycle-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(40%);
}

.raum-arch-cycle-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(var(--color-black-rgb), var(--alpha-5)) 0%, rgba(var(--color-black-rgb), var(--alpha-45)) 100%);
}

.raum-arch-cycle-content {
    position: relative;
    z-index: var(--z-raised);
    padding: var(--section-gap-md) var(--gap-md-6);
}

/* 헤더 */
.raum-arch-cycle-header {
    text-align: center;
    margin-bottom: var(--section-pad-md);
}

.raum-arch-cycle-badge {
    display: inline-block;
    font-size: var(--cv-xs-12);
    font-weight: var(--fw-semibold);
    color: var(--base-color-white);
    letter-spacing: var(--em-0-2);
    text-transform: uppercase;
    margin-bottom: var(--font-base-2);
    border: 1px solid rgba(var(--color-white-rgb), var(--alpha-3));
    padding: var(--space-6) var(--space-18);
}

.raum-arch-cycle-title {
    font-size: var(--sub-title-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-white);
    line-height: var(--lh-1-5);
}

/* 2x2 카드 그리드 + 중앙 허브 */
.raum-arch-cycle-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    position: relative;
}

.raum-arch-cycle-grid > .raum-arch-cycle-card {
    flex: 1 1 calc(50% - var(--spacing-md) / 2);
    min-width: 0;
}

/* 글래스 카드 */
.raum-arch-cycle-card {
    background: rgba(var(--color-white-rgb), var(--alpha-06));
    backdrop-filter: blur(var(--px-12));
    -webkit-backdrop-filter: blur(var(--px-12));
    border: 1px solid rgba(var(--color-white-rgb), var(--alpha-08));
    padding: var(--gap-lg-2);
    transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.raum-arch-cycle-card:hover {
    background: rgba(var(--color-white-rgb), var(--alpha-1));
    border-color: rgba(var(--color-warm-brown-rgb), var(--alpha-4));
    transform: translateY(-var(--px-4));
}

.raum-arch-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--gap-md-sm-2);
}

.raum-arch-card-num {
    font-family: var(--font-KR-base);
    font-size: var(--cv-lg-5);
    font-weight: var(--fw-bold);
    color: var(--base-color-white);
    line-height: var(--lh-1);
    opacity: var(--opacity-80);
}

.raum-arch-card-head svg {
    stroke: rgba(var(--color-white-rgb), var(--alpha-4));
}

.raum-arch-card-title {
    font-size: var(--text-font-title-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-white);
    line-height: var(--lh-1-5);
    margin-bottom: var(--gap-sm-px);
}

.raum-arch-card-desc {
    font-size: var(--text-font-size-s);
    font-weight: var(--fw-medium);
    color: rgba(var(--color-white-rgb), var(--alpha-5));
    line-height: var(--lh-1-5);
}

/* 중앙 허브 — 그리드 위 절대 배치 */
.raum-arch-cycle-hub {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: var(--z-overlay);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
}

.raum-arch-hub-inner {
    width: var(--photo-xl-h);
    height: var(--photo-xl-h);
    border-radius: var(--radius-circle);
    background-color: var(--signature-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--space-1);
    box-shadow: 0 0 var(--px-40) rgba(var(--color-warm-brown-rgb), var(--alpha-4)), 0 0 var(--px-80) rgba(var(--color-warm-brown-rgb), var(--alpha-15));
}

.raum-arch-hub-inner span {
    font-size: var(--cv-xs-6);
    font-weight: var(--fw-bold);
    color: var(--base-color-white);
    letter-spacing: var(--em-0-08);
    line-height: var(--lh-1-4);
}

.raum-arch-hub-x {
    font-size: var(--cv-xs-1);
    font-weight: var(--fw-medium);
    opacity: var(--opacity-60);
}

/* 하단 : 타이틀+본문 | 버튼 */
.raum-arch-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--gap-lg-alt);
    border-top: var(--border-base-black-top);
    padding: var(--card-pad-alt) var(--gap-md-6) 0;
}

.raum-arch-bottom-group {
    display: flex;
    gap: var(--cv-md-20);
    align-items: flex-start;
}

.raum-arch-bottom-title {
    font-size: var(--sub-title-font-size);
    font-weight: var(--fw-semibold);
    color: var(--base-color-black);
    flex-shrink: 0;
    white-space: nowrap;
}

.raum-arch-bottom-desc {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}

.raum-arch-bottom-desc p {
    font-size: var(--text-font-size-s);
    line-height: var(--lh-1-7);
    color: var(--base-color-sub-black);
}

.raum-arch-bottom-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--gap-tiny);
    padding: var(--cv-sm-11) var(--gap-medium-3);
    background-color: var(--base-color-black);
    text-decoration: none;
    flex-shrink: 0;
    transition: background-color var(--transition-fast);
    white-space: nowrap;
}

.raum-arch-bottom-btn span {
    font-size: var(--text-font-size);
    font-weight: var(--fw-medium);
    color: var(--base-color-white);
}

.raum-arch-bottom-btn-arrow {
    transition: transform var(--transition-fast);
}

.raum-arch-bottom-btn:hover {
    background-color: var(--signature-color);
}

.raum-arch-bottom-btn:hover .raum-arch-bottom-btn-arrow {
    transform: translateX(var(--px-6));
}

@media (max-width: 1024px) {
    .raum-arch-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .raum-arch-bottom-group {
        flex-direction: column;
        gap: var(--gap-sm-3);
    }
}

@media (max-width: 768px) {
    .raum-arch-cycle-grid {
        width: 100%;
    }

    .raum-arch-cycle-grid > .raum-arch-cycle-card {
        flex: 1 1 100%;
    }

    .raum-arch-cycle-hub {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        align-self: center;
        order: -1;
        margin-bottom: var(--cv-xs-11);
    }
}


/* #################################### hh_media.css 통합 (반응형) #################################### */

@media screen and (max-width: 1200px) {
/* ------------------------------------- sub1-1 ------------------------------------- */
/* sub1-1 section 1 */
.raum-about-section-intro {
    height: auto;
}

.raum-about-intro-top {
    height: auto;
    flex-direction: column;
}

.raum-about-intro-img {
    width: 100%;
    height: var(--cv-xxl-3);
}

.raum-about-intro-text {
    width: 100%;
    height: auto;
    padding-top: 0;
}

.raum-about-line {
    display: inline;
}

/* sub1-1 section 2 */

/* ------------------------------------- sub2-3 ------------------------------------- */
.raum-expertise-intro-cards-4 {
    flex-wrap: wrap;
}

.raum-expertise-intro-cards-4 .raum-expertise-intro-card {
    flex: 1 1 calc(50% - var(--space-15));
}

/* ------------------------------------- sub5-1 ------------------------------------- */
.raum-contact-row {
    flex-direction: column;
}

.raum-contact-left {
    width: 100%;
}

.raum-contact-right {
    width: 100%;
}

/* ------------------------------------- sub5-2 ------------------------------------- */
.raum-location-row {
    flex-direction: column;
    gap: var(--gap-md-sm);
}

.raum-location-map {
    width: 100%;
    height: var(--vw-50);
}

.raum-location-info-header {
    padding-left: 0;
}

.raum-location-info-title {
    font-size: var(--cv-md-7);
}

}


@media screen and (max-width: 1024px) {

/* ------------------------------------- sub1-1 ------------------------------------- */
/* sub1-1 section 2 */
.raum-about-values-list {
    flex-wrap: wrap;
}

.raum-about-values-item {
    flex: 1 1 50%;
}

/* ------------------------------------- sub1-4-1 ------------------------------------- */
/* sub1-4-1 section 2 */
.raum-careers-info-row {
    flex-direction: column;
    gap: var(--space-40);
}

.raum-careers-info-left,
.raum-careers-info-right {
    width: 100%;
}

.raum-careers-info-content {
    flex-direction: column;
    gap: var(--space-15);
}

.raum-careers-info-label {
    border-right: none;
    padding-right: 0;
}

/* sub1-4-1 section 3 */
.raum-careers-grid {
    display: flex;
    flex-wrap: wrap;
}

.raum-careers-grid > .raum-careers-grid-item {
    flex: 0 0 calc(50% - var(--gap-mo-px) / 2);
    box-sizing: border-box;
}

.raum-careers-grid-bottom {
    flex-direction: column;
    gap: var(--space-20);
    align-items: flex-start;
}

/* ------------------------------------- sub2-3 ------------------------------------- */
.raum-expertise-intro-cards {
    flex-direction: column;
}

/* ------------------------------------- sub1-4-2 ------------------------------------- */
/* sub1-4-2 section 2 */
.raum-careers-recruit-row {
    flex-direction: column;
    gap: var(--space-25);
}

.raum-careers-recruit-cell-right {
    gap: var(--space-12);
}

/* 모바일 - 라벨 폭 통일 (padding/gap은 기본 정의의 통일 변수가 그대로 적용됨) */
.raum-careers-recruit-label {
    min-width: var(--careers-recruit-mo-label-width);
    box-sizing: border-box;
}

/* sub1-4-2 section 4 */
.raum-careers-contact-row {
    flex-direction: column;
    gap: var(--space-30);
}

.raum-careers-contact-left {
    flex-direction: column;
    gap: var(--space-20);
}

.raum-careers-contact-method {
    border-right: none;
    padding-right: 0;
    border-bottom: var(--border-bg-gray-bottom);
    padding-bottom: var(--space-15);
}

/* ------------------------------------- sub5-1 ------------------------------------- */
.raum-contact-form-top {
    flex-direction: column;
    gap: 0;
}

.raum-contact-info-row {
    flex-direction: column;
    gap: var(--space-30);
}

}


@media screen and (max-width: 500px) {

/* sub1-4-2 section 3 */
.raum-careers-process-steps {
    flex-direction: column;
    gap: var(--space-15);
}

.raum-careers-process-arrow img {
    transform: rotate(90deg);
}

/* sub1-4-1 section 2 */
.raum-careers-info-item {
    flex-direction: column;
    gap: var(--space-2);
}

/* sub1-4-1 section 3 */
.raum-careers-grid-apply {
    width: 100%;
    justify-content: center;
}

}


@media screen and (max-width: 400px) {

/* ------------------------------------- sub1-1 ------------------------------------- */
/* sub1-1 section 2 */
.raum-about-values-list {
    flex-direction: column;
}

.raum-about-values-item {
    flex: none;
    margin-bottom: var(--space-25);
}

/* ------------------------------------- sub1-4-1 ------------------------------------- */
/* sub1-4-1 section 2 : 세로 라인 제거 */
.raum-careers-info-label {
    border-right: none;
    padding-right: 0;
}

/* sub1-4-1 section 3 : 아이콘 왼쪽, 이미지 오른쪽 재배치 (이미 flex 처리됨, 미디어쿼리 안에서는 flex-wrap 유지) */

/* 1행: icon(1) → order:1, img(2) → order:2 — 이미 맞음 */
/* 2행: img(5) → order:4, icon(6) → order:3 — 순서 교체 */
.raum-careers-grid-item:nth-child(5) {
    order: 4;
}

.raum-careers-grid-item:nth-child(6) {
    order: 3;
}

/* 3행: img(7) → order:6, icon(8) → order:5는 안 바꿔도 됨 */
/* 전체적으로: 홀수(icon) 왼쪽, 짝수(img) 오른쪽이 되도록 */
.raum-careers-grid-item:nth-child(7) {
    order: 6;
}

.raum-careers-grid-item:nth-child(8) {
    order: 5;
}

/* ------------------------------------- sub1-4-2 ------------------------------------- */
/* sub1-4-2 section 2 */
.raum-careers-recruit-label {
    border-right: none;
    padding-right: 0;
    min-width: 0;
}

.raum-careers-recruit-cell {
    flex-direction: column;
    gap: var(--space-6);
}

.raum-careers-recruit-sub {
    flex-direction: column;
    gap: var(--space-4);
}

}
