* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #FFFFFF;
    color: #000;
    overflow-x: hidden;
    padding-top: 0;
}

.container {
    width: 100%;
    position: relative;
}



/* Hero Section — product-center와 동일 구조 */
.invest-hero {
    position: relative;
    width: 100%;
    height: 590px;
    /* 검수 0724: 노트북 등에서 너무 커 634→590 축소. 태블릿은 아래 미디어쿼리에서 clamp */
    background: url('../assets/invest-center/invest_center_header.png') no-repeat center top / cover;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.invest-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 0;
}

.invest-hero-content {
    position: absolute;
    top: 50%;
    /* 크기가 줄어도 타이틀은 히어로 세로 중앙 유지 */
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 51.8229vw;
    /* 995px / 1920px */
    text-align: center;
    z-index: 1;
}

.invest-hero-subtitle {
    font-size: clamp(18px, 1.3541vw, 26px);
    font-weight: 400;
    line-height: 150%;
    color: #FFFFFF;
    margin: 0;
}

.invest-hero-maintitle {
    font-size: clamp(26px, 4.1666vw, 64px); /* 검수 0724: 슬로건 최대 80→64 축소 */
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0%;
    color: #FFFFFF;
    margin: 0;
}

/* TAB — 태블릿에서만 clamp로 축소 (검수 0724: 1440에서 590px과 연결: 590/1440 = 40.97vw) */
@media (min-width: 768px) and (max-width: 1439px) {
    .invest-hero {
        height: clamp(338px, 40.97vw, 590px);
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .invest-hero {
        height: 91.6667vw;
        /* 360px 기준 330px (330/360) */
        max-height: 480px;
        background: url('../assets/invest-center/투자정보센터header_m.png') no-repeat center / cover;
        justify-content: center;
        align-items: center;
        padding-top: 72px;
        box-sizing: border-box;
    }

    .invest-hero-content {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: 0;
        padding: 0 16px;
        gap: 20px;
        max-width: 100%;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .invest-hero-subtitle {
        font-size: 16px;
        font-weight: 400;
        line-height: 160%;
        color: #FFFFFF;
    }

    .invest-hero-maintitle {
        font-size: 26px;
        font-weight: 700;
        line-height: 140%;
        color: #FFFFFF;
    }
}

/* Investment Overview (투자개요) */
.investment-overview {
    width: 100%;
    max-width: 1920px;
    height: auto;
    min-height: auto;
    margin: 0 auto;
    padding: var(--section-padding-y) var(--section-padding-x);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #FFFFFF;
}

.investment-overview .inner {
    width: 100%;
    max-width: 1680px;
    margin: 0;
    /* Horizontal margin removed */
    padding: 0;
    box-sizing: border-box;
}

.overview-title {
    font-size: clamp(32px, 2.6vw, 50px);
    font-weight: 700;
    line-height: 1.2;
    color: #000000;
    margin: 0;
    margin-bottom: clamp(30px, 3.125vw, 60px);
}

.overview-grid {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: clamp(10px, 1.25vw, 24px);
    width: 100%;
    max-width: 1680px;
    height: auto;
}

.overview-card {
    min-height: clamp(300px, 22.6vw, 435px);
    border-radius: clamp(16px, 1.56vw, 30px);
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 2.08vw, 40px);
    box-sizing: border-box;
}

/* 주가정보 카드 */
.stock-info {
    flex: 1.7;
    padding: 40px 0;
    justify-content: space-between;
    /* Pushes content to the bottom */
}

.card-top {
    display: flex;
    flex-direction: row;
    align-items: center;
    /* Changed from flex-start to center for better alignment */
    justify-content: space-between;
    /* Attached to both walls */
    padding: 0px;
    margin: 0;
    width: 100%;
    height: auto;
}

.card-base-date {
    white-space: nowrap;
    font-size: clamp(14px, 1.04vw, 20px);
    font-weight: 500;
    color: #7A7A7A;
    display: flex;
    align-items: center;
}

.card-title-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    width: auto;
    height: 46px;
    gap: 2px;
}

.card-title-wrap h3 {
    white-space: nowrap;
    width: auto;
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(20px, 1.56vw, 30px);
    line-height: 150%;
    color: #363636;
    margin: 0;
}

.chevron-icon {
    width: clamp(24px, 1.87vw, 36px);
    height: clamp(24px, 1.87vw, 36px);
}

.stock-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    margin: 0;
    width: 100%;
    height: auto;
    gap: 0;
}

.stock-label {
    white-space: nowrap;
    width: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(18px, 3vw, 24px);
    line-height: 150%;
    color: #363636;
    margin: 0;
}

/* Frame 2116936095 - Horizontal Wrap for Price and Stats */
.price-row-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: clamp(12px, 3vw, 60px);
    width: 100%;
    height: 112px;
}

/* Frame 2116935947 - Price Area */
.price-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    padding: 0px;
    gap: clamp(8px, 0.73vw, 14px);
    width: auto;
    height: auto;
    align-items: baseline;
}

.price-val {
    width: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(40px, 4.16vw, 80px);
    line-height: 140%;
    color: #000000;
    margin: 0;
}

.price-unit {
    width: auto;
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(18px, 1.35vw, 26px);
    line-height: 150%;
    color: #363636;
    display: flex;
    align-items: baseline;
}

/* Frame 2116936065 - Stats Area */
.stock-bottom-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    height: auto;
}

.info-rows-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 20px;
    height: auto;
}

.info-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 8px;
}

.info-label-box {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 2px 0px;
    width: auto;
    min-width: clamp(36px, 2.7vw, 52px);
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 500;
    font-size: clamp(16px, 1.04vw, 20px);
    line-height: 160%;
    color: #7A7A7A;
}

.info-val-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 12px;
}

.info-val-wrap.down {
    color: #2063F3;
}

.info-val-wrap.up {
    color: #F64301;
}

