.esg-table-wrap {
    width: 100%;
    margin: 24px 0;
}

.cms-breadcrumb {
    margin-top: 80px;
}

@media (max-width: 1199px) {
    .cms-breadcrumb {
        margin-top: 60px;
    }
}

/* Keep long homepage news titles inside the original responsive list layout. */
.sec_award .newsi_box .flex,
.sec_award .newsi_title {
    min-width: 0;
}

.sec_award .newsi_title {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

@media (max-width: 575.98px) {
    .sec_award .newsi_title {
        flex: 0 0 100%;
        width: 100%;
    }
}

.esg-table-scroll {
    overflow-x: auto;
}

.esg-data-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    min-width: 640px;
}

.esg-data-table th,
.esg-data-table td {
    border: 1px solid #d8e1e8;
    padding: 12px 14px;
    vertical-align: top;
    color: #424242;
    white-space: pre-line;
}

.esg-data-table th {
    background: #0b568f;
    font-weight: 700;
    color: #fff;
}

.esg-data-table tbody tr:nth-child(even) {
    background: #f8fbfc;
}

.esg-data-table tbody tr:hover {
    background: #f1f8f3;
}

.esg-table-wide .esg-data-table {
    min-width: 980px;
}

.esg-table-wide {
    overflow-x: auto;
}

.esg-table-value-chain .esg-data-table th:nth-child(n + 4):nth-child(-n + 6),
.esg-table-value-chain .esg-data-table td:nth-child(n + 4):nth-child(-n + 6) {
    min-width: 76px;
    text-align: center;
    white-space: nowrap;
}

.esg-table-value-chain .esg-data-table th:last-child,
.esg-table-value-chain .esg-data-table td:last-child {
    min-width: 112px;
}

.esg-table-material-target .esg-data-table {
    min-width: 1080px;
}

.esg-table-material-target .esg-data-table td:nth-child(n + 4) {
    text-align: left;
}

.esg-table-dense .esg-data-table {
    min-width: 1320px;
    font-size: 13px;
}

.esg-table-dense .esg-data-table th,
.esg-table-dense .esg-data-table td {
    padding: 10px 11px;
}

.esg-table-note {
    margin-top: 8px;
    font-size: 14px;
    color: #6c6c6c;
}

.cms-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.kvs_item {
    position: relative;
}

.kv_bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0, 39, 61, .58), rgba(0, 39, 61, .26) 48%, rgba(0, 39, 61, .04));
    pointer-events: none;
}

.kvs_item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 40, 64, .66), rgba(0, 40, 64, .34) 46%, rgba(0, 40, 64, .08));
    pointer-events: none;
}

.kvs_caption {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
}

.kv_in {
    z-index: 2;
}

.kv .main_text {
    max-width: 760px;
    color: rgba(255, 255, 255, .9);
    text-shadow: 0 3px 12px rgba(0, 0, 0, .26);
}

.kv_caption_text {
    max-width: 680px;
    color: rgba(255, 255, 255, .94);
    text-shadow: 0 3px 12px rgba(0, 0, 0, .28);
}

.page_kv::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .28) 58%, rgba(255, 255, 255, .08));
    pointer-events: none;
}

.page_kv_con {
    z-index: 2;
}

.home_metric_section {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.home_metric_group {
    min-width: 0;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 36px rgba(18, 72, 98, .08);
    overflow: hidden;
}

.home_metric_heading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-bottom: 1px solid #d8e7ed;
    background: #f5faf8;
}

.home_metric_heading span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #fff;
    font-weight: 700;
    background: #1f7897;
}

.home_metric_heading strong {
    color: #1f4f72;
    font-size: 18px;
}

.home_metric_group_s .home_metric_heading span {
    background: #5f8f3a;
}

.home_metric_group_g .home_metric_heading span {
    background: #28507a;
}

.home_metric_grid {
    display: grid;
    grid-template-columns: 1fr;
}

.home_metric_item {
    min-width: 0;
    padding: 16px 18px;
    border-bottom: 1px solid #edf3f6;
    overflow-wrap: anywhere;
}

.home_metric_item:last-child {
    border-bottom: 0;
}

.home_metric_name {
    color: #415260;
    font-weight: 700;
    line-height: 1.45;
}

