@charset "utf-8";

:root {
    --mp-primary: #0b5ed7;
    --mp-navy: #152238;
    --mp-accent: #f26522;
    --mp-text: #202631;
    --mp-muted: #667085;
    --mp-line: #e4e7ec;
    --mp-surface: #f6f8fb;
    --mp-white: #fff;
    --mp-container: 1200px;
}

.mp-subpage *,
.mp-subpage *::before,
.mp-subpage *::after {
    box-sizing: border-box;
}

.mp-container {
    width: min(calc(100% - 40px), var(--mp-container));
    margin-inline: auto;
}

.mp-section {
    padding: 100px 0;
}

.mp-eyebrow,
.mp-section-label {
    margin: 0 0 14px;
    color: var(--mp-primary);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .12em;
}

.mp-subhero {
    min-height: 420px;
    display: flex;
    align-items: center;
    color: var(--mp-white);
    background:
        linear-gradient(100deg, rgba(10,25,48,.96), rgba(10,25,48,.78)),
        radial-gradient(circle at 80% 30%, #2c5d9a 0, transparent 35%),
        var(--mp-navy);
}

.mp-subhero .mp-eyebrow {
    color: #8dbbff;
}

.mp-subhero h1 {
    margin: 0;
    max-width: 820px;
    font-size: clamp(40px, 5vw, 66px);
    line-height: 1.18;
    letter-spacing: -.04em;
}

.mp-ceo-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
    align-items: center;
}

.mp-ceo-visual {
    min-height: 560px;
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(11,94,215,.08), rgba(21,34,56,.2)),
        var(--mp-surface);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.mp-ceo-portrait {
    width: 72%;
    aspect-ratio: 3 / 4;
    border-radius: 180px 180px 0 0;
    background: linear-gradient(180deg, #dbe7f8, #a9bdd9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(21,34,56,.35);
    font-size: 54px;
    font-weight: 900;
    letter-spacing: .08em;
}

.mp-ceo-content h2,
.mp-history-heading h2,
.mp-company-cta h2 {
    margin: 0;
    color: var(--mp-navy);
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.25;
    letter-spacing: -.035em;
}

.mp-richtext {
    margin-top: 34px;
    color: #475467;
    font-size: 18px;
    line-height: 1.85;
}

.mp-richtext p {
    margin: 0 0 22px;
}

.mp-ceo-sign {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--mp-line);
    display: flex;
    align-items: baseline;
    gap: 14px;
}

.mp-ceo-sign span {
    color: var(--mp-muted);
}

.mp-ceo-sign strong {
    color: var(--mp-navy);
    font-size: 26px;
}

.mp-history-heading {
    max-width: 760px;
    margin-bottom: 58px;
}

.mp-timeline {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid var(--mp-navy);
}

.mp-timeline__group {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    padding: 40px 0;
    border-bottom: 1px solid var(--mp-line);
}

.mp-timeline__year {
    color: var(--mp-primary);
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 900;
    line-height: 1;
}

.mp-timeline__items {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mp-timeline__items li {
    position: relative;
    padding: 4px 0 4px 22px;
    color: #475467;
    font-size: 18px;
}

.mp-timeline__items li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mp-primary);
}

.mp-company-cta {
    padding: 76px 0;
    background: var(--mp-primary);
}

.mp-company-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.mp-company-cta .mp-section-label {
    color: #d7e7ff;
}

.mp-company-cta h2 {
    max-width: 720px;
    color: var(--mp-white);
    font-size: clamp(29px, 4vw, 42px);
}

.mp-button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 10px;
    font-weight: 800;
    text-decoration: none;
}

.mp-button--accent {
    flex: 0 0 auto;
    color: var(--mp-white);
    background: var(--mp-accent);
}

@media (max-width: 900px) {
    .mp-section {
        padding: 76px 0;
    }

    .mp-ceo-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .mp-ceo-visual {
        min-height: 430px;
    }

    .mp-company-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .mp-container {
        width: min(calc(100% - 32px), var(--mp-container));
    }

    .mp-section {
        padding: 60px 0;
    }

    .mp-subhero {
        min-height: 360px;
    }

    .mp-richtext,
    .mp-timeline__items li {
        font-size: 16px;
    }

    .mp-timeline__group {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 30px 0;
    }
}


/* Organization */
.mp-orgchart {
    position: relative;
    margin-top: 60px;
    padding: 20px 0 10px;
}

.mp-orgchart__top {
    display: flex;
    justify-content: center;
}