/* 게시글 불러오기 실패 안내 */
.notice-empty,
.ir-meeting-empty {
    font-family: 'Pretendard';
    font-size: clamp(14px, 1.04vw, 16px);
    color: #A7A7A7;
    padding: 20px 0;
    margin: 0;
}

.info-val-wrap .arrow-icon {
    width: 16px;
    height: 12px;
    object-fit: contain;
    padding-top: 4px;
    padding-bottom: 7px;
    box-sizing: content-box;
}

.arrow-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(2px);
}

.info-val-wrap .val {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(20px, 1.56vw, 30px);
    line-height: 150%;
}

.info-val-wrap .unit {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(14px, 1.04vw, 20px);
    line-height: 150%;
    align-self: flex-end;
    padding-bottom: 4px;
}

.v-line-svg {
    width: 1px;
    height: 20px;
    flex: none;
}

.base-date {
    width: auto;
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 500;
    font-size: clamp(14px, 1.04vw, 20px);
    line-height: 160%;
    display: flex;
    align-items: center;
    color: #7A7A7A;
}

/* 주주환원 카드 */
.shareholder-return {
    width: 484px;
    min-width: 484px;
    background: #F8F9FB;
    justify-content: space-between;
    padding: 40px;
    height: 435px;
}

.return-main {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.6vw, 50px);
}

.return-header-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 0;
    width: fit-content;
    /* Size to content */
}

.return-icon-box {
    width: clamp(30px, 2.29vw, 44px);
    height: clamp(30px, 2.29vw, 44px);
    margin-bottom: 0;
    /* Margin removed */
}

.return-icon-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.return-title {
    font-size: clamp(24px, 1.87vw, 36px);
    font-weight: 700;
    color: #1B1B1B;
    margin: 0;
    height: 54px;
    display: flex;
    align-items: center;
}

.return-stats-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    justify-content: space-between;
    width: 100%;
    max-width: 345px;
    height: auto;
}

.return-stats-sep-svg {
    width: 1px;
    height: 85px;
    flex: none;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 5px;
    height: auto;
}

.stat-item:nth-child(1) {
    width: auto;
}

.stat-item:nth-child(3) {
    width: auto;
}

.stat-label {
    width: auto;
    height: 32px;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 500;
    font-size: clamp(14px, 1.04vw, 20px);
    line-height: 160%;
    color: #7A7A7A;
    display: flex;
    align-items: center;
}

.stat-val-wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    padding: 0px;
    gap: 8px;
    height: 62px;
}

.stat-val-wrap .val {
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(30px, 2.7vw, 52px);
    line-height: 120%;
    display: flex;
    align-items: flex-end;
    color: #1B1B1B;
}

.stat-unit-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px 0px 6px;
    gap: 10px;
    width: auto;
    height: auto;
}

.stat-val-wrap .unit {
    width: auto;
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 600;
    font-size: clamp(20px, 1.67vw, 32px);
    line-height: 120%;
    display: flex;
    align-items: flex-end;
    color: #1B1B1B;
    padding-bottom: 0;
}

.stat-sep-line {
    width: 85px;
    height: 0px;
    border: 1px solid #D3D3D3;
    transform: rotate(90deg);
}

/* 파트너십 카드 */
.partnership {
    width: 19%;
    /* 320px / 1680px at 1920px */
    min-width: 280px;
    background: #FCE3CC;
    position: relative;
    overflow: hidden;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    height: 435px;
    flex-direction: column;
    justify-content: space-between;
}

.partnership-txt {
    font-size: clamp(20px, 1.56vw, 30px);
    font-weight: 700;
    line-height: 1.5;
    color: #1B1B1B;
    margin: 0;
    position: relative;
    z-index: 2;
}

.partnership-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.contact-item-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contact-label-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Hide labels on desktop to match original design if they weren't there */
.contact-label {
    display: none;
}

.contact-label-mo {
    display: none;
}

.contact-label-pc {
    display: inline;
}

.contact-icon-wrap img {
    width: 30px;
    height: 30px;
    display: block;
}

.contact-val {
    font-size: clamp(16px, 1.25vw, 24px);
    font-weight: 400;
    color: #363636;
}

.partnership-bg-circle {
    position: absolute;
    width: clamp(200px, 22.55vw, 433px);
    height: clamp(200px, 22.55vw, 433px);
    right: clamp(-30px, -2.86vw, -55px);
    bottom: clamp(-100px, -10.94vw, -210px);
    background: linear-gradient(180deg, rgba(250, 198, 153, 0.8) 10%, rgba(250, 198, 153, 0) 90%);
    border-radius: 50%;
    transform: rotate(-90deg);
    z-index: 1;
}

/* Inner circle for desktop to match mobile visual — 도넛 */
.partnership::after {
    content: '';
    position: absolute;
    width: clamp(70px, 7.5vw, 144px);
    height: clamp(70px, 7.5vw, 144px);
    right: clamp(40px, 4.66vw, 89.5px);
    bottom: clamp(-30px, -3.41vw, -65.5px);
    background: #FCE2CC;
    border-radius: 50%;
    transform: rotate(-90deg);
    z-index: 1;
}

/* News Section & Contact Section override */
.news-container {
    padding-top: 40px;
}

/* ── 검수 0730: 투자개요 주가정보 — 1440~1645px 구간 세로 스택 (Figma 2217-19725) ──
   이 구간에서 가격 옆 등락률/전일대비가 줄바꿈되며 오렌지 카드가 우측을 벗어나던 문제 →
   가격 아래로 등락률/전일대비를 세로 스택(가격↔등락률 간격 24px). ≥1646은 기존 가로(2217-19818) 유지. */
@media (min-width: 1440px) and (max-width: 1645px) {
    .investment-overview .price-row-wrap {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        gap: 24px;
    }
}