.home_metric_value {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
    margin-top: 6px;
    color: #1f4f72;
}

.home_metric_value strong {
    font-size: 25px;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.home_metric_value span {
    font-weight: 700;
}

.home_metric_note {
    margin-top: 6px;
    color: #6b7b86;
    font-size: 14px;
    line-height: 1.5;
}

.page_con .cms-lead {
    margin-bottom: 28px;
    padding: 24px 28px;
    border-left: 4px solid #5f8f3a;
    background: #f4faf6;
}

.page_con .cms-lead p {
    margin-bottom: 0;
    color: #304a57;
    font-size: 18px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.page_con .cms-kpi-grid,
.page_con .cms-info-grid,
.page_con .cms-statement-grid {
    display: grid;
    gap: 16px;
    margin: 24px 0 34px;
}

.page_con .cms-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page_con .cms-info-grid,
.page_con .cms-statement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page_con .cms-kpi,
.page_con .cms-info-item,
.page_con .cms-statement,
.page_con .cms-step-list > div {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(18, 72, 98, .06);
}

.page_con .cms-kpi {
    padding: 18px;
}

.page_con .cms-kpi span,
.page_con .cms-statement span {
    display: block;
    color: #6b7b86;
    font-size: 14px;
    font-weight: 700;
}

.page_con .cms-kpi strong {
    display: block;
    margin-top: 8px;
    color: #1f4f72;
    font-size: 28px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.page_con .cms-kpi em {
    display: block;
    margin-top: 6px;
    color: #5f8f3a;
    font-style: normal;
    font-weight: 700;
}

.page_con .cms-info-item,
.page_con .cms-statement {
    padding: 20px 22px;
}

.page_con .cms-info-item strong {
    color: #1f4f72;
    font-size: 18px;
}

.page_con .cms-info-item p {
    margin: 8px 0 0;
}

.page_con .cms-info-item strong,
.page_con .cms-info-item p,
.page_con .cms-statement strong,
.page_con .cms-step-list strong,
.page_con .cms-step-list p,
.page_con .cms-check-list li {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.page_con .cms-statement strong {
    display: block;
    margin-top: 8px;
    color: #243f52;
    font-size: 20px;
    line-height: 1.55;
}

.page_con .cms-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 30px;
}

.page_con .cms-pill-list span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid #bfd8e4;
    color: #1f4f72;
    background: #f8fbfd;
    font-weight: 700;
}

.page_con .cms-timeline {
    position: relative;
    display: grid;
    gap: 16px;
    margin: 24px 0 34px;
}

.page_con .cms-timeline-item {
    position: relative;
    padding: 22px 24px 22px 28px;
    border-left: 4px solid #1f7897;
    background: #fff;
    box-shadow: 0 14px 30px rgba(18, 72, 98, .06);
}

.page_con .cms-timeline-item span {
    display: inline-flex;
    color: #5f8f3a;
    font-weight: 700;
}

.page_con .cms-timeline-item strong {
    display: block;
    margin-top: 6px;
    color: #1f4f72;
    font-size: 19px;
}

.page_con .cms-timeline-item p {
    margin: 10px 0 0;
}

.page_con .cms-step-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0 34px;
}

.page_con .cms-step-list > div {
    padding: 20px;
}

.page_con .cms-step-list span {
    display: inline-flex;
    color: #5f8f3a;
    font-weight: 700;
}

.page_con .cms-step-list strong {
    display: block;
    margin-top: 8px;
    color: #1f4f72;
    font-size: 18px;
}

.page_con .cms-step-list p {
    margin: 8px 0 0;
}

.page_con .cms-check-list {
    display: grid;
    gap: 10px;
    padding-left: 0;
    margin: 20px 0 34px;
    list-style: none;
}

.page_con .cms-check-list li {
    padding: 14px 16px;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: #fff;
}

.page_con .cms-stakeholder-map,
.page_con .cms-process-flow,
.page_con .cms-org-chart,
.page_con .cms-risk-governance,
.page_con .cms-risk-flow,
.page_con .cms-risk-category-grid,
.page_con .cms-security-governance,
.page_con .cms-material-matrix {
    margin: 24px 0 36px;
}

.page_con .cms-stakeholder-map {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.page_con .cms-stakeholder-core,
.page_con .cms-stakeholder-node,
.page_con .cms-process-step,
.page_con .cms-matrix-cell,
.page_con .cms-org-node,
.page_con .cms-org-branch,
.page_con .cms-risk-main,
.page_con .cms-risk-secretary,
.page_con .cms-risk-owner-grid > div,
.page_con .cms-risk-category,
.page_con .cms-security-badge,
.page_con .cms-security-node {
    min-width: 0;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(18, 72, 98, .06);
    overflow-wrap: anywhere;
}

.page_con .cms-stakeholder-core {
    grid-column: span 2;
    padding: 24px;
    color: #fff;
    background: linear-gradient(135deg, #1f4f72, #1f7897);
}

.page_con .cms-stakeholder-core span,
.page_con .cms-security-badge span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    color: #1f4f72;
    background: #fff;
    font-weight: 800;
}

.page_con .cms-stakeholder-core strong,
.page_con .cms-stakeholder-node strong,
.page_con .cms-process-step strong,
.page_con .cms-matrix-cell strong,
.page_con .cms-org-node strong,
.page_con .cms-org-branch strong,
.page_con .cms-risk-main strong,
.page_con .cms-risk-secretary strong,
.page_con .cms-risk-owner-grid strong,
.page_con .cms-risk-category strong,
.page_con .cms-security-badge strong,
.page_con .cms-security-node strong {
    display: block;
    margin-top: 8px;
    color: #1f4f72;
    font-size: 18px;
    line-height: 1.45;
}

.page_con .cms-stakeholder-core strong,
.page_con .cms-security-badge strong {
    color: #fff;
}

.page_con .cms-stakeholder-core p,
.page_con .cms-stakeholder-node p,
.page_con .cms-matrix-cell p,
.page_con .cms-org-branch p,
.page_con .cms-risk-main p,
.page_con .cms-risk-secretary p,
.page_con .cms-risk-owner-grid p,
.page_con .cms-risk-category p,
.page_con .cms-security-node p {
    margin: 8px 0 0;
    line-height: 1.7;
}

.page_con .cms-stakeholder-node {
    padding: 18px;
}

.page_con .cms-stakeholder-node span,
.page_con .cms-process-step span,
.page_con .cms-risk-category span,
.page_con .cms-risk-flow span,
.page_con .cms-security-node span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #fff;
    background: #5f8f3a;
    font-weight: 800;
}

.page_con .cms-process-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.page_con .cms-process-step {
    padding: 20px;
    border-top: 4px solid #1f7897;
}

.page_con .cms-process-step ul {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
    padding-left: 20px;
}

.page_con .cms-process-step li {
    line-height: 1.65;
}

.page_con .cms-sustainability-org {
    position: relative;
    margin: 24px 0 38px;
    padding: 30px;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: #f8fbfc;
    overflow: hidden;
}

.page_con .cms-sustainability-command {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 14px;
}

.page_con .cms-command-node {
    position: relative;
    width: min(100%, 360px);
    padding: 14px 20px;
    border: 1px solid #8eb8cc;
    border-radius: 6px;
    background: #fff;
    text-align: center;
    box-shadow: 0 10px 24px rgba(18, 72, 98, .08);
}

.page_con .cms-command-node span,
.page_con .cms-command-support span,
.page_con .cms-risk-secretary > span,
.page_con .cms-risk-owner > span {
    display: block;
    color: #6b7b86;
    font-size: 13px;
    font-weight: 700;
}

.page_con .cms-command-node strong,
.page_con .cms-command-support strong {
    display: block;
    margin-top: 3px;
    color: #1f4f72;
    font-size: 18px;
}

.page_con .cms-command-board {
    margin-top: 26px;
    padding-top: 30px;
    border-color: #1f4f72;
    background: #1f4f72;
}

.page_con .cms-command-board span,
.page_con .cms-command-board strong {
    color: #fff;
}

.page_con .cms-org-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 3px solid currentColor;
    border-radius: 50%;
    background: #fff;
    font-size: 26px;
    line-height: 1;
    box-shadow: 0 7px 16px rgba(18, 72, 98, .14);
}