.mp-orgchart__line {
    width: 2px;
    height: 46px;
    margin: 0 auto;
    background: var(--mp-line);
}

.mp-orgchart__teams {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    padding-top: 36px;
}

.mp-orgchart__teams::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 2px;
    background: var(--mp-line);
}

.mp-org-node {
    position: relative;
    min-height: 130px;
    padding: 28px 18px;
    border: 1px solid var(--mp-line);
    border-radius: 16px;
    background: var(--mp-white);
    box-shadow: 0 10px 30px rgba(21, 34, 56, .06);
    text-align: center;
}

.mp-orgchart__teams .mp-org-node::before {
    content: "";
    position: absolute;
    top: -36px;
    left: 50%;
    width: 2px;
    height: 36px;
    background: var(--mp-line);
}

.mp-org-node span,
.mp-org-node strong {
    display: block;
}

.mp-org-node span {
    color: var(--mp-navy);
    font-size: 19px;
    font-weight: 800;
}

.mp-org-node strong {
    margin-top: 8px;
    color: var(--mp-primary);
    font-size: 15px;
}

.mp-org-node small {
    display: block;
    margin-top: 8px;
    color: var(--mp-muted);
}

.mp-org-node--primary {
    width: min(100%, 280px);
    color: var(--mp-white);
    border-color: var(--mp-primary);
    background: var(--mp-primary);
}

.mp-org-node--primary span,
.mp-org-node--primary strong {
    color: var(--mp-white);
}

/* Location */
.mp-location-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 36px;
    align-items: stretch;
}