/* ── 태블릿 (768~1439px) ── */
@media (min-width: 768px) and (max-width: 1439px) {
    .overview-grid {
        flex-wrap: wrap;
        gap: 16px;
    }

    .overview-card {
        min-height: auto;
    }

    .stock-info {
        flex: 1 1 100%;
        width: 100%;
        padding: 24px 0;
        justify-content: flex-start;
        gap: 38px;
    }

    /* 주가정보·주주환원 타이틀 24px, 날짜 16px */
    .card-title-wrap h3 {
        font-size: 24px;
    }

    .base-date {
        font-size: 16px;
    }

    .shareholder-return {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        height: auto;
        gap: clamp(22px, 2.7vw, 52px);
    }

    .partnership {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        height: auto;
    }

    .price-row-wrap {
        flex-direction: row;
        align-items: center;
    }

    .info-rows-wrap {
        flex-wrap: wrap;
        gap: 12px;
    }

    .return-stats-row {
        max-width: 100%;
        justify-content: flex-start;
        gap: clamp(24px, 3vw, 40px);
    }

    .return-main {
        gap: 0;
    }

    .stat-val-wrap {
        height: auto;
    }

    .partnership-bg-circle {
        width: 280px;
        height: 280px;
        aspect-ratio: 1 / 1;
        right: -40px;
        bottom: -120px;
    }

    .partnership::after {
        width: 100px;
        height: 100px;
        aspect-ratio: 1 / 1;
        right: 55px;
        bottom: -40px;
    }

    /* 투자공지 태블릿 — 세로 쌓기 */
    .notice-cols-wrapper {
        flex-direction: column;
        gap: 40px;
        min-height: auto;
    }

    .notice-col {
        width: 100%;
    }

    .notice-cards {
        flex-direction: column;
        gap: 12px;
    }

    .notice-card {
        width: 100%;
        min-width: 0;
        min-height: auto;
        height: auto;
    }

    .notice-col-title {
        font-size: 24px;
    }

    .notice-chevron {
        width: clamp(24px, 1.87vw, 36px);
        height: clamp(24px, 1.87vw, 36px);
    }
}

