/* Main — CMS #mainContent 대부분 1400px 폭 (네이티브 CSS 중첩: 최신 브라우저) */

#mainContent {
    background: #f8fafb;
    font-family: 'Pretendard';
    font-style: normal;
    /* 공개 헤더 .header-container · 푸터 .site-footer__inner 과 동일 가로 기준 */
    --main-content-max: 1320px;
    --main-inline-gutter: clamp(20px, 4vw, 40px);
    --main-narrow-inline: clamp(20px, 4vw, 24px);
    /* 390px: 16×2 → 콘텐츠 358px 기준 */
    --main-narrow-inline-tight: clamp(16px, 4vw, 24px);
    /* 100vw 대신 100% — 스크롤바 있는 환경에서 헤더(.header-container)·푸터와 동일 기준 */
    --main-content-inset: max(var(--main-inline-gutter), calc((100% - var(--main-content-max)) / 2));
    --layout-ref-width: 1920;

    /* 1920×1080 → 16:9 (가로 비율 1.7778) */
    /** HEADER 히어로 */
    .main-media-text-section.HEADER {
        position: relative;
        overflow: hidden;
        width: 100%;
        min-height: min(100vh, 1000px);
        color: #ffffff;
        @media (max-width: 768px) {
            min-height: 0;
            aspect-ratio: 1920 / 1080;
            height: auto;
        }

        /* clamp(최소, 선호, 최대) */
        .main-media-text-wrap.media-text-wrap {
            position: relative;
            box-sizing: border-box;
            width: 100%;
            min-height: min(100vh, 900px);
            display: flex;
            flex-direction: column;
            align-items: stretch;
            justify-content: center;
            padding-top: clamp(88px, 11vh, 132px);
            padding-bottom: clamp(120px, 30vh, 250px);
            /* 데스크: 풀폭 블록 — 로고·카피 시작선 = .header-container (모바일 패딩은 아래 @media) */
            padding-left: var(--main-content-inset);
            padding-right: var(--main-content-inset);

            @media (max-width: 768px) {
                /* 카피 미사용 — 영상만 풀로 */
                min-height: 0;
                height: 100%;
                padding: 0;
            }
        }

        .media-text-media {
            position: absolute;
            inset: 0;
            z-index: 0;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            height: 100vh;

            @media (max-width: 768px) {
                height: 100%;
            }

            /* 영역을 항상 꽉 채움(왜곡 허용, 여백/잘림 없음) */
            img,
            .media-text-video {
                width: 100%;
                height: 100%;
                object-fit: fill;
                object-position: center;
                display: block;
            }

            &::after {
                content: '';
                position: absolute;
                inset: 0;
                pointer-events: none;
                z-index: 1;
                background: linear-gradient(
                    90deg,
                    rgba(28, 27, 32, 0.5) 0%,
                    rgba(28, 27, 32, 0) 100%
                );
            }
        }

        /* HEADER 카피 — 1920: 64px/500/172%, 두 줄 유지 위해 max-width는 836보다 넉넉히 */
        .media-text-copy {
            position: relative;
            z-index: 2;
            box-sizing: border-box;
            align-self: flex-start;
            width: fit-content;
            max-width: min(1000px, 100%);
            min-height: clamp(7.5rem, 12vh, 220px);
            text-align: left;
            font-weight: 500;
            /* 28px ~ 64px */
            font-size: clamp(1.75rem, 1.05rem + 2.35vw, 4rem);
            /* 110px / 64px ≈ 1.72 */
            line-height: 1.72;
            letter-spacing: -0.02em;
            word-break: keep-all;
            text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);

            br {
                display: block;
                margin-top: 0.35em;
            }

            @media (max-width: 768px) {
                width: 100%;
                min-height: 0;
                font-weight: 600;
                font-size: clamp(20px, 5.5vw, 24px);
                line-height: 160%;
                color: #FFFFFF;
            }
        }
    }

    /**
     * HERO_SLIDES — 이미지 캐러셀 히어로 (HEADER 와 동일 풀폭 · 좌하단 도트)
     * CMS: uiKind LIST · groups[] = 슬라이드 (IMAGE + TEXT)
     * PC: 16:9 + max 800px · 모바일: 기존 비율(1996/1496) 유지
     * 이미지 왜곡 방지: img 는 object-fit: cover
     */
    .main-hero-slides.HERO_SLIDES {
        position: relative;
        overflow: hidden;
        width: 100%;
        aspect-ratio: 16 / 9;
        height: auto;
        max-height: min(800px, 100dvh, 100vh);
        color: #ffffff;
        background: #1c1b20;
        box-sizing: border-box;

        @media (max-width: 768px) {
            aspect-ratio: 1996 / 1496;
            max-height: min(100vh, 1080px);
        }

        .main-hero-slides__viewport {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }

        .main-hero-slides__slide {
            position: absolute;
            inset: 0;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding-top: clamp(80px, 14vh, 120px);
            padding-bottom: clamp(48px, 8vh, 80px);
            padding-left: var(--main-content-inset);
            padding-right: var(--main-content-inset);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.7s ease, visibility 0.7s ease;
            pointer-events: none;
            z-index: 0;

            &.is-active {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                z-index: 1;
            }

            /* TEXT label=right — 카피·그라데이션 우측 */
            &.is-copy-right {
                align-items: flex-end;

                .main-hero-slides__copy {
                    align-self: flex-end;
                    margin-inline-start: auto;
                    text-align: right;
                }

                .main-hero-slides__media::after {
                    background: linear-gradient(
                        270deg,
                        rgba(28, 27, 32, 0.5) 0%,
                        rgba(28, 27, 32, 0) 100%
                    );
                }
            }

            @media (max-width: 768px) {
                padding: 0;
                justify-content: center;
            }
        }

        .main-hero-slides__media {
            position: absolute;
            inset: 0;
            z-index: 0;

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

            &::after {
                content: '';
                position: absolute;
                inset: 0;
                pointer-events: none;
                z-index: 1;
                background: linear-gradient(
                    90deg,
                    rgba(28, 27, 32, 0.5) 0%,
                    rgba(28, 27, 32, 0) 100%
                );
            }
        }

        .main-hero-slides__copy,
        .main-hero-slides__copy.media-text-key-headline {
            position: relative;
            z-index: 2;
            box-sizing: border-box;
            align-self: flex-start;
            width: fit-content;
            max-width: min(52rem, 100%);
            margin: 0;
            text-align: left;
            font-weight: 500;
            /* 메인 700px 히어로용 — 회사소개 헤드라인보다 한 단계 작게 */
            font-size: 2.75rem;
            line-height: 145%;
            letter-spacing: -0.03em;
            word-break: keep-all;
            text-shadow: 0 2px 24px rgba(0, 0, 0, 0.5);

            .main-hero-slides__line {
                display: block;
            }

            @media (max-width: 768px) {
                align-self: stretch;
                width: 100%;
                max-width: none;
                padding: clamp(24px, 6vh, 40px) clamp(16px, 4vw, 24px);
                font-weight: 600;
                font-size: clamp(20px, 5.5vw, 24px);
                line-height: 160%;
                color: #ffffff;
            }
        }

        .main-hero-slides__dots {
            position: absolute;
            z-index: 3;
            left: var(--main-content-inset);
            bottom: clamp(28px, 5vh, 48px);
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
            margin: 0;
            padding: 0;

            @media (max-width: 768px) {
                left: clamp(16px, 4vw, 24px);
                bottom: clamp(16px, 3vh, 28px);
            }
        }

        .main-hero-slides__dot {
            box-sizing: border-box;
            width: 10px;
            height: 10px;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.35);
            cursor: pointer;
            transition: background 0.25s ease, transform 0.25s ease;

            &:hover {
                background: rgba(255, 255, 255, 0.65);
            }

            &.is-active {
                background: #ffffff;
                transform: scale(1.15);
            }

            &:focus-visible {
                outline: 2px solid #ffffff;
                outline-offset: 3px;
            }
        }
    }

    /**
     * SUBJECT — 메인 전용 section header 
     * pageRenderer: uiKind TITLE + sectionType SUBJECT → .main-hero.SUBJECT
     */
    .main-hero.SUBJECT {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: clamp(160px, calc(100vw * 200 / var(--layout-ref-width)), 200px);
        padding: clamp(24px, calc(100vw * 40 / var(--layout-ref-width)), 40px) 0;
        gap: 0;
        text-align: center;

        @media (max-width: 768px) {
            min-height: 0;
            padding: clamp(20px, 5vw, 32px) var(--main-narrow-inline);
        }

        .main-hero-inner {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
            max-width: min(1320px, 100%);
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            box-sizing: border-box;

            > div:not(.media-text-body-block) {
                font-weight: 700;
                font-size: clamp(28px, 1.25rem + 2vw, 40px);
                line-height: 160%;
                text-align: center;
                color: #000000;
                letter-spacing: -0.02em;
                margin: 0;
            }

            @media (max-width: 768px) {
                gap: 4px;
            }
        }

        .media-text-body-block[data-field-key='headline'],
        .media-text-key-headline {
            width: 100%;
            font-weight: 700;
            font-size: clamp(28px, 1.25rem + 2vw, 40px);
            line-height: 160%;
            text-align: center;
            color: #000000;
            letter-spacing: -0.02em;
            margin: 0;

            > p {
                margin: 0;
                font: inherit;
                letter-spacing: inherit;
            }
        }

        .media-text-body-block[data-field-key='body'],
        .media-text-key-body {
            width: 100%;
            font-weight: 600;
            font-size: clamp(11px, 1.85vw + 0.55rem, 24px);
            line-height: 160%;
            text-align: center;
            color: #2c4777;
            margin: 0;

            @media (max-width: 768px) {
                font-size: clamp(11px, 0.75vw + 0.6rem, 13px);
            }

            > p {
                margin: 0;
                font: inherit;
                letter-spacing: inherit;
                color: inherit;
            }

            &:last-child {
                margin-bottom: 0;
            }
        }
    }

    /**
     * ABOUT — 피그마 높이·간격 + 카피 가로선은 --main-content-inset(헤더·푸터 1320+gutter 와 동일)
     */
    .main-media-text-section.ABOUT {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        width: 100%;
        min-height: clamp(520px, calc(100vw * 1000 / var(--layout-ref-width)), 1000px);
        /* 가로 패딩은 카드(.main-media-text-wrap)의 margin+padding 한 번에 (HEADER 래퍼와 동일 inset 논리) */
        padding: clamp(48px, calc(100vw * 120 / var(--layout-ref-width)), 120px) 0;
       /*  margin-bottom: clamp(48px, calc(100vw * 100 / var(--layout-ref-width)), 100px); */
        background: transparent;
        color: #f8fafc;

        .main-media-text-wrap.media-text-wrap {
            position: relative;
            box-sizing: border-box;
            width: 100%;
            max-width: min(1856px, 100%);
            margin-inline: var(--main-inline-gutter);
            min-height: clamp(400px, calc(100vw * 760 / var(--layout-ref-width)), 760px);
            padding-top: clamp(48px, calc(100vw * 150 / var(--layout-ref-width)), 150px);
            padding-bottom: clamp(48px, calc(100vw * 150 / var(--layout-ref-width)), 150px);
            /* 헤더 히어로와 같음: 래퍼 기준 시작선 = --main-content-inset (바깥은 gutter 만큼 margin 으로만 밀림) */
            padding-left: calc(var(--main-content-inset) - var(--main-inline-gutter));
            padding-right: calc(var(--main-content-inset) - var(--main-inline-gutter));
            gap: clamp(12px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
            border-radius: clamp(16px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
        }

        .media-text-media {
            position: absolute;
            inset: 0;
            z-index: 0;
            border-radius: inherit;

            img,
            .media-text-video {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
                display: block;
            }

            &::after {
                content: '';
                position: absolute;
                inset: 0;
                z-index: 1;
                pointer-events: none;
            }
        }

        .media-text-copy {
            position: relative;
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: clamp(12px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
            min-width: 0;
            width: 100%;
            max-width: 100%;
            padding: 0;
            text-align: left;
            font-weight: 400;
            font-size: inherit;
            line-height: inherit;
            letter-spacing: inherit;
            word-break: keep-all;
            text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);

            /* 태블릿·중간 폭 PC — 넓은 데스크톱·모바일(@768) 구간과 분리 */
            @media (min-width: 769px) and (max-width: 1500px) {
                padding: 20px;
            }
        }

        .media-text-kicker {
            margin: 0;
            font-size: 0.6875rem;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(248, 250, 252, 0.88);
        }

        /* 다필드: pageDefaults.mediaText.textFields 의 key 기준 (.media-text-key-{key}) */
        .media-text-copy .media-text-body-block {
            letter-spacing: -0.03em;
            color: #f8fafc;

            br {
                margin-top: 0;
            }
        }

        .media-text-key-headline,
        .media-text-copy [data-field-key='headline'] {
            /* PC/titleS — 24px, line-height 160%, weight 600 */
            font-size: clamp(18px, calc(100vw * 24 / var(--layout-ref-width)), 24px);
            font-weight: 600;
            line-height: 1.6;
            letter-spacing: normal;
            color: #fff;
            margin: 0;
        }

        .media-text-key-body,
        .media-text-copy [data-field-key='body'] {
            /* PC/DisplayS — 48px, line-height 150%, weight 700 */
            font-size: clamp(28px, calc(100vw * 48 / var(--layout-ref-width)), 48px);
            font-weight: 700;
            line-height: 1.5;
            letter-spacing: normal;
            color: #fff;
        }

        .media-text-action-wrap {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: clamp(10px, 2vw, 16px);
            margin-top: 20px;
            padding: 0;
        }

        /* 피그마 arrow-button — 첫 번째 primary만 (두 번째는 --secondary 가 덮음) */
        .media-text-primary-action {
            box-sizing: border-box;
            display: inline-flex;
            flex-direction: row;
            align-items: center;
            justify-content: center;
            gap: 12px;
            min-width: 181px;
            height: 48px;
            padding: 0 36px;
            font-size: 0.9375rem;
            font-weight: 600;
            color: #fff;
            text-decoration: none;
            background: #162d55;
            border: none;
            border-radius: 30px;
            transition: background 0.18s ease, color 0.18s ease;
            margin-top: 0;
            text-shadow: none;

            &:hover {
                background: #0f64c0;
                color: #fff;
                box-shadow: none;
            }
        }

        /* 피그마 arrow-button2 */
        .media-text-primary-action--secondary {
            box-sizing: border-box;
            min-width: 181px;
            height: 48px;
            padding: 0 36px;
            gap: 12px;
            background: transparent;
            border: 1px solid #fff;
            border-radius: 30px;
            color: #fff;
            transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;

            &:hover {
                background: #fff;
                border-color: #fff;
                color: #162d55;
                box-shadow: none;
            }
        }

        /* pageRenderer 빈 span — 마스크로 화살표 SVG(currentColor) */
        .media-text-action-arrow {
            display: inline-block;
            width: 12px;
            height: 12px;
            flex-shrink: 0;
            vertical-align: middle;
            background-color: currentColor;
            -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.83333%2011L11%206L6.83333%201M11%206H1%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.83333%2011L11%206L6.83333%201M11%206H1%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
        }

        @media (max-width: 768px) {
            min-height: 0;
            padding: 0;
            margin-bottom: clamp(32px, 8vw, 56px);

            /* 모바일: 와이드 PC 에셋 — 상단 600px만 표시. img 는 object-* 가 background-size/position 과 대응 */
            .main-media-text-wrap.media-text-wrap {
                margin-inline: 0;
                min-height: min(100vh, 744px);
                align-items: stretch;
                justify-content: center;
                border-radius: 0;
                padding-top: clamp(28px, 7vw, 44px);
                padding-bottom: clamp(28px, 7vw, 44px);
                padding-inline: 40px;
            }

            .media-text-media {
                inset: unset;
                top: 0;
                left: 0;
                right: 0;
                bottom: auto;
                width: 100%;
                height: 600px;
                max-height: 600px;
                overflow: hidden;

                img,
                .media-text-video {
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: 48% center;
                }
            }

            .media-text-copy {
                align-items: flex-start;
                text-align: left;
                height: 70vh;
            }

            .media-text-action-wrap {
                justify-content: flex-start;
            }

            .media-text-kicker {
                text-align: left;
            }

            .media-text-key-headline,
            .media-text-key-body,
            .media-text-copy [data-field-key='headline'],
            .media-text-copy [data-field-key='body'] {
                text-align: left;
                text-wrap: balance;
            }
        }
    }

    /**
     * FOOTER 
     */
    .main-media-text-section.FOOTER {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
        color: #f8fafc;

        .main-media-text-wrap.media-text-wrap {
            position: relative;
            box-sizing: border-box;
            width: 100%;
            min-height: clamp(220px, 28vh, 380px);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: clamp(48px, 7vw, 88px) clamp(20px, 5vw, 48px);
        }

        .media-text-media {
            position: absolute;
            inset: 0;
            z-index: 0;
            background-color: #071525;
            background-image:
                radial-gradient(ellipse 90% 65% at 15% 20%, rgba(59, 130, 246, 0.22) 0%, transparent 55%),
                radial-gradient(ellipse 70% 50% at 85% 75%, rgba(37, 99, 235, 0.18) 0%, transparent 50%),
                linear-gradient(165deg, #050d18 0%, #0c1c33 42%, #071220 100%);

            &::before {
                content: '';
                position: absolute;
                inset: 0;
                z-index: 0;
                pointer-events: none;
                opacity: 0.55;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%233b82f6' stroke-opacity='0.22' stroke-width='1.2' d='M0 220 Q200 180 400 210 T800 200 T1200 230'/%3E%3Cpath fill='none' stroke='%2360a5fa' stroke-opacity='0.18' stroke-width='0.9' d='M0 260 Q250 300 500 250 T1000 270 T1200 240'/%3E%3Cpath fill='none' stroke='%233b82f6' stroke-opacity='0.14' stroke-width='0.8' d='M0 140 Q300 100 600 150 T1200 120'/%3E%3Cpath fill='none' stroke='%2393c5fd' stroke-opacity='0.12' stroke-width='0.7' d='M0 320 Q400 360 800 300 T1200 340'/%3E%3C/svg%3E");
                background-size: cover;
                background-position: center;
            }

            &::after {
                content: '';
                position: absolute;
                inset: 0;
                z-index: 1;
                pointer-events: none;
                background: linear-gradient(
                    180deg,
                    rgba(5, 13, 24, 0.25) 0%,
                    transparent 35%,
                    transparent 65%,
                    rgba(5, 13, 24, 0.35) 100%
                );
            }

            img,
            .media-text-video {
                position: absolute;
                inset: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
                display: block;
                z-index: 0;
            }

            &:has(img)::before,
            &:has(.media-text-video)::before {
                opacity: 0.35;
            }

            &:has(img)::after,
            &:has(.media-text-video)::after {
                background: linear-gradient(
                    105deg,
                    rgba(7, 18, 35, 0.82) 0%,
                    rgba(7, 18, 35, 0.45) 50%,
                    rgba(7, 18, 35, 0.55) 100%
                );
            }
        }

        .media-text-copy {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: min(1320px, 100%);
            margin: 0 auto;
            text-align: center;
            text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
        }

        .media-text-body-block {
            /* PC/BoldyL — 18px, line-height 160%, weight 400 (.FOOTER 에서 Pretendard 상속) */
            font-size: clamp(15px, calc(100vw * 18 / var(--layout-ref-width)), 18px);
            font-weight: 400;
            line-height: 1.6;
            letter-spacing: normal;
            text-align: center;
            color: #fff;
            word-break: keep-all;

            br {
                display: block;
                margin-top: 0.65em;
            }
        }

        .media-text-key-headline,
        .media-text-body-block[data-field-key='headline'] {
            margin: 0 auto;
            max-width: 100%;
            word-break: normal;
            overflow-wrap: break-word;
            font-weight: 700;
            font-size: clamp(24px, calc(100vw * 40 / var(--layout-ref-width)), 40px);
            line-height: 1.6;
            letter-spacing: normal;
            text-align: center;
            color: #fff;
            margin-bottom: 12px;
        }

        .media-text-key-body,
        .media-text-body-block[data-field-key='body'] {
            margin: 0;
        }

        .media-text-key-body + .media-text-key-body,
        .media-text-body-block[data-field-key='body'] + .media-text-body-block[data-field-key='body'] {
            margin-top: 0.65em;
        }


        .media-text-action-wrap {
            margin: clamp(1.5rem, 3.2vw, 2.25rem) 0 0;
            padding: 0;
            display: flex;
            justify-content: center;
        }

        .media-text-primary-action {
            box-sizing: border-box;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: clamp(6px, calc(100vw * 8 / var(--layout-ref-width)), 8px);
            min-width: clamp(112px, calc(100vw * 128 / var(--layout-ref-width)), 128px);
            width: fit-content;
            height: clamp(40px, calc(100vw * 44 / var(--layout-ref-width)), 44px);
            padding: 0 clamp(20px, calc(100vw * 36 / var(--layout-ref-width)), 36px);
            white-space: nowrap;
            font-weight: 600;
            font-size: clamp(14px, calc(100vw * 16 / var(--layout-ref-width)), 16px);
            line-height: 1.2;
            color: #1c1b20;
            text-decoration: none;
            background: #ffffff;
            border: none;
            border-radius: clamp(8px, calc(100vw * 10 / var(--layout-ref-width)), 10px);
            box-shadow: 0 clamp(3px, calc(100vw * 4 / var(--layout-ref-width)), 4px)
                clamp(14px, calc(100vw * 20 / var(--layout-ref-width)), 20px) rgba(0, 0, 0, 0.18);
            text-shadow: none;
            transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease,
                box-shadow 0.18s ease;

            &:hover {
                background: #0f64c0;
                color: #ffffff;
                transform: translateY(-1px);
                box-shadow: 0 clamp(6px, calc(100vw * 8 / var(--layout-ref-width)), 8px)
                    clamp(22px, calc(100vw * 28 / var(--layout-ref-width)), 28px) rgba(15, 100, 192, 0.35);
            }
        }

        .media-text-action-arrow {
            display: none;
        }

        @media (max-width: 768px) {
            text-align: center;
            color: #FFFFFF;
            .main-media-text-wrap.media-text-wrap {
                min-height: min(52vh, 184px);
                padding: clamp(40px, 10vw, 56px) clamp(20px, 5vw, 24px);
            }

            .media-text-key-headline,
            .media-text-body-block[data-field-key='headline'] {
                font-size: clamp(18px, calc(100vw * 40 / var(--layout-ref-width)), 32px);
                font-weight: 600;
                line-height: 140%;
            }

            .media-text-body-block:not([data-field-key='headline']) {
                font-size: clamp(12px, 3.35vw, 18px);
                line-height: 160%;
                font-weight: 400;
            }

        }
    }

    /** solutions — 피그마: 스트립 padding 0 32 · gap 32 · 높이 620 / 카드 912×620 · padding 100 · gap 60 · radius 60 */
    .main-solutions-strip-section {
        margin-top: 60px;
        margin-bottom: 120px;
        width: 100%;
        --solutions-strip-pad-x: clamp(16px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
        --solutions-strip-gap: clamp(16px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
        --solution-card-pad: clamp(40px, calc(100vw * 100 / var(--layout-ref-width)), 100px);
        --solution-card-gap: clamp(28px, calc(100vw * 60 / var(--layout-ref-width)), 60px);
        --solution-card-r: clamp(24px, calc(100vw * 60 / var(--layout-ref-width)), 60px);

        @media (max-width: 768px) {
            padding-bottom: 48px;
            margin-top: 20px;
            margin-bottom: 0px;
        }

        .main-solutions-strip {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            box-sizing: border-box;
            width: 100%;
            margin: 0;
            padding: 0 var(--solutions-strip-pad-x);
            gap: var(--solutions-strip-gap);
            min-height: clamp(540px, calc(100vw * 620 / var(--layout-ref-width)), 620px);

            .main-solution-card:only-child {
                max-width: min(912px, 100%);
                flex: 1 1 auto;
            }

            /* 배경 카드 CTA — 스트립 안에서만 */
            .main-solution-card--has-bg .main-solution-card__cta {
                width: auto;
                max-width: 100%;
                background: transparent;
                border: 1px solid #fff;
                color: #fff;

                &:focus-visible {
                    outline-color: #fff;
                }
            }

            .main-solution-card--has-bg:first-child:is(:hover, :focus-within) .main-solution-card__cta,
            .main-solution-card--has-bg:only-child:is(:hover, :focus-within) .main-solution-card__cta {
                background: #2568f9;
                border-color: #2568f9;
                color: #fff;
                box-shadow: none;
            }

            .main-solution-card--has-bg:last-child:not(:only-child):is(:hover, :focus-within) .main-solution-card__cta {
                background: #00acac;
                border-color: #00acac;
                color: #fff;
                box-shadow: none;
            }

            .main-solution-card--has-bg:first-child:is(:hover, :focus-within) .main-solution-card__cta:focus-visible,
            .main-solution-card--has-bg:only-child:is(:hover, :focus-within) .main-solution-card__cta:focus-visible,
            .main-solution-card--has-bg:last-child:not(:only-child):is(:hover, :focus-within) .main-solution-card__cta:focus-visible {
                outline-color: #fff;
            }

            @media (max-width: 768px) {
                flex-direction: column;
                flex-wrap: nowrap;
                align-items: stretch;
                height: auto;
                min-height: 0;


                .main-solution-card__inner {
                    gap: 10px;
                    justify-content: flex-start;
                    flex: 1 1 auto;
                    min-height: 0;
                }
                .main-solution-card__tags-line{
                    font-weight: 400;
                    font-size: 12px;
                    line-height: 200%;
                }
                .main-solution-card__title{
                    font-weight: 600;
                    font-size: 24px;
                    line-height: 160%;
                }

                .main-solution-card__desc{
                    font-weight: 400;
                    font-size: 12px;
                    line-height: 160%;
                    flex: 0 1 auto;
                    overflow-wrap: break-word;
                    word-break: normal;
                    margin-bottom: 30px;
                }
                .main-solution-card {
                    --mobile-card-pad: 40px;
                    max-width: 100%;
                    flex: 0 0 auto;
                    min-height: auto;
                    height: auto;
                    justify-content: flex-start;
                    border-radius: 32px;
                    padding: var(--mobile-card-pad);
                }

                .main-solution-card__cta {
                    box-sizing: border-box;
                    display: flex;
                    flex-direction: row;
                    justify-content: center;
                    align-items: center;
                    flex-shrink: 0;
                    gap: 12px;
                    margin-top: auto;
                    margin-left: calc(-1 * var(--mobile-card-pad));
                    margin-right: calc(-1 * var(--mobile-card-pad));
                    margin-bottom: calc(-1 * var(--mobile-card-pad));
                    width: calc(100% + (2 * var(--mobile-card-pad)));
                    max-width: none;
                    height: 48px;
                    min-height: 48px;
                    padding: 0 36px;
                    border: none;
                    border-radius: 0 0 32px 32px;
                    white-space: nowrap;
                    align-self: stretch;
                    font-weight: 600;
                    font-size: 12px;
                    line-height: 160%;
                }

                /* 모바일 CTA 색상 고정: hover 의존 없이 카드 순서대로 표시 */
                .main-solution-card--has-bg:first-child .main-solution-card__cta,
                .main-solution-card--has-bg:only-child .main-solution-card__cta {
                    background: #2568f9;
                    border-color: #2568f9;
                }

                .main-solution-card--has-bg:last-child:not(:only-child) .main-solution-card__cta {
                    background: #00acac;
                    border-color: #00acac;
                }

                /* 모바일에서는 has-bg 기본 폭(227px)보다 이 규칙 우선 적용 */
                .main-solution-card--has-bg .main-solution-card__cta {
                    width: calc(100% + (2 * var(--mobile-card-pad)));
                    max-width: none;
                }
            }

            @media (min-width: 769px) and (hover: hover) and (pointer: fine) {
                .main-solution-card--has-bg .main-solution-card__desc {
                    max-height: 0;
                    overflow: hidden;
                    opacity: 0;
                    transition: opacity 0.28s ease, max-height 0.45s ease;
                }

                .main-solution-card--has-bg:is(:hover, :focus-within) .main-solution-card__desc {
                    max-height: 24em;
                    opacity: 1;
                }
            }

            /* 터치·거친 포인터: 블러 오버레이 끔 (`not all (hover and fine)` 대체 — 린터 호환) */
            @media (hover: none), (pointer: coarse) {
                .main-solution-card--has-bg::after {
                    display: none;
                }
            }

            @media (prefers-reduced-motion: reduce) {
                .main-solution-card--has-bg::after {
                    transition: none;
                }

                .main-solution-card--has-bg .main-solution-card__desc {
                    transition: none;
                }
            }

            @media (prefers-reduced-motion: reduce) and (min-width: 769px) and (hover: hover) and (pointer: fine) {
                .main-solution-card--has-bg .main-solution-card__desc {
                    max-height: none;
                    overflow: visible;
                    opacity: 1;
                }

                .main-solution-card--has-bg::after {
                    opacity: 0;
                }
            }
        }

        .main-solution-card {
            position: relative;
            overflow: hidden;
            box-sizing: border-box;
            flex: 1 1 0;
            min-width: min(100%, 320px);
            max-width: min(912px, calc((100% - var(--solutions-strip-gap)) / 2));
            min-height: clamp(540px, calc(100vw * 620 / var(--layout-ref-width)), 620px);
            border-radius: var(--solution-card-r);
            display: flex;
            flex-direction: column;
            align-items: stretch;
            justify-content: space-between;
            padding: var(--solution-card-pad);
            text-align: left;
            color: #0f172a;
            background-color: #e8eaee;
            cursor: pointer;

            &.main-solution-card--has-bg {
                color: #f8fafc;

                &::before {
                    content: '';
                    position: absolute;
                    inset: 0;
                    z-index: 0;
                    pointer-events: none;
                    border-radius: inherit;
                }

                /* 반도체(첫 카드): 위쪽 짙은 그라데이션 */
                &:first-child::before {
                    background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
                }

                /* ICT(둘째 카드): 아래쪽 짙은 그라데이션 */
                &:last-child:not(:only-child)::before {
                    background: linear-gradient(
                        360deg,
                        rgba(28, 27, 32, 0) 0%,
                        rgba(28, 27, 32, 0.8) 100%
                    );
                }

                /* 호버·포커스: 배경 사진 살짝 블러(콘텐츠는 위 레이어) */
                &::after {
                    content: '';
                    position: absolute;
                    inset: 0;
                    z-index: 1;
                    pointer-events: none;
                    border-radius: inherit;
                    opacity: 0;
                    background: rgba(0, 0, 0, 0.06);
                    backdrop-filter: blur(8px);
                    -webkit-backdrop-filter: blur(8px);
                    transition: opacity 0.28s ease;
                }

                &:hover::after,
                &:focus-within::after {
                    opacity: 1;
                }

                .main-solution-card__title,
                .main-solution-card__desc {
                    color: #f8fafc;
                }

                .main-solution-card__tags-line {
                    color: #fff;
                }
            }
        }

        .main-solution-card__inner {
            position: relative;
            z-index: 2;
            width: 100%;
            margin: 0;
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: space-between;
            text-align: left;
            gap: var(--solution-card-gap);
            min-height: 0;
        }

        .main-solution-card__tags-line {
            margin: 0;
            width: 100%;
            font-size: clamp(0.75rem, 1.2vw, 0.875rem);
            font-weight: 600;
            line-height: 1.45;
            letter-spacing: 0.02em;
            color: #475569;
            word-break: keep-all;
        }

        .main-solution-card__title {
            margin: 0;
            font-size: clamp(1.625rem, 2.85vw, 2.35rem);
            font-weight: 700;
            line-height: 1.22;
            letter-spacing: -0.03em;
            word-break: keep-all;
        }

        .main-solution-card__desc {
            margin: 0;
            font-size: clamp(0.9375rem, 1.55vw, 1.125rem);
            font-weight: 400;
            line-height: 1.72;
            color: #0f172a;
            word-break: break-all;
        }

        /* 배경형 CTA·설명·모션: `.main-solutions-strip` 안 nested @media */
        .main-solution-card__cta {
            box-sizing: border-box;
            display: inline-flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            gap: 12px;
            height: 48px;
            min-height: 48px;
            padding: 0 36px;
            margin-top: 0;
            align-self: flex-start;
            font-size: 0.9375rem;
            font-weight: 600;
            line-height: 1.2;
            text-decoration: none;
            border-radius: 30px;
            transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
            white-space: nowrap;

            /* 카드 전체 클릭 → CTA와 동일 URL로 이동 */
            &::after {
                content: '';
                position: absolute;
                inset: 0;
                z-index: 3;
                border-radius: inherit;
            }

            &:focus-visible {
                outline: 2px solid currentColor;
                outline-offset: 4px;
            }

            /* 좁은 데스크톱(~1600): 고정 폭 CTA 안 텍스트 넘침 방지 — 모바일(768↓)은 스트립 @media에서 별도 */
            @media (max-width: 1600px) and (min-width: 769px) {
                font-size: clamp(12px, calc(8px + 0.45vw), 15px);
                padding-inline: clamp(18px, calc(100vw * 32 / var(--layout-ref-width)), 36px);
                gap: clamp(6px, 0.85vw, 12px);
            }
        }

        .main-solution-card:not(.main-solution-card--has-bg) .main-solution-card__cta {
            width: auto;
            max-width: 100%;
            background: transparent;
            border: 1px solid #0f172a;
            color: #0f172a;

            &:hover {
                background: #0f172a;
                border-color: #0f172a;
                color: #fff;
            }
        }

        .main-solution-card .media-text-action-arrow {
            display: inline-block;
            width: 12px;
            height: 12px;
            flex-shrink: 0;
            vertical-align: middle;
            background-color: currentColor;
            -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.83333%2011L11%206L6.83333%201M11%206H1%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.83333%2011L11%206L6.83333%201M11%206H1%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;

            @media (max-width: 1599px) and (min-width: 769px) {
                width: clamp(10px, calc(100vw * 12 / var(--layout-ref-width)), 12px);
                height: clamp(10px, calc(100vw * 12 / var(--layout-ref-width)), 12px);
            }
        }
    }

    /*** 통계섹션 — 피그마 높이·패딩 반영, 가로는 --main-content-inset(≈1320 기준) ***/
    .main-stats-section {
        --stats-accent: #2563eb;
        --stats-featured-bg: linear-gradient(145deg, #1e3a8a 0%, #172554 55%, #0f172a 100%);
        --stats-grid-gap: clamp(12px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
        --stats-card-size-w: clamp(360px, calc(100vw * 650 / var(--layout-ref-width)), 650px);
        --stats-panel-size-h: clamp(420px, calc(100vw * 580 / var(--layout-ref-width)), 580px);
        box-sizing: border-box;
        width: 100%;
        max-height: 1052px;
        display: flex;
        flex-direction: column;
        color: #0f172a;
        padding-block: clamp(48px, 6.25vw, 120px);
        padding-inline: var(--main-content-inset);
        position: relative;
        overflow: hidden;
        background: #f8fafb;

        /* bgUrl: CMS 이미지 + 상·하단 #F8FAFB 페이드 (피그마 그라데이션) */
        &.main-stats-section--has-bg {
            background-color: #f8fafb;
            isolation: isolate;
        }

        &.main-stats-section--has-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background-image: linear-gradient(180deg, #f8fafb 0%, rgba(255, 255, 255, 0) 22.81%),
                linear-gradient(180deg, rgba(255, 255, 255, 0) 79.34%, #f8fafb 100%), var(--stats-bg-image);
            background-repeat: no-repeat, no-repeat, no-repeat;
            background-size: cover, cover, cover;
            background-position: center, center, center;
        }

        &.main-stats-section--has-bg .main-stats-inner {
            position: relative;
            z-index: 1;
        }

        .main-stats-inner {
            box-sizing: border-box;
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            width: 100%;
            max-width: var(--main-content-max);
            margin-inline: auto;
            min-height: 0;
            gap: clamp(28px, 3.5vw, 48px);
        }

        .main-stats-intro {
            margin: 0;
            padding: 0;
            text-align: center;
            word-break: keep-all;

            @media (max-width: 768px) {
                height: 140px;
                display: flex;
                flex-direction: column;
                justify-content: center;
            }
        }

        /* 피그마 PC/titleS — Advancing Technology */
        .main-stats-eyebrow {
            margin: 0 auto clamp(8px, 1.2vw, 12px);
            font-size: clamp(1rem, 2.25vw, 1.5rem);
            font-weight: 600;
            line-height: 1.6;
            letter-spacing: normal;
            text-transform: none;
            text-align: center;
            color: #0f64c0;

            @media (max-width: 768px) {
               display: none;
            }
        }

        /* 피그마 PC/DisplayS — Delivering Trust */
        .main-stats-headline {
            margin: 0 auto clamp(12px, 2vw, 20px);
            font-size: clamp(1.75rem, 4vw, 3rem);
            font-weight: 700;
            letter-spacing: normal;
            line-height: 1.5;
            text-align: center;
            color: #162d55;
            word-break: keep-all;
            @media (max-width: 768px) {
                font-weight: 600;
                font-size: 24px;
                line-height: 160%;
                color: #1C1B20;
            }
        }

        /* 피그마 PC/titleSReg — 서브헤드 한글 문장 (PC는 한 줄, 좁은 화면만 줄바꿈) */
        .main-stats-subheadline {
            margin: 0 auto;
            font-size: clamp(1rem, 2.25vw, 1.5rem);
            font-weight: 400;
            line-height: 1.6;
            text-align: center;
            color: #162d55;
            white-space: normal;
            word-break: keep-all;
            @media (max-width: 768px) {
                font-weight: 600;
                font-size: 12px;
                line-height: 160%;
                padding: 0px 40px;
                color: #2C4777;
            }
        }

        @media (min-width: 1024px) {
            .main-stats-subheadline {
                white-space: nowrap;
                word-break: normal;
            }
        }

        .main-stats-panel {
            box-sizing: border-box;
            width: 100%;
            max-width: var(--main-content-max);
            margin-inline: auto;
            padding: 0;
            background: transparent;
            border: none;
            min-height: var(--stats-panel-size-h);
            height: auto;
            max-height: none;
            overflow: visible;
        }

        /*
         * 좌·우 열 높이: Grid 중첩 height% 대신 flex 한 줄(stretch)으로 맞춤.
         * 같은 cross-axis 높이 = 두 컬럼 중 더 긴 쪽 기준으로 자동 동일.
         */
        .main-stats-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: var(--stats-grid-gap);
            align-items: stretch;
            justify-content: stretch;
            list-style: none;
            margin: 0;
            padding: 0;
            min-height: var(--stats-panel-size-h);
            height: auto;
            max-height: none;
        }

        .main-stats-grid > .main-stat-item--featured {
            width: auto;
            min-width: 0;
            align-self: stretch;
            
            .main-stat-item__body{
                padding-top: 150px;
            }

            @media (max-width: 768px) {
               text-align: start;
               height: 241px;
               padding: 32px 40px;
            }
        }

        .main-stats-grid > .main-stat-item--featured:only-child {
            grid-column: 1 / -1;
            max-width: none;
        }

        .main-stat-cluster {
            width: 100%;
            min-width: 0;
            min-height: 0;
            height: 100%;
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            flex-direction: column;
            align-self: stretch;
            background: transparent;
            border: none;
            box-shadow: none;
        }

        /* 오른쪽 내부: 상·하 5:5 — PC에서 부모(피처드) 높이에 맞춰 stretch */
        .main-stat-cluster__grid {
            flex: 1 1 auto;
            height: 100%;
            min-height: 0;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            grid-template-rows: auto auto;
            gap: var(--stats-grid-gap);
            margin: 0;
            padding: 0;
            list-style: none;
            align-items: stretch;
            align-content: stretch;
            width: 100%;
        }

        .main-stat-cluster__grid > .main-stat-item {
            min-width: 0;
            min-height: 0;
            max-width: 100%;
        }

        .main-stat-cluster__grid > .main-stat-item .main-stat-top,
        .main-stat-cluster__grid > .main-stat-item .main-stat-caption {
            overflow-wrap: break-word;
            word-break: break-word;
            hyphens: auto;
            max-width: 100%;
        }

        .main-stat-cluster__grid > .main-stat-item .main-stat-value {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: baseline;
            column-gap: 0.2em;
            row-gap: 0.08em;
            max-width: 100%;
        }

        .main-stat-cluster__grid > .main-stat-item .main-stat-suffix,
        .main-stat-cluster__grid > .main-stat-item .main-stat-suffix-text {
            overflow-wrap: break-word;
            word-break: break-word;
        }

        .main-stat-cluster__grid > .main-stat-item:first-child {
            grid-column: 1 / -1;
            grid-row: 1;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: clamp(24px, calc(100vw * 32 / var(--layout-ref-width)), 32px)
                clamp(18px, calc(100vw * 36 / var(--layout-ref-width)), 36px);
            border-left: clamp(10px, calc(100vw * 16 / var(--layout-ref-width)), 16px) solid #0f64c0;
            border-radius: clamp(20px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, #ffffff 100%);
            box-shadow: 0 8px 40px rgba(22, 45, 85, 0.12);
            @media (max-width: 768px) {
                height: auto;
                min-height: 156px;
                padding: 28px 20px;
            }
        }

        /** 오른쪽 상단 카드 텍스트 스펙 */
        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-top {
            font-size: clamp(0.875rem, calc(100vw * 18 / var(--layout-ref-width)), 1.125rem);
            font-weight: 600;
            line-height: 1.4;
            color: #0f64c0;
        }

        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-value {
            font-size: clamp(2rem, calc(100vw * 64 / var(--layout-ref-width)), 4rem);
            font-weight: 700;
            line-height: 1.5;
            color: #0f64c0;
            @media (max-width: 768px) {
                font-weight: 600;
                font-size: 24px;
                line-height: 160%;
            }
        }

        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-value .main-stat-num {
            color: #0f64c0;
            margin-right: 10px;

        }

        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-value .main-stat-suffix {
            color: #162d55;
        }

        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-value .main-stat-plus {
            color: #0f64c0;
        }

        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-value .main-stat-suffix .main-stat-suffix-text {
            color: #162d55;
        }

        .main-stat-cluster__grid > .main-stat-item:first-child .main-stat-caption {
            font-size: clamp(0.875rem, calc(100vw * 18 / var(--layout-ref-width)), 1.125rem);
            font-weight: 400;
            line-height: 1.6;
            color: #47454f;
            text-align: center;
            @media (max-width: 768px) {
                font-weight: 400;
                font-size: 12px;
                line-height: 160%;
            }
        }

        /* 오른쪽 하단 2카드(품질 인증/국내외 특허) 텍스트 스펙 */
        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-top,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-top {
            font-weight: 600;
            font-size: clamp(0.75rem, calc(100vw * 15 / var(--layout-ref-width)), 1rem);
            line-height: 1.35;
            color: #0f64c0;
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value {
            font-weight: 700;
            font-size: clamp(1.25rem, calc(100vw * 36 / var(--layout-ref-width)), 2rem);
            line-height: 1.3;
            color: #0f64c0;
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-num,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-num {
            color: #0f64c0;
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-suffix,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-suffix {
            color: #162d55;
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-plus,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-plus {
            color: #0f64c0;
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-suffix .main-stat-suffix-text,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-suffix .main-stat-suffix-text {
            color: #162d55;
        }

        @media (min-width: 769px) {
            .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .stat-num,
            .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .stat-num,
            .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-num,
            .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-num,
            .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-plus,
            .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-plus {
                font-size: clamp(24px, calc(100vw * 37 / var(--layout-ref-width)), 37px);
            }

            .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-suffix,
            .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-suffix,
            .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-value .main-stat-suffix .main-stat-suffix-text,
            .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-value .main-stat-suffix .main-stat-suffix-text {
                font-size: clamp(20px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            }
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) .main-stat-caption,
        .main-stat-cluster__grid > .main-stat-item:nth-child(3) .main-stat-caption {
            font-weight: 400;
            font-size: clamp(0.75rem, calc(100vw * 15 / var(--layout-ref-width)), 0.9375rem);
            line-height: 1.45;
            color: #47454f;
            text-align: center;
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(2) {
            grid-column: 1;
            grid-row: 2;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: clamp(18px, calc(100vw * 24 / var(--layout-ref-width)), 28px)
                clamp(14px, calc(100vw * 20 / var(--layout-ref-width)), 24px);
            border-left: clamp(10px, calc(100vw * 16 / var(--layout-ref-width)), 16px) solid #0f64c0;
            border-radius: clamp(20px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, #ffffff 100%);
            box-shadow: 0 8px 40px rgba(22, 45, 85, 0.12);
        }

        .main-stat-cluster__grid > .main-stat-item:nth-child(3) {
            grid-column: 2;
            grid-row: 2;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: clamp(18px, calc(100vw * 24 / var(--layout-ref-width)), 28px)
                clamp(14px, calc(100vw * 20 / var(--layout-ref-width)), 24px);
            border-left: clamp(10px, calc(100vw * 16 / var(--layout-ref-width)), 16px) solid #0f64c0;
            border-radius: clamp(20px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, #ffffff 100%);
            box-shadow: 0 8px 40px rgba(22, 45, 85, 0.12);
        }

        .main-stat-item {
            box-sizing: border-box;
            margin: 0;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            padding: clamp(20px, 2.5vw, 32px) clamp(18px, 2vw, 28px);
            min-height: 0;
            text-align: left;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, #ffffff 100%);
            border-radius: clamp(12px, 1.5vw, 20px);
            border: 1px solid rgba(15, 23, 42, 0.06);
            box-shadow: 0 8px 40px rgba(22, 45, 85, 0.12);
            border-left: clamp(4px, calc(100vw * 8 / var(--layout-ref-width)), 8px) solid #0f64c0;
        }

        .main-stat-item--featured {
            align-items: flex-start;
            text-align: left;
            padding: clamp(32px, calc(100vw * 60 / var(--layout-ref-width)), 60px);
            background: var(--stats-featured-bg);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-left: none;
            box-shadow: 0 8px 40px rgba(22, 45, 85, 0.12);
            border-radius: clamp(24px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            position: relative;
            isolation: isolate;
            justify-content: center;
            min-height: 0;
            height: 100%;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto;
        }

        /* item별 배경이 있는 경우(현재는 featured에 우선 적용) */
        .main-stat-item--featured.main-stat-item--has-bg {
            background: var(--stat-item-bg-image), linear-gradient(180deg, #0f64c0 0%, #18317c 100%), #ffffff;
            background-repeat: no-repeat, no-repeat, no-repeat;
            background-size: cover, cover, auto;
            background-position: center, center, center;
            border: none;
        }

        .main-stat-item--featured::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            pointer-events: none;
            z-index: 0;
            opacity: 0.35;
            background-image: repeating-linear-gradient(
                -12deg,
                transparent,
                transparent 12px,
                rgba(255, 255, 255, 0.04) 12px,
                rgba(255, 255, 255, 0.04) 13px
            );
        }

        .main-stat-item--featured.main-stat-item--has-partner-logos::before {
            transition: opacity 0.28s ease;
        }

        .main-stat-item--featured .main-stat-top,
        .main-stat-item--featured .main-stat-value,
        .main-stat-item--featured .main-stat-caption {
            position: relative;
            z-index: 1;
        }

        .main-stat-item--featured .main-stat-top {
            color: #fff;
            margin-bottom: clamp(14px, 2vw, 24px);
            font-weight: 600;
            font-size: clamp(1rem, calc(100vw * 24 / var(--layout-ref-width)), 1.5rem);
            line-height: 1.6;
        }

        .main-stat-item--featured .main-stat-value {
            color: #fff;
            margin-bottom: clamp(16px, 2vw, 28px);
            font-weight: 700;
            font-size: clamp(2rem, calc(100vw * 64 / var(--layout-ref-width)), 4rem);
            line-height: 1.5;
        }

        .main-stat-item--featured .main-stat-caption {
            color: #fff;
            font-weight: 400;
            font-size: clamp(0.875rem, calc(100vw * 18 / var(--layout-ref-width)), 1.125rem);
            line-height: 1.6;
        }

        /* PC: 통계 카드 호버 패턴(media ≥769) */
        @media (min-width: 769px) {
            /* 호버로 콘텐츠가 늘어도 패널 높이가 흔들리지 않도록 고정 */
            .main-stats-panel,
            .main-stats-grid {
                height: var(--stats-panel-size-h);
                max-height: var(--stats-panel-size-h);
            }

            /* 오른쪽 클러스터: 피처드 카드와 동일 높이, 상·하 50:50 */
            .main-stat-cluster__grid {
                grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
            }

            .main-stat-cluster__grid > .main-stat-item {
                height: 100%;
                align-self: stretch;
            }

            /*
             * 클러스터 카드 · item bgUrl(has-bg): 기본 흰 카드 → 호버 시만 배경 이미지(피처드와 동일 스택).
             * .main-stat-item--featured 제외.
             */
            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured) {
                transition: background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
            }

            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover {
                background: var(--stat-item-bg-image), linear-gradient(180deg, #0f64c0 0%, #18317c 100%), #ffffff;
                background-repeat: no-repeat, no-repeat, no-repeat;
                background-size: cover, cover, auto;
                background-position: center, center, center;
                border: none;
                box-shadow: 0 8px 40px rgba(22, 45, 85, 0.16);
            }

            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-top,
            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-value,
            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-caption {
                position: relative;
                z-index: 1;
                transition: color 0.28s ease;
            }

            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-top {
                color: #ffffff;
            }

            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-value,
            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-value .main-stat-num,
            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-value .main-stat-plus {
                color: #ffffff;
            }

            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-value .main-stat-suffix,
            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-value .main-stat-suffix .main-stat-suffix-text {
                color: rgba(248, 250, 252, 0.95);
            }

            .main-stat-cluster__grid > .main-stat-item.main-stat-item--has-bg:not(.main-stat-item--featured):hover .main-stat-caption {
                color: rgba(248, 250, 252, 0.88);
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos {
                cursor: pointer;
                overflow: hidden;
                height: 100%;
                max-height: 100%;
                transition: background 0.28s ease, box-shadow 0.28s ease;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover {
                /* 이미지·다중 레이어 제거 후 단일 그라데이션만 (비침 없음) */
                background: linear-gradient(rgba(255, 255, 255, 0.4) 0%, rgb(255, 255, 255) 100%);
                border: none;
                box-shadow:
                    inset clamp(10px, calc(100vw * 16 / var(--layout-ref-width)), 16px) 0 0 #0f64c0,
                    0 8px 40px rgba(22, 45, 85, 0.12);
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover::before {
                opacity: 0;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body {
                position: relative;
                z-index: 1;
                box-sizing: border-box;
                width: 100%;
                height: 100%;
                min-height: 0;
                /* 호버 시 padding 변경으로 높이가 흔들리지 않도록 호버 레이아웃 기준으로 고정 */
                padding-top: clamp(20px, 2.8vw, 44px);
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body > .main-stat-top,
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body > .main-stat-value,
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body > .main-stat-caption {
                transition: transform 0.28s ease, color 0.28s ease;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-top {
                transform: translateY(-14px);
                color: #0F64C0;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-value {
                transform: translateY(-14px);
                color: #0F64C0;
            }
       
            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-value .main-stat-suffix {
                color: #162D55;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-caption {
                transform: translateY(-14px);
                color: #162D55;
            }

            /* 로고는 레이아웃 높이에 영향 없이 카드 하단에 오버레이 */
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-partner-logos {
                display: grid;
                position: absolute;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 1;
                box-sizing: border-box;
                width: 100%;
                margin: 0;
                padding: 0;
                grid-template-columns: repeat(4, minmax(0, 1fr));
                row-gap: clamp(8px, 1.25vw, 12px);
                column-gap: clamp(12px, 2vw, 28px);
                align-items: center;
                justify-items: start;
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transition: opacity 0.28s ease, visibility 0.28s ease;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-partner-logos {
                opacity: 1;
                visibility: visible;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-partner-logo {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: flex-start;
                padding: 0;
                box-sizing: border-box;
                width: auto;
                max-width: 100px;
                justify-self: start;
                height: 50px;
                min-height: 50px;
                flex-shrink: 0;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-partner-logo img {
                display: block;
                width: 100%;
                height: 100%;
                max-width: 100%;
                max-height: 100%;
                object-fit: contain;
                object-position: left center;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-partner-logo img {
                filter: grayscale(1) brightness(0.42);
                opacity: 0.92;
            }
        }

        @media (min-width: 769px) and (prefers-reduced-motion: reduce) {
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body > .main-stat-top,
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body > .main-stat-value,
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body > .main-stat-caption,
            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-partner-logos {
                transition-duration: 0.01ms;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-top,
            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-value,
            .main-stat-item--featured.main-stat-item--has-partner-logos:hover .main-stat-item__body > .main-stat-caption {
                transform: none;
            }
        }

        .main-stat-top {
            margin: 0 0 clamp(10px, 1.5vw, 14px);
            font-size: clamp(0.8125rem, 1.15vw, 0.9375rem);
            font-weight: 600;
            line-height: 1.35;
            color: var(--stats-accent);
            letter-spacing: -0.01em;
            word-break: keep-all;
            width: 100%;
        }

        .main-stat-value {
            margin: 0 0 clamp(8px, 1.2vw, 14px);
            font-size: clamp(1.65rem, 3.2vw, 2.35rem);
            font-weight: 700;
            letter-spacing: -0.03em;
            line-height: 1.12;
            color: #1e3a8a;
            width: 100%;
        }

        .main-stat-num {
            font-variant-numeric: tabular-nums;
        }

        .main-stat-suffix {
            font-size: 0.8em;
            margin-left: 0.06em;
        }

        .main-stat-item--featured .main-stat-suffix {
            @media (max-width: 768px) {
                font-weight: 600;
                font-size: 32px;
                line-height: 140%;
            }
        }

        .main-stat-caption {
            margin: 0;
            font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
            font-weight: 400;
            line-height: 1.45;
            color: #64748b;
            word-break: keep-all;
            width: 100%;
        }

        @media (max-width: 768px) {
            min-height: 0;
            padding-inline: var(--main-inline-gutter);
            margin-bottom: 40px;
            .main-stats-panel {
                height: auto;
                max-height: none;
                overflow: visible;
                width: 100%;
                max-width: none;
            }

            .main-stats-grid {
                display: flex;
                flex-direction: column;
                flex-wrap: nowrap;
                height: auto;
                max-height: none;
                gap: clamp(12px, 3vw, 18px);
            }

            .main-stats-grid > .main-stat-item--featured {
                flex: 0 1 auto;
            }

            .main-stats-grid > .main-stat-item--featured:only-child {
                flex: 0 1 auto;
            }

            .main-stat-cluster {
                flex: 0 1 auto;
                height: auto;
            }

            .main-stat-cluster__grid {
                grid-template-rows: auto auto;
                height: auto;
                flex: 0 1 auto;
                gap: clamp(12px, 3vw, 18px);
            }

            /* 모바일: 위 1칸 전체 + 아래 2칸 50:50 */
            .main-stat-cluster__grid > .main-stat-item:first-child {
                grid-column: 1 / -1;
                grid-row: 1;
                height: auto;
                min-height: 156px;
            }

            .main-stat-cluster__grid > .main-stat-item:nth-child(2),
            .main-stat-cluster__grid > .main-stat-item:nth-child(3) {
                height: auto;
                min-height: 168px;
                align-self: stretch;
            }

            .main-stat-cluster__grid > .main-stat-item:nth-child(2) {
                grid-column: 1;
                grid-row: 2;
            }

            .main-stat-cluster__grid > .main-stat-item:nth-child(3) {
                grid-column: 2;
                grid-row: 2;
            }

            .main-stats-inner {
                gap: clamp(20px, 5vw, 32px);
            }


            .main-stat-item {
                align-items: center;
                text-align: center;
                border-left: none;
            }

            .main-stat-cluster__grid {
                .main-stat-top {
                    font-weight: 600;
                    font-size: 11px;
                    line-height: 150%;
                    margin-bottom: 4px;
                }
                .main-stat-value {
                    margin-bottom: 4px;
                    font-size: clamp(18px, 5vw, 22px);
                    line-height: 130%;
                }
                .main-stat-value .main-stat-num {
                    font-size: clamp(18px, 5vw, 22px);
                }
                .main-stat-suffix {
                    font-weight: 600;
                    font-size: clamp(14px, 3.8vw, 20px);
                    line-height: 140%;
                }
                .main-stat-caption {
                    font-weight: 400;
                    font-size: 11px;
                    line-height: 150%;
                }
            }

            .main-stat-item--featured {
                border-top: none;
                border-left: none;
                background: var(--stats-featured-bg);
            }

            /* items[0] logoUrls: 모바일에서만 토글·로고 그리드 (레이아웃·타이포 전부 이 미디어 안) */
            .main-stat-item--featured.main-stat-item--has-partner-logos {
                justify-content: flex-start;
                overflow: hidden;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body {
                position: relative;
                z-index: 1;
                box-sizing: border-box;
                width: 100%;
                flex: 1 1 auto;
                min-height: 0;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
            }

            .main-stats-grid > .main-stat-item--featured.main-stat-item--has-partner-logos {
                height: auto;
                min-height: 241px;
                padding: 32px 0 0;
            }

            .main-stat-item--featured.main-stat-item--has-partner-logos .main-stat-item__body {
                padding: 0 40px clamp(30px, 4vw, 32px);
            }

            .main-stat-partner-logos {
                display: none;
                box-sizing: border-box;
                width: 100%;
                margin-top: clamp(12px, 3vw, 20px);
                padding-top: clamp(12px, 3vw, 18px);
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: clamp(10px, 2.5vw, 16px) clamp(8px, 2vw, 12px);
                align-items: center;
                justify-items: center;
            }

            .main-stat-item--has-partner-logos[data-partner-expanded='true'] .main-stat-partner-logos {
                display: grid;
            }

            /* 피그마 logo 슬롯 80×40 */
            .main-stat-partner-logo {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                padding: 0;
                gap: 10px;
                box-sizing: border-box;
                width: 100%;
                max-width: 80px;
                height: 40px;
                min-height: 40px;
                flex-shrink: 0;
            }

            .main-stat-partner-logo img {
                display: block;
                width: 100%;
                height: 100%;
                max-width: 100%;
                max-height: 100%;
                object-fit: contain;
                object-position: center;
                filter: grayscale(1) brightness(0) invert(1);
                opacity: 0.92;
            }

            /* 피그마 arrow-button */
            .main-stat-item--has-partner-logos .main-stat-partner-toggle {
                display: flex;
                position: relative;
                z-index: 1;
                box-sizing: border-box;
                flex: none;
                flex-direction: row;
                flex-grow: 0;
                flex-shrink: 0;
                align-self: stretch;
                align-items: center;
                justify-content: center;
                gap: 12px;
                width: 100%;
                height: 48px;
                min-height: 48px;
                margin: 0;
                margin-top: auto;
                padding: 0 36px;
                border: none;
                border-radius: 0 0 24px 24px;
                background: #0f64c0;
                color: #ffffff;
                font-size: 12px;
                font-weight: 600;
                line-height: 160%;
                cursor: pointer;
                -webkit-tap-highlight-color: transparent;
            }

            .main-stat-partner-toggle:focus-visible {
                outline: 2px solid #fff;
                outline-offset: -2px;
            }

            .main-stat-partner-toggle__text--expanded {
                display: none;
            }

            .main-stat-partner-toggle[aria-expanded='true'] .main-stat-partner-toggle__text--collapsed {
                display: none;
            }

            .main-stat-partner-toggle[aria-expanded='true'] .main-stat-partner-toggle__text--expanded {
                display: inline;
            }
        }

        @media (min-width: 769px) {
            /* 로고 그리드는 위쪽 «PC 호버 파트너 카드» 블록에서 처리 — 여기서는 모바일용 토글만 숨김 */
            .main-stat-partner-toggle {
                display: none !important;
            }
        }
    }


    /*
        뉴스룸 섹션
    */
    .main-newsroom-strip {
        width: 100%;
        box-sizing: border-box;
        padding: clamp(20px, 2.2vw, 28px) 0 clamp(14px, 1.8vw, 22px);
        color: #0f172a;

        .main-newsroom-strip__inner {
            width: 100%;
            max-width: none;
            margin-inline: 0;
            padding-inline: 0;
            box-sizing: border-box;
            position: relative;
        }

        .main-newsroom-strip__headline {
            margin: 0 auto;
            padding-inline: clamp(16px, 4vw, 40px);
            text-align: center;
            font-size: clamp(0.9rem, 3.6vw, 1.85rem);
            font-weight: 700;
            letter-spacing: -0.03em;
            line-height: 1.3;
            white-space: nowrap;
            color: #0f172a;
        }

        .main-newsroom-strip__viewport {
            margin-top: clamp(10px, 1.2vw, 16px);
            /* PC/모바일 공통: 가로 스와이프·드래그로 카드 넘기기 (화살표 없음) */
            overflow-x: auto;
            overflow-y: hidden;
            touch-action: pan-x;
            overscroll-behavior-x: contain;
            -webkit-overflow-scrolling: touch;
            scroll-snap-type: x mandatory;
            scroll-padding-inline: clamp(52px, 5vw, 88px);
            padding-inline: clamp(52px, 5vw, 88px);
            scrollbar-width: none;
            cursor: grab;

            &::-webkit-scrollbar {
                display: none;
            }

            &.is-dragging {
                cursor: grabbing;
                user-select: none;
                scroll-snap-type: none;
            }

            @media (max-width: 768px) {
                scroll-padding-inline: clamp(16px, 4vw, 24px);
                padding-inline: clamp(16px, 4vw, 24px);
            }
        }

        .main-newsroom-strip__track {
            display: flex;
            flex-flow: row nowrap;
            gap: clamp(14px, 1.5vw, 20px);
            padding: 2px clamp(2px, 0.5vw, 6px) 8px;
            width: max-content;
            margin-inline: 0;
        }

        .main-newsroom-strip__dots {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            gap: 36px;
            margin-top: clamp(10px, calc(100vw * 50 / var(--layout-ref-width)), 50px);
            margin-bottom: clamp(10px, calc(100vw * 70 / var(--layout-ref-width)), 70px);
            min-height: 10px;
            padding-inline: clamp(16px, 4vw, 40px);

            &[aria-hidden='true'] {
                display: none;
            }
        }

        .main-newsroom-strip__nav {
            display: none;
        }

        .main-newsroom-nav {
            position: absolute;
            top: calc(clamp(10px, 1.2vw, 16px) + (clamp(340px, calc(100vw * 440 / var(--layout-ref-width)), 440px) / 2));
            transform: translateY(-50%);
            width: clamp(28px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            height: clamp(28px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            padding: 0;
            border: none;
            background: transparent;
            color: #d8dce1;
            cursor: pointer;
            pointer-events: auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: color 0.18s ease, transform 0.18s ease;

            &:hover {
                color: #ffffff;
                transform: translateY(-50%) scale(1.06);
            }
        }

        .main-newsroom-nav--prev {
            left: clamp(12px, 2.2vw, 150px);
        }

        .main-newsroom-nav--next {
            right: clamp(12px, 2.2vw, 150px);
        }

        @media (min-width: 1800px) {
            .main-newsroom-nav--prev {
                left: clamp(12px, 8.2vw, 150px);
            }

            .main-newsroom-nav--next {
                right: clamp(12px, 8.2vw, 150px);
            }
        }

        .main-newsroom-nav__icon {
            width: clamp(14px, calc(100vw * 16 / var(--layout-ref-width)), 16px);
            height: clamp(24px, calc(100vw * 28 / var(--layout-ref-width)), 28px);
            display: block;
            filter: drop-shadow(0 2px 8px rgba(15, 23, 42, 0.35));
        }

        .main-newsroom-dot {
            width: 8px;
            height: 8px;
            padding: 0;
            border: none;
            border-radius: 50%;
            background: #cbd5e1;
            cursor: pointer;
            transition: background 0.2s ease, transform 0.2s ease;

            @media (max-width: 768px) {
               display: none;
            }
            &.is-active {
                background: #1e40af;
                transform: scale(1.15);
            }
        }

        .main-newsroom-card {
            position: relative;
            flex: 0 0 clamp(280px, calc(100vw * 440 / var(--layout-ref-width)), 440px);
            width: clamp(280px, calc(100vw * 440 / var(--layout-ref-width)), 440px);
            height: clamp(340px, calc(100vw * 440 / var(--layout-ref-width)), 440px);
            min-height: 0;
            border-radius: 22px;
            overflow: hidden;
            text-decoration: none;
            color: #fff;
            scroll-snap-align: center;
            -webkit-user-drag: none;
            user-select: none;
            --newsroom-card-inset-x: clamp(22px, calc(100vw * 36 / var(--layout-ref-width)), 36px);
            --newsroom-badge-top: clamp(20px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            --newsroom-badge-height: clamp(30px, calc(100vw * 36 / var(--layout-ref-width)), 36px);
            --newsroom-title-below-badges: calc(
                var(--newsroom-badge-top) + var(--newsroom-badge-height)
            );
            transition: transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
                filter 0.46s cubic-bezier(0.22, 0.61, 0.36, 1),
                opacity 0.46s cubic-bezier(0.22, 0.61, 0.36, 1);
            filter: blur(2px) saturate(0.92);
            opacity: 0.52;
        }

        .main-newsroom-card.is-focus {
            filter: none;
            opacity: 1;

            &:hover {
                transform: translateY(-4px);
                box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
            }
        }

        /* 양옆 딤 카드: 호버·클릭 비활성 (이벤트는 뷰포트로 통과 → 드래그용) */
        .main-newsroom-card.is-side-peek {
            filter: blur(2px) saturate(0.92);
            opacity: 0.52;
            pointer-events: none;
            cursor: grab;
        }

        .main-newsroom-card__media {
            position: absolute;
            inset: 0;
            background-color: #74757e;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            transition: filter 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
                transform 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__media,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__media {
            filter: blur(4px);
            transform: scale(1.03);
        }

        .main-newsroom-card__overlay {
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background: linear-gradient(
                180deg,
                rgba(15, 23, 42, 0.15) 0%,
                rgba(15, 23, 42, 0.25) 40%,
                rgba(15, 23, 42, 0.82) 100%
            );
            transition: background 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__overlay,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__overlay {
            background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.5) 100%);
        }

        .main-newsroom-card__badge {
            position: absolute;
            top: clamp(14px, 2.2vw, 20px);
            z-index: 2;
            padding: 6px 11px;
            font-size: 0.6875rem;
            font-weight: 600;
            line-height: 1.2;
            border-radius: 999px;
            max-width: calc(100% - 100px);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .main-newsroom-card__badge--category {
            top: var(--newsroom-badge-top);
            left: var(--newsroom-card-inset-x);
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: clamp(6px, calc(100vw * 10 / var(--layout-ref-width)), 10px);
            margin: 0 auto;
            box-sizing: border-box;
            max-width: none;
            height: var(--newsroom-badge-height);
            padding: clamp(3px, calc(100vw * 4 / var(--layout-ref-width)), 4px)
                clamp(12px, calc(100vw * 16 / var(--layout-ref-width)), 16px);
            border-radius: clamp(16px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
            background: #0f64c0;
            color: #fff;
            font-size: clamp(11px, calc(100vw * 13 / var(--layout-ref-width)), 13px);
            line-height: 1.2;
        }

        .main-newsroom-card__badge--date {
            top: var(--newsroom-badge-top);
            right: var(--newsroom-card-inset-x);
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: clamp(6px, calc(100vw * 10 / var(--layout-ref-width)), 10px);
            margin: 0 auto;
            box-sizing: border-box;
            max-width: clamp(92px, calc(100vw * 109 / var(--layout-ref-width)), 109px);
            height: var(--newsroom-badge-height);
            padding: clamp(3px, calc(100vw * 4 / var(--layout-ref-width)), 4px)
                clamp(12px, calc(100vw * 16 / var(--layout-ref-width)), 16px);
            border-radius: clamp(16px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
            background: #fff;
            color: #475569;
            font-size: clamp(11px, calc(100vw * 13 / var(--layout-ref-width)), 13px);
            line-height: 1.2;
        }

        .main-newsroom-card__body {
            position: absolute;
            inset: 0;
            z-index: 1;
            padding-top: clamp(20px, calc(100vw * 32 / var(--layout-ref-width)), 32px);
            padding-inline: var(--newsroom-card-inset-x);
            padding-bottom: var(--newsroom-card-inset-x);
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-end;
            gap: clamp(14px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
            box-sizing: border-box;
            transition: justify-content 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
                gap 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
                padding-top 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
                padding-bottom 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__body,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__body {
            justify-content: flex-start;
            gap: 0;
            padding-top: var(--newsroom-title-below-badges);
            padding-bottom: var(--newsroom-card-inset-x);
        }

        .main-newsroom-card__title {
            margin: 0;
            font-weight: 600;
            font-size: clamp(17px, calc(100vw * 24 / var(--layout-ref-width)), 24px);
            line-height: 160%;
            color: #fff;
            word-break: keep-all;
            flex-shrink: 0;
            align-self: stretch;
            width: 100%;
            min-width: 0;
            box-sizing: border-box;
            transition: margin-top 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__title,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__title {
            margin-top: clamp(16px, calc(100vw * 20 / var(--layout-ref-width)), 20px);
        }

        .main-newsroom-card__excerpt {
            margin: 0;
            margin-bottom: 0;
            min-height: 0;
            font-weight: 400;
            font-size: clamp(13px, calc(100vw * 16 / var(--layout-ref-width)), 16px);
            line-height: 160%;
            color: #fff;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            word-break: keep-all;
            max-height: 0;
            opacity: 0;
            visibility: hidden;
            padding: 0;
            border: 0;
            align-self: stretch;
            width: 100%;
            min-width: 0;
            box-sizing: border-box;
            transition: max-height 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
                opacity 0.32s ease,
                visibility 0.32s ease,
                margin-bottom 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__excerpt,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__excerpt {
            margin-top: auto;
            margin-bottom: 20px;
            max-height: 3.6em;
            opacity: 1;
            visibility: visible;
        }

        .main-newsroom-card__more {
            margin-top: 0;
            width: 0;
            height: 0;
            min-height: 0;
            box-sizing: border-box;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            flex-shrink: 0;
            position: relative;
            max-height: 0;
            opacity: 0;
            visibility: hidden;
            padding: 0;
            overflow: hidden;
            transition: max-height 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
                width 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
                height 0.38s cubic-bezier(0.22, 0.61, 0.36, 1),
                opacity 0.32s ease,
                visibility 0.32s ease,
                margin-top 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        /* ABOUT·솔루션 CTA와 동일 SVG 마스크 — 섹션 외부라 여기서 재선언 */
        .main-newsroom-card__more .media-text-action-arrow {
            display: inline-block;
            width: 20px;
            height: 18px;
            flex-shrink: 0;
            vertical-align: middle;
            background-color: currentColor;
            -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.83333%2011L11%206L6.83333%201M11%206H1%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.83333%2011L11%206L6.83333%201M11%206H1%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__more,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__more {
            width: 20px;
            height: 18px;
            max-height: 18px;
            opacity: 1;
            visibility: visible;
            overflow: visible;
        }

        .main-newsroom-card.is-focus:hover .main-newsroom-card__body:has(.main-newsroom-card__excerpt)
            .main-newsroom-card__more,
        .main-newsroom-card.is-focus:focus-within .main-newsroom-card__body:has(.main-newsroom-card__excerpt)
            .main-newsroom-card__more {
            margin-top: clamp(10px, calc(100vw * 14 / var(--layout-ref-width)), 14px);
        }

        .main-newsroom-card.is-focus:hover
            .main-newsroom-card__body:not(:has(.main-newsroom-card__excerpt))
            .main-newsroom-card__more,
        .main-newsroom-card.is-focus:focus-within
            .main-newsroom-card__body:not(:has(.main-newsroom-card__excerpt))
            .main-newsroom-card__more {
            margin-top: auto;
        }

        .main-newsroom-empty {
            flex: 1 1 100%;
            min-height: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            border-radius: 16px;
            background: #e2e8f0;
            color: #64748b;
            font-size: 0.9375rem;
        }

        @media (max-width: 768px) {
            padding: clamp(32px, 8vw, 48px) 0;
            .main-newsroom-strip__inner {
                margin-bottom: 60px;
            }
            .main-newsroom-strip__nav {
                display: none;
            }

            .main-newsroom-card {
                flex: 0 0 min(280px, 88vw);
                width: min(280px, 88vw);
                height: 291px;
                border-radius: 32px;
            }

            .main-newsroom-card.is-focus:hover {
                transform: none;
            }
        }
    }

    /** PARTNER_LOGOS — main.js LIST + main-list-section.PARTNER_LOGOS */
    .main-list-section.PARTNER_LOGOS {
        width: 100%;
       /*  padding: clamp(20px, 4vw, 10px) 0; */

        .partner-logos-marquee {
            width: 100%;
            overflow: hidden;
            -webkit-mask-image: linear-gradient(
                90deg,
                transparent,
                #000 12px,
                #000 calc(100% - 12px),
                transparent
            );
            mask-image: linear-gradient(
                90deg,
                transparent,
                #000 12px,
                #000 calc(100% - 12px),
                transparent
            );
        }

        .partner-logos-viewport {
            width: 100%;
            overflow: hidden;
        }

        .partner-logos-anim {
            display: flex;
            width: max-content;
            animation: partner-logos-marquee 50s linear infinite;
        }

        .partner-logos-track {
            display: flex;
            flex-shrink: 0;
            align-items: center;

            .public-list-tree {
                display: flex;
                flex-flow: row nowrap;
                align-items: center;
                list-style: none;
                margin: 0;
                padding: 0 clamp(6px, 1.5vw, 12px);
            }
        }

        .public-list-item {
            flex: 0 0 auto;
            margin: 0;
            list-style: none;
        }

        .public-list-item-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            /* --layout-ref-width 기준 200×120, 뷰포트 축소 시 비례 축소 (모바일은 별도 스타일) */
            width: clamp(130px, calc(100vw * 200 / var(--layout-ref-width)), 200px);
            height: clamp(100px, calc(100vw * 120 / var(--layout-ref-width)), 120px);
            /* 피그마: 100px 로고 슬롯 기준 양옆 (200−100)/2 — 비율 유지해 가로 ‘여백’을 패딩으로 명시 */
            padding: 0 clamp(12px, calc(100vw * 50 / var(--layout-ref-width)), 50px);
            border-radius: 8px;
        }

        .public-list-item-label {
            display: none;
        }

        /* 피그마 logo 프레임 100×50 — 래퍼를 고정해야 img만 줄어들 때 양옆 빈칸이 과하게 보이지 않음 */
        .public-list-item-image {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: clamp(80px, calc(100vw * 100 / var(--layout-ref-width)), 100px);
            height: clamp(40px, calc(100vw * 50 / var(--layout-ref-width)), 50px);
        }

        .public-list-item-image img {
            display: block;
            max-width: 100%;
            max-height: 100%;
            width: auto;
            height: auto;
            object-fit: contain;
            transition: filter 0.22s ease;
        }

        @media (hover: hover) {
            .public-list-item-image img {
                filter: grayscale(1);
            }

            .public-list-item:hover .public-list-item-image img {
                filter: none;
            }
        }

        .public-list-item-text {
            font-size: clamp(13px, 2.8vw, 15px);
            font-weight: 600;
            color: #18181b;
            text-align: center;
            line-height: 1.3;
            word-break: keep-all;

            &:empty {
                display: none;
            }
        }
    }

}

@keyframes partner-logos-marquee {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    #mainContent .main-list-section.PARTNER_LOGOS .partner-logos-anim {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        max-width: 100%;
    }

    #mainContent .main-list-section.PARTNER_LOGOS .partner-logos-track[aria-hidden='true'] {
        display: none;
    }

    #mainContent .main-list-section.PARTNER_LOGOS .partner-logos-track .public-list-tree {
        flex-wrap: wrap;
        justify-content: center;
    }
}