.mp-map-placeholder {
    min-height: 480px;
    border: 1px solid var(--mp-line);
    border-radius: 20px;
    background:
        linear-gradient(rgba(255,255,255,.82), rgba(255,255,255,.82)),
        repeating-linear-gradient(45deg, #eef2f7 0 18px, #e4e9f0 18px 36px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.mp-map-placeholder strong {
    color: var(--mp-navy);
    font-size: 26px;
}

.mp-map-placeholder p {
    max-width: 360px;
    margin: 12px auto 0;
    color: var(--mp-muted);
    line-height: 1.7;
}

.mp-location-info {
    padding: 34px;
    border-radius: 20px;
    background: var(--mp-surface);
}

.mp-location-info dl {
    margin: 0;
}

.mp-location-info dl > div {
    padding: 20px 0;
    border-bottom: 1px solid var(--mp-line);
}

.mp-location-info dt {
    margin-bottom: 8px;
    color: var(--mp-primary);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
}

.mp-location-info dd {
    margin: 0;
    color: var(--mp-text);
    font-size: 17px;
    line-height: 1.6;
}

.mp-location-info a {
    color: inherit;
    text-decoration: none;
}

.mp-location-note {
    margin-top: 26px;
    padding: 22px;
    border-radius: 14px;
    background: var(--mp-white);
}

.mp-location-note strong {
    color: var(--mp-navy);
}

.mp-location-note p {
    margin: 8px 0 0;
    color: var(--mp-muted);
    line-height: 1.7;
}

.mp-transport {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 34px;
}

.mp-transport-card {
    padding: 28px;
    border: 1px solid var(--mp-line);
    border-radius: 16px;
    background: var(--mp-white);
}

.mp-transport-card h3 {
    margin: 0 0 12px;
    color: var(--mp-navy);
    font-size: 20px;
}

.mp-transport-card p {
    margin: 0;
    color: var(--mp-muted);
    line-height: 1.7;
}

@media (max-width: 980px) {
    .mp-orgchart__teams {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mp-orgchart__teams::before,
    .mp-orgchart__teams .mp-org-node::before {
        display: none;
    }

    .mp-location-grid {
        grid-template-columns: 1fr;
    }

    .mp-transport {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .mp-orgchart__teams {
        grid-template-columns: 1fr;
    }

    .mp-org-node {
        min-height: auto;
    }

    .mp-map-placeholder {
        min-height: 340px;
        padding: 24px;
    }

    .mp-location-info {
        padding: 24px;
    }
}

/* RC3.4 company history / location */
.mp-subhero__desc{max-width:680px;margin:24px 0 0;color:rgba(255,255,255,.78);font-size:18px;line-height:1.75}
.mp-company-tabs{border-bottom:1px solid var(--mp-line);background:#fff}
.mp-company-tabs .mp-container{display:flex;gap:6px;overflow-x:auto}
.mp-company-tabs a{position:relative;flex:0 0 auto;padding:22px 24px;color:var(--mp-muted);font-weight:700;text-decoration:none;white-space:nowrap}
.mp-company-tabs a.is-current{color:var(--mp-primary)}
.mp-company-tabs a.is-current::after{content:"";position:absolute;right:20px;bottom:-1px;left:20px;height:3px;background:var(--mp-primary)}
.mp-section-intro{margin:28px 0 0;color:#475467;font-size:18px;line-height:1.85}
.mp-map-area,.mp-map-area iframe{min-height:500px;width:100%}
.mp-map-area iframe{display:block;border:0;border-radius:20px}
.mp-location-info h3{margin:0 0 12px;color:var(--mp-navy);font-size:28px}
.mp-location-actions{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.mp-button--primary{color:#fff;background:var(--mp-primary)}
.mp-button--outline{color:var(--mp-primary);border:1px solid var(--mp-primary);background:#fff}
.mp-transport-card span{display:inline-flex;margin-bottom:18px;color:var(--mp-primary);font-weight:900;letter-spacing:.08em}
@media(max-width:560px){.mp-subhero__desc,.mp-section-intro{font-size:16px}.mp-company-tabs a{padding:18px 15px}.mp-map-area,.mp-map-area iframe{min-height:340px}.mp-location-actions .mp-button{width:100%}}


/* RC4.43: uploaded company subpage hero image set */
.mp-subhero{position:relative;overflow:hidden;isolation:isolate;background:#07162d}
.mp-subhero::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat}
.mp-subhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,18,39,.98) 0%,rgba(5,18,39,.9) 38%,rgba(5,18,39,.5) 64%,rgba(5,18,39,.16) 100%)}
.mp-subhero--history::before{background-image:image-set(url('../images/hero/subpages/hero-history-desktop.webp') type('image/webp'),url('../images/hero/subpages/hero-history-desktop.jpg') type('image/jpeg'))}
.mp-subhero--location::before{background-image:image-set(url('../images/hero/subpages/hero-location-desktop.webp') type('image/webp'),url('../images/hero/subpages/hero-location-desktop.jpg') type('image/jpeg'))}
.mp-subhero .mp-container{position:relative;z-index:1}
.mp-subhero__desc{max-width:680px}
@media(max-width:1024px){
  .mp-subhero--history::before{background-image:image-set(url('../images/hero/subpages/hero-history-tablet.webp') type('image/webp'),url('../images/hero/subpages/hero-history-tablet.jpg') type('image/jpeg'))}
  .mp-subhero--location::before{background-image:image-set(url('../images/hero/subpages/hero-location-tablet.webp') type('image/webp'),url('../images/hero/subpages/hero-location-tablet.jpg') type('image/jpeg'))}
  .mp-subhero::after{background:linear-gradient(90deg,rgba(5,18,39,.97) 0%,rgba(5,18,39,.82) 52%,rgba(5,18,39,.3) 100%)}
}
@media(max-width:560px){
  .mp-subhero--history::before{background-image:image-set(url('../images/hero/subpages/hero-history-mobile.webp') type('image/webp'),url('../images/hero/subpages/hero-history-mobile.jpg') type('image/jpeg'));background-position:68% center}
  .mp-subhero--location::before{background-image:image-set(url('../images/hero/subpages/hero-location-mobile.webp') type('image/webp'),url('../images/hero/subpages/hero-location-mobile.jpg') type('image/jpeg'));background-position:66% center}
  .mp-subhero::after{background:linear-gradient(90deg,rgba(5,18,39,.96),rgba(5,18,39,.68))}
}

/* RC4.44: company subpage hero and tabs alignment */
.mp-subhero,
.pwp-subhero--company {
    height: 336px;
    min-height: 336px;
    padding: 0;
    display: flex;
    align-items: center;
}

.mp-subhero .mp-container {
    width: min(calc(100% - 40px), var(--mp-container));
}

.mp-subhero h1 {
    max-width: 700px;
    font-size: clamp(36px, 3.35vw, 50px);
    line-height: 1.18;
}

.mp-subhero h1 em {
    color: #8db7ff;
    font-style: normal;
}

.mp-subhero__desc {
    max-width: 660px;
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.7;
}

/* Keep the complete source artwork visible instead of filling by cropping. */
.mp-subhero::before {
    background-size: auto 100%;
    background-position: right center;
    background-color: #07162d;
}

.mp-subhero::after {
    background: linear-gradient(90deg,
        rgba(5,18,39,1) 0%,
        rgba(5,18,39,.98) 36%,
        rgba(5,18,39,.86) 53%,
        rgba(5,18,39,.18) 76%,
        rgba(5,18,39,.05) 100%);
}

.mp-subhero--company::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: image-set(
        url('../images/hero/subpages/hero-company-desktop.webp') type('image/webp'),
        url('../images/hero/subpages/hero-company-desktop.jpg') type('image/jpeg')
    );
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: right center;
    background-color: #07162d;
}

.mp-subhero--company::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg,
        rgba(5,18,39,1) 0%,
        rgba(5,18,39,.98) 36%,
        rgba(5,18,39,.86) 53%,
        rgba(5,18,39,.18) 76%,
        rgba(5,18,39,.05) 100%);
}

.mp-subhero--company .mp-eyebrow,
.mp-subhero--company h1,
.mp-subhero--company .mp-subhero__desc {
    color: #fff;
}

.mp-subhero--company .mp-eyebrow { color: #8dbbff; }
.mp-subhero--company .mp-subhero__desc { color: rgba(255,255,255,.82); }

.mp-company-tabs .mp-container {
    min-height: 52px;
    align-items: stretch;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.mp-company-tabs .mp-container::-webkit-scrollbar { display: none; }
.mp-company-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 52px;
    padding: 0 20px;
}

@media (max-width: 1024px) {
    .mp-subhero,
    .pwp-subhero--company {
        height: 320px;
        min-height: 320px;
    }
    .mp-subhero::before,
    .mp-subhero--company::before {
        background-size: auto 100%;
        background-position: right center;
    }
    .mp-subhero h1 { font-size: clamp(34px, 5vw, 44px); }
}

@media (max-width: 720px) {
    .mp-subhero,
    .pwp-subhero--company {
        height: 300px;
        min-height: 300px;
    }
    .mp-subhero .mp-container { width: min(calc(100% - 32px), var(--mp-container)); }
    .mp-subhero h1 { max-width: 92%; font-size: 32px; }
    .mp-subhero__desc { max-width: 92%; font-size: 15px; }
    .mp-subhero::before,
    .mp-subhero--company::before {
        background-size: auto 100%;
        background-position: 72% center;
        opacity: .72;
    }
    .mp-subhero::after,
    .mp-subhero--company::after {
        background: linear-gradient(90deg,rgba(5,18,39,.98) 0%,rgba(5,18,39,.86) 58%,rgba(5,18,39,.38) 100%);
    }
    .mp-company-tabs a { min-height: 48px; padding: 0 14px; font-size: 14px; }
}

@media (max-width: 420px) {
    .mp-subhero h1 { font-size: 28px; }
    .mp-subhero__desc { margin-top: 14px; }
}


/* RC4.45: preserve full hero artwork and refine company copy scale */
.mp-subhero,
.pwp-subhero--company {
    height: clamp(320px, 21.875vw, 420px);
    min-height: 320px;
}

.mp-subhero::before,
.mp-subhero--company::before {
    inset: 0;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
}

.mp-subhero::after,
.mp-subhero--company::after {
    background: linear-gradient(90deg,
        rgba(5,18,39,.94) 0%,
        rgba(5,18,39,.80) 34%,
        rgba(5,18,39,.34) 55%,
        rgba(5,18,39,.04) 100%);
}

.mp-subhero h1 {
    max-width: 620px;
    font-size: clamp(32px, 2.85vw, 44px);
    line-height: 1.2;
}

.mp-subhero__desc {
    max-width: 540px;
    margin-top: 16px;
    font-size: 15px;
}

@media (max-width: 1024px) {
    .mp-subhero,
    .pwp-subhero--company {
        height: clamp(280px, 28.125vw, 320px);
        min-height: 280px;
    }
    .mp-subhero h1 { font-size: clamp(30px, 4vw, 38px); }
}

@media (max-width: 720px) {
    .mp-subhero,
    .pwp-subhero--company {
        height: clamp(300px, 57.778vw, 416px);
        min-height: 300px;
    }
    .mp-subhero::before,
    .mp-subhero--company::before {
        background-size: 100% 100%;
        background-position: center;
        opacity: 1;
    }
    .mp-subhero::after,
    .mp-subhero--company::after {
        background: linear-gradient(90deg,rgba(5,18,39,.96) 0%,rgba(5,18,39,.78) 60%,rgba(5,18,39,.26) 100%);
    }
    .mp-subhero h1 { max-width: 88%; font-size: 29px; }
    .mp-subhero__desc { max-width: 82%; font-size: 14px; }
}

@media (max-width: 420px) {
    .mp-subhero h1 { font-size: 26px; }
}