/* Responsive adjustment for Overview Section */
@media (max-width: 767px) {
    .investment-overview {
        padding: 40px 16px;
        /* Adjusted to 16px to match 328px width at 360px viewport */
    }

    .overview-title {
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 24px; /* 검수 0729: 모바일 투자개요 30→24 (Figma 초록 딱지) */
        line-height: 140%;
        color: #000000;
        margin-bottom: 30px;
        height: 42px;
        display: flex;
        align-items: center;
    }

    .overview-grid {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        height: auto;
    }

    .overview-card {
        width: 100%;
        min-height: auto;
        padding: 0;
        /* Removing padding as per mobile layout spec */
    }

    .stock-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        justify-content: space-between;
        width: 100%;
        max-width: 100%;
        height: auto;
        /* 검수 0727: min-height:261 제거, gap으로 간격 처리 */
        margin-bottom: 20px;
        gap: 38px;
    }

    .stock-info .card-top {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 14px 0;
        width: 100%;
        height: 46px;
    }

    .stock-info .card-title-wrap {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 4px;
        width: 98px;
        height: 30px;
    }

    .stock-info .card-title-wrap h3 {
        width: 70px;
        height: 30px;
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        color: #363636;
        white-space: nowrap;
    }

    .stock-info .chevron-icon {
        width: 24px;
        height: 24px;
        position: relative;
    }

    .stock-info .chevron-icon::after {
        content: '';
        box-sizing: border-box;
        position: absolute;
        width: 8px;
        height: 8px;
        left: calc(50% - 8px/2 - 4px);
        top: calc(50% - 8px/2 - 2px);
        border: 2px solid #363636;
        border-left: 0;
        border-bottom: 0;
        transform: rotate(45deg);
    }

    .stock-main {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        width: 100%;
        height: auto;
        /* 검수 0727: min-height:185 제거 */
    }

    .stock-label {
        width: 47px;
        height: 29px;
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 18px;
        line-height: 160%;
        color: #363636;
    }

    .price-row-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        gap: 6px; /* 검수 0727(Figma): 현재가값↔등락률행 6px */
        width: 100%;
        height: auto;
    }

    .price-row {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        padding: 0;
        gap: 10px; /* 검수 0727(Figma): 숫자↔원 10px */
        width: auto;
        height: auto;
    }

    .price-val {
        width: auto;
        height: auto;
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 36px; /* 검수 0727(Figma): 현재가 36px */
        line-height: 150%;
        color: #000000;
    }

    .price-unit {
        width: auto;
        height: auto;
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 18px; /* 검수 0727(Figma): 원 18px */
        line-height: 160%;
        color: #363636;
    }

    .stock-bottom-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        gap: 6px; /* 검수 0727(Figma): 등락률행↔날짜 6px */
        width: 100%;
        height: auto;
        min-height: auto;
        margin-top: 0;
    }

    .info-rows-wrap {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        /* Left-aligned */
        padding: 0;
        gap: 10px;
        /* 10px gap on both sides of the zero-width separator box */
        width: 100%;
        height: 30px; /* 검수 0727: 값 높이(30)에 맞춤. 36 아님 */
    }

    .v-line-svg {
        width: 1px;
        /* Set to 1px to ensure visibility while being minimal */
        height: 20px;
        flex: none;
        margin: 0;
    }

    .info-group {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 8px;
        /* Gap between label and value box */
        height: 30px; /* 검수 0727: 값 높이(20px×1.5=30). 36 아님 */
        width: auto;
    }

    .info-group:nth-child(1),
    .info-group:nth-child(3) {
        width: auto;
    }

    .info-label-box {
        box-sizing: border-box;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 2px 0;
        gap: 10px;
        height: 30px;
        border-radius: 800px;
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 16px;
        line-height: 160%;
        color: #7A7A7A;
    }

    .info-group:nth-child(1) .info-label-box {
        width: 42px;
    }

    .info-group:nth-child(3) .info-label-box {
        width: 56px;
    }

    .info-val-wrap {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 6px;
        height: auto; /* 검수 0727: 등락률 영역 36px에 맞춤 */
        width: auto;
    }

    .info-group:nth-child(1) .info-val-wrap,
    .info-group:nth-child(3) .info-val-wrap {
        width: auto;
    }

    .arrow-wrap {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 0;
        gap: 0;
    }

    .arrow-icon {
        width: 16px;
        height: 12px;
        object-fit: contain;
    }

    .info-val-wrap .arrow-up,
    .info-val-wrap .arrow-down {
        width: 16px;
        height: 12px;
        background: #2063F3;
        border-radius: 1px;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
        flex: none;
    }

    .info-val-wrap .arrow-down {
        transform: rotate(-180deg);
    }

    .info-val-wrap .val {
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        color: inherit; /* 검수 0727: 파랑 하드코딩 제거 → .up(빨강)/.down(파랑) 상속(상승/하락 색 일치) */
        height: 30px;
        display: flex;
        align-items: center;
    }

    .info-group:nth-child(1) .val {
        width: auto; /* 검수 0730: 고정 40px 제거 → 숫자 hug, 숫자~% 간격 정확히 6px(flex gap) */
    }

    .info-group:nth-child(3) .val {
        width: 26px;
    }

    .info-val-wrap .unit {
        width: 18px;
        height: 28px;
        font-family: 'Pretendard';
        font-weight: 700;
        font-size: 18px;
        line-height: 160%;
        color: inherit; /* 검수 0727: %도 .up/.down 색 상속 */
        display: flex;
        align-items: center;
        align-self: center;
        padding-bottom: 0;
    }

    .v-line {
        width: 20px;
        height: 0;
        border: 1px solid #D3D3D3;
        transform: rotate(90deg);
        margin: 0;
    }

    .base-date {
        width: 211px;
        height: 26px;
        font-family: 'Pretendard';
        font-weight: 400;
        font-size: 16px;
        line-height: 160%;
        color: #7A7A7A;
        margin: 0;
    }

    .return-stats-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
        width: auto;
        height: auto;
    }

    .return-stats-sep-svg {
        display: none;
    }

    /* --- 주주환원 모바일 ---  */
    .shareholder-return {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        padding: 18px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
        height: auto !important;
        /* 검수 0727: min-height:270 제거, 헤더↔데이터는 gap으로 */
        background: #F8F9FB;
        border-radius: 16px;
        box-sizing: border-box;
        gap: 22px;
    }

    /* 카드 상단 헤더 행 */
    .shareholder-return .card-top {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 0;
        width: 100%;
        height: 30px;
        flex: none;
        align-self: stretch;
    }

    /* 제목 + 아이콘 그룹 */
    .shareholder-return .card-title-wrap {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 4px;
        width: 98px;
        height: 30px;
    }

    .shareholder-return .card-title-wrap h3 {
        width: 70px;
        height: 30px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        color: #363636;
        display: flex;
        align-items: center;
    }

    .shareholder-return .chevron-icon {
        width: 24px;
        height: 24px;
        position: relative;
    }

    /* 기준 날짜 텍스트 */
    .shareholder-return .card-base-date {
        width: 120px;
        height: 26px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 160%;
        color: #7A7A7A;
    }

    /* 콘텐츠 영역 (아이콘 + 제목 + 지표 행) */
    .shareholder-return .return-main {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        gap: 22px; /* 검수 0727(Figma): 지속현금배당↔배당수익률 22px */
        width: 260.54px;
        height: auto;
    }

    /* 아이콘 + 타이틀 그룹 */
    .shareholder-return .return-header-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        gap: 8px; /* 검수 0727(Figma): 아이콘↔지속현금배당 8px */
        width: 157px;
        height: auto;
    }

    .shareholder-return .return-icon-box {
        width: 32px;
        height: 32px;
    }

    .shareholder-return .return-icon-box img {
        width: 32px;
        height: 32px;
        object-fit: contain;
    }

    .shareholder-return .return-title {
        width: 157px;
        height: 36px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 700;
        font-size: 24px;
        line-height: 150%;
        color: #1B1B1B;
        display: flex;
        align-items: center;
        margin: 0;
    }

    /* 지표 행 */
    .shareholder-return .return-stats-row {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 20px;
        height: 84px;
    }

    /* 개별 지표 아이템 */
    .shareholder-return .stat-item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        gap: 0; /* 검수 0727(Figma): 배당수익률 라벨↔값 0px */
        height: auto;
    }

    .shareholder-return .stat-item:nth-child(1) {
        width: 87.6px;
    }

    .shareholder-return .stat-item:nth-child(3) {
        width: 92.94px;
    }

    /* 지표 라벨 */
    .shareholder-return .stat-label {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 0;
        gap: 8.32px;
        width: 70px;
        height: 26px;
        border-radius: 82.32px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 160%;
        color: #7A7A7A;
    }

    /* 지표 수치 행 */
    .shareholder-return .stat-val-wrap {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        padding: 0;
        gap: 4px;
        height: 54px;
    }

    .shareholder-return .stat-item:nth-child(1) .stat-val-wrap {
        width: 87.6px;
    }

    .shareholder-return .stat-item:nth-child(3) .stat-val-wrap {
        width: 92.94px;
    }

    /* 수치 값 */
    .shareholder-return .val {
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 700;
        font-size: 36px;
        line-height: 150%;
        display: flex;
        align-items: flex-end;
        text-align: right;
        color: #1B1B1B;
    }

    .shareholder-return .stat-item:nth-child(1) .val {
        width: 56px;
        height: 54px;
    }

    .shareholder-return .stat-item:nth-child(3) .val {
        width: 63px;
        height: 54px;
    }

    /* 단위 래퍼 */
    .shareholder-return .stat-unit-wrap {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0 0 4.99px;
        gap: 8.32px;
        width: 24.95px;
        height: 46.99px;
    }

    /* 단위 텍스트 */
    .shareholder-return .unit {
        width: 24.95px;
        height: 42px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        display: flex;
        align-items: center;
        text-align: right;
        color: #1B1B1B;
        padding-bottom: 0;
        align-self: stretch;
    }

    /* 지표 구분선 (SVG를 모바일에서는 표시) */
    .shareholder-return .return-stats-sep-svg {
        display: block;
        width: 1px;
        height: 70px;
        overflow: visible;
        flex: none;
    }

    .v-line {
        display: none;
    }

    /* --- 파트너십 모바일 --- */
    .partnership {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        padding: 20px;
        isolation: isolate;
        width: 100%;
        max-width: 100%;
        height: 270px;
        background: #FCE3CC;
        border-radius: 16px;
        position: relative;
        overflow: hidden;
    }

    .partnership-txt {
        margin: 0;
        width: auto;
        height: 120px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        display: flex;
        align-items: center;
        color: #1B1B1B;
        z-index: 1;
        text-align: left;
    }

    .partnership-contact {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0px;
        gap: 10px;
        margin: 0;
        width: 100%;
        height: auto;
        min-height: 62px;
        z-index: 2;
    }

    .contact-item-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 0px;
        width: 100%;
        height: 26px;
    }

    .contact-label-group {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0px;
        gap: 8px;
        width: 120px;
        height: 26px;
    }

    .contact-icon-wrap {
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contact-icon-wrap img {
        width: 24px;
        height: 24px;
    }

    .contact-label {
        display: block;
        width: 84px;
        height: 26px;
        font-family: 'Pretendard';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 160%;
        color: #4E4E4E;
    }

    .contact-val {
        display: none;
    }

    .contact-label-mo {
        display: inline;
        white-space: nowrap;
    }

    .contact-label-pc {
        display: none;
    }

    .partnership-bg-circle {
        position: absolute;
        width: 400px;
        height: 400px;
        left: calc(50% - 400px/2);
        top: 80px;
        background: linear-gradient(180deg, rgba(250, 198, 153, 0.8) 10%, rgba(250, 198, 153, 0) 89.98%);
        border-radius: 50%;
        transform: rotate(-90deg);
        z-index: 0;
    }

    /* 추가적인 배경 원 (Ellipse 1947) */
    .partnership::after {
        content: '';
        position: absolute;
        width: 133.03px;
        height: 133.03px;
        left: calc(50% - 133.03px/2 - 0.55px);
        top: calc(50% - 133.03px/2 + 128.55px);
        background: #FCE2CC;
        border-radius: 50%;
        transform: rotate(-90deg);
        z-index: 0;
    }
}