.page_con .cms-command-node .cms-command-org-icon {
    position: absolute;
    top: -27px;
    left: 50%;
    color: #1f4f72;
    transform: translateX(-50%);
}

.page_con .cms-command-committee {
    border-color: #2d7797;
    background: #e8f3f8;
}

.page_con .cms-command-node:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 1px;
    height: 15px;
    background: #8eb8cc;
}

.page_con .cms-command-support {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: min(100%, 840px);
    padding-top: 16px;
}

.page_con .cms-command-support::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16.666%;
    right: 16.666%;
    height: 1px;
    background: #8eb8cc;
}

.page_con .cms-command-support > div {
    position: relative;
    padding: 12px 14px;
    border: 1px solid #c6dce6;
    border-radius: 6px;
    background: #fff;
    text-align: center;
}

.page_con .cms-command-support > div::before {
    content: "";
    position: absolute;
    top: -17px;
    left: 50%;
    width: 1px;
    height: 17px;
    background: #8eb8cc;
}

.page_con .cms-sustainability-groups {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
    padding-top: 28px;
    border-top: 2px solid #b7d0dc;
}

.page_con .cms-sustainability-groups::before {
    content: "";
    position: absolute;
    top: -22px;
    left: 50%;
    width: 2px;
    height: 22px;
    background: #b7d0dc;
}