/* 투자공지 Section */
.notice-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 60px var(--section-padding-x);
    /* 사이트 표준 가로여백: 120/60/16 */
    gap: 10px;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    height: auto;
    min-height: 737px;
    box-sizing: border-box;
}

.notice-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 60px 40px;
    gap: 60px;
    width: 100%;
    height: auto;
    min-height: 617px;
    background: #F1F3F7;
    border-radius: 30px;
    box-sizing: border-box;
    margin: 0 auto;
}

.notice-main-title-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0px;
    width: 100%;
    max-width: 1680px;
    height: 60px;
}

.notice-main-title {
    width: auto;
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(30px, 2.6vw, 50px);
    line-height: 140%;
    text-transform: capitalize;
    color: #000000;
    margin: 0;
}

.notice-cols-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;
    width: 100%;
    max-width: 1670px;
    height: auto;
    min-height: 377px;
}

.notice-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;
    width: calc((100% - 30px) / 2);
    /* Exactly 820px at 1670px container */
    height: auto;
}

.notice-col-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 2px;
    width: 100%;
    height: 46px;
}

.notice-col-title {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: 30px;
    line-height: 150%;
    color: #363636;
    margin: 0;
}

.notice-chevron {
    width: 36px;
    height: 36px;
}

.notice-cards {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 16px;
    width: 100%;
    height: auto;
}

@media (min-width: 768px) and (max-width: 1439px) {
    .notice-cards {
        flex-direction: column;
        gap: 12px;
    }

    .notice-card {
        width: 100%;
        min-width: 0;
        min-height: auto;
        height: auto;
        padding: 20px;
        border-radius: 16px;
        gap: 0;
    }

    .notice-card-inner {
        width: 100%;
        height: auto;
        display: grid;
        grid-template-columns: 30px 1fr;
        grid-template-rows: 30px auto;
        column-gap: 10px;
        row-gap: 16px;
    }

    .notice-card .notice-icon-box {
        grid-column: 1;
        grid-row: 1;
        width: 30px;
        height: 30px;
    }

    .notice-card .notice-card-info {
        display: contents;
    }

    .notice-card .notice-card-title {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        font-size: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .notice-card .notice-card-date {
        grid-column: 1 / span 2;
        grid-row: 2;
        text-align: left;
    }
}

.notice-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 30px;
    gap: 70px;
    flex: 1 1 0;
    min-width: 0;
    height: 301px;
    background: #FFFFFF;
    border-radius: 20px;
    position: relative;   /* 검수(0720): 공고 다운로드 버튼 배치용 */
}

/* 검수(0720): 공고 카드 다운로드 버튼 — 아이콘(#7A7A7A), 평상시 배경 없음 / 호버 시 원형 배경. 날짜 라인 정렬 */
.notice-download-btn {
    position: absolute;
    right: 22px;        /* 원(40) 안 아이콘(24)이 콘텐츠 우측(30) 라인에 오도록 8 보정 */
    bottom: 26px;       /* 날짜(20px/160%, 하단 padding 30) 라인 중앙 정렬 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease;
}

.notice-download-btn:hover {
    background: #F1F3F7;   /* 호버 시 원형 배경 채움 */
}

.notice-download-btn img {
    width: 24px;
    height: 24px;
    display: block;
}

.notice-card-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0px;
    width: 100%;
    height: 100%;
}

@media (min-width: 768px) and (max-width: 1439px) {
    .notice-card-inner {
        display: grid;
        grid-template-columns: 30px 1fr;
        grid-template-rows: 30px auto;
        column-gap: 10px;
        row-gap: 16px;
        height: auto;
    }

    .notice-icon-box {
        grid-column: 1;
        grid-row: 1;
        width: 30px;
        height: 30px;
    }

    .notice-card-info {
        display: contents;
    }

    .notice-card-title {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        font-size: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .notice-card-date {
        grid-column: 1 / span 2;
        grid-row: 2;
        text-align: left;
    }
}

.notice-icon-box {
    width: clamp(32px, 2.4vw, 46px);
    height: clamp(32px, 2.4vw, 46px);
    flex: none;
    background: #FCE3CC;
    border-radius: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.notice-icon-box.disclosure {
    background: #D0E1FF;
}

.notice-icon-box img {
    width: clamp(16px, 1.25vw, 24px);
    height: clamp(16px, 1.25vw, 24px);
    object-fit: contain;
    display: block;
}

.notice-card-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 16px;
    width: 100%;
    height: auto;
}

.notice-card-title {
    width: 100%;
    height: auto;
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 500; /* 검수 0727: 투자공지 카드 제목 굵기 medium */
    font-size: 24px;
    line-height: 150%;
    color: #1B1B1B;
    margin: 0;
}

.notice-card-date {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 160%;
    color: #7A7A7A;
}

/* News Section */
.news-container {
    display: flex;
    gap: clamp(24px, 3.125vw, 60px);
    align-items: flex-start;
}

.news-image {
    flex: 1;
    border-radius: clamp(12px, 1.04vw, 20px);
    overflow: hidden;
    background: #eee;
}

.news-image img {
    width: 100%;
    display: block;
}

.news-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.news-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.news-item-title {
    font-size: clamp(14px, 0.94vw, 18px);
    font-weight: 500;
    color: #333;
}

.news-item-date {
    font-size: 14px;
    color: #999;
}

/* Contact IR */
.contact-section {
    background: #f4f4f4;
    text-align: center;
}

.contact-info-wrap {
    display: flex;
    justify-content: center;
    gap: clamp(40px, 5.2vw, 100px);
    margin-top: 40px;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.contact-icon {
    width: 48px;
    height: 48px;
}

.contact-text {
    font-size: clamp(16px, 1.04vw, 20px);
    font-weight: 500;
    color: #111;
}

/* IR소식 Section */
.ir-news-section {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    height: auto;
    min-height: auto;
    background: #FFFFFF;
    box-sizing: border-box;
}

.ir-news-inner {
    width: 100%;
    padding: 100px var(--section-padding-x);
    display: flex;
    flex-direction: column;
    gap: 60px;
    box-sizing: border-box;
}

.ir-news-title-wrap {
    width: 100%;
    height: auto;
    display: flex;
    align-items: flex-end;
}

.ir-news-main-title {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(30px, 2.6vw, 50px);
    line-height: 140%;
    text-transform: capitalize;
    color: #000000;
    margin: 0;
}

.ir-news-cards {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: clamp(12px, 1.25vw, 24px);
    width: 100%;
    height: auto;
}

@media (min-width: 768px) and (max-width: 1439px) {
    .ir-news-cards {
        position: static;
        width: 100%;
        height: auto;
        flex-direction: column;
        gap: 10px;
    }

    .ir-card {
        width: 100%;
        height: auto;
        padding: 24px;
        border-radius: 20px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .ir-card-content-wrapper {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 30px;
        z-index: 1;
    }

    .ir-card--dark .ir-card-content-wrapper {
        height: auto;
    }

    .ir-card--light .ir-card-content-wrapper {
        gap: 20px;
    }

    .ir-card--dark {
        background: none;
    }

    .ir-card--dark::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('../assets/invest-center/IR자료실_m.png') center / cover no-repeat;
    }

    .ir-card--light {
        gap: 40px;
    }

    .ir-card-body {
        width: 100%;
        height: auto;
        gap: 20px;
        padding: 0;
        flex-direction: column;
    }

    .ir-item {
        width: 100%;
        height: auto;
        gap: 0;
    }

    .ir-item-bottom {
        width: 100%;
        height: auto;
        gap: 16px;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .ir-item-info {
        width: 100%;
        height: auto;
        gap: 16px;
    }

    .ir-item-footer {
        width: 100%;
        height: auto;
        gap: 20px;
        justify-content: space-between;
    }

    .ir-divider {
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.4);
    }

    .ir-meeting-list {
        width: 100%;
        height: auto;
        gap: 0;
    }

    .ir-meeting-item {
        width: 100%;
        height: auto;
        min-height: 50px;
        padding: 12px 0;
        gap: 10px;
    }
}

/* 공통 카드 */
.ir-card {
    display: flex;
    flex-direction: column;
    padding: clamp(24px, 2.5vw, 48px) clamp(20px, 2.08vw, 40px);
    isolation: isolate;
    width: calc((100% - 24px) / 2);
    /* Exactly 828px at 1680px container */
    height: auto;
    border-radius: clamp(16px, 1.56vw, 30px);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) and (max-width: 1439px) {
    .ir-card {
        width: 100%;
        height: auto;
        padding: 24px;
        border-radius: 20px;
    }

    .ir-card-content-wrapper {
        width: 100%;
        height: auto;
        gap: 24px;
    }

    .ir-card--dark .ir-card-content-wrapper {
        height: auto;
    }

    .ir-card--light .ir-card-content-wrapper {
        gap: 20px;
    }

    .ir-card-header {
        height: auto;
    }

    .ir-card-label {
        font-size: 24px;
    }

    .ir-chevron {
        width: 28px;
        height: 28px;
    }

    .ir-card-body {
        width: 100%;
        height: auto;
        gap: 20px;
        padding: 0;
        flex-direction: column;
    }

    .ir-item {
        width: 100%;
        height: auto;
        gap: 8px;
    }

    .ir-item-top {
        height: auto;
    }

    .ir-item-category {
        font-size: 34px;
    }

    .ir-item-name {
        font-size: 18px;
        height: auto;
    }

    .ir-item-date {
        font-size: 16px;
    }

    .ir-item-info {
        gap: 24px;
    }

    .ir-item-bottom {
        width: 100%;
        height: auto;
        gap: 16px;
        align-items: flex-start;
    }

    .ir-item-footer {
        width: 100%;
        gap: 20px;
        justify-content: space-between;
    }

    .ir-download-btn {
        width: 48px;
        height: 48px;
    }

    .ir-divider {
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.4);
    }

    .ir-meeting-list {
        width: 100%;
        height: auto;
        gap: 0;
    }

    .ir-meeting-item {
        width: 100%;
        height: auto;
        min-height: 56px;
        padding: 14px 0;
    }

    .ir-meeting-title {
        font-size: 18px;
    }

    .ir-meeting-date {
        font-size: 16px;
    }
}

.ir-card-content-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    gap: 50px;
}