.page_con .cms-sustainability-group {
    --cms-group-accent: #1f7897;
    min-width: 0;
    border: 1px solid #d5e2e8;
    border-radius: 8px;
    background: #fff;
    overflow: visible;
    box-shadow: 0 10px 24px rgba(18, 72, 98, .06);
}

.page_con .cms-sustainability-group-title {
    position: relative;
    min-height: 88px;
    padding: 34px 8px 12px;
    border-radius: 7px 7px 0 0;
    color: #fff;
    background: var(--cms-group-accent);
    text-align: center;
}

.page_con .cms-sustainability-group-title .cms-sustainability-group-index {
    display: block;
    color: rgba(255, 255, 255, .8);
    font-size: 12px;
    font-weight: 800;
}

.page_con .cms-sustainability-group-title .cms-sustainability-group-icon {
    position: absolute;
    top: -26px;
    left: 50%;
    color: var(--cms-group-accent);
    transform: translateX(-50%);
}

.page_con .cms-sustainability-group-title strong {
    display: block;
    margin-top: 3px;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
}

.page_con .cms-sustainability-group > div {
    padding: 13px 14px;
}

.page_con .cms-sustainability-group > div + div {
    border-top: 1px solid #e5edf1;
}

.page_con .cms-sustainability-group b {
    color: #1f4f72;
    font-size: 13px;
}

.page_con .cms-sustainability-group p {
    margin: 5px 0 0;
    color: #4d626e;
    font-size: 14px;
    line-height: 1.65;
}

.page_con .cms-group-environment {
    --cms-group-accent: #2b8772;
}

.page_con .cms-group-product {
    --cms-group-accent: #6f983f;
}

.page_con .cms-group-labor {
    --cms-group-accent: #557f9e;
}

.page_con .cms-group-community {
    --cms-group-accent: #b85d67;
}

.page_con .cms-materiality-chart {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px 12px;
    margin: 24px 0 38px;
}

.page_con .cms-materiality-y {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    color: #327c3c;
}

.page_con .cms-materiality-y strong {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: #1f4f72;
    font-size: 14px;
    letter-spacing: 0;
}

.page_con .cms-materiality-y span,
.page_con .cms-materiality-x span {
    font-size: 13px;
    font-weight: 800;
}

.page_con .cms-materiality-plot {
    position: relative;
    min-height: 610px;
    border: 1px solid #8fbd91;
    border-radius: 8px;
    background-color: #fbfdfb;
    background-image: linear-gradient(to right, rgba(95, 143, 58, .12) 1px, transparent 1px), linear-gradient(to top, rgba(95, 143, 58, .12) 1px, transparent 1px);
    background-size: 25% 100%, 100% 16.666%;
    overflow: hidden;
}

.page_con .cms-materiality-focus-area {
    position: absolute;
    top: 0;
    right: 0;
    width: 62%;
    height: 57%;
    padding: 14px 16px;
    border-bottom-left-radius: 34px;
    color: #2f7139;
    background: rgba(96, 159, 7, .1);
    text-align: right;
}