.ir-card--dark {
    background: none;
    overflow: hidden;
    border-radius: clamp(16px, 1.56vw, 30px);
}

.ir-card--dark::before {
    content: '';
    position: absolute;
    top: -15%;
    left: -5%;
    width: 115%;
    height: 145%;
    border-radius: 0;
    background:
        linear-gradient(0deg, rgba(69, 32, 0, 0.46), rgba(69, 32, 0, 0.46)),
        url('../assets/invest-center/ir_news.png') center / cover no-repeat;
    z-index: 0;
}

/* 주주총회 - 밝은 카드 */
.ir-card--light {
    border: 1px solid #E9E9E9;
    background: #FFFFFF;
}

/* 카드 헤더 */
.ir-card-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    width: 100%;
    height: 46px;
}

.ir-card-label {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(20px, 1.56vw, 30px);
    line-height: 150%;
    color: #FFFFFF;
}

.ir-card-label--dark {
    color: #363636;
}

.ir-chevron {
    width: clamp(24px, 1.87vw, 36px);
    height: clamp(24px, 1.87vw, 36px);
}

/* IR 카드 본문 */
.ir-card-body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(24px, 3.02vw, 58px);
    width: 100%;
    height: auto;
}

.ir-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    height: auto;
}

.ir-item-top {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 9px;
    width: 100%;
    height: 66px;
}

.ir-item-category {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    font-size: clamp(28px, 2.29vw, 44px);
    line-height: 150%;
    color: #FFFFFF;
}

.ir-item-bottom {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    gap: clamp(20px, 2.29vw, 44px);
    width: 100%;
    height: auto;
}

.ir-item-info {
    display: flex;
    flex-direction: column;
    gap: 53px;
    width: 100%;
}

.ir-item-name {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    font-size: clamp(16px, 1.15vw, 22px);
    line-height: 160%;
    color: #FFFFFF;
    width: 100%;
    height: 35px;
}

.ir-item-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: clamp(12px, 1.04vw, 20px);
    width: 100%;
    height: auto;
}

.ir-item-date {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    font-size: clamp(14px, 1.04vw, 20px);
    line-height: 160%;
    color: #FFFFFF;
    opacity: 0.7; /* 검수 0727: IR 날짜 텍스트 투명도 70% */
}

.ir-download-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px;
    width: clamp(44px, 3.125vw, 60px);
    height: clamp(44px, 3.125vw, 60px);
    background: rgba(241, 237, 234, 0.2);
    border: none;
    border-radius: 30px;
    cursor: pointer;
    flex-shrink: 0;
}

.ir-download-btn img {
    width: 24px;
    height: 24px;
}

/* 세로 구분선 */
.ir-divider {
    width: 1px;
    height: 234px;
    background: #A7A7A7;
    flex: none;
}

/* 주주총회 목록 */
.ir-meeting-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    height: 244px;
}

.ir-meeting-item {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0px;
    width: 100%;
    height: 76px;
    border-bottom: 1px solid #E9E9E9;
}

.ir-meeting-item--last {
    border-bottom: none;
}

.ir-meeting-title {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    color: #170B00;
}

.ir-meeting-date {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 160%;
    text-align: right;
    color: #7A7A7A;
}