.page_con .cms-materiality-focus-area strong,
.page_con .cms-materiality-focus-area span {
    display: inline;
}

.page_con .cms-materiality-focus-area strong {
    font-size: 14px;
}

.page_con .cms-materiality-focus-area span {
    margin-left: 8px;
    color: #5b7762;
    font-size: 12px;
}

.page_con .cms-materiality-topic {
    position: absolute;
    z-index: 1;
    left: var(--topic-x);
    bottom: var(--topic-y);
    transform: translate(-50%, 50%);
    max-width: 170px;
    padding: 5px 8px 5px 20px;
    border: 1px solid rgba(31, 79, 114, .18);
    border-radius: 6px;
    color: #36505e;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 4px 10px rgba(18, 72, 98, .06);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
}

.page_con .cms-materiality-topic::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #78909c;
}

.page_con .cms-materiality-topic.is-major {
    border-color: #5f9e54;
    color: #286a34;
    background: #f4fbf2;
}

.page_con .cms-materiality-topic.is-major::before {
    background: #4b963d;
}

.page_con .topic-ethics { --topic-x: 47%; --topic-y: 96%; }
.page_con .topic-compliance { --topic-x: 61%; --topic-y: 88%; }
.page_con .topic-quality { --topic-x: 88%; --topic-y: 88%; }
.page_con .topic-occupational { --topic-x: 63%; --topic-y: 77%; }
.page_con .topic-security { --topic-x: 84%; --topic-y: 76%; }
.page_con .topic-financial { --topic-x: 50%; --topic-y: 65%; }
.page_con .topic-human-rights { --topic-x: 72%; --topic-y: 62%; }
.page_con .topic-customer { --topic-x: 90%; --topic-y: 61%; }
.page_con .topic-risk { --topic-x: 15%; --topic-y: 49%; }
.page_con .topic-innovation { --topic-x: 57%; --topic-y: 49%; }
.page_con .topic-labor { --topic-x: 59%; --topic-y: 39%; }
.page_con .topic-water { --topic-x: 33%; --topic-y: 34%; }
.page_con .topic-waste { --topic-x: 19%; --topic-y: 26%; }
.page_con .topic-supply { --topic-x: 55%; --topic-y: 25%; }
.page_con .topic-greenhouse { --topic-x: 72%; --topic-y: 25%; }
.page_con .topic-air { --topic-x: 28%; --topic-y: 17%; }
.page_con .topic-diversity { --topic-x: 20%; --topic-y: 9%; }
.page_con .topic-talent { --topic-x: 47%; --topic-y: 10%; }
.page_con .topic-energy { --topic-x: 67%; --topic-y: 9%; }
.page_con .topic-biodiversity { --topic-x: 8%; --topic-y: 15%; }
.page_con .topic-community { --topic-x: 8%; --topic-y: 4%; }

.page_con .cms-materiality-x {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #327c3c;
}

.page_con .cms-materiality-x strong {
    color: #1f4f72;
    font-size: 14px;
}

.page_con .cms-materiality-legend {
    grid-column: 2;
    margin: 2px 0 0;
    color: #5c6e78;
    font-size: 13px;
}

.page_con .cms-materiality-legend b {
    color: #327c3c;
}

.page_con .cms-material-matrix {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.page_con .cms-matrix-y,
.page_con .cms-matrix-x {
    color: #1f4f72;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
}

.page_con .cms-matrix-y {
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    border-right: 2px solid #bfd8e4;
}

.page_con .cms-matrix-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: linear-gradient(135deg, #f7fbfd, #f2f8f1);
}

.page_con .cms-matrix-x {
    grid-column: 2;
    padding-top: 4px;
    text-align: right;
    border-top: 2px solid #bfd8e4;
}

.page_con .cms-matrix-cell {
    padding: 18px;
}

.page_con .cms-matrix-cell span {
    color: #6b7b86;
    font-size: 14px;
    font-weight: 800;
}

.page_con .cms-matrix-priority {
    border-color: #75ad54;
    background: #f5fbf1;
}

.page_con .cms-matrix-focus {
    border-color: #6aa9bd;
}

.page_con .cms-matrix-track {
    border-color: #a8c8d7;
}

.page_con .cms-matrix-watch {
    border-color: #d8e1e8;
    background: #fbfcfd;
}

.page_con .cms-org-chart {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: #f7fbfd;
}

.page_con .cms-org-row,
.page_con .cms-org-branches,
.page_con .cms-risk-owner-grid,
.page_con .cms-security-flow {
    display: grid;
    gap: 14px;
}

.page_con .cms-org-top {
    grid-template-columns: minmax(0, 360px);
    justify-content: center;
}

.page_con .cms-org-committees {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page_con .cms-org-management,
.page_con .cms-org-branches {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page_con .cms-org-node,
.page_con .cms-org-branch {
    padding: 18px;
    text-align: center;
}

.page_con .cms-org-node span {
    color: #6b7b86;
    font-size: 14px;
    font-weight: 800;
}

.page_con .cms-org-primary {
    border-color: #1f7897;
    background: #eaf4fb;
}

.page_con .cms-risk-governance {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid #d8e7ed;
    border-radius: 8px;
    background: #f7fbfd;
}

.page_con .cms-risk-main {
    justify-self: center;
    width: min(100%, 460px);
    padding: 22px;
    color: #fff;
    background: linear-gradient(135deg, #1f4f72, #28507a);
    text-align: center;
}

.page_con .cms-risk-main span,
.page_con .cms-risk-main strong,
.page_con .cms-risk-main p {
    color: #fff;
}

.page_con .cms-risk-secretary,
.page_con .cms-risk-owner-grid > div {
    padding: 18px;
}

.page_con .cms-risk-secretary {
    justify-self: center;
    width: min(100%, 520px);
    border-color: #9dc2d2;
    background: #f4f9fb;
    text-align: center;
}

.page_con .cms-risk-secretary strong {
    margin-top: 4px;
}

.page_con .cms-risk-owner {
    position: relative;
    border-top: 4px solid #d3a33c !important;
}

.page_con .cms-risk-owner.owner-market {
    border-top-color: #65a343 !important;
}

.page_con .cms-risk-owner.owner-operation {
    border-top-color: #2e9ca9 !important;
}

.page_con .cms-risk-owner > span {
    color: #6a7d87;
}

.page_con .cms-risk-owner-grid,
.page_con .cms-risk-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page_con .cms-risk-flow {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.page_con .cms-risk-flow > div {
    position: relative;
    min-width: 0;
    padding: 18px 12px;
    border-radius: 8px;
    color: #fff;
    background: #1f7897;
    text-align: center;
}

.page_con .cms-risk-flow > div:nth-child(even) {
    background: #5f8f3a;
}

.page_con .cms-risk-flow strong {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 17px;
}

.page_con .cms-risk-flow span {
    color: #1f4f72;
    background: #fff;
}

.page_con .cms-risk-category-grid {
    display: grid;
    gap: 16px;
}

.page_con .cms-risk-category {
    padding: 20px;
    border-top: 4px solid #1f7897;
}

.page_con .cms-security-governance {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.page_con .cms-security-badge {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    color: #fff;
    background: linear-gradient(135deg, #1f7897, #5f8f3a);
}

.page_con .cms-security-badge .cms-sdg-logo {
    display: block;
    width: min(154px, 100%);
    height: auto;
    margin: 0 auto 14px;
    border-radius: 4px;
    object-fit: contain;
}

.page_con .cms-security-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page_con .cms-security-node {
    padding: 20px;
    border-top: 4px solid #5f8f3a;
}

.page_con .cms-security-lead {
    border-top-color: #1f7897;
    background: #f3fafc;
}

.search-page-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 20px;
}

.search-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 16px;
    color: #4f5f6d;
}

.search-results {
    border-top: 1px solid #d8e1e8;
}

.search-result-item {
    padding: 18px 0;
    border-bottom: 1px solid #d8e1e8;
}

.search-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 6px;
    font-size: 14px;
    color: #637789;
}

.search-result-meta span {
    color: #1f4f72;
    font-weight: 700;
}

.search-result-item h3 {
    font-size: 22px;
    line-height: 1.45;
    margin: 0 0 8px;
}

.search-result-item p {
    margin: 0 0 8px;
    color: #4b4b4b;
}

.search-result-link {
    word-break: break-all;
    font-size: 14px;
}

.lang_switch {
    position: absolute;
    right: 210px;
    top: 28px;
    z-index: 12;
    display: none;
    gap: 6px;
    align-items: center;
}

.lang_switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid rgba(31, 79, 114, .28);
    background: rgba(255, 255, 255, .92);
    color: #1f4f72;
    font-size: 13px;
    line-height: 1;
}

.lang_switch a.active {
    background: #1f4f72;
    color: #fff;
}

.mobile_lang_switch {
    display: none;
}

@media (min-width: 1200px) {
    .lang_switch {
        display: flex;
    }

    html[lang="zh-Hant"] .page_con .cms-sustainability-group-title strong {
        overflow-wrap: normal;
        word-break: keep-all;
        white-space: nowrap;
        font-size: 14px;
    }

    html[lang="en"] .page_con .cms-sustainability-group-title {
        min-height: 124px;
    }
}

@media (max-width: 1199px) {
    .mobile_lang_switch {
        display: flex;
        justify-content: center;
        gap: 8px;
        padding: 18px 0 6px;
    }

    .mobile_lang_switch a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 54px;
        height: 32px;
        border: 1px solid rgba(31, 79, 114, .28);
        color: #1f4f72;
        background: #fff;
        font-size: 13px;
    }

    .mobile_lang_switch a.active {
        background: #1f4f72;
        color: #fff;
    }

    .home_metric_section,
    .page_con .cms-kpi-grid,
    .page_con .cms-info-grid,
    .page_con .cms-statement-grid,
    .page_con .cms-step-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page_con .cms-stakeholder-map,
    .page_con .cms-process-flow,
    .page_con .cms-org-committees,
    .page_con .cms-risk-owner-grid,
    .page_con .cms-risk-category-grid,
    .page_con .cms-security-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page_con .cms-risk-flow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page_con .cms-security-governance {
        grid-template-columns: 1fr;
    }

    .page_main,
    .page_con {
        min-width: 0;
        overflow-x: hidden;
    }

    .page_con p,
    .page_con li,
    .page_con strong {
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }
}

@media (max-width: 1199px) {
    .page_con .cms-sustainability-org {
        padding: 22px;
    }

    .page_con .cms-sustainability-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page_con .cms-command-support::before,
    .page_con .cms-command-support > div::before,
    .page_con .cms-sustainability-groups::before {
        display: none;
    }

    .page_con .cms-sustainability-groups {
        margin-top: 24px;
        padding-top: 22px;
    }

    .page_con .cms-materiality-chart {
        grid-template-columns: 1fr;
    }

    .page_con .cms-materiality-y {
        display: none;
    }

    .page_con .cms-materiality-plot {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        min-height: 0;
        padding: 14px;
        background-image: none;
    }

    .page_con .cms-materiality-focus-area {
        position: static;
        grid-column: 1 / -1;
        width: auto;
        height: auto;
        margin: -14px -14px 4px;
        padding: 14px;
        border-bottom-left-radius: 0;
        border-bottom: 1px solid #b9d5b8;
        text-align: left;
    }

    .page_con .cms-materiality-topic {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        display: flex;
        align-items: center;
        max-width: none;
        min-height: 42px;
        padding: 7px 9px 7px 22px;
    }

    .page_con .cms-materiality-topic::before {
        top: 50%;
        transform: translateY(-50%);
    }

    .page_con .cms-materiality-x,
    .page_con .cms-materiality-legend {
        grid-column: 1;
    }
}

@media (max-width: 575.98px) {
    .search-page-form {
        grid-template-columns: 1fr;
    }

    .kv_con {
        max-width: 100%;
    }

    .kv_title {
        font-size: 25px !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere;
        word-break: normal;
        white-space: normal !important;
    }

    .kvs_caption {
        align-items: flex-end;
        padding-bottom: 42px;
    }

    .kv_caption_text {
        font-size: 16px;
        line-height: 1.65;
    }

    .kv_bg::after {
        background: linear-gradient(180deg, rgba(0, 39, 61, .34), rgba(0, 39, 61, .46));
    }

    .page_kv {
        height: 190px;
    }

    .page_kv_bg {
        object-position: center center;
    }

    .page_kv::after {
        background: linear-gradient(90deg, rgba(16, 70, 98, .68), rgba(16, 70, 98, .22));
    }

    .page_kv_title {
        color: #fff;
        text-shadow: 0 3px 12px rgba(0, 0, 0, .28);
    }

    .home_metric_section,
    .page_con .cms-kpi-grid,
    .page_con .cms-info-grid,
    .page_con .cms-statement-grid,
    .page_con .cms-step-list,
    .page_con .cms-stakeholder-map,
    .page_con .cms-process-flow,
    .page_con .cms-matrix-board,
    .page_con .cms-org-committees,
    .page_con .cms-org-management,
    .page_con .cms-org-branches,
    .page_con .cms-risk-owner-grid,
    .page_con .cms-risk-flow,
    .page_con .cms-risk-category-grid,
    .page_con .cms-security-flow {
        grid-template-columns: 1fr;
    }

    .page_con .cms-command-support,
    .page_con .cms-sustainability-groups,
    .page_con .cms-materiality-plot {
        grid-template-columns: 1fr;
    }

    .home_metric_heading,
    .home_metric_item,
    .page_con .cms-lead,
    .page_con .cms-info-item,
    .page_con .cms-statement,
    .page_con .cms-step-list > div,
    .page_con .cms-stakeholder-core,
    .page_con .cms-stakeholder-node,
    .page_con .cms-process-step,
    .page_con .cms-matrix-cell,
    .page_con .cms-org-node,
    .page_con .cms-org-branch,
    .page_con .cms-risk-main,
    .page_con .cms-risk-secretary,
    .page_con .cms-risk-owner-grid > div,
    .page_con .cms-risk-category,
    .page_con .cms-security-badge,
    .page_con .cms-security-node {
        padding-left: 16px;
        padding-right: 16px;
    }

    .page_con .cms-stakeholder-core {
        grid-column: span 1;
    }

    .page_con .cms-material-matrix {
        grid-template-columns: 1fr;
    }

    .page_con .cms-matrix-y {
        display: block;
        writing-mode: horizontal-tb;
        transform: none;
        border-right: 0;
        border-bottom: 2px solid #bfd8e4;
        padding-bottom: 6px;
    }

    .page_con .cms-matrix-x {
        grid-column: auto;
    }

    .page_con .cms-kpi strong,
    .home_metric_value strong {
        font-size: 22px;
    }

    .page_con,
    .page_con * {
        max-width: 100%;
    }

    .page_main,
    .page_con {
        width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    .page_con .cms-lead {
        width: 100%;
    }

    .page_con p,
    .page_con li,
    .page_con strong {
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }

    .page_con .cms-info-item strong,
    .page_con .cms-info-item p,
    .page_con .cms-statement strong,
    .page_con .cms-step-list strong,
    .page_con .cms-step-list p,
    .page_con .cms-stakeholder-node strong,
    .page_con .cms-stakeholder-node p,
    .page_con .cms-process-step li,
    .page_con .cms-matrix-cell strong,
    .page_con .cms-matrix-cell p,
    .page_con .cms-org-node strong,
    .page_con .cms-org-branch p,
    .page_con .cms-risk-category p,
    .page_con .cms-security-node p,
    .page_con .cms-check-list li {
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .esg-table-stack .esg-data-table,
    .esg-table-stack .esg-data-table thead,
    .esg-table-stack .esg-data-table tbody,
    .esg-table-stack .esg-data-table tr,
    .esg-table-stack .esg-data-table th,
    .esg-table-stack .esg-data-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .esg-table-stack .esg-data-table {
        border: 0;
    }

    .esg-table-stack .esg-data-table thead {
        display: none;
    }

    .esg-table-stack .esg-data-table tr {
        border: 1px solid #d8e1e8;
        margin-bottom: 12px;
        background: #fff;
    }

    .esg-table-stack .esg-data-table td {
        position: relative;
        border: 0;
        border-bottom: 1px solid #edf2f5;
        padding-left: 42%;
    }

    .esg-table-stack .esg-data-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 12px;
        width: calc(42% - 24px);
        font-weight: 700;
        color: #1f4f72;
    }
}