/* Mobile */
@media (max-width: 767px) {

    .card-title-wrap {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 2px;
        height: 46px !important;
    }

    .card-title-wrap h3 {
        font-size: 30px;
        font-weight: 700;
        line-height: 150%;
        height: 45px;
        display: flex;
        align-items: center;
    }

    .card-title-wrap .chevron-icon,
    .card-title-wrap img {
        width: 24px; /* 검수 0730: 주가정보/주주환원 › 아이콘 36→24 */
        height: 24px;
    }

    .invest-section {
        padding: 60px 16px;
    }

    .section-title {
        font-size: 32px;
    }

    .news-container {
        flex-direction: column;
    }

    .contact-info-wrap {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    /* Notice Section Mobile */
    .invest-section.notice-section {
        padding: 0;
        width: 100%;
        height: auto;
    }

    .notice-inner {
        width: 100%;
        height: auto;
        padding: 40px 16px;
        gap: 20px;
        border-radius: 0;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .notice-main-title-wrap {
        width: 100%;
        height: auto;
        gap: 0;
        justify-content: flex-start;
    }

    .notice-main-title {
        font-size: 24px;
        line-height: 150%;
        width: auto;
        height: auto;
    }

    .notice-cols-wrapper {
        width: 100%;
        height: auto;
        flex-direction: column;
        gap: 30px;
    }

    .notice-col {
        width: 100%;
        height: auto;
        gap: 20px;
    }

    .notice-col-header {
        width: 100%;
        height: 30px;
        justify-content: flex-start;
        gap: 4px;
    }

    .notice-col-title {
        font-size: 20px;
        line-height: 150%;
    }

    .notice-chevron {
        width: 24px;
        height: 24px;
    }

    .notice-cards {
        width: 100%;
        height: auto;
        flex-direction: column;
        gap: 10px;
    }

    .notice-card {
        width: 100%;
        height: auto;
        min-height: 99px;
        padding: 16px;
        border-radius: 12px;
        gap: 0;
    }

    .notice-card-inner {
        width: 100%;
        height: auto;
        display: grid;
        grid-template-columns: 26px 1fr;
        grid-template-rows: 26px auto;
        column-gap: 8px;
        row-gap: 20px;
    }

    .notice-icon-box {
        grid-column: 1;
        grid-row: 1;
        width: 26px;
        height: 26px;
        padding: 0;
        background: #FCE3CC;
        border-radius: 409px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .notice-icon-box.disclosure {
        background: #D0E1FF;
    }

    .notice-icon-box img {
        width: 14px;
        height: 14px;
        object-fit: contain;
        display: block;
        background: transparent;
        transform: none;
        box-sizing: border-box;
    }

    .notice-icon-box.disclosure img {
        transform: none;
    }

    .notice-card-info {
        display: contents;
    }

    .notice-card-title {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        height: auto;
        font-size: 16px;
        line-height: 160%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        opacity: 0.8;
        align-self: center;
    }

    .notice-card-date {
        grid-column: 1 / span 2;
        grid-row: 2;
        font-size: 14px;
        line-height: 150%;
        text-align: left;
    }

    /* IR소식 Section Mobile */
    .invest-section.ir-news-section {
        display: flex;
        flex-direction: column;
        padding: 40px 16px;
        width: 100%;
        height: auto;
    }

    .ir-news-inner {
        width: 100%;
        padding: 0;
        gap: 20px;
    }

    .ir-news-title-wrap {
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
    }

    .ir-news-main-title {
        font-size: 24px; /* 검수 0729: 모바일 IR소식 30→24 (Figma 초록 딱지) */
        line-height: 140%;
    }

    .ir-news-cards {
        position: static;
        width: 100%;
        height: auto;
        flex-direction: column;
        gap: 10px;
    }

    .ir-card {
        width: 100%;
        height: auto;
        padding: 16px;
        border-radius: 16px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .ir-card-content-wrapper {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 30px;
        z-index: 1;
    }

    .ir-card--dark .ir-card-content-wrapper {
        height: auto;
    }

    .ir-card--light .ir-card-content-wrapper {
        gap: 20px;
    }

    .ir-card--dark {
        background: none;
    }

    .ir-card--dark::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('../assets/invest-center/IR자료실_m.png') center / cover no-repeat;
    }

    .ir-card--light {
        gap: 40px;
    }

    .ir-card-header {
        width: 100%;
        height: 30px;
        gap: 4px;
        justify-content: flex-start;
    }

    .ir-card-label {
        font-size: 20px;
        line-height: 150%;
    }

    .ir-chevron {
        width: 24px;
        height: 24px;
    }

    .ir-card-body {
        width: 100%;
        height: auto;
        gap: 20px;
        padding: 0;
        flex-direction: column;
    }

    .ir-item {
        width: 100%;
        height: auto;
        gap: 0;
    }

    .ir-item-top {
        width: 100%;
        height: auto;
        padding: 0;
        justify-content: flex-start;
    }

    .ir-item-category {
        font-size: 30px;
        line-height: 150%;
        height: auto;
    }

    .ir-item-bottom {
        width: 100%;
        height: auto;
        gap: 16px;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .ir-item-info {
        width: 100%;
        height: auto;
        gap: 16px;
    }

    .ir-item-name {
        width: 100%;
        height: auto;
        font-size: 16px;
        line-height: 160%;
    }

    .ir-item-footer {
        width: 100%;
        height: auto;
        min-height: 42px;
        gap: 20px;
        justify-content: space-between;
    }

    .ir-item-date {
        font-size: 16px;
        line-height: 160%;
    }

    .ir-download-btn {
        width: 42px;
        height: 42px;
        padding: 0;
    }

    .ir-download-btn img {
        width: 24px;
        height: 24px;
    }

    .ir-divider {
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.4);
    }

    .ir-meeting-list {
        width: 100%;
        height: auto;
        gap: 0;
    }

    .ir-meeting-item {
        width: 100%;
        height: auto;
        min-height: 50px;
        padding: 12px 0;
        gap: 10px;
    }

    .ir-meeting-title {
        font-size: 16px;
    }

    .ir-meeting-date {
        font-size: 14px;
    }
}

/* ── 태블릿: border-radius 30px → 20px ── */
@media (min-width: 768px) and (max-width: 1439px) {

    .notice-inner,
    .ir-download-btn,
    .overview-card,
    .ir-card {
        border-radius: 20px !important;
    }
}
/* 검수 0722: 투자정보센터 태블릿 고정 폰트 — base 규칙이 소스 뒤쪽에 있어 태블릿 값이 덮이던 문제 → 파일 끝에서 재지정(우선순위 확보) */
@media (min-width: 768px) and (max-width: 1439px) {
    .notice-col-title { font-size: 24px; }        /* 공시/공고 */
    .ir-card-label,
    .ir-card-label--dark { font-size: 24px; }      /* IR 자료실 / 주주총회 */
    .ir-item-date { font-size: 16px; }             /* IR 날짜 */
    .ir-meeting-title { font-size: 18px; }         /* 제 N기 주주총회 */
    .ir-meeting-date { font-size: 16px; }          /* 주주총회 날짜 */
}
