@import url("../fonts/noto-sans-sc/font.css");

:root {
    --ace-sans: "Noto Sans SC", sans-serif;
    --ace-serif: var(--ace-sans);
    --ace-red: #a8101b;
    --ace-red-bright: #c51c28;
    --ace-ink: #171716;
    --ace-ink-soft: #343230;
    --ace-paper: #f5f2ec;
    --ace-cream: #ebe5dc;
    --ace-line: rgba(23, 23, 22, .14);
    --ace-shell: 1440px;
    --ace-gutter: clamp(24px, 4.2vw, 72px);
    --ace-hero-bottom-gap: 72px;
    --ace-booking-overlap: 46px;
    --ace-ease: cubic-bezier(.22, .61, .36, 1);
    --ace-disclosure-duration: .26s;
    --ace-disclosure-radius: 14px;
    --ace-disclosure-border: rgba(42, 35, 31, .14);
    --ace-disclosure-shadow: 0 18px 46px rgba(42, 26, 22, .14);
}

/* Project list mobile refinement: two-row sticky filters with bottom-sheet pickers. */
.ace-project-tools__title,
.ace-project-city > summary,
.ace-project-city__head,
.ace-project-city__backdrop,
.ace-project-industry__head,
.ace-project-industry__backdrop,
.ace-project-mobile-result {
    display: none;
}

.ace-project-mobile-pickers {
    display: contents;
}

.ace-project-city {
    position: relative;
}

@media (max-width: 760px) {
    body.is-project-city-open,
    body.is-project-industry-open {
        overflow: hidden;
    }

    body.is-project-city-open .ace-project-tools,
    body.is-project-industry-open .ace-project-tools {
        z-index: 120;
    }

    body.is-project-city-open .ace-back-top,
    body.is-project-industry-open .ace-back-top {
        opacity: 0;
        pointer-events: none;
    }

    body.ace-v2-page .ace-project-index {
        padding-top: 64px;
        padding-bottom: 84px;
    }

    body.ace-v2-page .ace-project-index .ace-section__heading {
        gap: 16px;
    }

    body.ace-v2-page .ace-project-index__summary {
        padding-left: 14px;
        line-height: 1.7;
    }

    body.ace-v2-page .ace-project-tools {
        position: sticky;
        z-index: 20;
        top: 72px;
        margin: 28px 0 36px;
    }

    body.ace-v2-page .ace-project-tools.is-mobile-stuck {
        margin-right: calc(var(--ace-gutter) * -1);
        margin-left: calc(var(--ace-gutter) * -1);
        padding-right: var(--ace-gutter);
        padding-left: var(--ace-gutter);
        background: #f4f6f7;
        box-shadow: 0 12px 28px rgba(23, 23, 22, .08);
    }

    body.ace-v2-page .ace-project-tools.is-mobile-stuck .ace-project-search {
        display: block;
    }

    body.ace-v2-page .ace-project-tools.is-mobile-stuck .ace-project-tools__top {
        padding: 10px 0;
    }

    body.ace-v2-page .ace-project-tools.is-mobile-stuck .ace-project-filter-row {
        padding: 4px 0;
    }

    body.ace-v2-page .ace-project-tools__top {
        padding: 10px 0;
        gap: 0;
        border-bottom: 0;
    }

    body.ace-v2-page .ace-project-search > span:first-child,
    body.ace-v2-page .ace-project-filter-row__label {
        display: none;
    }

    body.ace-v2-page .ace-project-tools__status {
        display: none;
    }

    body.ace-v2-page .ace-project-tools__title {
        display: block;
        margin-right: auto;
        color: var(--ace-ink);
        font-size: 17px;
        font-weight: 600;
    }

    body.ace-v2-page .ace-project-tools__result {
        color: #77716c;
        font-size: 12px;
    }

    body.ace-v2-page .ace-project-tools__status strong {
        margin-right: 3px;
        font-size: 20px;
        font-weight: 600;
    }

    body.ace-v2-page .ace-project-tools__status button {
        flex: 0 0 auto;
        padding: 4px 0;
        font-size: 12px;
    }

    body.ace-v2-page .ace-project-filter-row {
        padding: 0;
        gap: 0;
    }

    body.ace-v2-page .ace-project-search {
        display: block;
    }

    body.ace-v2-page .ace-project-search input {
        height: 46px;
        background: #fff;
    }

    body.ace-v2-page .ace-project-mobile-pickers {
        display: grid;
        padding: 0 0 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.ace-v2-page .ace-project-mobile-pickers .ace-project-filter-row,
    body.ace-v2-page .ace-project-tools.is-mobile-stuck .ace-project-mobile-pickers .ace-project-filter-row {
        display: block;
        min-width: 0;
        min-height: 0;
        padding: 0;
        border: 0;
    }

    body.ace-v2-page .ace-project-city,
    body.ace-v2-page .ace-project-industry {
        width: 100%;
        min-width: 0;
    }

    body.ace-v2-page .ace-project-city > summary,
    body.ace-v2-page .ace-project-industry > summary {
        display: flex;
        width: 100%;
        min-width: 0;
        min-height: 48px;
        padding: 0 13px;
    }

    body.ace-v2-page .ace-project-city > summary {
        align-items: center;
        justify-content: space-between;
        border: 1px solid var(--ace-disclosure-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(42, 26, 22, .05);
        cursor: pointer;
        list-style: none;
    }

    body.ace-v2-page .ace-project-city > summary::-webkit-details-marker {
        display: none;
    }

    body.ace-v2-page .ace-project-city > summary > span,
    body.ace-v2-page .ace-project-industry > summary > span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.ace-v2-page .ace-project-city > summary i {
        position: relative;
        display: block;
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        color: var(--ace-red);
        font-style: normal;
        transition: transform var(--ace-disclosure-duration) var(--ace-ease);
    }

    body.ace-v2-page .ace-project-city > summary i::before {
        position: absolute;
        top: 4px;
        left: 5px;
        width: 8px;
        height: 8px;
        content: "";
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
    }

    body.ace-v2-page .ace-project-city[open] > summary i {
        transform: rotate(180deg);
    }

    body.ace-v2-page .ace-project-city__panel,
    body.ace-v2-page .ace-project-industry__panel {
        display: none;
    }

    body.ace-v2-page .ace-project-city__backdrop,
    body.ace-v2-page .ace-project-industry__backdrop {
        position: fixed;
        z-index: 120;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(23, 23, 22, .34);
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
    }

    body.ace-v2-page .ace-project-city.is-mobile-ready[open] .ace-project-city__backdrop,
    body.ace-v2-page .ace-project-industry[open] .ace-project-industry__backdrop,
    body.ace-v2-page.is-project-city-open > .ace-project-city__backdrop,
    body.ace-v2-page.is-project-industry-open > .ace-project-industry__backdrop {
        display: block;
        animation: aceProjectSheetBackdropIn .24s ease both;
    }

    body.ace-v2-page .ace-project-city.is-mobile-ready[open] .ace-project-city__panel,
    body.ace-v2-page .ace-project-industry[open] > .ace-project-industry__panel,
    body.ace-v2-page.is-project-city-open > .ace-project-city__panel,
    body.ace-v2-page.is-project-industry-open > .ace-project-industry__panel {
        position: fixed;
        z-index: 121;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        max-height: min(76svh, 680px);
        margin: 0;
        padding: 18px 20px max(20px, env(safe-area-inset-bottom));
        overflow: hidden;
        flex-direction: column;
        border: 0;
        border-radius: 22px 22px 0 0;
        background: #fff;
        box-shadow: 0 -20px 60px rgba(26, 20, 18, .18);
        animation: aceProjectSheetIn .3s var(--ace-ease) both;
    }

    body.ace-v2-page.is-project-city-open > .ace-project-city__backdrop,
    body.ace-v2-page.is-project-industry-open > .ace-project-industry__backdrop {
        z-index: 98;
    }

    body.ace-v2-page.is-project-city-open > .ace-project-city__panel,
    body.ace-v2-page.is-project-industry-open > .ace-project-industry__panel {
        z-index: 99;
        animation: none;
    }

    body.ace-v2-page .ace-project-industry__panel {
        height: min(76vh, 680px);
        max-height: calc(100vh - 96px);
        height: min(76dvh, 680px);
        max-height: calc(100dvh - 96px);
    }

    body.ace-v2-page .ace-project-city__head,
    body.ace-v2-page .ace-project-industry__head {
        display: flex;
        min-height: 42px;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
    }

    body.ace-v2-page .ace-project-city__head strong,
    body.ace-v2-page .ace-project-industry__head strong {
        font-size: 20px;
        font-weight: 600;
    }

    body.ace-v2-page .ace-project-city__head button,
    body.ace-v2-page .ace-project-industry__head button {
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        padding: 0;
        color: #6f6862;
        border: 1px solid #dedad5;
        border-radius: 50%;
        background: #fff;
        font-size: 24px;
        font-weight: 300;
        line-height: 1;
    }

    body.ace-v2-page .ace-project-industry__search {
        flex: 0 0 auto;
    }

    body.ace-v2-page .ace-project-industry__search input {
        height: 48px;
    }

    body.ace-v2-page .ace-project-city-list {
        display: grid;
        max-height: min(52svh, 430px);
        margin: 0;
        padding: 2px 0 8px;
        overflow-x: hidden;
        overflow-y: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: 8px;
        overscroll-behavior: contain;
        scrollbar-width: none;
    }

    body.ace-v2-page .ace-project-city-list::-webkit-scrollbar {
        display: none;
    }

    body.ace-v2-page .ace-project-city-list button,
    body.ace-v2-page .ace-project-city-list button.is-active {
        min-width: 0;
        min-height: 46px;
        padding: 0 12px;
        text-align: left;
        border: 1px solid rgba(80, 73, 68, .14);
        border-radius: 10px;
        background: #faf9f7;
    }

    body.ace-v2-page .ace-project-city-list button.is-active {
        color: var(--ace-red);
        border-color: rgba(168, 16, 27, .3);
        background: rgba(168, 16, 27, .055);
    }

    body.ace-v2-page .ace-project-industry__list {
        min-height: 0;
        max-height: none;
        margin-top: 12px;
        padding: 0 4px 8px 0;
        overflow-y: auto;
        flex: 1 1 auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        gap: 7px 20px;
    }

    body.ace-v2-page .ace-project-mobile-result {
        display: block;
        margin: 0 0 24px;
        padding-top: 12px;
        color: #817a74;
        font-size: 12px;
        text-align: right;
    }

    body.ace-v2-page .ace-project-mobile-result strong {
        margin: 0 2px;
        color: var(--ace-red);
        font-size: 18px;
        font-weight: 600;
    }

    body.ace-v2-page .ace-project-grid {
        gap: 36px;
    }

    body.ace-v2-page .ace-project-grid span {
        margin-top: 14px;
    }

    body.ace-v2-page .ace-project-grid h3 {
        display: -webkit-box;
        overflow: hidden;
        margin: 6px 0 8px;
        font-size: 18px;
        line-height: 1.45;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.ace-v2-page .ace-project-grid p {
        margin-bottom: 16px;
    }

}

@keyframes aceProjectSheetBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes aceProjectSheetIn {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* About partner ecosystem gallery — 2026-08-17 */
.ace-about-refresh .ace-partner-gallery {
    --ace-partner-columns: 4;
    --ace-partner-gap: 14px;
    --ace-partner-card-height: 164px;
    color: #202124;
}

.ace-about-refresh .ace-partner-gallery__layout {
    display: grid;
    grid-template-columns: 188px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(78, 92, 102, .14);
    border-radius: 0 30px 0 16px;
    background:
        radial-gradient(ellipse at 84% 0%, rgba(255, 255, 255, .94) 0%, transparent 35%),
        linear-gradient(128deg, #f9fbfc 0%, #edf1f3 45%, #f7f9fa 72%, #e7ecef 100%);
    box-shadow: 0 22px 58px rgba(57, 66, 72, .075);
    isolation: isolate;
}

.ace-about-refresh .ace-partner-gallery__content {
    min-width: 0;
    padding: 0 24px 24px;
    background: transparent;
}

.ace-about-refresh .ace-partner-gallery__tabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-self: stretch;
    align-content: start;
    border: 0;
    border-right: 1px solid rgba(78, 92, 102, .14);
    background: linear-gradient(180deg, rgba(246, 249, 250, .94), rgba(225, 231, 235, .9));
    counter-reset: ace-partner-tab;
    z-index: 1;
}

.ace-about-refresh .ace-partner-gallery__tab {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 82px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 14px 18px 14px 16px;
    border: 0;
    border-bottom: 1px solid rgba(78, 92, 102, .12);
    background: transparent;
    color: #50575c;
    counter-increment: ace-partner-tab;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: color .2s ease, background-color .2s ease;
}

.ace-about-refresh .ace-partner-gallery__tab:last-child {
    border-bottom: 0;
}

.ace-about-refresh .ace-partner-gallery__tab::before {
    display: none;
    color: #929ba1;
    content: "0" counter(ace-partner-tab);
    font-family: var(--ace-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
}

.ace-about-refresh .ace-partner-gallery__tab::after {
    position: absolute;
    top: 50%;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 10px solid #a30f19;
    content: "";
    opacity: 0;
    transform: translate(-5px, -50%);
    transition: opacity .2s ease, transform .2s ease;
}

.ace-about-refresh .ace-partner-gallery__tab span {
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-about-refresh .ace-partner-gallery__tab strong {
    color: #a6a6a6;
    font-family: var(--ace-sans);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

.ace-about-refresh .ace-partner-gallery__tab:hover:not(.is-active) {
    background: rgba(255, 255, 255, .58);
    color: #a30f19;
}

.ace-about-refresh .ace-partner-gallery__tab.is-active {
    background: #a30f19;
    color: #fff;
}

.ace-about-refresh .ace-partner-gallery__tab.is-active::before {
    color: rgba(255, 255, 255, .62);
}

.ace-about-refresh .ace-partner-gallery__tab.is-active::after {
    opacity: 1;
    transform: translate(0, -50%);
}

.ace-about-refresh .ace-partner-gallery__tab.is-active strong {
    color: rgba(255, 255, 255, .78);
}

.ace-about-refresh .ace-partner-gallery__tab:focus-visible,
.ace-about-refresh .ace-partner-gallery__controls button:focus-visible,
.ace-about-refresh .ace-partner-gallery__viewport:focus-visible {
    outline: 2px solid #a30f19;
    outline-offset: 3px;
}

.ace-about-refresh .ace-partner-gallery__header {
    display: flex;
    min-height: 104px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 0 16px;
}

.ace-about-refresh .ace-partner-gallery__copy {
    min-width: 0;
}

.ace-about-refresh .ace-partner-gallery__copy h3 {
    margin: 0 0 5px;
    color: #252525;
    font-size: 22px;
    font-weight: 600;
}

.ace-about-refresh .ace-partner-gallery__copy p {
    display: -webkit-box;
    min-height: 24px;
    margin: 0;
    overflow: hidden;
    color: #778087;
    font-size: 13px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ace-about-refresh .ace-partner-gallery__controls {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.ace-about-refresh .ace-partner-gallery__range {
    min-width: 116px;
    margin-right: 8px;
    color: #606970;
    font-family: var(--ace-sans);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
    text-align: right;
}

.ace-about-refresh .ace-partner-gallery__controls button {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    padding: 0;
    border: 1px solid #d2d9dd;
    border-radius: 50%;
    background: #fff;
    color: #303030;
    cursor: pointer;
    font: inherit;
    font-size: 17px;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.ace-about-refresh .ace-partner-gallery__controls button:hover:not(:disabled) {
    border-color: #a30f19;
    background: #a30f19;
    color: #fff;
}

.ace-about-refresh .ace-partner-gallery__controls button:disabled {
    cursor: default;
    opacity: .28;
}

.ace-about-refresh .ace-partner-gallery__progress {
    position: relative;
    height: 2px;
    margin-bottom: 16px;
    overflow: hidden;
    background: #d9dfe3;
}

.ace-about-refresh .ace-partner-gallery__progress i {
    position: absolute;
    inset: 0;
    background: #a30f19;
    transform: scaleX(.1091);
    transform-origin: left center;
    transition: transform .2s ease;
}

.ace-about-refresh .ace-partner-gallery__panel[hidden] {
    display: none;
}

.ace-about-refresh .ace-partner-gallery__viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    touch-action: pan-x pan-y;
    cursor: grab;
}

.ace-about-refresh .ace-partner-gallery__viewport::-webkit-scrollbar {
    display: none;
}

.ace-about-refresh .ace-partner-gallery__viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
}

.ace-about-refresh .ace-partner-gallery__track {
    display: grid;
    width: 100%;
    height: calc(var(--ace-partner-card-height) + var(--ace-partner-card-height) + var(--ace-partner-card-height) + var(--ace-partner-gap) + var(--ace-partner-gap));
    grid-auto-columns: calc((100% - 42px) / 4);
    grid-auto-flow: column;
    grid-template-rows: repeat(3, var(--ace-partner-card-height));
    gap: var(--ace-partner-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ace-about-refresh .ace-partner-card {
    min-width: 0;
    min-height: 0;
}

.ace-about-refresh .ace-partner-card:nth-child(3n + 1) {
    scroll-snap-align: start;
}

.ace-about-refresh .ace-partner-card figure {
    display: grid;
    height: 100%;
    grid-template-rows: minmax(0, 1fr);
    margin: 0;
    border: 1px solid rgba(78, 92, 102, .14);
    background: rgba(255, 255, 255, .88);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.ace-about-refresh .ace-partner-card:hover figure {
    border-color: rgba(168, 16, 27, .28);
    box-shadow: 0 8px 24px rgba(57, 66, 72, .08);
}

.ace-about-refresh .ace-partner-card__media {
    display: flex;
    min-width: 0;
    min-height: 0;
    align-items: center;
    justify-content: center;
    padding: 12px 16px 6px;
    overflow: hidden;
}

.ace-about-refresh .ace-partner-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .18s ease;
    -webkit-user-drag: none;
    user-select: none;
}

.ace-about-refresh .ace-partner-card__media img:not([src]) {
    opacity: 0;
}

.ace-about-refresh .ace-partner-card figcaption {
    display: none;
}

.ace-about-refresh .ace-partner-card.is-image-loading .ace-partner-card__media,
.ace-about-refresh .ace-partner-card.has-image-error .ace-partner-card__media {
    display: none;
}

.ace-about-refresh .ace-partner-card.is-image-loading figcaption,
.ace-about-refresh .ace-partner-card.has-image-error figcaption {
    display: grid;
    height: 100%;
    place-items: center;
    padding: 18px;
    color: #778087;
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

.ace-about-refresh .ace-partner-card.is-image-loading figcaption {
    color: #a0a8ad;
}

@media (max-width: 1199px) {
    .ace-about-refresh .ace-partner-gallery {
        --ace-partner-columns: 3;
        --ace-partner-card-height: 158px;
    }

    .ace-about-refresh .ace-partner-gallery__layout {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .ace-about-refresh .ace-partner-gallery__content {
        padding: 0 18px 18px;
    }

    .ace-about-refresh .ace-partner-gallery__tab {
        min-height: 78px;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px;
        padding-right: 13px;
        padding-left: 12px;
    }

    .ace-about-refresh .ace-partner-gallery__track {
        grid-auto-columns: calc((100% - 28px) / 3);
    }
}

@media (max-width: 767px) {
    .ace-about-refresh .ace-partner-gallery {
        --ace-partner-columns: 2;
        --ace-partner-gap: 10px;
        --ace-partner-card-height: 142px;
    }

    .ace-about-refresh .ace-partner-gallery__layout {
        display: block;
        border-radius: 0 20px 0 10px;
        box-shadow: 0 16px 38px rgba(57, 66, 72, .065);
    }

    .ace-about-refresh .ace-partner-gallery__content {
        padding: 0 12px 12px;
    }

    .ace-about-refresh .ace-partner-gallery__tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-bottom: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(78, 92, 102, .14);
    }

    .ace-about-refresh .ace-partner-gallery__tab {
        display: flex;
        min-height: 56px;
        justify-content: center;
        padding: 12px 10px;
        border-right: 1px solid rgba(78, 92, 102, .12);
        border-bottom: 1px solid rgba(78, 92, 102, .12);
        text-align: center;
    }

    .ace-about-refresh .ace-partner-gallery__tab::before,
    .ace-about-refresh .ace-partner-gallery__tab::after {
        display: none;
    }

    .ace-about-refresh .ace-partner-gallery__tab:nth-child(2n) {
        border-right: 0;
    }

    .ace-about-refresh .ace-partner-gallery__tab:nth-child(n + 3) {
        border-bottom: 0;
    }

    .ace-about-refresh .ace-partner-gallery__header {
        display: block;
        min-height: 142px;
        padding: 18px 4px 12px;
    }

    .ace-about-refresh .ace-partner-gallery__copy {
        min-height: 70px;
    }

    .ace-about-refresh .ace-partner-gallery__copy h3 {
        font-size: 19px;
    }

    .ace-about-refresh .ace-partner-gallery__controls {
        justify-content: flex-end;
    }

    .ace-about-refresh .ace-partner-gallery__range {
        margin-right: auto;
        text-align: left;
    }

    .ace-about-refresh .ace-partner-gallery__controls button {
        width: 36px;
        height: 36px;
    }

    .ace-about-refresh .ace-partner-gallery__progress {
        margin-bottom: 12px;
    }

    .ace-about-refresh .ace-partner-gallery__track {
        grid-auto-columns: calc((100% - 10px) / 2);
    }

    .ace-about-refresh .ace-partner-card figure {
        grid-template-rows: minmax(0, 1fr);
    }

    .ace-about-refresh .ace-partner-card__media {
        padding: 9px 10px 4px;
    }
}

@media (max-width: 359px) {
    .ace-about-refresh .ace-partner-gallery {
        --ace-partner-card-height: 136px;
    }

    .ace-about-refresh .ace-partner-gallery__tab {
        gap: 6px;
        padding-right: 6px;
        padding-left: 6px;
    }

    .ace-about-refresh .ace-partner-gallery__tab span {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-about-refresh .ace-partner-gallery__viewport {
        scroll-behavior: auto;
    }

    .ace-about-refresh .ace-partner-gallery__tab,
    .ace-about-refresh .ace-partner-gallery__tab::after,
    .ace-about-refresh .ace-partner-gallery__controls button,
    .ace-about-refresh .ace-partner-gallery__progress i,
    .ace-about-refresh .ace-partner-card figure,
    .ace-about-refresh .ace-partner-card__media img {
        transition: none;
    }
}

/* Inner pages */
.ace-inner-page {
    background: #fff;
}

.ace-inner-hero {
    position: relative;
    display: flex;
    min-height: clamp(430px, 52vw, 690px);
    align-items: flex-end;
    overflow: hidden;
    padding: 160px 0 clamp(64px, 8vw, 112px);
    color: #fff;
    background: #171716 var(--ace-inner-image) center / cover no-repeat;
}

.ace-inner-hero::before {
    position: absolute;
    content: "";
    background: linear-gradient(90deg, rgba(12, 10, 9, .75), rgba(12, 10, 9, .12) 72%), linear-gradient(0deg, rgba(12, 10, 9, .62), transparent 60%);
    inset: 0;
}

.ace-inner-hero .ace-shell {
    position: relative;
    z-index: 1;
}

.ace-inner-hero h1 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(58px, 7.4vw, 112px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.065em;
}

.ace-inner-hero p {
    max-width: 580px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(16px, 1.35vw, 21px);
    line-height: 1.7;
}

/* Light page banners: use the forthcoming 2560 × 680 canvas as the desktop frame. */
.ace-light-banner-page .ace-inner-hero {
    height: 680px;
    min-height: 680px;
    padding: 0;
    color: var(--ace-ink);
    background-color: #f4f5f7;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ace-light-banner-page .ace-inner-hero .ace-shell {
    padding-bottom: clamp(76px, 8vw, 120px);
}

.ace-light-banner-page .ace-inner-hero::before {
    display: none;
}

.ace-light-banner-page .ace-inner-hero .ace-kicker--light {
    color: var(--ace-red);
}

.ace-light-banner-page .ace-inner-hero p {
    margin-top: 26px;
    color: #5d5955;
    font-size: clamp(16px, 1.4vw, 21px);
}

.ace-light-banner-page .ace-inner-hero h1,
.ace-about-page.ace-light-banner-page .ace-about-hero h1 {
    font-size: 80px;
    line-height: 1;
    letter-spacing: -.06em;
}

.ace-light-banner-page .ace-inner-hero::after {
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

.ace-light-banner-page .ace-project-hero::after {
    right: 0;
    left: 0;
    width: 100%;
}

.ace-inner-intro {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
    gap: clamp(60px, 9vw, 150px);
    padding-block: clamp(90px, 10vw, 156px);
}

.ace-inner-heading > span {
    display: block;
    margin-bottom: 22px;
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
}

.ace-inner-heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(38px, 4.4vw, 68px);
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: -.055em;
}

.ace-inner-heading--light {
    color: #fff;
}

.ace-inner-heading--light > span {
    color: rgba(255, 255, 255, .58);
}

.ace-inner-prose {
    color: #595653;
    font-size: 17px;
    line-height: 2;
}

.ace-inner-prose p {
    margin: 0 0 22px;
}

.ace-page-cta {
    padding: clamp(90px, 10vw, 150px) 0;
    color: #fff;
    background: var(--ace-red);
}

.ace-page-cta span {
    font-size: 11px;
    letter-spacing: .2em;
    opacity: .65;
}

.ace-page-cta h2 {
    max-width: 850px;
    margin: 24px 0 44px;
    font-family: var(--ace-sans);
    font-size: clamp(38px, 4.6vw, 70px);
    font-weight: 500;
    line-height: 1.15;
}

.ace-page-cta a {
    display: inline-flex;
    align-items: center;
    gap: 35px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .7);
    font-weight: 700;
}

/* Service */
.ace-service-system {
    padding: clamp(90px, 9vw, 140px) 0;
    background: #1b1a19;
}

.ace-service-cards {
    display: grid;
    margin-top: 70px;
    border-top: 1px solid rgba(255, 255, 255, .17);
    border-left: 1px solid rgba(255, 255, 255, .17);
    grid-template-columns: repeat(4, 1fr);
}

.ace-service-cards article {
    min-height: 390px;
    padding: clamp(28px, 3.3vw, 52px);
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, .17);
    border-bottom: 1px solid rgba(255, 255, 255, .17);
    transition: color .3s ease, background .3s ease;
}

.ace-service-cards article:hover {
    color: var(--ace-ink);
    background: var(--ace-paper);
}

.ace-service-cards b {
    color: var(--ace-red-bright);
    font-family: var(--ace-sans);
    font-size: 13px;
}

.ace-service-cards h3 {
    margin: 80px 0 20px;
    font-family: var(--ace-sans);
    font-size: 30px;
    font-weight: 500;
}

.ace-service-cards p {
    margin: 0;
    color: currentColor;
    font-size: 14px;
    line-height: 1.9;
    opacity: .68;
}

.ace-service-cards small {
    display: block;
    margin-top: 50px;
    font-size: 11px;
    letter-spacing: .16em;
    opacity: .45;
}

.ace-service-property {
    padding: clamp(90px, 10vw, 150px) 0;
    background: var(--ace-paper);
}

.ace-service-property__grid {
    display: grid;
    align-items: center;
    gap: clamp(50px, 8vw, 130px);
    grid-template-columns: 1fr 1fr;
}

.ace-service-property h2 {
    margin: 0 0 35px;
    font-family: var(--ace-sans);
    font-size: clamp(40px, 4vw, 62px);
    font-weight: 500;
}

.ace-service-property p {
    color: #625e5a;
    line-height: 1.95;
}

.ace-service-property figure,
.ace-service-property img {
    display: block;
    width: 100%;
    margin: 0;
}

.ace-service-numbers {
    display: grid;
    margin-top: 45px;
    grid-template-columns: repeat(3, 1fr);
}

.ace-service-numbers div {
    padding: 20px 15px;
    border-top: 1px solid var(--ace-line);
    border-right: 1px solid var(--ace-line);
}

.ace-service-numbers div:last-child {
    border-right: 0;
}

.ace-service-numbers strong,
.ace-service-numbers span {
    display: block;
}

.ace-service-numbers strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: clamp(22px, 2vw, 32px);
}

.ace-service-numbers span {
    margin-top: 8px;
    color: #77716c;
    font-size: 12px;
}

/* Contact */
.ace-contact-main {
    padding-block: clamp(90px, 10vw, 150px);
}

.ace-contact-grid {
    display: grid;
    gap: 24px;
    margin-top: 70px;
    grid-template-columns: repeat(3, 1fr);
}

.ace-contact-grid article {
    overflow: hidden;
    background: var(--ace-paper);
}

.ace-contact-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 1.2;
    object-fit: cover;
    transition: transform .6s var(--ace-ease);
}

.ace-contact-grid article:hover img {
    transform: scale(1.035);
}

.ace-contact-grid article div {
    padding: 32px;
}

.ace-contact-grid small {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
}

.ace-contact-grid h3 {
    margin: 17px 0 13px;
    font-family: var(--ace-sans);
    font-size: 29px;
    font-weight: 500;
}

.ace-contact-grid p {
    min-height: 52px;
    margin: 0 0 28px;
    color: #6d6863;
    font-size: 14px;
    line-height: 1.8;
}

.ace-contact-grid a {
    display: flex;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--ace-line);
    font-size: 13px;
    font-weight: 700;
}

.ace-contact-info {
    padding: 76px 0;
    color: #fff;
    background: #1c1b1a;
}

.ace-contact-info__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
}

.ace-contact-info__grid > div {
    min-height: 145px;
    padding: 15px clamp(25px, 4vw, 65px);
    border-right: 1px solid rgba(255, 255, 255, .16);
}

.ace-contact-info__grid > div:first-child {
    padding-left: 0;
}

.ace-contact-info__grid > div:last-child {
    border-right: 0;
}

.ace-contact-info small {
    display: block;
    margin-bottom: 24px;
    color: #fff;
    font-size: 11px;
    letter-spacing: .16em;
}

.ace-contact-info a[href^="tel"] {
    font-family: var(--ace-sans);
    font-size: clamp(27px, 2.4vw, 40px);
}

.ace-contact-info p {
    max-width: 350px;
    margin: 0 0 15px;
    line-height: 1.75;
}

/* Projects index */
.ace-project-index {
    padding: clamp(90px, 9vw, 140px) 0;
}

.ace-project-index__summary,
.ace-detail-industries .ace-section__heading > p {
    max-width: 480px;
    margin: 0;
    color: #69645f;
    line-height: 1.8;
}

.ace-project-index__summary {
    padding-left: 24px;
    border-left: 2px solid var(--ace-red);
}

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

.ace-project-tools {
    position: relative;
    z-index: 3;
    margin: 58px 0 48px;
    border-top: 1px solid var(--ace-line);
    border-bottom: 1px solid var(--ace-line);
    background: #fff;
}

.ace-project-tools__top {
    display: grid;
    min-height: 112px;
    align-items: center;
    grid-template-columns: minmax(280px, 1fr) auto;
    gap: 36px;
    border-bottom: 1px solid var(--ace-line);
}

.ace-project-search {
    display: grid;
    align-items: center;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 18px;
}

.ace-project-search > span:first-child,
.ace-project-filter-row__label {
    color: #7a746f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
}

.ace-project-search__field {
    position: relative;
    display: block;
}

.ace-project-search input {
    width: 100%;
    height: 52px;
    padding: 0 50px 0 18px;
    color: var(--ace-ink);
    border: 1px solid #d8d3cd;
    border-radius: 4px;
    outline: 0;
    background: #faf9f7;
    transition: border-color .2s ease, background .2s ease;
}

.ace-project-search input:focus {
    border-color: var(--ace-red);
    background: #fff;
}

.ace-project-search__field i {
    position: absolute;
    top: 50%;
    right: 18px;
    color: var(--ace-red);
    font-size: 24px;
    font-style: normal;
    transform: translateY(-52%);
    pointer-events: none;
}

.ace-project-tools__status {
    display: flex;
    align-items: center;
    gap: 20px;
    color: #7a746f;
    font-size: 12px;
    white-space: nowrap;
}

.ace-project-tools__status strong {
    margin-right: 5px;
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 31px;
    font-weight: 500;
}

.ace-project-tools__status button {
    padding: 7px 0;
    color: var(--ace-ink);
    border: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    cursor: pointer;
}

.ace-project-filter-row {
    display: grid;
    min-height: 68px;
    align-items: center;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 18px;
    border-bottom: 1px solid rgba(23, 23, 22, .08);
}

.ace-project-filter-row:last-child {
    border-bottom: 0;
}

.ace-project-city-list {
    display: flex;
    overflow-x: auto;
    align-items: center;
    gap: 24px;
    padding: 8px 2px;
    scrollbar-width: thin;
}

.ace-project-city-list button,
.ace-project-industry__list button {
    flex: 0 0 auto;
    padding: 8px 0 7px;
    color: #69645f;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    cursor: pointer;
}

.ace-project-city-list button:hover,
.ace-project-industry__list button:hover,
.ace-project-city-list button:focus-visible,
.ace-project-industry__list button:focus-visible {
    color: var(--ace-red);
}

.ace-project-city-list button.is-active,
.ace-project-industry__list button.is-active {
    color: var(--ace-red);
    border-bottom-color: var(--ace-red);
    font-weight: 700;
}

.ace-project-industry {
    position: relative;
}

.ace-project-industry summary {
    display: flex;
    width: min(360px, 100%);
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    border: 1px solid var(--ace-disclosure-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(42, 26, 22, .05);
    cursor: pointer;
    list-style: none;
}

.ace-project-industry summary::-webkit-details-marker {
    display: none;
}

.ace-project-industry summary i {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: var(--ace-red);
    font-style: normal;
    transition: transform var(--ace-disclosure-duration) var(--ace-ease);
}

.ace-project-industry summary i::before {
    position: absolute;
    top: 4px;
    left: 5px;
    width: 8px;
    height: 8px;
    content: "";
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

.ace-project-industry[open] summary i {
    transform: rotate(180deg);
}

.ace-project-industry__panel {
    position: absolute;
    z-index: 12;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    padding: 22px;
    border: 1px solid var(--ace-disclosure-border);
    border-radius: var(--ace-disclosure-radius);
    background: #fff;
    box-shadow: var(--ace-disclosure-shadow);
    transform-origin: top;
    animation: aceDisclosureIn var(--ace-disclosure-duration) var(--ace-ease) both;
}

.ace-project-industry__search input {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #dedad5;
    border-radius: 10px;
    outline: 0;
    background: #faf9f7;
}

.ace-project-industry__search input:focus {
    border-color: var(--ace-red);
    box-shadow: 0 0 0 3px rgba(163, 15, 25, .08);
}

@keyframes aceDisclosureIn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(.985);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.ace-project-industry__list {
    display: flex;
    max-height: 260px;
    overflow-y: auto;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-top: 14px;
    padding-right: 10px;
}

.ace-project-industry__list button[hidden] {
    display: none;
}

.ace-project-industry__empty {
    margin: 20px 0 4px;
    color: #88817b;
    font-size: 13px;
}

.ace-project-grid {
    display: grid;
    gap: 50px 24px;
    grid-template-columns: repeat(3, 1fr);
}

.ace-project-grid article[hidden] {
    display: none;
}

.ace-project-grid article > a {
    display: flex;
    height: 100%;
    min-width: 0;
    flex-direction: column;
}

.ace-project-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 1.4;
    object-fit: cover;
    transition: transform .55s var(--ace-ease), filter .55s ease;
}

.ace-project-grid a:hover img {
    filter: saturate(.82);
    transform: translateY(-5px);
}

.ace-project-grid span {
    display: block;
    margin-top: 18px;
    color: var(--ace-red);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .06em;
}

.ace-project-grid h3 {
    min-height: 0;
    margin: 8px 0 10px;
    font-family: var(--ace-sans);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.35;
}

.ace-project-grid p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 20px;
    color: #77716c;
    font-size: 14px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ace-project-grid i {
    display: inline-block;
    align-self: flex-start;
    margin-top: auto;
    padding-bottom: 6px;
    border-bottom: 1px solid currentColor;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
}

.ace-project-empty {
    padding: 60px;
    text-align: center;
    background: var(--ace-paper);
}

.ace-project-load-sentinel {
    width: 100%;
    height: 1px;
    margin-top: 58px;
}

.ace-project-end {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 54px;
    color: #8a8580;
    font-size: 14px;
    line-height: 1.5;
}

.ace-project-end[hidden] {
    display: none;
}

.ace-project-end::before,
.ace-project-end::after {
    width: 64px;
    height: 1px;
    content: "";
    background: rgba(28, 27, 26, .14);
}

.ace-project-end strong {
    color: var(--ace-red);
    font-weight: 600;
}

.ace-booking--inner {
    margin-top: 60px;
    padding-block: 100px;
    background: #e9e3da;
}

/* News archive */
.ace-news-featured,
.ace-news-archive {
    padding: clamp(90px, 9vw, 140px) 0;
}

.ace-news-featured {
    background: var(--ace-paper);
}

.ace-news-featured__grid {
    display: grid;
    gap: 30px;
    margin-top: 60px;
    grid-template-columns: repeat(2, 1fr);
}

.ace-news-featured__grid article {
    display: grid;
    overflow: hidden;
    background: #fff;
    grid-template-columns: 1.05fr .95fr;
}

.ace-news-featured__image {
    min-height: 350px;
}

.ace-news-featured__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ace-news-featured__grid article > div {
    padding: clamp(25px, 3vw, 48px);
}

.ace-news-featured small,
.ace-news-list small {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.ace-news-featured h3 {
    margin: 22px 0;
    font-family: var(--ace-sans);
    font-size: clamp(23px, 2vw, 31px);
    font-weight: 600;
    line-height: 1.45;
}

.ace-news-featured p {
    display: -webkit-box;
    overflow: hidden;
    color: #6c6762;
    font-size: 13px;
    line-height: 1.8;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.ace-news-featured__grid article > div > a {
    display: inline-block;
    margin-top: 25px;
    padding-bottom: 5px;
    border-bottom: 1px solid currentColor;
    font-size: 12px;
    font-weight: 700;
}

.ace-news-archive__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--ace-line);
}

.ace-news-archive__head h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(40px, 4vw, 62px);
    font-weight: 500;
}

.ace-news-archive__head p {
    margin: 10px 0 0;
    color: #817b75;
    font-size: 12px;
}

.ace-news-search {
    display: flex;
    border-bottom: 1px solid #77716c;
}

.ace-news-search label {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
}

.ace-news-search input {
    width: min(300px, 40vw);
    padding: 13px 5px;
    border: 0;
    outline: 0;
    scroll-margin-top: 112px;
}

.ace-news-search button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-weight: 700;
}

.ace-news-list article {
    display: grid;
    gap: clamp(28px, 5vw, 75px);
    padding: 42px 0;
    border-bottom: 1px solid var(--ace-line);
    grid-template-columns: minmax(230px, .42fr) 1fr;
}

.ace-news-list__image img {
    display: block;
    width: 100%;
    aspect-ratio: 1.65;
    object-fit: cover;
}

.ace-news-list__copy h3 {
    margin: 15px 0;
    font-family: var(--ace-sans);
    font-size: clamp(24px, 2.5vw, 38px);
    font-weight: 600;
    line-height: 1.38;
}

.ace-news-list__copy p {
    display: -webkit-box;
    overflow: hidden;
    max-width: 750px;
    margin: 0 0 20px;
    color: #716b65;
    line-height: 1.8;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ace-news-list__copy > a {
    font-size: 12px;
    font-weight: 700;
}

.ace-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 55px;
}

.ace-pagination a,
.ace-pagination span,
.ace-pagination strong {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--ace-line);
    font-size: 13px;
    font-style: normal;
}

.ace-pagination strong {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
}

/* Project detail */
.ace-detail-hero {
    position: relative;
    min-height: min(880px, 92vh);
    color: #fff;
    background: #151413 var(--ace-detail-image) center / cover no-repeat;
}

.ace-detail-hero::before {
    position: absolute;
    content: "";
    background: linear-gradient(90deg, rgba(13, 11, 10, .72), rgba(13, 11, 10, .08) 70%), linear-gradient(0deg, rgba(13, 11, 10, .65), transparent 55%);
    inset: 0;
}

.ace-detail-hero__content {
    position: relative;
    z-index: 1;
    padding-top: clamp(190px, 23vh, 260px);
}

.ace-detail-hero h1 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(58px, 7vw, 106px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.06em;
}

.ace-detail-hero__content p {
    margin: 28px 0 42px;
    color: rgba(255, 255, 255, .76);
    font-size: 18px;
    letter-spacing: .06em;
}

.ace-detail-hero__content > a {
    display: inline-flex;
    gap: 35px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .7);
    font-size: 13px;
    font-weight: 700;
}

.ace-detail-hero__meta {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    margin-left: max(var(--ace-gutter), calc((100% - var(--ace-shell)) / 2 + var(--ace-gutter)));
    background: rgba(16, 15, 14, .78);
    backdrop-filter: blur(14px);
    grid-template-columns: repeat(4, 1fr);
}

.ace-detail-hero__meta div {
    padding: 26px clamp(18px, 3vw, 45px);
    border-right: 1px solid rgba(255, 255, 255, .16);
}

.ace-detail-hero__meta small,
.ace-detail-hero__meta strong {
    display: block;
}

.ace-detail-hero__meta small {
    margin-bottom: 10px;
    color: rgba(255, 255, 255, .5);
    font-size: 10px;
    letter-spacing: .13em;
}

.ace-detail-hero__meta strong {
    font-size: clamp(15px, 1.4vw, 21px);
}

.ace-detail-overview,
.ace-detail-product,
.ace-detail-industries,
.ace-related-projects {
    padding: clamp(90px, 9vw, 145px) 0;
}

.ace-detail-overview__grid {
    display: grid;
    gap: clamp(35px, 6vw, 90px);
    grid-template-columns: .8fr 1fr .8fr;
}

.ace-detail-overview figure,
.ace-detail-overview img {
    display: block;
    width: 100%;
    margin: 0;
}

.ace-detail-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid var(--ace-line);
}

.ace-detail-contact a {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 25px;
}

.ace-detail-contact span {
    color: #77716c;
    font-size: 13px;
}

.ace-detail-product {
    background: var(--ace-paper);
}

.ace-detail-product__grid {
    display: grid;
    align-items: center;
    gap: clamp(55px, 9vw, 145px);
    grid-template-columns: 1.08fr .92fr;
}

.ace-detail-product figure,
.ace-detail-product img {
    display: block;
    width: 100%;
    margin: 0;
}

.ace-detail-product h2,
.ace-detail-location h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(40px, 4.2vw, 65px);
    font-weight: 500;
    line-height: 1.15;
}

.ace-detail-product__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 35px 0;
}

.ace-detail-product__tags span {
    padding: 9px 14px;
    color: var(--ace-red);
    border: 1px solid rgba(168, 16, 27, .3);
    border-radius: 999px;
    font-size: 12px;
}

.ace-detail-product ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ace-detail-product li {
    display: grid;
    gap: 20px;
    padding: 18px 0;
    border-top: 1px solid var(--ace-line);
    grid-template-columns: 30px 1fr;
}

.ace-detail-product li b {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 12px;
}

.ace-detail-product li p {
    margin: 0;
    color: #625e59;
    font-size: 14px;
    line-height: 1.7;
}

.ace-detail-industries__grid {
    display: grid;
    gap: 16px;
    margin-top: 65px;
    grid-template-columns: repeat(4, 1fr);
}

.ace-detail-industries article {
    position: relative;
    display: flex;
    min-height: 330px;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 30px;
    color: #fff;
    background: #222 var(--industry-image) center / cover no-repeat;
}

.ace-detail-industries article::before {
    position: absolute;
    content: "";
    background: linear-gradient(0deg, rgba(15, 13, 12, .75), rgba(15, 13, 12, .1));
    inset: 0;
}

.ace-detail-industries span,
.ace-detail-industries h3 {
    position: relative;
    z-index: 1;
}

.ace-detail-industries span {
    font-family: var(--ace-sans);
    font-size: 12px;
}

.ace-detail-industries h3 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: 27px;
    font-weight: 500;
}

.ace-detail-location {
    padding: clamp(90px, 9vw, 145px) 0;
    color: #fff;
    background: #1b1a19;
}

.ace-detail-location__grid {
    display: grid;
    align-items: center;
    gap: clamp(60px, 10vw, 160px);
    grid-template-columns: .85fr 1.15fr;
}

.ace-detail-location p {
    margin: 30px 0;
    color: rgba(255, 255, 255, .62);
    line-height: 1.9;
}

.ace-detail-location a {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, .6);
    font-size: 13px;
    font-weight: 700;
}

.ace-detail-location__map {
    position: relative;
    min-height: 420px;
    border: 1px solid rgba(255, 255, 255, .15);
    background: radial-gradient(circle at 58% 49%, rgba(168, 16, 27, .42) 0 4px, transparent 5px), repeating-linear-gradient(32deg, transparent 0 58px, rgba(255, 255, 255, .06) 59px 60px), repeating-linear-gradient(122deg, transparent 0 72px, rgba(255, 255, 255, .05) 73px 74px);
}

.ace-detail-location__map::after {
    position: absolute;
    width: 38px;
    height: 38px;
    content: "";
    border: 1px solid var(--ace-red-bright);
    border-radius: 50%;
    top: calc(49% - 19px);
    left: calc(58% - 19px);
    animation: acePulse 2.5s ease infinite;
}

.ace-detail-location__map span,
.ace-detail-location__map b {
    position: absolute;
    font-size: 10px;
    letter-spacing: .12em;
}

.ace-detail-location__map span:first-child {
    top: 20px;
    left: 20px;
}

.ace-detail-location__map span:nth-child(2) {
    right: 20px;
    bottom: 20px;
}

.ace-detail-location__map b {
    top: calc(49% + 25px);
    left: calc(58% + 20px);
    color: #fff;
}

.ace-related-projects {
    background: var(--ace-paper);
}

.ace-related-projects__grid {
    display: grid;
    gap: 24px;
    margin-top: 55px;
    grid-template-columns: repeat(3, 1fr);
}

.ace-related-projects img {
    display: block;
    width: 100%;
    aspect-ratio: 1.5;
    object-fit: cover;
}

.ace-related-projects h3 {
    margin: 20px 0 8px;
    font-family: var(--ace-sans);
    font-size: 24px;
}

.ace-related-projects p {
    margin: 0;
    color: #76706a;
    font-size: 13px;
}

@media (max-width: 1100px) {
    .ace-service-cards,
    .ace-detail-industries__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-contact-grid,
    .ace-project-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-news-featured__grid {
        grid-template-columns: 1fr;
    }

    .ace-detail-overview__grid {
        grid-template-columns: .85fr 1.15fr;
    }

    .ace-detail-overview__grid figure {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .ace-light-banner-page .ace-inner-hero,
    .ace-about-page.ace-light-banner-page .ace-about-hero {
        height: 500px;
        min-height: 500px;
    }

    .ace-inner-hero {
        min-height: 500px;
        padding-bottom: 65px;
    }

    .ace-inner-intro,
    .ace-service-property__grid,
    .ace-detail-product__grid,
    .ace-detail-location__grid,
    .ace-detail-overview__grid {
        grid-template-columns: 1fr;
    }

    .ace-inner-intro {
        gap: 35px;
    }

    .ace-service-cards,
    .ace-contact-grid,
    .ace-project-grid,
    .ace-news-featured__grid,
    .ace-detail-industries__grid,
    .ace-related-projects__grid {
        grid-template-columns: 1fr;
    }

    .ace-service-cards article {
        min-height: auto;
    }

    .ace-service-cards h3 {
        margin-top: 45px;
    }

    .ace-service-numbers {
        grid-template-columns: 1fr;
    }

    .ace-service-numbers div {
        border-right: 0;
    }

    .ace-contact-info__grid {
        grid-template-columns: 1fr;
    }

    .ace-contact-info__grid > div,
    .ace-contact-info__grid > div:first-child {
        min-height: auto;
        padding: 28px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .15);
    }

    .ace-section__heading--row,
    .ace-news-archive__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ace-project-tools {
        margin-top: 40px;
    }

    .ace-project-tools__top {
        min-height: 0;
        padding: 22px 0;
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .ace-project-search,
    .ace-project-filter-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ace-project-tools__status {
        justify-content: space-between;
    }

    .ace-project-tools__status strong {
        font-size: 27px;
    }

    .ace-project-filter-row {
        min-height: 0;
        padding: 18px 0;
    }

    .ace-project-city-list {
        margin-right: calc(var(--ace-gutter) * -1);
        padding-right: var(--ace-gutter);
        gap: 22px;
        scrollbar-width: none;
    }

    .ace-project-industry summary {
        width: 100%;
    }

    .ace-project-industry__panel {
        position: static;
        margin-top: 8px;
        padding: 16px;
        box-shadow: none;
    }

    .ace-project-industry__list {
        max-height: 300px;
        gap: 7px 20px;
    }

    .ace-project-grid h3 {
        min-height: auto;
        font-size: 22px;
        line-height: 1.4;
    }

    .ace-news-featured__grid article,
    .ace-news-list article {
        grid-template-columns: 1fr;
    }

    .ace-news-featured__image {
        min-height: 250px;
    }

    .ace-news-search {
        width: 100%;
    }

    .ace-news-search input {
        width: 100%;
    }

    .ace-detail-hero {
        min-height: 760px;
    }

    .ace-detail-hero__meta {
        margin-left: var(--ace-gutter);
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-detail-hero__meta div:nth-child(2) {
        border-right: 0;
    }

    .ace-detail-overview__grid figure {
        grid-column: auto;
    }

    .ace-detail-location__map {
        min-height: 300px;
    }
}

/* Formal V2 pages: keep all non-mobile supporting copy at a 12px minimum. */
@media (min-width: 721px) {
    body.ace-v2-page:not(.ace-index2-lab) .ace-booking__panel label small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-booking__project-options small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-news__body time small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-map__inset-title,
    body.ace-v2-page:not(.ace-index2-lab) .ace-map__marker small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-core-honors__rail button:not(.is-active) > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-project-search > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-project-filter-row__label,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-orbit__core > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-orbit__panels article > small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-story__tabs button > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-story__tabs button > small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-story__panels article > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-story__panels article > small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-certifications small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-service-cta .ace-shell > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-news-lead__controls > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-news-lead__controls > span > i,
    body.ace-v2-page:not(.ace-index2-lab) .ace-news-record time > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-coop-path__head small em,
    body.ace-v2-page:not(.ace-index2-lab) .ace-article__latest time > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-article__search > label,
    body.ace-v2-page:not(.ace-index2-lab) .ace-article-nav small,
    body.ace-v2-page:not(.ace-index2-lab) .ace-article-nav__home > span,
    body.ace-v2-page:not(.ace-index2-lab) .ace-about-stories::after,
    body.ace-v2-page:not(.ace-index2-lab) .ace-back-top::after,
    body.ace-v2-page:not(.ace-index2-lab) .ace-article__source [style*="font-size: 10px"],
    body.ace-v2-page:not(.ace-index2-lab) .ace-ws-location__map [style*="font-size: 10px"] {
        font-size: 12px !important;
    }

    body.ace-v2-page:not(.ace-index2-lab) .ace-map__region-label {
        font-size: calc(12px * var(--ace-map-inverse-zoom, 1)) !important;
    }
}

/* About page editorial refresh: light surfaces, compact type and one visual focus per section. */
.ace-about-refresh {
    background: #f2f4f5;
}

.ace-about-refresh main {
    background:
        radial-gradient(circle at 88% 23%, rgba(168, 16, 27, .035), transparent 24%),
        linear-gradient(135deg, #f7f8f8 0%, #eef1f2 44%, #f7f8f8 100%);
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero {
    position: relative;
    height: 430px;
    min-height: 430px;
    overflow: hidden;
    background: #f1f3f4 var(--ace-about-hero) center 44% / cover no-repeat;
}

.ace-about-refresh .ace-about-hero::before {
    position: absolute;
    z-index: 0;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(246, 247, 248, .98) 0%, rgba(246, 247, 248, .82) 35%, rgba(246, 247, 248, .18) 72%),
        linear-gradient(0deg, rgba(246, 247, 248, .68), transparent 58%);
    inset: 0;
}

.ace-about-refresh .ace-about-hero::after {
    height: 1px;
}

.ace-about-refresh .ace-about-hero__inner {
    z-index: 1;
    padding-bottom: 68px;
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero h1 {
    max-width: 620px;
    color: #242220;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: normal;
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero p {
    max-width: 590px;
    margin-top: 18px;
    color: #625e5a;
    font-size: 16px;
    line-height: 1.8;
}

.ace-about-refresh .ace-about-layout {
    padding-top: 96px;
    padding-bottom: 112px;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: clamp(58px, 6.7vw, 104px);
}

.ace-about-refresh .ace-about-nav {
    top: 110px;
}

.ace-about-refresh .ace-about-nav a {
    padding-top: 17px;
    padding-bottom: 17px;
    color: #77736e;
    font-size: 16px;
}

.ace-about-refresh .ace-about-section,
.ace-about-refresh .ace-about-honors {
    padding-bottom: 104px;
}

.ace-about-refresh .ace-about-section:last-child {
    padding-bottom: 0;
}

.ace-about-refresh .ace-about-heading {
    margin-bottom: 36px;
}

.ace-about-refresh .ace-about-heading h2 {
    position: relative;
    padding-bottom: 17px;
    color: #22201f;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.3;
}

.ace-about-refresh .ace-about-heading h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 44px;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

.ace-about-refresh .ace-about-heading--row {
    align-items: flex-end;
    gap: 42px;
}

.ace-about-refresh .ace-about-heading--row > p {
    max-width: 430px;
    margin-bottom: 0;
    padding-left: 22px;
    color: #6f6a65;
    border-left: 2px solid var(--ace-red);
    font-size: 15px;
    line-height: 1.85;
}

.ace-about-refresh .ace-about-overview--map {
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(36px, 4.5vw, 58px);
}

.ace-about-refresh .ace-about-prose {
    padding-left: 26px;
    color: #5f5a56;
    border-left: 2px solid var(--ace-red);
    font-size: 15px;
    line-height: 1.9;
}

.ace-about-refresh .ace-about-prose p {
    margin-bottom: 16px;
}

.ace-about-refresh .ace-about-overview__image--map {
    overflow: hidden;
    padding: clamp(12px, 1.4vw, 20px);
    border: 1px solid rgba(104, 111, 116, .15);
    border-radius: 48px 14px 48px 14px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 22px 58px rgba(57, 66, 72, .08);
}

.ace-about-refresh .ace-about-overview__image--map::before,
.ace-about-refresh .ace-about-overview__image--map::after {
    display: none;
}

.ace-about-refresh .ace-about-numbers {
    margin-top: 38px;
    padding: 24px 12px;
    overflow: hidden;
    border: 1px solid rgba(104, 111, 116, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 16px 44px rgba(57, 66, 72, .05);
}

.ace-about-refresh .ace-about-numbers div,
.ace-about-refresh .ace-about-numbers div:first-child {
    padding: 0 22px;
}

.ace-about-refresh .ace-about-numbers strong {
    color: var(--ace-red);
    font-size: clamp(28px, 2.25vw, 34px);
    line-height: 1.15;
}

.ace-about-refresh .ace-about-numbers span {
    margin-top: 10px;
    color: #77726d;
    font-size: 14px;
    line-height: 1.5;
}

.ace-about-refresh .ace-about-culture-map {
    min-height: 560px;
    overflow: hidden;
    border: 1px solid rgba(108, 115, 120, .17);
    border-radius: 54px 18px 54px 18px;
    background:
        radial-gradient(circle at 24% 51%, rgba(168, 16, 27, .095), transparent 28%),
        linear-gradient(132deg, rgba(255, 255, 255, .96), rgba(239, 243, 245, .82));
    box-shadow: 0 25px 68px rgba(59, 68, 74, .08);
}

.ace-about-refresh .ace-about-culture-map::before {
    background-size: 42px 42px;
    opacity: .55;
    -webkit-mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .18) 58%, transparent 82%);
    mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .18) 58%, transparent 82%);
}

.ace-about-refresh .ace-about-culture-map::after {
    top: 50%;
    left: 24%;
    width: 390px;
    filter: blur(13px);
}

.ace-about-refresh .ace-about-culture-map__links {
    z-index: 3;
}

.ace-about-refresh .ace-about-culture-map__core {
    top: 50px;
    left: 30px;
    width: 420px;
    transform: none;
}

.ace-about-refresh .ace-about-culture-pyramid {
    animation-duration: 7.5s;
}

.ace-about-refresh .ace-about-culture-map__item {
    right: 28px;
    left: auto;
    width: calc(50% - 18px);
    padding: 17px 20px;
    border: 1px solid rgba(105, 111, 115, .13);
    border-radius: 16px;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 12px 32px rgba(64, 70, 74, .05);
    transition: border-color .3s ease, background .3s ease, box-shadow .3s ease, transform .3s var(--ace-ease);
}

.ace-about-refresh .ace-about-culture-map__item:hover {
    border-color: rgba(168, 16, 27, .3);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 40px rgba(83, 45, 47, .09);
    transform: translateY(-2px);
}

.ace-about-refresh .ace-about-culture-map__item--mission {
    top: 26px;
    bottom: auto;
}

.ace-about-refresh .ace-about-culture-map__item--position {
    top: 231px;
    bottom: auto;
}

.ace-about-refresh .ace-about-culture-map__item--values {
    top: 390px;
    bottom: auto;
}

.ace-about-refresh .ace-about-culture-map__item h3 {
    display: flex;
    min-height: 0;
    margin: 0 0 8px;
    padding: 0;
    align-items: center;
    color: #242220;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: normal;
}

.ace-about-refresh .ace-about-culture-map__icon {
    width: 34px;
    height: 34px;
    margin-right: 13px;
    padding: 0;
    flex: 0 0 34px;
    border: 1px solid rgba(168, 16, 27, .28);
    border-radius: 50%;
    color: var(--ace-red);
    background: rgba(168, 16, 27, .045);
    opacity: 1;
}

.ace-about-refresh .ace-about-culture-map__icon svg {
    width: 16px;
    height: 16px;
}

.ace-about-refresh .ace-about-culture-map__item strong {
    margin: 0 0 6px 47px;
    color: #494440;
    font-size: 16px;
    line-height: 1.55;
}

.ace-about-refresh .ace-about-culture-map__item p {
    margin-left: 47px;
    color: #706b66;
    font-size: 14px;
    line-height: 1.78;
}

.ace-about-refresh .ace-about-honor-header {
    margin-bottom: 28px;
    padding-bottom: 22px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
}

.ace-about-refresh .ace-about-honor-controls button {
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, .72);
}

.ace-about-refresh .ace-about-honor-track {
    gap: 18px;
}

.ace-about-refresh .ace-about-honor-card {
    border-radius: 18px 6px 18px 6px;
    background: rgba(255, 255, 255, .62);
}

.ace-about-refresh .ace-about-honor-media {
    border: 1px solid rgba(125, 115, 103, .1);
    border-radius: 18px 6px 18px 6px;
    background: #f2f0eb;
}

.ace-about-refresh .ace-about-honor-copy {
    min-height: 146px;
    padding-top: 16px;
    border-top: 0;
}

.ace-about-refresh .ace-about-honor-award {
    min-height: 100px;
    padding: 11px 28px 2px;
}

.ace-about-refresh .ace-about-honor-award h3,
.ace-about-refresh .ace-about-honor-copy > span {
    font-size: 14px;
}

.ace-about-refresh .ace-about-honor-award strong {
    font-size: 18px;
}

.ace-about-refresh .ace-about-stories {
    min-height: 500px;
    border: 1px solid rgba(107, 115, 121, .16);
    border-radius: 52px 18px 52px 18px;
    background:
        radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .98), transparent 42%),
        linear-gradient(132deg, #f7f8f8, #eceff0);
    box-shadow: 0 24px 66px rgba(59, 68, 74, .07);
}

.ace-about-refresh .ace-about-stories::before {
    width: min(520px, 66%);
    height: 65%;
    background: rgba(168, 16, 27, .045);
    filter: blur(60px);
}

.ace-about-refresh .ace-about-story-card {
    width: min(350px, 46%);
    min-height: 420px;
    padding: 22px 21px 24px;
    border-color: rgba(89, 96, 101, .1);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(57, 63, 67, .1);
    opacity: .82;
    filter: saturate(.84) brightness(1.02);
}

.ace-about-refresh .ace-about-story-card.is-left {
    transform: translate(calc(-50% - 250px), -50%) scale(.88);
}

.ace-about-refresh .ace-about-story-card.is-right {
    transform: translate(calc(-50% + 250px), -50%) scale(.88);
}

.ace-about-refresh .ace-about-story-card.is-active {
    box-shadow: 0 24px 58px rgba(57, 63, 67, .14);
}

.ace-about-refresh .ace-about-story-card small {
    min-height: 20px;
    font-size: 14px;
    letter-spacing: .08em;
}

.ace-about-refresh .ace-about-story-card__media {
    margin-top: 16px;
    border-radius: 9px;
}

.ace-about-refresh .ace-about-story-card h3 {
    margin: 19px 0 12px;
    font-size: 22px;
}

.ace-about-refresh .ace-about-story-card p {
    min-height: 82px;
    padding: 15px 5px 0;
    color: #6f6b66;
    font-size: 14px;
    line-height: 1.8;
}

.ace-about-refresh .ace-about-partners {
    gap: 14px;
    border: 0;
}

.ace-about-refresh .ace-about-partners img {
    overflow: hidden;
    border: 1px solid rgba(105, 112, 117, .14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(59, 67, 72, .045);
    transition: border-color .3s ease, box-shadow .3s ease, transform .3s var(--ace-ease);
}

.ace-about-refresh .ace-about-partners img:hover {
    border-color: rgba(168, 16, 27, .24);
    box-shadow: 0 18px 42px rgba(68, 58, 57, .08);
    transform: translateY(-2px);
}

.ace-about-refresh .ace-about-investors {
    gap: 18px;
}

.ace-about-refresh .ace-about-investors article {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(105, 112, 117, .14);
    border-radius: 22px 8px 22px 8px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 16px 42px rgba(59, 67, 72, .055);
    grid-template-columns: minmax(150px, .82fr) minmax(0, 1.18fr);
    align-items: stretch;
}

.ace-about-refresh .ace-about-investors img {
    width: 100%;
    height: 100%;
    min-height: 215px;
    object-fit: cover;
}

.ace-about-refresh .ace-about-investors div {
    display: flex;
    padding: 28px 26px;
    justify-content: center;
    flex-direction: column;
}

.ace-about-refresh .ace-about-investors h3 {
    margin-bottom: 12px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
}

.ace-about-refresh .ace-about-investors p {
    color: #6f6a65;
    font-size: 14px;
    line-height: 1.82;
}

@media (max-width: 1180px) {
    .ace-about-refresh .ace-about-overview--map {
        grid-template-columns: 1fr;
    }

    .ace-about-refresh .ace-about-prose {
        max-width: 760px;
    }

    .ace-about-refresh .ace-about-culture-map__core {
        top: 75px;
        left: 4px;
        width: 380px;
    }

    .ace-about-refresh .ace-about-culture-map__item {
        width: calc(53% - 14px);
    }

    .ace-about-refresh .ace-about-story-card.is-left {
        transform: translate(calc(-50% - 205px), -50%) scale(.87);
    }

    .ace-about-refresh .ace-about-story-card.is-right {
        transform: translate(calc(-50% + 205px), -50%) scale(.87);
    }
}

@media (max-width: 980px) {
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 380px;
        min-height: 380px;
    }

    .ace-about-refresh .ace-about-hero__inner {
        padding-bottom: 56px;
    }

    .ace-about-refresh .ace-about-layout {
        display: block;
        padding-top: 0;
        padding-bottom: 92px;
    }

    .ace-about-refresh .ace-about-nav {
        top: 72px;
        margin-bottom: 68px;
        background: rgba(244, 246, 247, .94);
    }

    .ace-about-refresh .ace-about-section,
    .ace-about-refresh .ace-about-honors {
        padding-bottom: 84px;
    }

    .ace-about-refresh .ace-about-culture-map__core {
        left: 30px;
        width: 410px;
    }

    .ace-about-refresh .ace-about-culture-map__item {
        width: calc(50% - 18px);
    }

    .ace-about-refresh .ace-about-investors {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 320px;
        min-height: 320px;
        background-position: 58% center;
    }

    .ace-about-refresh .ace-about-hero__inner {
        padding-bottom: 42px;
    }

    .ace-about-refresh.ace-light-banner-page .ace-about-hero h1 {
        font-size: 32px;
        line-height: 1.25;
    }

    .ace-about-refresh.ace-light-banner-page .ace-about-hero p {
        max-width: 290px;
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.7;
    }

    .ace-about-refresh .ace-about-layout {
        padding-bottom: 76px;
    }

    .ace-about-refresh .ace-about-nav {
        margin-bottom: 56px;
    }

    .ace-about-refresh .ace-about-nav a,
    .ace-about-refresh .ace-about-nav a.is-active,
    .ace-about-refresh .ace-about-nav a:hover {
        padding: 16px 13px;
        font-size: 14px;
    }

    .ace-about-refresh .ace-about-section,
    .ace-about-refresh .ace-about-honors {
        padding-bottom: 72px;
        scroll-margin-top: 136px;
    }

    .ace-about-refresh .ace-about-heading {
        margin-bottom: 24px;
    }

    .ace-about-refresh .ace-about-heading h2 {
        padding-bottom: 12px;
        font-size: 26px;
        line-height: 1.35;
    }

    .ace-about-refresh .ace-about-heading h2::after {
        width: 34px;
    }

    .ace-about-refresh .ace-about-heading--row {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .ace-about-refresh .ace-about-heading--row > p {
        padding-left: 16px;
        font-size: 14px;
    }

    .ace-about-refresh .ace-about-overview--map {
        gap: 24px;
    }

    .ace-about-refresh .ace-about-prose {
        padding-left: 18px;
        font-size: 14px;
        line-height: 1.85;
    }

    .ace-about-refresh .ace-about-overview__image--map {
        padding: 8px;
        border-radius: 28px 10px 28px 10px;
    }

    .ace-about-refresh .ace-about-numbers {
        margin-top: 26px;
        padding: 0;
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-about-refresh .ace-about-numbers div,
    .ace-about-refresh .ace-about-numbers div:first-child {
        padding: 18px 16px;
    }

    .ace-about-refresh .ace-about-numbers div:nth-child(2) {
        border-right: 0;
    }

    .ace-about-refresh .ace-about-numbers div:nth-child(-n+2) {
        border-bottom: 1px solid var(--ace-line);
    }

    .ace-about-refresh .ace-about-numbers strong {
        font-size: 28px;
    }

    .ace-about-refresh .ace-about-numbers span {
        font-size: 14px;
    }

    .ace-about-refresh .ace-about-culture-map {
        display: grid;
        min-height: 0;
        padding: 20px;
        border-radius: 32px 12px 32px 12px;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ace-about-refresh .ace-about-culture-map::after {
        top: 180px;
        left: 50%;
        width: 300px;
    }

    .ace-about-refresh .ace-about-culture-map__links {
        display: none;
    }

    .ace-about-refresh .ace-about-culture-map__core {
        position: relative;
        top: auto;
        left: auto;
        width: min(280px, 88%);
        margin: -4px auto 2px;
        transform: none;
    }

    .ace-about-refresh .ace-about-culture-map__item,
    .ace-about-refresh .ace-about-culture-map__item--mission,
    .ace-about-refresh .ace-about-culture-map__item--position,
    .ace-about-refresh .ace-about-culture-map__item--values {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        padding: 17px;
        transform: none;
    }

    .ace-about-refresh .ace-about-culture-map__item h3 {
        font-size: 18px;
    }

    .ace-about-refresh .ace-about-culture-map__item strong,
    .ace-about-refresh .ace-about-culture-map__item p {
        margin-left: 47px;
    }

    .ace-about-refresh .ace-about-culture-map__item p {
        font-size: 14px;
    }

    .ace-about-refresh .ace-about-honor-header {
        margin-bottom: 22px;
        padding-bottom: 18px;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 16px;
    }

    .ace-about-refresh .ace-about-honor-head {
        width: auto;
        align-items: center;
        flex-direction: row;
    }

    .ace-about-refresh .ace-about-honor-controls {
        width: auto;
        flex-wrap: nowrap;
    }

    .ace-about-refresh .ace-about-honor-track {
        grid-auto-columns: 88%;
        gap: 14px;
    }

    .ace-about-refresh .ace-about-honor-copy {
        min-height: 140px;
    }

    .ace-about-refresh .ace-about-honor-award {
        padding-right: 18px;
        padding-left: 18px;
    }

    .ace-about-refresh .ace-about-stories {
        display: flex;
        min-height: 0;
        margin-right: calc(var(--ace-gutter) * -1);
        padding: 22px var(--ace-gutter) 24px 18px;
        overflow-x: auto;
        border-radius: 30px 0 0 12px;
        gap: 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ace-about-refresh .ace-about-stories::-webkit-scrollbar {
        display: none;
    }

    .ace-about-refresh .ace-about-stories::before {
        display: none;
    }

    .ace-about-refresh .ace-about-story-card,
    .ace-about-refresh .ace-about-story-card.is-left,
    .ace-about-refresh .ace-about-story-card.is-right,
    .ace-about-refresh .ace-about-story-card.is-active {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        min-height: 405px;
        padding: 18px 17px 20px;
        flex: 0 0 calc(100% - 30px);
        opacity: 1;
        filter: none;
        transform: none;
        scroll-snap-align: center;
    }

    .ace-about-refresh .ace-about-story-card.is-active {
        border-color: rgba(168, 16, 27, .24);
    }

    .ace-about-refresh .ace-about-story-card small,
    .ace-about-refresh .ace-about-story-card p {
        font-size: 14px;
    }

    .ace-about-refresh .ace-about-story-card h3 {
        font-size: 21px;
    }

    .ace-about-refresh .ace-about-partners {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ace-about-refresh .ace-about-partners img {
        border-radius: 10px;
    }

    .ace-about-refresh .ace-about-investors {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ace-about-refresh .ace-about-investors article {
        grid-template-columns: 1fr;
    }

    .ace-about-refresh .ace-about-investors img {
        min-height: 0;
        aspect-ratio: 16 / 8.5;
    }

    .ace-about-refresh .ace-about-investors div {
        padding: 23px 21px 26px;
    }

    .ace-about-refresh .ace-about-investors h3 {
        font-size: 20px;
    }

    .ace-about-refresh .ace-about-investors p {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-about-refresh .ace-about-culture-pyramid,
    .ace-about-refresh .ace-about-culture-map__links path,
    .ace-about-refresh .ace-about-culture-map__links circle,
    .ace-about-refresh .ace-about-culture-map__item,
    .ace-about-refresh .ace-about-story-card,
    .ace-about-refresh .ace-about-partners img {
        animation: none !important;
        transition: none !important;
    }
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.ace-v2-page {
    margin: 0;
    color: var(--ace-ink);
    background: #fff;
    font-family: var(--ace-sans);
    -webkit-font-smoothing: antialiased;
}

body.ace-v2-page.is-menu-open,
body.ace-v2-page.is-intro-open {
    overflow: hidden;
}

.ace-v2-page a {
    color: inherit;
    text-decoration: none;
}

.ace-v2-page button,
.ace-v2-page input {
    font: inherit;
}

.ace-v2-page button {
    color: inherit;
}

.ace-shell {
    width: min(calc(100% - (var(--ace-gutter) * 2)), var(--ace-shell));
    margin-inline: auto;
}

.ace-skip-link {
    position: fixed;
    z-index: 9999;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    color: #fff;
    background: var(--ace-red);
    transform: translateY(-150%);
}

.ace-skip-link:focus {
    transform: translateY(0);
}

.ace-kicker {
    display: block;
    margin-bottom: 14px;
    color: var(--ace-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ace-kicker--light {
    color: rgba(255, 255, 255, .72);
}

.ace-section {
    padding: clamp(86px, 8.5vw, 136px) 0;
}

.ace-section__heading h2,
.ace-stats__heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(38px, 4.1vw, 64px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.045em;
}

.ace-section__heading--row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.ace-text-link {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 8px;
    border-bottom: 1px solid currentColor;
    font-size: 14px;
    font-weight: 700;
}

.ace-text-link span {
    color: var(--ace-red);
    transition: transform .3s ease;
}

.ace-text-link:hover span {
    transform: translateX(5px);
}

/* Intro */
.ace-intro {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    background: #120b0b;
}

.ace-intro.is-visible {
    display: flex;
}

.ace-intro.is-leaving {
    pointer-events: none;
    animation: aceIntroShrinkToIp .92s var(--ace-ease) forwards;
    transform-origin: center;
}

.ace-intro.is-leaving .ace-intro__shade,
.ace-intro.is-leaving .ace-intro__content,
.ace-intro.is-leaving .ace-intro__actions,
.ace-intro.is-leaving .ace-intro__progress {
    opacity: 0;
    transition: opacity .14s ease;
}

.ace-intro.is-opening {
    animation: aceIntroOpenFromIp .78s var(--ace-ease) both;
    transform-origin: center;
}

.ace-intro__media,
.ace-intro__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.ace-intro__media {
    object-fit: cover;
}

.ace-intro__shade {
    background:
        linear-gradient(90deg, rgba(50, 7, 10, .74), rgba(13, 12, 12, .22) 58%, rgba(13, 12, 12, .48)),
        linear-gradient(0deg, rgba(10, 9, 9, .6), transparent 45%);
}

.ace-intro__content {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 48px), 1180px);
}

.ace-intro__eyebrow {
    display: block;
    margin-bottom: 30px;
    font-size: 12px;
    letter-spacing: .24em;
}

.ace-intro__logo {
    display: block;
    width: min(280px, 55vw);
    height: auto;
}

.ace-intro__content p {
    margin: 24px 0 0;
    font-family: var(--ace-sans);
    font-size: clamp(21px, 2.3vw, 38px);
    letter-spacing: .1em;
}

.ace-intro__ip {
    position: absolute;
    right: 5vw;
    bottom: 8vh;
    z-index: 2;
    display: grid;
    width: clamp(84px, 9vw, 144px);
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
}

.ace-intro__ip::before,
.ace-intro__ip::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    inset: -16px;
    animation: acePulse 2.5s ease infinite;
}

.ace-intro__ip::after {
    inset: -34px;
    animation-delay: .6s;
}

.ace-intro__ip span {
    font-family: var(--ace-sans);
    font-size: 28px;
}

.ace-intro__actions {
    position: absolute;
    z-index: 3;
    top: 30px;
    right: 36px;
    display: flex;
    gap: 10px;
}

.ace-intro__actions button {
    padding: 10px 15px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(0, 0, 0, .18);
    cursor: pointer;
}

.ace-intro__progress {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(255, 255, 255, .2);
}

.ace-intro__progress span {
    display: block;
    width: 0;
    height: 100%;
    background: #fff;
}

/* Header */
.ace-header {
    position: absolute;
    z-index: 100;
    top: 0;
    right: 0;
    left: 0;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    transition: color .35s ease, background .35s ease, transform .35s ease;
}

.ace-header.is-fixed {
    position: fixed;
    color: var(--ace-ink);
    background: rgba(255, 255, 255, .94);
    border-bottom-color: rgba(0, 0, 0, .08);
    box-shadow: 0 8px 30px rgba(0, 0, 0, .06);
    backdrop-filter: blur(14px);
}

.ace-header__inner {
    display: flex;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ace-header__brand img {
    display: block;
    width: 154px;
    height: auto;
}

.ace-header__brand .ace-header__logo--color {
    display: none;
}

.ace-header.is-fixed .ace-header__logo--white,
.ace-light-banner-page .ace-header:not(.is-fixed) .ace-header__logo--white {
    display: none;
}

.ace-header.is-fixed .ace-header__logo--color,
.ace-light-banner-page .ace-header:not(.is-fixed) .ace-header__logo--color {
    display: block;
}

.ace-light-banner-page .ace-header:not(.is-fixed) {
    color: var(--ace-ink);
    border-bottom-color: rgba(23, 23, 22, .12);
}

.ace-header__nav {
    display: flex;
    align-self: stretch;
    align-items: center;
    gap: clamp(24px, 2.4vw, 42px);
}

.ace-v2-page:not(.ace-index2-lab) .ace-header__nav a {
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    font-family: var(--ace-sans);
    font-size: 14px;
    font-weight: 400;
}

.ace-header__nav a::after {
    position: absolute;
    right: 50%;
    bottom: -1px;
    left: 50%;
    height: 2px;
    content: "";
    background: currentColor;
    transition: right .25s ease, left .25s ease;
}

.ace-header__nav a:hover::after,
.ace-header__nav a.is-active::after {
    right: 0;
    left: 0;
}

.ace-header__tools {
    display: flex;
    align-items: center;
    gap: 20px;
}

.ace-header__phone {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    color: currentColor;
    gap: 7px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .035em;
    white-space: nowrap;
    transition: opacity .2s ease;
}

.ace-header__phone svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.ace-header__phone:hover {
    opacity: .82;
}

.ace-v2-page .ace-header__cta {
    display: inline-flex;
    min-height: 44px;
    padding: 0 20px;
    align-items: center;
    gap: 14px;
    color: #fff;
    background: var(--ace-red);
    font-size: 13px;
    font-weight: 700;
}

.ace-header__search {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    color: currentColor;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
    transition: background-color .2s ease;
}

.ace-header__search:hover {
    background: rgba(255, 255, 255, .2);
}

.ace-header.is-fixed .ace-header__search:hover,
.ace-light-banner-page .ace-header:not(.is-fixed) .ace-header__search:hover {
    background: rgba(23, 23, 22, .08);
}

.ace-header__search:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.ace-header__search svg {
    display: block;
    width: 16px;
    height: 16px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.7;
}

.ace-header__menu {
    display: none;
    width: 42px;
    height: 42px;
    padding: 9px;
    border: 0;
    background: transparent;
}

.ace-header__menu span {
    display: block;
    height: 2px;
    margin: 4px 0;
    border-radius: 999px;
    background: currentColor;
}

/* Hero */
.ace-hero {
    position: relative;
    height: 88vh;
    height: 88svh;
    overflow: hidden;
    color: #fff;
    background: #201719;
}

body.ace-index-production .ace-hero {
    background: #eceef1;
    touch-action: pan-y;
}

.ace-hero__slides,
.ace-hero__slide {
    position: absolute;
    inset: 0;
}

.ace-hero__slide {
    z-index: 0;
    visibility: hidden;
    opacity: 0;
    transform: scale(1.015);
    will-change: opacity, transform;
    transition:
        opacity .9s cubic-bezier(.22, .61, .36, 1),
        transform 1.15s cubic-bezier(.22, .61, .36, 1),
        visibility 0s linear .9s;
}

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

/* Preserve the 32:13 artwork ratio on desktop; 88vh is only the maximum height. */
@media (min-width: 721px) {
    .ace-hero {
        height: min(88vh, 40.625vw);
        height: min(88svh, 40.625vw);
    }
}

.ace-hero__slide.is-active {
    z-index: 2;
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    transition-delay: 0s;
}

.ace-hero__slide.is-leaving {
    z-index: 1;
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .ace-hero__slide {
        transform: none;
        transition: none;
    }
}

.ace-hero__slide-link {
    position: absolute;
    z-index: 2;
    inset: 0;
}

.ace-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    height: 100%;
    padding-top: 120px;
    padding-bottom: 190px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.ace-hero h1,
.ace-hero h2 {
    max-width: 830px;
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(54px, 6.4vw, 104px);
    font-weight: 500;
    line-height: 1.03;
    letter-spacing: -.06em;
}

.ace-hero h1 em,
.ace-hero h2 em {
    color: #f2cabf;
    font-style: normal;
}

.ace-hero__content > p {
    max-width: 620px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .8);
    font-size: clamp(16px, 1.3vw, 20px);
    line-height: 1.9;
}

.ace-hero__actions {
    display: flex;
    margin-top: 42px;
    gap: 12px;
}

.ace-button {
    display: inline-flex;
    min-width: 142px;
    min-height: 52px;
    padding: 0 25px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .55);
    font-size: 14px;
    font-weight: 700;
    transition: color .25s ease, background .25s ease, border-color .25s ease;
}

.ace-button--solid {
    border-color: var(--ace-red);
    background: var(--ace-red);
}

.ace-button--ghost:hover {
    color: var(--ace-ink);
    background: #fff;
    border-color: #fff;
}

.ace-hero__controls {
    position: absolute;
    z-index: 8;
    inset: 0;
    pointer-events: none;
}

.ace-hero__dots {
    position: absolute;
    bottom: calc(var(--ace-booking-overlap) + 30px);
    left: 50%;
    display: flex;
    align-items: center;
    gap: 12px;
    transform: translateX(-50%);
    pointer-events: auto;
}

.ace-hero__dots button {
    display: block;
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .88);
    cursor: pointer;
    overflow: hidden;
    text-indent: -999px;
    transition: width .3s ease, background .3s ease, transform .3s ease;
}

.ace-hero__dots button.is-active {
    width: 32px;
    background: #e6222d;
}

.ace-hero__control-arrow {
    position: absolute;
    top: 50%;
    display: grid;
    width: 72px;
    height: 96px;
    padding: 0;
    place-items: center;
    color: #fff;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    opacity: .46;
    pointer-events: auto;
    transform: translateY(-50%);
    text-shadow: 0 2px 14px rgba(0, 0, 0, .45);
    transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

.ace-hero__control-arrow--prev {
    left: 6%;
}

.ace-hero__control-arrow--next {
    right: 6%;
}

.ace-hero__control-arrow:hover,
.ace-hero__control-arrow:focus-visible {
    color: #fff;
    opacity: 1;
}

.ace-hero__control-arrow--prev:hover,
.ace-hero__control-arrow--prev:focus-visible {
    transform: translate(-4px, -50%);
}

.ace-hero__control-arrow--next:hover,
.ace-hero__control-arrow--next:focus-visible {
    transform: translate(4px, -50%);
}

.ace-hero__control-arrow svg {
    display: block;
    width: 35px;
    height: 63px;
}

.ace-hero__control-arrow--prev svg {
    transform: rotate(180deg);
}

/* Booking */
.ace-booking {
    position: relative;
    z-index: 12;
    margin-top: calc(var(--ace-booking-overlap) * -1);
    padding-bottom: 0;
    background: linear-gradient(to bottom, transparent 0 50%, #f7f7f5 50% 100%);
}

.ace-booking__panel {
    position: relative;
    display: grid;
    min-height: 154px;
    padding: 28px 34px;
    grid-template-columns: 1.6fr repeat(4, 1fr) 1.05fr auto;
    align-items: end;
    gap: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(47, 31, 25, .14);
}

.ace-booking__intro h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: 28px;
}

.ace-booking__intro p {
    margin: 8px 0 0;
    color: #7b7772;
    font-size: 12px;
}

.ace-booking__intro .ace-kicker {
    margin-bottom: 8px;
    font-size: 9px;
}

.ace-booking__panel > label {
    min-width: 0;
}

.ace-booking__panel > label > span:first-child {
    display: block;
    margin-bottom: 8px;
    color: #8a857f;
    font-size: 11px;
}

.ace-booking__panel > label input {
    width: 100%;
    height: 42px;
    padding: 0 0 8px;
    border: 0;
    border-bottom: 1px solid #d8d3cc;
    border-radius: 0;
    outline: 0;
}

.ace-booking__panel > label input:focus {
    border-bottom-color: var(--ace-red);
}

.ace-booking__captcha-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

#ace-captcha {
    min-width: 68px;
    height: 34px;
    padding: 0 6px;
    color: var(--ace-red);
    border: 0;
    background: #f3eee7;
    cursor: pointer;
    font-family: var(--ace-sans);
    font-weight: 700;
    letter-spacing: .12em;
}

.ace-booking__submit {
    min-width: 120px;
    height: 52px;
    padding: 0 18px;
    color: #fff;
    border: 0;
    background: var(--ace-red);
    cursor: pointer;
    font-weight: 700;
}

.ace-booking__status {
    position: absolute;
    top: calc(100% + 8px);
    left: 34px;
    margin: 0;
    color: var(--ace-red);
    font-size: 12px;
    font-weight: 700;
}

.ace-booking:not(.ace-booking--inner) .ace-shell {
    max-width: 1220px;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel {
    min-height: 96px;
    padding: 10px 10px 10px 34px;
    grid-template-columns: minmax(220px, 1.45fr) minmax(120px, .78fr) minmax(166px, 1fr) minmax(190px, 1.16fr) auto;
    align-items: center;
    gap: 0;
    border: 1px solid rgba(87, 75, 68, .08);
    border-radius: 999px;
    box-shadow: 0 18px 48px rgba(47, 31, 25, .13);
}

.ace-booking:not(.ace-booking--inner) .ace-booking__intro p {
    margin-top: 5px;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel > label {
    display: flex;
    min-height: 54px;
    padding: 4px 18px;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid #ece8e3;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel > label > span:first-child {
    margin-bottom: 6px;
    font-size: 13px;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel > label small {
    color: #aaa49d;
    font-size: 11px;
    font-weight: 400;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel > label input {
    height: 28px;
    padding: 0;
    border-bottom: 0;
    background: transparent;
    font-size: 16px;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel > label input:focus {
    color: var(--ace-red);
}

.ace-booking:not(.ace-booking--inner) .ace-booking__panel > label input::placeholder {
    color: #c1bcb6;
}

.ace-booking:not(.ace-booking--inner) #ace-captcha {
    border-radius: 17px;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__submit {
    min-width: 142px;
    height: 60px;
    margin: 0 10px 0 8px;
    padding: 0 24px;
    color: #fff;
    border-radius: 999px;
    box-shadow: 0 9px 22px rgba(163, 15, 25, .22);
    font-size: 17px;
    font-weight: 700;
    transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.ace-booking:not(.ace-booking--inner) .ace-booking__submit:hover,
.ace-booking:not(.ace-booking--inner) .ace-booking__submit:focus-visible {
    background: #8e0d16;
    box-shadow: 0 11px 26px rgba(163, 15, 25, .28);
    transform: translateY(-1px);
}

.ace-booking__project {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 4px 20px 4px 0;
}

.ace-booking__field-label {
    display: block;
    margin-bottom: 7px;
    color: #8a857f;
    font-size: 13px;
}

.ace-booking__project-trigger {
    display: flex;
    width: 100%;
    min-width: 0;
    height: 28px;
    padding: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #242120;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.ace-booking__project-trigger > span {
    overflow: hidden;
    font-size: 16px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-booking__project-trigger svg {
    width: 12px;
    flex: 0 0 12px;
    fill: none;
    stroke: #99928c;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    transition: transform .25s ease, stroke .25s ease;
}

.ace-booking__project-trigger:hover svg,
.ace-booking__project-trigger:focus-visible svg {
    stroke: var(--ace-red);
}

.ace-booking__project-trigger:focus-visible {
    outline: 2px solid rgba(163, 15, 25, .24);
    outline-offset: 5px;
}

.ace-booking__panel.is-project-open .ace-booking__project-trigger svg {
    transform: rotate(180deg);
}

.ace-booking__panel.is-project-open .ace-booking__project-trigger > span,
.ace-booking__project.has-value .ace-booking__project-trigger > span {
    color: var(--ace-red);
}

.ace-booking__project-popover {
    position: absolute;
    z-index: 20;
    top: calc(100% + 14px);
    bottom: auto;
    left: -34px;
    width: min(calc(100% + 36px), calc(100vw - 48px));
    padding: 22px 22px 20px;
    border: 1px solid var(--ace-disclosure-border);
    border-radius: var(--ace-disclosure-radius);
    background: #fff;
    box-shadow: var(--ace-disclosure-shadow);
    transform-origin: top;
    animation: aceDisclosureIn var(--ace-disclosure-duration) var(--ace-ease) both;
}

@keyframes aceBookingProjectUpIn {
    from {
        opacity: 0;
        transform: translateY(6px) scale(.985);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (min-width: 970px) {
    body.ace-index-production .ace-booking__project-popover {
        top: auto;
        bottom: -17px;
        box-sizing: border-box;
        max-height: var(--ace-booking-popover-max-height, 440px);
        overflow: hidden;
        border-bottom: 0;
        box-shadow: 0 -18px 48px rgba(42, 26, 22, .16), 14px 0 30px rgba(42, 26, 22, .05);
        transform-origin: bottom;
        animation-name: aceBookingProjectUpIn;
    }

    body.ace-index-production .ace-booking__project-popover:not([hidden]) {
        display: flex;
        flex-direction: column;
    }

    body.ace-index-production .ace-booking__project-head,
    body.ace-index-production .ace-booking__project-hint {
        flex: 0 0 auto;
    }

    body.ace-index-production .ace-booking__project-options {
        min-height: 0;
        flex: 1 1 auto;
    }
}

.ace-booking__project-popover[hidden] {
    display: none;
}

.ace-booking__project-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ace-booking__project-search {
    display: flex;
    height: 52px;
    min-width: 0;
    padding: 0 18px;
    flex: 1;
    align-items: center;
    gap: 11px;
    border: 1px solid #dcd7d1;
    border-radius: 10px;
    background: #fbfaf8;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.ace-booking__project-search:focus-within {
    border-color: var(--ace-red);
    box-shadow: 0 0 0 3px rgba(163, 15, 25, .08);
}

.ace-booking__project-search svg {
    width: 19px;
    flex: 0 0 19px;
    fill: none;
    stroke: var(--ace-red);
    stroke-linecap: round;
    stroke-width: 1.8;
}

.ace-booking__project-search input {
    width: 100%;
    height: 48px;
    padding: 0;
    color: #242120;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: 16px;
}

.ace-booking__project-search input::-webkit-search-cancel-button {
    cursor: pointer;
}

.ace-booking__project-close {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: #645f5a;
    border: 0;
    border-radius: 50%;
    background: #f2efeb;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
}

.ace-booking__project-close:hover,
.ace-booking__project-close:focus-visible {
    color: #fff;
    background: var(--ace-red);
}

.ace-booking__project-hint {
    margin: 15px 3px 12px;
    color: #827c76;
    font-size: 13px;
    line-height: 1.6;
}

.ace-booking__project-options {
    display: grid;
    max-height: 270px;
    padding-right: 4px;
    overflow: auto;
    grid-template-columns: 1fr;
    gap: 8px;
    overscroll-behavior: contain;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.ace-booking__project-options::-webkit-scrollbar {
    display: none;
}

.ace-booking__project-options button {
    display: flex;
    min-width: 0;
    min-height: 66px;
    padding: 10px 13px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    color: #282522;
    border: 1px solid #ebe7e2;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.ace-booking__project-options button[hidden] {
    display: none;
}

.ace-booking__project-options button:hover,
.ace-booking__project-options button:focus-visible {
    border-color: rgba(163, 15, 25, .45);
    outline: 0;
    background: #fff8f7;
}

.ace-booking__project-options button[aria-selected="true"] {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
}

.ace-booking__project-options span {
    flex: 0 0 auto;
    overflow: hidden;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-booking__project-options small {
    flex: 0 0 auto;
    color: #928b84;
    font-size: 11px;
    line-height: 1.45;
}

.ace-booking__project-options button[aria-selected="true"] small {
    color: rgba(255, 255, 255, .76);
}

.ace-booking__project-empty {
    margin: 28px 0 10px;
    color: #8a857f;
    font-size: 13px;
    text-align: center;
}

/* Map */
.ace-map {
    padding-top: clamp(55px, 5vw, 90px);
    background: #faf8f4;
}

.ace-map__heading {
    margin-bottom: 48px;
}

.ace-map__heading p {
    max-width: 550px;
    margin: 0 0 5px;
    color: #6d6964;
    font-size: 15px;
    line-height: 1.9;
}

.ace-map__grid {
    display: grid;
    min-height: 690px;
    grid-template-columns: 350px minmax(0, 1fr);
    border: 1px solid #ded9d1;
    background: #fff;
}

.ace-map__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border-right: 1px solid #ded9d1;
}

.ace-map__national {
    display: flex;
    min-height: 108px;
    padding: 22px 24px;
    align-items: center;
    gap: 16px;
    text-align: left;
    border: 0;
    border-bottom: 1px solid #ded9d1;
    background: #fff;
    cursor: pointer;
    transition: color .25s ease, background .25s ease;
}

.ace-map__national.is-active,
.ace-map__national:hover {
    color: #fff;
    background: var(--ace-red);
}

.ace-map__national-icon {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 21px;
}

.ace-map__national > span:nth-child(2) {
    display: flex;
    flex-direction: column;
}

.ace-map__national small,
.ace-map__all-link small {
    margin-bottom: 5px;
    opacity: .6;
    font-size: 9px;
    letter-spacing: .13em;
}

.ace-map__national strong {
    font-size: 21px;
}

.ace-map__national i {
    margin-left: auto;
    font-style: normal;
}

.ace-map__city-group {
    padding: 26px 24px;
    flex: 1;
}

.ace-map__city-title {
    display: flex;
    margin-bottom: 18px;
    align-items: center;
    justify-content: space-between;
}

.ace-map__city-title span {
    font-size: 14px;
    font-weight: 700;
}

.ace-map__city-title small {
    color: #9b9690;
    font-size: 9px;
    letter-spacing: .14em;
}

.ace-map__cities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ace-map__cities button {
    position: relative;
    display: flex;
    height: 47px;
    padding: 0 12px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #e5e0da;
    background: #faf9f7;
    cursor: pointer;
    font-size: 13px;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.ace-map__cities button small {
    color: #aaa59f;
    font-size: 9px;
}

.ace-map__cities button.is-active,
.ace-map__cities button:hover {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
}

.ace-map__cities button.is-active small,
.ace-map__cities button:hover small {
    color: rgba(255, 255, 255, .7);
}

.ace-v2-page .ace-map__all-link {
    display: flex;
    min-height: 86px;
    padding: 18px 24px;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    background: var(--ace-ink);
}

.ace-map__all-link > span {
    display: flex;
    flex-direction: column;
    font-size: 15px;
    font-weight: 700;
}

.ace-map__all-link i {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    font-style: normal;
}

.ace-map__visual {
    min-width: 0;
    padding: 28px 34px 24px;
    background:
        linear-gradient(rgba(255, 255, 255, .76), rgba(255, 255, 255, .76)),
        radial-gradient(circle at 70% 30%, #e5ddd1, transparent 46%);
}

.ace-map__visual-head {
    display: flex;
    min-height: 72px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.ace-map__visual-head span {
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .17em;
}

.ace-map__visual-head h3 {
    margin: 7px 0 0;
    font-family: var(--ace-sans);
    font-size: 27px;
}

.ace-map__visual-head > p {
    display: flex;
    margin: 0;
    align-items: flex-end;
    flex-direction: column;
}

.ace-map__visual-head p strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 33px;
    line-height: 1;
}

.ace-map__visual-head p span {
    margin-top: 7px;
    color: #7f7a74;
    letter-spacing: 0;
}

.ace-map__canvas {
    position: relative;
    height: 540px;
    overflow: hidden;
}

.ace-map__china,
.ace-map__city-map {
    position: absolute;
    top: 3%;
    left: 5%;
    width: 90%;
    height: 87%;
    object-fit: contain;
    transition: opacity .4s ease, transform .5s var(--ace-ease);
}

.ace-map__china {
    filter: grayscale(1) sepia(.05);
    opacity: .72;
}

.ace-map__city-map {
    opacity: 0;
    transform: scale(.96);
}

.ace-map__visual:not([data-map-view="china"]) .ace-map__china {
    opacity: 0;
    transform: scale(1.04);
}

.ace-map__visual:not([data-map-view="china"]) .ace-map__city-map {
    opacity: 1;
    transform: scale(1);
}

.ace-map__district {
    fill: #e4e0da;
    stroke: #fff;
    stroke-width: 4;
}

.ace-map__district--2 {
    fill: none;
}

.ace-map__river {
    fill: none;
    stroke: #c8d6d5;
    stroke-width: 12;
    opacity: .8;
}

.ace-map__road {
    fill: none;
    stroke: #fff;
    stroke-width: 3;
    stroke-dasharray: 8 8;
}

.ace-map__markers {
    position: absolute;
    inset: 0;
}

.ace-map__marker {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translate(-8px, -8px);
    animation: aceMarkerIn .45s var(--ace-ease) both;
}

.ace-map__marker i {
    position: relative;
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--ace-red);
    box-shadow: 0 2px 9px rgba(60, 7, 11, .35);
}

.ace-map__marker i::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(168, 16, 27, .45);
    border-radius: 50%;
    inset: -8px;
    animation: acePulse 2s infinite;
}

.ace-map__marker span {
    padding: 6px 9px;
    color: #fff;
    border-radius: 2px;
    background: rgba(24, 23, 22, .88);
    white-space: nowrap;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
}

.ace-map__marker:hover span {
    background: var(--ace-red);
}

.ace-map__legend {
    position: absolute;
    right: 4px;
    bottom: 0;
    left: 4px;
    display: flex;
    padding-top: 15px;
    align-items: center;
    justify-content: space-between;
    color: #837e78;
    border-top: 1px solid #ddd8d1;
    font-size: 11px;
}

.ace-map__legend span {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ace-map__legend i {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ace-red);
}

.ace-map__legend em {
    font-style: normal;
}

/* Stats */
.ace-stats {
    position: relative;
    overflow: hidden;
    padding: clamp(94px, 8vw, 136px) 0;
    color: #181715;
    background:
        radial-gradient(circle at 72% 39%, rgba(191, 30, 43, .075), transparent 28%),
        linear-gradient(135deg, #f3f1ed 0%, #faf9f7 44%, #f1efeb 100%);
    isolation: isolate;
}

.ace-stats::before {
    position: absolute;
    z-index: -1;
    content: "";
    background-image:
        linear-gradient(rgba(71, 64, 58, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(71, 64, 58, .035) 1px, transparent 1px);
    background-size: 46px 46px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 24%, #000 76%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 24%, #000 76%, transparent);
    inset: 0;
}

.ace-stats::after {
    position: absolute;
    z-index: -1;
    top: 16%;
    left: 50%;
    width: min(960px, 72vw);
    height: min(760px, 58vw);
    content: "";
    border: 1px solid rgba(172, 164, 156, .22);
    border-radius: 50%;
    opacity: .65;
    transform: translateX(-50%) rotate(-9deg);
}

.ace-stats__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.ace-stats__heading h2 {
    margin-top: 12px;
    color: #181715;
    font-size: clamp(42px, 4.2vw, 64px);
    letter-spacing: -.055em;
}

.ace-stats__heading > p {
    display: flex;
    max-width: 430px;
    margin: 0 0 5px;
    padding-left: 24px;
    flex-direction: column;
    border-left: 2px solid var(--ace-red);
}

.ace-stats__heading > p strong {
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 650;
}

.ace-stats__heading > p span {
    color: #7d7770;
    font-size: 16px;
    line-height: 1.7;
}

.ace-engine {
    --engine-x: 0deg;
    --engine-y: 0deg;
    position: relative;
    min-height: 720px;
    margin-top: clamp(46px, 5vw, 72px);
    overflow: hidden;
    border: 1px solid rgba(132, 123, 114, .18);
    border-radius: 30px;
    background:
        linear-gradient(122deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .34)),
        radial-gradient(circle at 51% 43%, rgba(255, 255, 255, .9), transparent 38%);
    box-shadow: 0 34px 90px rgba(78, 68, 60, .09), inset 0 1px rgba(255, 255, 255, .85);
    perspective: 1200px;
}

.ace-engine::before {
    position: absolute;
    z-index: 1;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(158, 150, 142, .22) 1px, transparent 1px) center / 25% 100%,
        linear-gradient(rgba(158, 150, 142, .18) 1px, transparent 1px) center / 100% 25%;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 8%, transparent 70%);
    mask-image: radial-gradient(ellipse at center, #000 8%, transparent 70%);
    inset: 0;
}

.ace-engine__ambient,
.ace-engine__ambient i {
    position: absolute;
    border-radius: 50%;
}

.ace-engine__ambient {
    z-index: 0;
    pointer-events: none;
    inset: 0;
}

.ace-engine__ambient::before,
.ace-engine__ambient::after {
    position: absolute;
    content: "";
    border-radius: 50%;
    filter: blur(1px);
}

.ace-engine__ambient::before {
    top: 18%;
    left: 36%;
    width: 29%;
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(189, 26, 39, .12), transparent 67%);
}

.ace-engine__ambient::after {
    right: 4%;
    bottom: 18%;
    width: 15%;
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(212, 195, 175, .28), transparent 68%);
}

.ace-engine__ambient i {
    width: 5px;
    height: 5px;
    background: rgba(151, 142, 133, .36);
    box-shadow: 0 0 0 5px rgba(151, 142, 133, .06);
    transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}

.ace-engine__ambient i:nth-child(1) {
    top: 24%;
    left: 17%;
}

.ace-engine__ambient i:nth-child(2) {
    top: 20%;
    right: 18%;
}

.ace-engine__ambient i:nth-child(3) {
    right: 23%;
    bottom: 30%;
}

.ace-engine__visual {
    position: absolute;
    z-index: 2;
    top: 48%;
    left: 50%;
    width: min(630px, 47vw);
    aspect-ratio: 1;
    pointer-events: none;
    transform: translate(-50%, -50%) rotateX(var(--engine-y)) rotateY(var(--engine-x));
    transform-style: preserve-3d;
    transition: transform .2s ease-out;
}

.ace-engine__halo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 82%;
    height: 30%;
    content: "";
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(138, 119, 101, .2), transparent 67%);
    filter: blur(13px);
    opacity: .58;
    transform: translate(-50%, 55%);
}

.ace-engine__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(120, 110, 101, .23);
    border-radius: 50%;
    transform-style: preserve-3d;
    transition: border-color .45s ease, box-shadow .45s ease;
}

.ace-engine__orbit--outer {
    width: 100%;
    height: 38%;
    transform: translate(-50%, -50%) rotate(-12deg);
}

.ace-engine__orbit--inner {
    width: 76%;
    height: 29%;
    border-color: rgba(176, 23, 35, .2);
    transform: translate(-50%, -50%) rotate(17deg);
}

.ace-engine__orbit i {
    position: absolute;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #a9a19a;
    box-shadow: 0 0 0 5px rgba(135, 124, 115, .09), 0 3px 10px rgba(57, 51, 46, .15);
    transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}

.ace-engine__orbit i:nth-child(1) {
    top: 7%;
    left: 24%;
}

.ace-engine__orbit i:nth-child(2) {
    top: 57%;
    right: -4px;
}

.ace-engine__orbit i:nth-child(3) {
    bottom: 4%;
    left: 19%;
}

.ace-engine__platform {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: auto;
    aspect-ratio: 1;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    transform: translate(-50%, -43%) rotate(-2deg);
}

.ace-engine__campus {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 31px 25px rgba(69, 59, 51, .2));
    transform: translateZ(20px);
    transition: filter .45s ease, transform .45s ease;
}

.ace-engine__axis {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 41%;
    background: linear-gradient(transparent, rgba(181, 22, 34, .75) 42%, transparent);
    box-shadow: 0 0 18px rgba(181, 22, 34, .3);
    transform: translate(-50%, -78%);
}

.ace-engine__axis::before,
.ace-engine__axis::after {
    position: absolute;
    left: 50%;
    content: "";
    border-radius: 50%;
    transform: translateX(-50%);
}

.ace-engine__axis::before {
    top: 0;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    background: var(--ace-red);
    box-shadow: 0 0 0 8px rgba(181, 22, 34, .1), 0 0 26px rgba(181, 22, 34, .35);
}

.ace-engine__axis::after {
    bottom: 0;
    width: 32px;
    height: 9px;
    background: radial-gradient(ellipse, rgba(181, 22, 34, .5), transparent 70%);
}

.ace-engine__layer {
    position: absolute;
    z-index: 3;
    padding: 6px 10px;
    color: #777069;
    border: 1px solid rgba(126, 115, 105, .22);
    border-radius: 99px;
    background: rgba(255, 255, 255, .64);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font-size: 9px;
    letter-spacing: .12em;
    transition: color .35s ease, border-color .35s ease, background .35s ease, transform .35s ease;
}

.ace-engine__layer--space {
    top: 24%;
    left: 9%;
}

.ace-engine__layer--service {
    top: 14%;
    right: 12%;
}

.ace-engine__layer--capital {
    right: 3%;
    bottom: 24%;
}

.ace-engine__metric {
    position: absolute;
    z-index: 5;
    min-width: 210px;
    padding: 15px 18px;
    color: #1a1816;
    border: 0;
    border-radius: 15px;
    outline: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: color .3s ease, background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.ace-engine__metric::before {
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    content: "";
    border: 2px solid #fff;
    border-radius: 50%;
    background: #aaa29a;
    box-shadow: 0 0 0 5px rgba(124, 114, 105, .08);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.ace-engine__metric::after {
    position: absolute;
    top: calc(50% + 4px);
    height: 1px;
    content: "";
    background: linear-gradient(90deg, rgba(132, 122, 113, .55), rgba(132, 122, 113, .06));
    transform-origin: left center;
    transition: background .3s ease, transform .3s ease;
}

.ace-engine__metric > span,
.ace-engine__metric > small {
    display: block;
}

.ace-engine__metric > span {
    color: #665f59;
    font-size: 13px;
    font-weight: 600;
}

.ace-engine__metric b {
    display: flex;
    align-items: flex-end;
    margin: 8px 0 7px;
    line-height: .9;
}

.ace-engine__metric em {
    margin: 0 5px 6px 0;
    color: var(--ace-red);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}

.ace-engine__metric strong {
    font-family: var(--ace-sans);
    font-size: clamp(39px, 4.2vw, 64px);
    font-weight: 700;
    letter-spacing: -.065em;
}

.ace-engine__metric sup {
    margin: 0 0 6px 7px;
    color: #4e4944;
    font-size: 12px;
    font-weight: 600;
}

.ace-engine__metric > small {
    color: #9a938c;
    font-size: 8px;
    letter-spacing: .16em;
}

.ace-engine__metric--parks {
    top: 18%;
    left: 50%;
    min-width: 230px;
    text-align: center;
    transform: translateX(-50%);
}

.ace-engine__metric--parks::before {
    top: auto;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
}

.ace-engine__metric--parks::after {
    top: auto;
    bottom: -21px;
    left: 50%;
    width: 1px;
    height: 58px;
    background: linear-gradient(rgba(132, 122, 113, .55), rgba(132, 122, 113, .03));
}

.ace-engine__metric--parks b {
    justify-content: center;
}

.ace-engine__metric--parks strong {
    font-size: clamp(56px, 6vw, 88px);
}

.ace-engine__metric--area {
    top: 26%;
    left: 3%;
}

.ace-engine__metric--area::before {
    right: -35px;
}

.ace-engine__metric--area::after {
    left: calc(100% + 31px);
    width: clamp(55px, 8vw, 125px);
    transform: rotate(10deg);
}

.ace-engine__metric--companies {
    top: 28%;
    right: 3%;
}

.ace-engine__metric--companies::before,
.ace-engine__metric--jobs::before {
    left: -34px;
}

.ace-engine__metric--companies::after,
.ace-engine__metric--jobs::after {
    right: calc(100% + 30px);
    width: clamp(54px, 8vw, 122px);
    background: linear-gradient(90deg, rgba(132, 122, 113, .06), rgba(132, 122, 113, .55));
    transform-origin: right center;
}

.ace-engine__metric--companies::after {
    transform: rotate(-8deg);
}

.ace-engine__metric--jobs {
    right: 7%;
    bottom: 24%;
}

.ace-engine__metric--jobs::after {
    transform: rotate(12deg);
}

.ace-engine__metric:hover,
.ace-engine__metric:focus-visible,
.ace-engine__metric.is-active {
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 16px 40px rgba(78, 67, 58, .11), inset 0 0 0 1px rgba(255, 255, 255, .72);
    transform: translateY(-4px);
}

.ace-engine__metric--parks:hover,
.ace-engine__metric--parks:focus-visible,
.ace-engine__metric--parks.is-active {
    transform: translate(-50%, -4px);
}

.ace-engine__metric:hover::before,
.ace-engine__metric:focus-visible::before,
.ace-engine__metric.is-active::before {
    background: var(--ace-red);
    box-shadow: 0 0 0 6px rgba(181, 22, 34, .1), 0 0 22px rgba(181, 22, 34, .35);
    transform: scale(1.15);
}

.ace-engine__metric--parks:hover::before,
.ace-engine__metric--parks:focus-visible::before,
.ace-engine__metric--parks.is-active::before {
    transform: translateX(-50%) scale(1.15);
}

.ace-engine__metric:hover::after,
.ace-engine__metric:focus-visible::after,
.ace-engine__metric.is-active::after {
    background: var(--ace-red);
}

.ace-engine__value {
    position: absolute;
    z-index: 6;
    bottom: 24px;
    left: 50%;
    display: grid;
    width: min(850px, 78%);
    padding: 20px 24px;
    border: 1px solid rgba(131, 120, 110, .17);
    border-radius: 17px;
    background: rgba(255, 255, 255, .66);
    box-shadow: 0 18px 50px rgba(79, 68, 59, .08);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    transform: translateX(-50%);
    grid-template-columns: repeat(3, 1fr);
}

.ace-engine__value div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    border-right: 1px solid rgba(134, 124, 115, .18);
}

.ace-engine__value div:last-child {
    border-right: 0;
}

.ace-engine__value span {
    white-space: nowrap;
}

.ace-engine__value strong {
    font-family: var(--ace-sans);
    font-size: 26px;
    letter-spacing: -.04em;
}

.ace-engine__value sup {
    margin-left: 3px;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    vertical-align: 4px;
}

.ace-engine__value small {
    color: #777069;
    font-size: 11px;
}

.ace-engine[data-active="parks"] .ace-engine__campus {
    filter: drop-shadow(0 34px 29px rgba(69, 59, 51, .24));
    transform: translateZ(20px) scale(1.018);
}

.ace-engine[data-active="area"] .ace-engine__platform {
    box-shadow: none;
}

.ace-engine[data-active="area"] .ace-engine__campus {
    filter: drop-shadow(0 34px 27px rgba(132, 29, 36, .25));
    transform: translateZ(20px) scale(1.012);
}

.ace-engine[data-active="companies"] .ace-engine__orbit,
.ace-engine[data-active="companies"] .ace-engine__layer--service {
    color: var(--ace-red);
    border-color: rgba(181, 22, 34, .44);
}

.ace-engine[data-active="companies"] .ace-engine__orbit i {
    background: var(--ace-red);
    box-shadow: 0 0 0 6px rgba(181, 22, 34, .1), 0 0 24px rgba(181, 22, 34, .4);
    transform: scale(1.2);
}

.ace-engine[data-active="jobs"] .ace-engine__ambient i {
    background: var(--ace-red);
    box-shadow: 0 0 0 7px rgba(181, 22, 34, .09), 0 0 24px rgba(181, 22, 34, .35);
    transform: scale(1.3);
}

.ace-engine[data-active="jobs"] .ace-engine__layer--capital {
    color: var(--ace-red);
    border-color: rgba(181, 22, 34, .42);
    background: rgba(255, 255, 255, .88);
    transform: translateY(-3px);
}

.ace-honors {
    display: grid;
    min-height: 132px;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid rgba(132, 123, 114, .17);
    border-radius: 21px;
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 20px 60px rgba(75, 65, 57, .06);
    grid-template-columns: 165px 270px minmax(0, 1fr);
}

.ace-honors__intro,
.ace-honors__feature {
    display: flex;
    justify-content: center;
    padding: 24px 28px;
    flex-direction: column;
    border-right: 1px solid rgba(132, 123, 114, .16);
}

.ace-honors__intro span {
    margin-bottom: 9px;
    color: var(--ace-red);
    font-size: 8px;
    letter-spacing: .15em;
}

.ace-honors__intro strong {
    font-size: 18px;
}

.ace-honors__feature strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 38px;
    line-height: 1;
    letter-spacing: -.04em;
}

.ace-honors__feature p {
    margin: 9px 0 0;
    color: #625c56;
    font-size: 11px;
}

.ace-honors__rail {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(6, minmax(96px, 1fr));
}

.ace-honors__rail button {
    position: relative;
    display: flex;
    min-width: 0;
    padding: 23px 14px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    color: #88817a;
    border: 0;
    border-right: 1px solid rgba(132, 123, 114, .12);
    outline: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: color .3s ease, background .3s ease;
}

.ace-honors__rail button:last-child {
    border-right: 0;
}

.ace-honors__rail button::after {
    position: absolute;
    right: 50%;
    bottom: 0;
    left: 50%;
    height: 3px;
    content: "";
    background: var(--ace-red);
    transition: right .3s ease, left .3s ease;
}

.ace-honors__rail button:hover,
.ace-honors__rail button:focus-visible,
.ace-honors__rail button.is-active {
    color: #1d1a18;
    background: rgba(255, 255, 255, .67);
}

.ace-honors__rail button:hover::after,
.ace-honors__rail button:focus-visible::after,
.ace-honors__rail button.is-active::after {
    right: 0;
    left: 0;
}

.ace-honors__rail b,
.ace-honors__rail span {
    display: block;
}

.ace-honors__rail b {
    margin-bottom: 10px;
    font-family: var(--ace-sans);
    font-size: 16px;
}

.ace-honors__rail span {
    overflow: hidden;
    width: 100%;
    font-size: 9px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-engine__visual,
.ace-engine__metric,
.ace-engine__value,
.ace-honors {
    opacity: 0;
}

.ace-engine__visual {
    transform: translate(-50%, -44%) scale(.94) rotateX(var(--engine-y)) rotateY(var(--engine-x));
}

.ace-stats.is-entered .ace-engine__visual {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotateX(var(--engine-y)) rotateY(var(--engine-x));
    transition: opacity .9s ease, transform 1.1s cubic-bezier(.2, .75, .2, 1);
}

.ace-stats.is-entered .ace-engine__metric,
.ace-stats.is-entered .ace-engine__value,
.ace-stats.is-entered .ace-honors {
    opacity: 1;
    transition: opacity .65s ease, color .3s ease, background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.ace-stats.is-entered .ace-engine__metric--area {
    transition-delay: .18s;
}

.ace-stats.is-entered .ace-engine__metric--parks {
    transition-delay: .28s;
}

.ace-stats.is-entered .ace-engine__metric--companies {
    transition-delay: .38s;
}

.ace-stats.is-entered .ace-engine__metric--jobs {
    transition-delay: .48s;
}

.ace-stats.is-entered .ace-engine__value {
    transition-delay: .58s;
}

.ace-stats.is-entered .ace-honors {
    transition-delay: .68s;
}

.ace-stats.is-settled .ace-engine__metric,
.ace-stats.is-settled .ace-engine__value,
.ace-stats.is-settled .ace-honors {
    transition-delay: 0s;
}

/* Core capability stage */
.ace-core {
    --engine-x: 0deg;
    --engine-y: 0deg;
    position: relative;
    min-height: 680px;
    margin-top: clamp(44px, 5vw, 70px);
    overflow: visible;
    isolation: isolate;
    perspective: 1200px;
}

.ace-core::before {
    position: absolute;
    z-index: -2;
    top: 3%;
    left: -16%;
    width: 73%;
    height: 92%;
    content: "";
    border-radius: 50%;
    background: radial-gradient(circle, rgba(191, 26, 39, .08), rgba(255, 255, 255, .22) 42%, transparent 70%);
    filter: blur(4px);
}

.ace-core::after {
    position: absolute;
    z-index: -2;
    top: 15%;
    left: 6%;
    width: 43%;
    height: 65%;
    content: "";
    border: 1px solid rgba(150, 141, 132, .13);
    border-radius: 50%;
    transform: rotate(-13deg);
}

.ace-core__visual {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: -6%;
    width: min(670px, 56vw);
    aspect-ratio: 1;
    pointer-events: none;
    transform: translateY(-50%) rotateX(var(--engine-y)) rotateY(var(--engine-x));
    transform-style: preserve-3d;
    transition: transform .22s ease-out;
}

.ace-core__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 55%;
    height: 55%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(190, 25, 38, .17), rgba(190, 25, 38, .04) 45%, transparent 72%);
    filter: blur(15px);
    opacity: .72;
    transform: translate(-50%, -50%);
    transition: opacity .45s ease, transform .45s ease;
}

.ace-core__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(113, 104, 96, .21);
    border-radius: 50%;
    transform-style: preserve-3d;
    transition: border-color .4s ease, opacity .4s ease, filter .4s ease;
}

.ace-core__orbit--outer {
    width: 108%;
    height: 39%;
    transform: translate(-50%, -50%) rotate(-13deg);
}

.ace-core__orbit--middle {
    width: 88%;
    height: 34%;
    border-color: rgba(181, 22, 34, .24);
    transform: translate(-50%, -50%) rotate(18deg);
}

.ace-core__orbit--inner {
    width: 62%;
    height: 23%;
    border-style: dashed;
    border-color: rgba(109, 99, 91, .22);
    transform: translate(-50%, -50%) rotate(-29deg);
}

.ace-core__orbit i {
    position: absolute;
    width: 8px;
    height: 8px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #aaa29a;
    box-shadow: 0 0 0 5px rgba(121, 111, 102, .08), 0 3px 12px rgba(67, 59, 52, .15);
    transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}

.ace-core__orbit i:nth-child(1) {
    top: 2%;
    left: 25%;
}

.ace-core__orbit i:nth-child(2) {
    top: 42%;
    right: -5px;
}

.ace-core__orbit i:nth-child(3) {
    bottom: 3%;
    left: 27%;
}

.ace-core__orbit i:nth-child(4) {
    top: 34%;
    left: -5px;
}

.ace-core__mark {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 42%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    transform-style: preserve-3d;
}

.ace-core__mark::before,
.ace-core__mark::after {
    position: absolute;
    z-index: 4;
    content: "";
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    -webkit-mask: url("https://static.shouai.cn/tpl-media/10012/objects/41/41c56a16d6f01f34f4256946c6c9727fdfd76ef42943d43e6cc762d5fb2492d6.webp") center / contain no-repeat;
    mask: url("https://static.shouai.cn/tpl-media/10012/objects/41/41c56a16d6f01f34f4256946c6c9727fdfd76ef42943d43e6cc762d5fb2492d6.webp") center / contain no-repeat;
    inset: 0;
}

.ace-core__mark::before {
    background: linear-gradient(120deg, transparent 25%, rgba(255, 255, 255, .72) 48%, transparent 70%);
    opacity: .6;
    transform: translateX(-120%);
}

.ace-core__mark::after {
    background: linear-gradient(180deg, transparent 8%, rgba(255, 255, 255, .52) 42%, rgba(255, 255, 255, .06) 60%, transparent 83%);
    mix-blend-mode: screen;
    opacity: .5;
}

.ace-core__mark-main,
.ace-core__mark-echo {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    inset: 0;
}

.ace-core__mark-main {
    z-index: 3;
    filter: drop-shadow(0 32px 24px rgba(99, 14, 23, .23));
    transform: translateZ(32px);
    transition: filter .45s ease, transform .45s ease;
}

.ace-core__mark-echo {
    z-index: 1;
    opacity: .075;
    filter: grayscale(1);
}

.ace-core__mark-echo--one {
    transform: translate3d(-17px, 13px, -30px) scale(1.03);
}

.ace-core__mark-echo--two {
    opacity: .045;
    transform: translate3d(-33px, 26px, -50px) scale(1.06);
}

.ace-core__mark > span {
    position: absolute;
    z-index: 5;
    top: 23%;
    left: 47%;
    width: 2px;
    height: 54%;
    background: linear-gradient(transparent, rgba(255, 255, 255, .82) 35%, rgba(255, 255, 255, .12) 72%, transparent);
    box-shadow: 0 0 20px rgba(255, 255, 255, .55), 0 0 34px rgba(181, 22, 34, .28);
    opacity: .72;
}

.ace-core__label {
    position: absolute;
    z-index: 5;
    color: #7b746d;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .15em;
    white-space: nowrap;
    transition: color .35s ease, transform .35s ease;
}

.ace-core__label::before {
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 8px;
    content: "";
    border-radius: 50%;
    background: var(--ace-red);
    box-shadow: 0 0 0 5px rgba(181, 22, 34, .07);
    vertical-align: 1px;
}

.ace-core__label--space {
    top: 25%;
    left: 7%;
}

.ace-core__label--service {
    top: 16%;
    right: 10%;
}

.ace-core__label--capital {
    right: 2%;
    bottom: 26%;
}

.ace-core__wing {
    position: absolute;
    z-index: 2;
    top: 42px;
    right: 0;
    bottom: 42px;
    left: 26%;
    display: flex;
    overflow: hidden;
    padding: 40px 42px 30px clamp(230px, 22vw, 325px);
    flex-direction: column;
    border: 1px solid rgba(129, 119, 110, .17);
    border-left: 0;
    border-radius: 0 30px 30px 0;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .78) 28%, rgba(255, 255, 255, .56)),
        radial-gradient(circle at 20% 50%, rgba(185, 25, 38, .06), transparent 31%);
    box-shadow: 22px 28px 80px rgba(73, 62, 54, .075);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .2) 5%, #000 17%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .2) 5%, #000 17%, #000 100%);
}

.ace-core__wing::before {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(137, 127, 118, .09) 1px, transparent 1px) 0 0 / 25% 100%,
        linear-gradient(rgba(137, 127, 118, .08) 1px, transparent 1px) 0 0 / 100% 50%;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 35%);
    mask-image: linear-gradient(90deg, transparent, #000 35%);
    inset: 0;
}

.ace-core__metrics {
    display: grid;
    flex: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ace-core__metric {
    position: relative;
    display: flex;
    min-width: 0;
    padding: 24px clamp(18px, 2.2vw, 34px);
    justify-content: center;
    flex-direction: column;
    color: #1b1917;
    border: 0;
    border-right: 1px solid rgba(130, 120, 111, .15);
    border-bottom: 1px solid rgba(130, 120, 111, .15);
    outline: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: color .3s ease, background .3s ease, transform .3s ease;
}

.ace-core__metric:nth-child(even) {
    border-right: 0;
}

.ace-core__metric:nth-child(n+3) {
    border-bottom: 0;
}

.ace-core__metric::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 0;
    content: "";
    background: var(--ace-red);
    transform: translateY(-50%);
    transition: height .3s ease;
}

.ace-core__metric > span {
    display: block;
}

.ace-core__metric > span {
    color: #6d665f;
    font-size: 16px;
    font-weight: 600;
}

.ace-core__metric b {
    display: flex;
    align-items: flex-end;
    margin: 10px 0 8px;
    line-height: .88;
    white-space: nowrap;
}

.ace-core__metric em {
    margin: 0 5px 6px 0;
    color: var(--ace-red);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
}

.ace-core__metric strong {
    font-family: var(--ace-sans);
    font-size: clamp(42px, 4vw, 61px);
    font-weight: 700;
    letter-spacing: -.07em;
}

.ace-core__metric sup {
    margin: 0 0 6px 7px;
    color: #514b46;
    font-size: 16px;
    font-weight: 600;
}

.ace-core__metric:hover,
.ace-core__metric:focus-visible,
.ace-core__metric.is-active {
    background: linear-gradient(90deg, rgba(181, 22, 34, .045), transparent 70%);
}

.ace-core__metric:hover::before,
.ace-core__metric:focus-visible::before,
.ace-core__metric.is-active::before {
    height: 44%;
}

.ace-core__value {
    display: grid;
    padding-top: 22px;
    border-top: 1px solid rgba(130, 120, 111, .18);
    grid-template-columns: repeat(3, 1fr);
}

.ace-core__value div {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border-right: 1px solid rgba(130, 120, 111, .16);
}

.ace-core__value div:first-child {
    justify-content: flex-start;
}

.ace-core__value div:last-child {
    justify-content: flex-end;
    border-right: 0;
}

.ace-core__value span {
    white-space: nowrap;
}

.ace-core__value strong {
    font-family: var(--ace-sans);
    font-size: 30px;
    letter-spacing: -.045em;
}

.ace-core__value sup {
    margin-left: 3px;
    color: var(--ace-red);
    font-size: 16px;
    font-weight: 700;
    vertical-align: 4px;
}

.ace-core__value small {
    overflow: hidden;
    color: #777068;
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-core[data-active="parks"] .ace-core__mark-main {
    filter: drop-shadow(0 35px 27px rgba(100, 13, 22, .27));
    transform: translateZ(32px) scale(1.025);
}

.ace-core[data-active="parks"] .ace-core__orbit--outer,
.ace-core[data-active="area"] .ace-core__orbit--middle,
.ace-core[data-active="companies"] .ace-core__orbit--inner {
    border-color: rgba(181, 22, 34, .55);
    filter: drop-shadow(0 0 8px rgba(181, 22, 34, .16));
}

.ace-core[data-active="area"] .ace-core__mark-echo {
    opacity: .14;
}

.ace-core[data-active="companies"] .ace-core__orbit i {
    background: var(--ace-red);
    box-shadow: 0 0 0 6px rgba(181, 22, 34, .1), 0 0 24px rgba(181, 22, 34, .35);
    transform: scale(1.18);
}

.ace-core[data-active="jobs"] .ace-core__glow {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.24);
}

.ace-core[data-active="jobs"] .ace-core__mark > span {
    box-shadow: 0 0 24px rgba(255, 255, 255, .75), 0 0 50px rgba(181, 22, 34, .52);
    opacity: 1;
}

.ace-core-honors {
    min-height: 144px;
    margin-top: 14px;
    border: 1px solid rgba(130, 120, 111, .22);
    background: rgba(255, 255, 255, .19);
}

.ace-core-honors__mobile-head,
.ace-core-honors__pager {
    display: none;
}

.ace-core-honors__rail {
    display: flex;
    min-width: 0;
    min-height: 144px;
    align-items: stretch;
}

.ace-core-honors__rail button {
    position: relative;
    display: flex;
    min-height: 144px;
    min-width: 0;
    padding: 26px clamp(15px, 1.7vw, 28px);
    align-items: flex-start;
    justify-content: center;
    flex: 1 1 0;
    flex-direction: column;
    color: #777068;
    border: 0 solid transparent;
    border-right: 1px solid rgba(130, 120, 111, .11);
    outline: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transform: translateZ(0);
    transition: flex-grow .42s cubic-bezier(.2, .75, .2, 1), min-height .42s cubic-bezier(.2, .75, .2, 1), margin .42s cubic-bezier(.2, .75, .2, 1), padding .42s ease, color .3s ease, background .3s ease, box-shadow .3s ease;
}

.ace-core-honors__rail button:last-child {
    border-right: 0;
}

.ace-core-honors__rail button::after {
    position: absolute;
    right: 50%;
    bottom: -1px;
    left: 50%;
    height: 3px;
    content: "";
    background: var(--ace-red);
    transition: right .3s ease, left .3s ease;
}

.ace-core-honors__rail button.is-active {
    z-index: 2;
    min-height: 144px;
    margin: 0;
    padding-right: clamp(24px, 2.6vw, 42px);
    padding-left: clamp(24px, 2.6vw, 42px);
    flex-grow: 1.9;
    color: #1d1a18;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 18px 45px rgba(74, 64, 56, .09);
}

.ace-core-honors__rail button.is-active::before {
    position: absolute;
    top: 50%;
    right: clamp(7px, 1.9vw, 34px);
    width: clamp(48px, 6vw, 92px);
    aspect-ratio: 120 / 132;
    content: "";
    pointer-events: none;
    background: url("../img/honor-trophy-flat.svg") center / contain no-repeat;
    opacity: .5;
    transform: translateY(-50%);
    animation: ace-honor-trophy-in .52s cubic-bezier(.2, .75, .2, 1) both;
}

@keyframes ace-honor-trophy-in {
    from {
        opacity: 0;
        transform: translateY(-47%) scale(.9);
    }
    to {
        opacity: .5;
        transform: translateY(-50%) scale(1);
    }
}

.ace-core-honors__rail button.is-active::after {
    right: 0;
    left: 0;
}

.ace-core-honors__rail b,
.ace-core-honors__rail span {
    display: block;
}

.ace-core-honors__rail b {
    margin-bottom: 12px;
    color: currentColor;
    font-family: var(--ace-sans);
    font-size: 18px;
    line-height: 1;
    letter-spacing: -.035em;
    transition: color .3s ease, font-size .42s cubic-bezier(.2, .75, .2, 1);
}

.ace-core-honors__rail span {
    width: 100%;
    max-width: 210px;
    font-size: 11px;
    line-height: 1.55;
    white-space: normal;
    transition: color .3s ease, font-size .42s cubic-bezier(.2, .75, .2, 1);
}

.ace-core-honors__rail button.is-active b {
    color: var(--ace-red);
    font-size: 40px;
}

.ace-core-honors__rail button.is-active span {
    color: #625c56;
    font-size: 13px;
}

.ace-core__visual,
.ace-core__wing,
.ace-core-honors {
    opacity: 0;
}

.ace-core__visual {
    transform: translateY(-44%) scale(.93) rotateX(var(--engine-y)) rotateY(var(--engine-x));
}

.ace-stats.is-entered .ace-core__visual {
    opacity: 1;
    transform: translateY(-50%) scale(1) rotateX(var(--engine-y)) rotateY(var(--engine-x));
    transition: opacity .85s ease, transform 1.05s cubic-bezier(.2, .75, .2, 1);
}

.ace-stats.is-entered .ace-core__wing,
.ace-stats.is-entered .ace-core-honors {
    opacity: 1;
    transition: opacity .7s ease;
}

.ace-stats.is-entered .ace-core__wing {
    transition-delay: .2s;
}

.ace-stats.is-entered .ace-core-honors {
    transition-delay: .52s;
}

.ace-stats.is-settled .ace-core__wing,
.ace-stats.is-settled .ace-core-honors {
    transition-delay: 0s;
}

/* News */
.ace-news {
    position: relative;
    overflow: hidden;
    color: var(--ace-ink);
    background:
        radial-gradient(circle at 82% 24%, rgba(168, 16, 27, .065), transparent 25%),
        linear-gradient(135deg, #f2f0ec 0%, #faf9f7 48%, #f0eeea 100%);
    isolation: isolate;
}

.ace-news::before {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
    background-image:
        linear-gradient(rgba(71, 64, 58, .032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(71, 64, 58, .032) 1px, transparent 1px);
    background-size: 46px 46px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
    inset: 0;
}

.ace-news::after {
    position: absolute;
    z-index: -1;
    top: 10%;
    right: -14%;
    width: min(760px, 58vw);
    aspect-ratio: 1.7;
    content: "";
    border: 1px solid rgba(159, 150, 142, .22);
    border-radius: 50%;
    pointer-events: none;
    transform: rotate(-11deg);
}

.ace-news .ace-shell {
    position: relative;
    z-index: 1;
}

.ace-news__heading {
    align-items: flex-end;
}

.ace-news__heading-side {
    display: flex;
    max-width: 430px;
    margin: 0 0 5px;
    padding-left: 24px;
    align-items: flex-start;
    flex-direction: column;
    border-left: 2px solid var(--ace-red);
}

.ace-news__heading-link {
    display: inline-flex;
    margin-bottom: 8px;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 650;
    line-height: 1.3;
}

.ace-news__heading-link span {
    color: var(--ace-red);
    font-size: 15px;
    transition: transform .3s ease;
}

.ace-news__heading-link:hover span {
    transform: translateX(5px);
}

.ace-news__heading-side p {
    margin: 0;
    color: #7d7770;
    font-size: 14px;
    line-height: 1.7;
}

.ace-news__stage {
    position: relative;
    margin-top: clamp(42px, 5vw, 70px);
}

.ace-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 22px;
}

.ace-news__card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: 22px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 14px 38px rgba(73, 62, 54, .07);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.ace-news__card:nth-child(n+10) {
    display: none;
}

.ace-news__card-link {
    display: block;
    height: 100%;
    min-height: 118px;
    min-width: 0;
    outline: 0;
}

.ace-news__image {
    position: relative;
    display: none;
    aspect-ratio: 896 / 381;
    overflow: hidden;
    background: #e9e5df;
}

.ace-news__image::after {
    position: absolute;
    content: "";
    pointer-events: none;
    background: linear-gradient(to top, rgba(23, 23, 22, .17), transparent 48%);
    inset: 0;
}

.ace-news__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s var(--ace-ease), filter .4s ease;
}

.ace-news__body {
    min-width: 0;
}

.ace-news__body {
    display: grid;
    min-height: 118px;
    padding: 18px clamp(18px, 1.8vw, 28px);
    grid-template-columns: 78px minmax(0, 1fr) 24px;
    align-items: center;
    gap: clamp(14px, 1.5vw, 24px);
}

.ace-news__body time {
    color: #8a837c;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .1em;
}

.ace-news__body time strong,
.ace-news__body time small {
    display: none;
}

.ace-news__body h3 {
    display: -webkit-box;
    margin: 13px 0 0;
    overflow: hidden;
    font-size: clamp(17px, 1.35vw, 20px);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.025em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ace-news__read {
    display: flex;
    margin-top: auto;
    padding-top: 18px;
    align-items: center;
    justify-content: space-between;
    color: #77716b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
}

.ace-news__read i {
    color: var(--ace-red);
    font-size: 14px;
    font-style: normal;
    transition: transform .3s ease;
}

.ace-news__body time {
    display: grid;
    min-height: 54px;
    padding-right: 16px;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 2px;
    color: var(--ace-ink);
    letter-spacing: 0;
}

.ace-news__body time span {
    display: none;
}

.ace-news__body time strong,
.ace-news__body time small {
    display: block;
}

.ace-news__body time strong {
    grid-row: 1 / span 2;
    font-family: var(--ace-sans);
    font-size: 29px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.06em;
}

.ace-news__body time small {
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}

.ace-news__body h3 {
    margin: 0;
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: -.015em;
    -webkit-line-clamp: 2;
    transition: color .3s ease;
}

.ace-news__read {
    margin: 0;
    padding: 0;
    justify-content: flex-end;
    border: 0;
}

.ace-news__read > span {
    display: none;
}

.ace-news__card:hover {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 20px 48px rgba(73, 62, 54, .11);
    transform: translateY(-3px);
}

.ace-news__card:hover .ace-news__body h3 {
    color: var(--ace-red);
}

.ace-news__card:hover .ace-news__read i {
    transform: translate(4px, -4px);
}

.ace-news__card-link:focus-visible {
    box-shadow: inset 0 0 0 3px rgba(168, 16, 27, .34);
}

.ace-news__card--placeholder {
    grid-column: 1 / -1;
}

.ace-news__card--placeholder .ace-news__body {
    display: flex;
    min-height: 190px;
    padding: 36px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.ace-news__card--placeholder .ace-news__body p {
    margin: 10px 0 0;
    color: #7d7770;
    font-size: 13px;
}

/* About */
.ace-about-page {
    background: var(--ace-paper);
}

.ace-about-hero {
    position: relative;
    display: flex;
    min-height: min(680px, 76vh);
    overflow: hidden;
    align-items: flex-end;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(28, 13, 14, .82), rgba(28, 13, 14, .24)),
        linear-gradient(0deg, rgba(20, 10, 10, .62), transparent 60%),
        var(--ace-about-hero) center / cover no-repeat;
}

.ace-about-hero::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

.ace-about-hero__inner {
    position: relative;
    z-index: 1;
    padding-bottom: clamp(76px, 8vw, 120px);
}

.ace-about-hero h1 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(58px, 7.2vw, 112px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.06em;
}

.ace-about-hero p {
    margin: 26px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(16px, 1.4vw, 21px);
}

.ace-about-page.ace-light-banner-page .ace-about-hero {
    height: 680px;
    min-height: 680px;
    color: var(--ace-ink);
    background: #f4f5f7 var(--ace-about-hero) center / cover no-repeat;
}

.ace-about-page.ace-light-banner-page .ace-about-hero .ace-kicker--light {
    color: var(--ace-red);
}

.ace-about-page.ace-light-banner-page .ace-about-hero p {
    color: #5d5955;
}

.ace-about-layout {
    display: grid;
    padding-top: 108px;
    padding-bottom: 130px;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: start;
    gap: clamp(55px, 7vw, 115px);
}

.ace-about-nav {
    position: sticky;
    z-index: 5;
    top: 118px;
}

.ace-about-nav > span {
    display: block;
    padding-bottom: 18px;
    color: var(--ace-red);
    border-bottom: 1px solid var(--ace-line);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ace-about-nav nav {
    display: flex;
    flex-direction: column;
}

.ace-about-nav a {
    position: relative;
    padding: 16px 24px 16px 0;
    color: #8a857f;
    border-bottom: 1px solid var(--ace-line);
    font-size: 16px;
    font-weight: 500;
    transition: color .25s ease, padding-left .25s ease;
}

.ace-about-nav a::after {
    position: absolute;
    top: 50%;
    right: 3px;
    content: "→";
    opacity: 0;
    transform: translate(-7px, -50%);
    transition: opacity .25s ease, transform .25s ease;
}

.ace-about-nav a.is-active,
.ace-about-nav a:hover {
    padding-left: 12px;
    color: var(--ace-red);
}

.ace-about-nav a.is-active::after,
.ace-about-nav a:hover::after {
    opacity: 1;
    transform: translate(0, -50%);
}

.ace-about-content {
    min-width: 0;
}

.ace-about-section {
    padding: 0 0 clamp(105px, 10vw, 160px);
    scroll-margin-top: 120px;
}

.ace-about-section:last-child {
    padding-bottom: 0;
}

.ace-about-heading {
    margin-bottom: 48px;
}

.ace-about-heading > span,
.ace-about-heading > div > span {
    display: block;
    margin-bottom: 15px;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
}

.ace-about-heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: 38px;
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.045em;
}

.ace-about-heading--row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
}

.ace-about-heading--row > p {
    max-width: 430px;
    margin: 0 0 4px;
    color: #75716c;
    font-size: 14px;
    line-height: 1.9;
}

.ace-about-overview {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: start;
    gap: 58px;
}

.ace-about-overview--map {
    grid-template-columns: minmax(0, 1fr);
    gap: 46px;
}

.ace-about-overview--map .ace-about-prose {
    max-width: none;
}

.ace-about-overview--map .ace-about-prose p:last-child {
    margin-bottom: 0;
}

.ace-about-prose {
    color: #5d5955;
    font-size: 16px;
    line-height: 1.8;
}

.ace-about-prose p {
    margin: 0 0 14px;
}

.ace-about-overview__image {
    position: relative;
    margin: 0;
}

.ace-about-overview__image::before {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 58%;
    height: 58%;
    content: "";
    border-top: 1px solid var(--ace-red);
    border-right: 1px solid var(--ace-red);
}

.ace-about-overview__image img {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1.1;
    object-fit: cover;
}

.ace-about-overview__image--map {
    padding: clamp(10px, 1.5vw, 22px);
    background: #fff;
}

.ace-about-overview__image--map::before,
.ace-about-overview__image--map::after {
    position: absolute;
    z-index: 0;
    width: 96px;
    height: 96px;
    content: "";
}

.ace-about-overview__image--map::before {
    top: -8px;
    right: -8px;
}

.ace-about-overview__image--map::after {
    bottom: -8px;
    left: -8px;
    border-bottom: 1px solid var(--ace-red);
    border-left: 1px solid var(--ace-red);
}

.ace-about-overview__image--map img {
    z-index: 1;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
}

.ace-about-numbers {
    display: grid;
    margin-top: 58px;
    padding: 32px 0;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--ace-line);
    border-bottom: 1px solid var(--ace-line);
}

.ace-about-numbers div {
    padding: 0 24px;
    border-right: 1px solid var(--ace-line);
}

.ace-about-numbers div:first-child {
    padding-left: 0;
}

.ace-about-numbers div:last-child {
    border-right: 0;
}

.ace-about-numbers strong,
.ace-about-numbers span {
    display: block;
}

.ace-about-numbers strong {
    font-family: var(--ace-sans);
    font-size: clamp(27px, 2.5vw, 41px);
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    letter-spacing: -.04em;
}

.ace-about-numbers span {
    margin-top: 9px;
    color: #8a857f;
    font-size: 11px;
}

.ace-about-culture {
    display: grid;
    grid-template-columns: minmax(290px, .82fr) minmax(0, 1.48fr);
    align-items: stretch;
    gap: 18px;
}

.ace-about-culture__visual {
    position: relative;
    min-height: 510px;
    overflow: hidden;
    border: 1px solid var(--ace-line);
    background:
        radial-gradient(circle at 46% 50%, rgba(168, 16, 27, .13), transparent 29%),
        linear-gradient(145deg, rgba(255, 255, 255, .78), rgba(235, 229, 220, .58));
    isolation: isolate;
}

.ace-about-culture__visual::before {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
    background-image:
        linear-gradient(rgba(97, 88, 80, .075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(97, 88, 80, .075) 1px, transparent 1px);
    background-size: 34px 34px;
    opacity: .7;
    inset: 0;
    -webkit-mask-image: linear-gradient(135deg, #000, transparent 84%);
    mask-image: linear-gradient(135deg, #000, transparent 84%);
}

.ace-about-culture__visual::after {
    position: absolute;
    z-index: -1;
    top: -65px;
    left: -75px;
    width: 210px;
    height: 210px;
    content: "";
    border: 1px solid rgba(168, 16, 27, .17);
    transform: rotate(28deg);
}

.ace-about-culture__graph {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    inset: 0;
}

.ace-about-culture__graph path {
    fill: none;
    stroke: rgba(168, 16, 27, .42);
    stroke-dasharray: 5 6;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ace-about-culture__wheel {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 45%;
    width: 220px;
    aspect-ratio: 1;
    border-radius: 50%;
    filter: drop-shadow(0 22px 25px rgba(80, 24, 27, .16));
    transform: translate(-50%, -50%);
}

.ace-about-culture__wheel::before,
.ace-about-culture__wheel::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.ace-about-culture__wheel::before {
    border-radius: 50%;
    background: conic-gradient(from -60deg,
        #a8101b 0 118deg,
        transparent 118deg 121deg,
        #7f0b14 121deg 238deg,
        transparent 238deg 241deg,
        #cf4c55 241deg 358deg,
        transparent 358deg 360deg);
    box-shadow:
        0 0 0 1px rgba(168, 16, 27, .12),
        0 0 0 12px rgba(255, 255, 255, .5),
        0 0 0 13px rgba(168, 16, 27, .1);
    inset: 0;
}

.ace-about-culture__wheel::after {
    top: 50%;
    left: 50%;
    width: 74px;
    aspect-ratio: 1;
    border: 1px solid rgba(168, 16, 27, .17);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 0 0 8px rgba(255, 255, 255, .18);
    transform: translate(-50%, -50%);
}

.ace-about-culture__wheel-label,
.ace-about-culture__wheel-core {
    position: absolute;
    z-index: 2;
}

.ace-about-culture__wheel-label {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1;
    text-shadow: 0 1px 4px rgba(74, 0, 7, .3);
    white-space: nowrap;
}

.ace-about-culture__wheel-label--position {
    top: 32px;
    left: 50%;
    transform: translateX(-50%);
}

.ace-about-culture__wheel-label--mission {
    right: 18px;
    bottom: 52px;
}

.ace-about-culture__wheel-label--values {
    bottom: 52px;
    left: 12px;
}

.ace-about-culture__wheel-core {
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 74px;
    aspect-ratio: 1;
    color: var(--ace-red);
    text-align: center;
    transform: translate(-50%, -50%);
}

.ace-about-culture__wheel-core strong {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1;
}

.ace-about-culture .ace-about-culture__wheel-core small {
    display: block;
    margin-top: 7px;
    color: rgba(79, 64, 59, .62);
    font-family: var(--ace-sans);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1;
    white-space: nowrap;
}

.ace-about-culture__list {
    display: grid;
    gap: 12px;
}

.ace-about-culture article {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 162px;
    padding: 28px 32px;
    align-items: start;
    grid-template-columns: 46px minmax(0, 1fr);
    border: 1px solid var(--ace-line);
    background: rgba(255, 255, 255, .56);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.ace-about-culture article::before {
    position: absolute;
    top: -1px;
    bottom: -1px;
    left: -1px;
    width: 3px;
    content: "";
    background: var(--ace-red);
    opacity: .2;
    transform: scaleY(.32);
    transform-origin: center;
    transition: opacity .25s ease, transform .25s ease;
}

.ace-about-culture article:hover {
    border-color: rgba(168, 16, 27, .26);
    box-shadow: 0 18px 38px rgba(55, 42, 34, .08);
    transform: translateY(-2px);
}

.ace-about-culture article:hover::before {
    opacity: 1;
    transform: scaleY(1);
}

.ace-about-culture__index {
    padding-top: 2px;
    color: var(--ace-red);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: .12em;
}

.ace-about-culture small {
    display: block;
    color: var(--ace-ink);
    font-size: clamp(20px, 1.7vw, 23px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.ace-about-culture h3 {
    margin: 10px 0 7px;
    color: #4b4743;
    font-family: var(--ace-sans);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -.01em;
}

.ace-about-culture p {
    margin: 0;
    color: #79746f;
    font-size: 13px;
    line-height: 1.75;
}

.ace-about-culture-map {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    border: 1px solid var(--ace-line);
    background:
        radial-gradient(circle at 50% 50%, rgba(168, 16, 27, .11), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(239, 233, 225, .62));
    isolation: isolate;
}

.ace-about-culture-map::before {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
    background-image:
        linear-gradient(rgba(97, 88, 80, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(97, 88, 80, .055) 1px, transparent 1px);
    background-size: 38px 38px;
    opacity: .72;
    inset: 0;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000, transparent 76%);
    mask-image: radial-gradient(circle at 50% 50%, #000, transparent 76%);
}

.ace-about-culture-map::after {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 470px;
    aspect-ratio: 1;
    content: "";
    border-radius: 50%;
    background: radial-gradient(circle, rgba(168, 16, 27, .1), rgba(255, 255, 255, .44) 48%, transparent 72%);
    filter: blur(8px);
    transform: translate(-50%, -50%);
}

.ace-about-culture-map__links {
    position: absolute;
    z-index: 3;
    width: 100%;
    height: 100%;
    inset: 0;
}

.ace-about-culture-map__links path {
    fill: none;
    stroke: rgba(168, 16, 27, .48);
    stroke-dasharray: 2 5;
    stroke-dashoffset: 0;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.15;
    transition: stroke .35s ease, stroke-width .35s ease;
    vector-effect: non-scaling-stroke;
    animation: aceCultureLineDrift 12s linear infinite;
}

.ace-about-culture-map__links circle {
    fill: #bd2632;
    transform-box: fill-box;
    transform-origin: center;
    vector-effect: non-scaling-stroke;
    animation: aceCultureDotPulse 2.8s ease-in-out infinite;
}

.ace-about-culture-map__dot--values {
    animation-delay: .55s !important;
}

.ace-about-culture-map__dot--position {
    animation-delay: 1.1s !important;
}

.ace-about-culture-map__core {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 430px;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
}

.ace-about-culture-map__core svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.ace-about-culture-pyramid {
    transform-box: fill-box;
    transform-origin: center;
    animation: aceCulturePyramidFloat 6.4s ease-in-out infinite;
}

.ace-about-culture-pyramid__facet {
    transform-box: fill-box;
    transform-origin: center;
    transition: filter .38s ease, transform .38s var(--ace-ease);
}

.ace-about-culture-pyramid__bridge {
    animation: aceCultureBridgeGlow 4.8s ease-in-out infinite;
}

.ace-about-culture-pyramid__label {
    fill: #fff;
    font-family: var(--ace-sans);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .03em;
    paint-order: stroke;
    stroke: rgba(111, 5, 13, .16);
    stroke-width: 1px;
}

.ace-about-culture-map:has(.ace-about-culture-map__item--mission:hover) .ace-about-culture-pyramid__facet--mission,
.ace-about-culture-map:has(.ace-about-culture-map__item--values:hover) .ace-about-culture-pyramid__facet--values,
.ace-about-culture-map:has(.ace-about-culture-map__item--position:hover) .ace-about-culture-pyramid__facet--position {
    filter: brightness(1.08) drop-shadow(0 8px 10px rgba(105, 6, 14, .18));
    transform: translateY(-5px);
}

.ace-about-culture-map:has(.ace-about-culture-map__item--mission:hover) .ace-about-culture-map__link--mission,
.ace-about-culture-map:has(.ace-about-culture-map__item--values:hover) .ace-about-culture-map__link--values,
.ace-about-culture-map:has(.ace-about-culture-map__item--position:hover) .ace-about-culture-map__link--position {
    stroke: #a8101b;
    stroke-width: 1.8;
}

.ace-about-culture-map__item {
    position: absolute;
    z-index: 4;
    width: 270px;
}

.ace-about-culture-map__item--position {
    right: 24px;
    bottom: 42px;
}

.ace-about-culture-map__item--mission {
    top: 36px;
    right: 24px;
}

.ace-about-culture-map__item--values {
    left: 24px;
    bottom: 42px;
}

@keyframes aceCulturePyramidFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}

@keyframes aceCultureBridgeGlow {
    0%,
    100% {
        opacity: .7;
    }

    50% {
        opacity: 1;
    }
}

@keyframes aceCultureDotPulse {
    0%,
    100% {
        opacity: .72;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.55);
    }
}

@keyframes aceCultureLineDrift {
    to {
        stroke-dashoffset: -28;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-about-culture-pyramid,
    .ace-about-culture-pyramid__bridge,
    .ace-about-culture-map__links path,
    .ace-about-culture-map__links circle {
        animation: none;
    }
}

.ace-about-culture-map__item h3 {
    display: inline-flex;
    min-height: 42px;
    margin: 0 0 16px;
    padding: 10px 20px;
    align-items: center;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(105deg, #d94d57, #a8101b 72%);
    box-shadow: 0 9px 22px rgba(123, 10, 20, .2);
    font-family: var(--ace-sans);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .03em;
}

.ace-about-culture-map__icon {
    display: inline-flex;
    width: 26px;
    height: 18px;
    margin-right: 10px;
    padding-right: 9px;
    align-items: center;
    justify-content: center;
    border-right: 1px solid rgba(255, 255, 255, .45);
    opacity: .9;
}

.ace-about-culture-map__icon svg {
    display: block;
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
    vector-effect: non-scaling-stroke;
}

.ace-about-culture-map__item strong {
    display: block;
    margin-bottom: 8px;
    color: #3f3b38;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
}

.ace-about-culture-map__item p {
    margin: 0;
    color: #77716c;
    font-size: 13px;
    line-height: 1.75;
}

@media (max-width: 1100px) {
    .ace-about-culture-map {
        display: grid;
        min-height: 0;
        padding: 34px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }

    .ace-about-culture-map__links {
        display: none;
    }

    .ace-about-culture-map__core {
        position: relative;
        top: auto;
        left: auto;
        width: min(380px, 68vw);
        margin: -18px auto -20px;
        grid-column: 1 / -1;
        transform: none;
    }

    .ace-about-culture-map__item,
    .ace-about-culture-map__item--position,
    .ace-about-culture-map__item--mission,
    .ace-about-culture-map__item--values {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        padding: 22px;
        border: 1px solid rgba(168, 16, 27, .12);
        background: rgba(255, 255, 255, .68);
    }
}

@media (max-width: 720px) {
    .ace-about-culture-map {
        padding: 20px;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .ace-about-culture-map::before {
        background-size: 28px 28px;
    }

    .ace-about-culture-map__core {
        width: min(280px, 84vw);
        margin: -20px auto -24px;
    }

    .ace-about-culture-map__item,
    .ace-about-culture-map__item--position,
    .ace-about-culture-map__item--mission,
    .ace-about-culture-map__item--values {
        padding: 20px;
    }

    .ace-about-culture-map__item h3 {
        min-height: 38px;
        margin-bottom: 14px;
        padding: 9px 17px;
        font-size: 16px;
    }

    .ace-about-culture-map__item strong {
        font-size: 17px;
    }
}

/* Tablet-only section navigation corrections; desktop layout remains unchanged. */
@media (min-width: 721px) and (max-width: 980px) {
    body.ace-about-refresh .ace-about-nav {
        margin-right: calc(var(--ace-gutter) * -1);
        margin-left: calc(var(--ace-gutter) * -1);
        padding-right: var(--ace-gutter);
        padding-left: var(--ace-gutter);
        overflow: hidden;
        border-bottom: 1px solid var(--ace-line);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }

    body.ace-about-refresh .ace-about-nav > span {
        display: none;
    }

    body.ace-about-refresh .ace-about-nav nav {
        overflow-x: auto;
        flex-direction: row;
        scrollbar-width: none;
    }

    body.ace-about-refresh .ace-about-nav nav::-webkit-scrollbar {
        display: none;
    }

    body.ace-about-refresh .ace-about-nav a,
    body.ace-about-refresh .ace-about-nav a.is-active,
    body.ace-about-refresh .ace-about-nav a:hover {
        min-width: max-content;
        padding: 17px 14px;
        border-bottom: 2px solid transparent;
    }

    body.ace-about-refresh .ace-about-nav a.is-active {
        border-bottom-color: var(--ace-red);
    }

    body.ace-about-refresh .ace-about-nav a::after {
        display: none;
    }

    body.ace-about-refresh .ace-about-section,
    body.ace-about-refresh .ace-about-honors {
        scroll-margin-top: 145px;
    }
}

@media (max-width: 1000px) {
    body.ace-service-page .ace-service-section {
        scroll-margin-top: 145px;
    }
}

.ace-about-capabilities p {
    margin: 0;
    color: #77726d;
    font-size: 13px;
    line-height: 1.9;
}

@media (max-width: 1100px) {
    .ace-about-culture {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ace-about-culture__visual {
        min-height: 330px;
    }

    .ace-about-culture__graph {
        display: none;
    }

    .ace-about-culture__wheel {
        left: 50%;
    }

    .ace-about-culture article {
        min-height: auto;
    }
}

.ace-about-capabilities {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--ace-line);
    background: transparent;
}

.ace-about-capabilities article {
    min-width: 0;
    min-height: 310px;
    padding: 44px clamp(18px, 2vw, 30px) 36px;
    border-right: 1px solid var(--ace-line);
    background: transparent;
    transition: background-color .3s ease;
}

.ace-about-capabilities article:last-child {
    border-right: 0;
}

.ace-about-capabilities article:hover {
    background: rgba(255, 255, 255, .52);
}

.ace-about-capabilities b {
    display: block;
    color: #e3ded4;
    font-family: var(--ace-sans);
    font-size: clamp(52px, 4.6vw, 76px);
    font-weight: 500;
    line-height: .95;
    letter-spacing: -.06em;
    transition: color .3s ease;
}

.ace-about-capabilities h3 {
    margin: 34px 0 12px;
    font-family: var(--ace-sans);
    font-size: clamp(22px, 1.6vw, 27px);
    font-weight: 600;
    line-height: 1.25;
}

.ace-about-capabilities p {
    max-width: 15em;
    color: #6f6a65;
    line-height: 1.75;
}

.ace-about-capabilities article:hover b {
    color: rgba(190, 28, 35, .22);
}

.ace-about-timeline {
    position: relative;
    display: grid;
    overflow-x: auto;
    padding: 4px 0 18px;
    grid-template-columns: repeat(6, minmax(170px, 1fr));
    scrollbar-width: none;
}

.ace-about-timeline::-webkit-scrollbar {
    display: none;
}

.ace-about-timeline article {
    position: relative;
    display: block;
    min-height: 220px;
    padding: 0 clamp(18px, 2vw, 30px) 0 0;
}

.ace-about-timeline article::after {
    position: absolute;
    z-index: 0;
    top: 49px;
    right: 0;
    left: 0;
    height: 1px;
    content: "";
    background: #cfc8bf;
}

.ace-about-timeline article::before {
    position: absolute;
    z-index: 1;
    top: 44px;
    left: 0;
    width: 12px;
    height: 12px;
    content: "";
    border: 3px solid var(--ace-paper);
    border-radius: 50%;
    background: var(--ace-red);
}

.ace-about-timeline time {
    display: block;
    height: 74px;
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 17px;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    letter-spacing: -.02em;
}

.ace-about-timeline h3 {
    max-width: 170px;
    margin: 12px 0;
    font-size: 16px;
    line-height: 1.55;
}

.ace-about-timeline p {
    max-width: 170px;
    margin: 0;
    color: #7b7670;
    font-size: 12px;
    line-height: 1.8;
}

.ace-about-honors {
    margin: 0;
    padding: 0 0 clamp(105px, 10vw, 160px);
    color: inherit;
    background: transparent;
}

.ace-about-honors .ace-about-heading > span {
    color: var(--ace-red);
}

.ace-about-honor-header {
    display: grid;
    margin-bottom: 34px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--ace-line);
    grid-template-columns: minmax(230px, .75fr) minmax(420px, 1.25fr);
    align-items: end;
    gap: clamp(35px, 6vw, 90px);
}

.ace-about-honor-header .ace-about-heading {
    margin-bottom: 0;
}

.ace-about-honor-head {
    display: flex;
    margin: 0;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 32px;
}

.ace-about-honor-controls {
    display: flex;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.ace-about-honor-controls button {
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid var(--ace-line);
    border-radius: 50%;
    color: #302d2a;
    background: transparent;
    cursor: pointer;
    font-size: 19px;
    transition: border-color .25s ease, background .25s ease, opacity .25s ease;
}

.ace-about-honor-controls button:hover,
.ace-about-honor-controls button:focus-visible {
    border-color: var(--ace-red);
    color: var(--ace-red);
    background: #fff;
    outline: 0;
}

.ace-about-honor-controls button:disabled {
    opacity: .28;
    cursor: default;
}

.ace-about-honor-viewport {
    margin-right: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0;
    cursor: grab;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
}

.ace-about-honor-viewport::-webkit-scrollbar {
    display: none;
}

.ace-about-honor-viewport:focus-visible {
    outline: 1px solid var(--ace-red);
    outline-offset: 8px;
}

.ace-about-honor-viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
}

.ace-about-honor-track {
    display: grid;
    width: auto;
    grid-auto-columns: calc((100% - 36px) / 3);
    grid-auto-flow: column;
    gap: 18px;
}

.ace-about-honor-card {
    width: auto;
    overflow: hidden;
    scroll-snap-align: start;
}

.ace-about-honor-media {
    display: flex;
    aspect-ratio: 4 / 3;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 12px;
    border-radius: 4px;
    background: #f3f0ea;
}

.ace-about-honor-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
}

.ace-about-honor-copy {
    display: flex;
    min-height: 164px;
    padding: 17px 2px 2px;
    align-items: center;
    flex-direction: column;
    border-top: 1px solid var(--ace-line);
    text-align: center;
}

.ace-about-honor-copy > span {
    display: flex;
    width: 72%;
    color: #9c7b45;
    font-family: var(--ace-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    align-items: center;
    justify-content: center;
}

.ace-about-honor-copy > span::before,
.ace-about-honor-copy > span::after {
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(197, 154, 82, .45));
    flex: 1;
}

.ace-about-honor-copy > span::before {
    margin-right: 10px;
}

.ace-about-honor-copy > span::after {
    margin-left: 10px;
    transform: scaleX(-1);
}

.ace-about-honor-award {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 116px;
    padding: 12px 46px 2px;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}

.ace-about-honor-award h3 {
    display: block;
    min-height: 22px;
    margin: 0;
    color: #9e773a;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

.ace-about-honor-award strong {
    display: block;
    margin-top: 7px;
    color: #9e773a;
    font-family: var(--ace-sans);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .04em;
}

.ace-about-honor-award strong > span {
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

.ace-about-stories {
    position: relative;
    min-height: 540px;
    overflow: hidden;
    border: 1px solid rgba(168, 16, 27, .08);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .96), rgba(255, 255, 255, .18) 45%, transparent 68%),
        linear-gradient(145deg, #faf1f2, #f3ece8);
    isolation: isolate;
}

.ace-about-stories::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(620px, 72%);
    height: 74%;
    content: "";
    border-radius: 50%;
    background: rgba(168, 16, 27, .07);
    filter: blur(54px);
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.ace-about-story-card {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: flex;
    width: min(390px, 48%);
    min-height: 468px;
    padding: 25px 24px 27px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(92, 76, 72, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 48px rgba(72, 43, 42, .12);
    cursor: pointer;
    opacity: .74;
    filter: saturate(.76) brightness(1.035);
    transition:
        transform .58s var(--ace-ease),
        opacity .45s ease,
        filter .45s ease,
        box-shadow .45s ease;
    will-change: transform;
}

.ace-about-story-card.is-left {
    transform: translate(calc(-50% - 290px), -50%) scale(.87) rotate(-.7deg);
}

.ace-about-story-card.is-right {
    transform: translate(calc(-50% + 290px), -50%) scale(.87) rotate(.7deg);
}

.ace-about-story-card.is-active {
    z-index: 3;
    background: #fff;
    opacity: 1;
    filter: none;
    box-shadow: 0 28px 72px rgba(72, 43, 42, .17);
    transform: translate(-50%, -50%) scale(1);
}

.ace-about-story-card:focus-visible {
    outline: 3px solid rgba(168, 16, 27, .28);
    outline-offset: -3px;
}

.ace-about-story-card small {
    display: flex;
    min-height: 18px;
    align-items: center;
    justify-content: center;
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .15em;
}

.ace-about-story-card small::before {
    width: 5px;
    height: 5px;
    margin-right: 8px;
    content: "";
    border-radius: 50%;
    background: currentColor;
}

.ace-about-story-card__media {
    width: 100%;
    margin-top: 19px;
    overflow: hidden;
    border-radius: 10px;
    background: #eee7e3;
    aspect-ratio: 16 / 7.2;
}

.ace-about-story-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 52%;
    transition: transform .7s var(--ace-ease);
}

.ace-about-story-card:first-child .ace-about-story-card__media img {
    object-position: center 36%;
}

.ace-about-story-card.is-active .ace-about-story-card__media img {
    transform: scale(1.025);
}

.ace-about-story-card h3 {
    display: grid;
    width: 100%;
    margin: 22px 0 14px;
    align-items: center;
    grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
    gap: 14px;
    color: #292625;
    font-family: var(--ace-sans);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.ace-about-story-card h3::before,
.ace-about-story-card h3::after {
    height: 1px;
    content: "";
    background: #d9d0ca;
}

.ace-about-story-card p {
    display: flex;
    width: 100%;
    min-height: 79px;
    margin: 0;
    padding: 18px 8px 0;
    align-items: center;
    justify-content: center;
    border-top: 1px dashed #e4dcd7;
    color: #77726d;
    font-size: 12px;
    line-height: 1.8;
    text-align: center;
}

.ace-about-investors p {
    margin: 0;
    color: #77726d;
    font-size: 12px;
    line-height: 1.8;
}

.ace-about-partners {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--ace-line);
    border-left: 1px solid var(--ace-line);
}

.ace-about-partners img {
    display: block;
    width: 100%;
    border-right: 1px solid var(--ace-line);
    border-bottom: 1px solid var(--ace-line);
    background: #fff;
}

.ace-about-investors {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.ace-about-investors article {
    background: #fff;
}

.ace-about-investors img {
    display: block;
    width: 100%;
}

.ace-about-investors div {
    padding: 28px 30px 34px;
}

.ace-about-investors h3 {
    margin: 0 0 12px;
    font-family: var(--ace-sans);
    font-size: 25px;
}

.ace-about-cta {
    padding: clamp(85px, 9vw, 140px) 0;
    color: #fff;
    background: var(--ace-red);
}

.ace-about-cta span {
    font-size: 10px;
    letter-spacing: .18em;
}

.ace-about-cta h2 {
    margin: 28px 0 44px;
    font-family: var(--ace-sans);
    font-size: clamp(39px, 5.4vw, 78px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.045em;
}

.ace-about-cta div div {
    display: flex;
    gap: 12px;
}

.ace-about-cta a {
    display: inline-flex;
    min-width: 150px;
    min-height: 50px;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .55);
    font-size: 13px;
    font-weight: 700;
}

.ace-about-cta a:last-child {
    color: var(--ace-red);
    background: #fff;
    border-color: #fff;
}

/* Footer */
.ace-footer {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #383838;
}

.ace-footer a {
    color: inherit;
}

.ace-footer > .ace-shell {
    position: relative;
    z-index: 1;
}

.ace-footer__motif {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 2vw;
    width: min(560px, 44vw);
    height: 300px;
    overflow: hidden;
    opacity: .72;
    pointer-events: none;
}

.ace-footer__motif span {
    position: absolute;
    z-index: 2;
    top: 24px;
    right: 44px;
    display: block;
    width: 230px;
    height: 230px;
    overflow: hidden;
    opacity: .34;
    transform: rotate(-7deg);
}

.ace-footer__motif img {
    display: block;
    width: auto;
    max-width: none;
    height: 230px;
}

.ace-footer__motif i {
    position: absolute;
    display: block;
}

.ace-footer__motif i:nth-of-type(1) {
    z-index: 0;
    top: 42px;
    right: -48px;
    width: 430px;
    height: 184px;
    border: 1px solid rgba(202, 34, 43, .24);
    transform: rotate(-9deg);
}

.ace-footer__motif i:nth-of-type(2) {
    z-index: 1;
    top: 74px;
    right: 172px;
    width: 310px;
    height: 166px;
    background: linear-gradient(128deg, rgba(95, 11, 17, .08), rgba(180, 24, 33, .2));
    clip-path: polygon(32% 0, 100% 10%, 76% 100%, 0 74%);
}

.ace-footer__facet {
    position: absolute;
    z-index: 0;
    top: 286px;
    left: -190px;
    width: 520px;
    height: 430px;
    overflow: hidden;
    pointer-events: none;
}

.ace-footer__facet i {
    position: absolute;
    display: block;
}

.ace-footer__facet i:nth-child(1) {
    top: 46px;
    left: -74px;
    width: 390px;
    height: 250px;
    border: 1px solid rgba(202, 34, 43, .22);
    transform: rotate(12deg);
}

.ace-footer__facet i:nth-child(2) {
    top: 104px;
    left: -42px;
    width: 338px;
    height: 226px;
    background: linear-gradient(142deg, rgba(168, 16, 27, .28), rgba(168, 16, 27, .06));
    clip-path: polygon(0 14%, 100% 0, 74% 100%, 8% 78%);
}

.ace-footer__facet i:nth-child(3) {
    top: 18px;
    left: 182px;
    width: 70px;
    height: 342px;
    background: linear-gradient(180deg, rgba(214, 38, 48, .2), rgba(111, 10, 17, .05));
    clip-path: polygon(28% 0, 100% 10%, 68% 100%, 0 88%);
    transform: rotate(5deg);
}

.ace-footer__cta {
    position: relative;
    display: grid;
    min-height: 176px;
    padding: 80px 0;
    align-items: center;
    grid-template-columns: minmax(0, 1.4fr) minmax(410px, .8fr);
    gap: clamp(50px, 7vw, 110px);
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.ace-footer__cta-copy > span,
.ace-footer__brand > span {
    display: block;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
}

.ace-footer__cta-copy h2 {
    margin: 10px 0 0;
    font-family: var(--ace-sans);
    font-size: clamp(28px, 2.45vw, 40px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -.035em;
}

.ace-footer__cta-copy p {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: 14px;
    line-height: 1.8;
}

.ace-footer__cta-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(28px, 4vw, 56px);
}

.ace-footer__hotline > span {
    display: block;
    margin-bottom: 8px;
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .12em;
}

.ace-footer__hotline > a {
    display: block;
    font-family: var(--ace-sans);
    font-size: 28px;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .045em;
    white-space: nowrap;
}

.ace-footer .ace-footer__cta-link {
    display: inline-flex;
    min-width: 156px;
    min-height: 54px;
    padding: 0 26px;
    align-items: center;
    justify-content: center;
    gap: 22px;
    color: #171616;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 999px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
    font-size: 14px;
    font-weight: 600;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.ace-footer .ace-footer__cta-link i {
    font-style: normal;
    transition: transform .2s ease;
}

.ace-footer .ace-footer__cta-link:hover,
.ace-footer .ace-footer__cta-link:focus-visible {
    color: #fff;
    background: var(--ace-red);
    border-color: var(--ace-red);
}

.ace-footer .ace-footer__cta-link:hover i,
.ace-footer .ace-footer__cta-link:focus-visible i {
    transform: translate(2px, -2px);
}

.ace-footer__main {
    display: grid;
    padding: 64px 0 58px;
    grid-template-columns: minmax(220px, .85fr) minmax(470px, 1.55fr) minmax(250px, .75fr);
    gap: clamp(50px, 6vw, 96px);
}

.ace-footer__brand img {
    width: min(100%, 300px);
    height: auto;
}

.ace-footer__brand > span {
    margin-top: 28px;
}

.ace-footer__brand p {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 1.85;
}

.ace-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 3vw, 48px);
}

.ace-footer__group h3 {
    margin: 0 0 16px;
}

.ace-footer__group button {
    display: flex;
    width: 100%;
    padding: 0;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    background: none;
    border: 0;
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    cursor: default;
}

.ace-footer__group button i {
    display: none;
}

.ace-footer__group-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.ace-footer__group-links a {
    position: relative;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 2;
    transition: color .2s ease, transform .2s ease;
}

.ace-footer__group-links a:hover,
.ace-footer__group-links a:focus-visible,
.ace-footer__bottom a:hover,
.ace-footer__bottom a:focus-visible {
    color: #fff;
}

.ace-footer__group-links a:hover,
.ace-footer__group-links a:focus-visible {
    transform: translateX(3px);
}

.ace-footer__follow {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ace-footer__address > span {
    display: block;
    font-size: 16px;
    font-weight: 600;
}

.ace-footer__address p {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 1.75;
}

.ace-footer__codes {
    display: flex;
    margin-top: 26px;
    gap: 18px;
}

.ace-footer__codes figure {
    margin: 0;
}

.ace-footer__codes img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: cover;
    background: #fff;
}

.ace-footer__codes figcaption {
    margin-top: 10px;
    color: rgba(255, 255, 255, .7);
    text-align: center;
    font-size: 13px;
}

.ace-footer__friends {
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.ace-footer__friend-links {
    display: flex;
    min-height: 76px;
    padding: 18px 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px 34px;
}

.ace-footer__friend-links strong {
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
}

.ace-footer__friend-links a {
    color: rgba(255, 255, 255, .64);
    font-size: 14px;
    transition: color .2s ease;
}

.ace-footer__friend-links a:hover,
.ace-footer__friend-links a:focus-visible {
    color: #fff;
}

.ace-footer__friend-links a span {
    margin-left: 4px;
    color: var(--ace-red);
}

.ace-footer__bottom {
    display: flex;
    padding: 26px 0 30px;
    align-items: center;
    justify-content: space-between;
    color: rgba(255, 255, 255, .58);
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: 12px;
    line-height: 1.7;
}

.ace-footer__bottom div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
}

.ace-footer__copyright,
.ace-footer__legal {
    align-items: center;
}

.ace-footer__legal button {
    display: inline-flex;
    padding: 0;
    align-items: center;
    color: inherit;
    background: none;
    border: 0;
    font: inherit;
    cursor: pointer;
    gap: 7px;
    transition: color .2s ease;
}

.ace-footer__legal button i {
    position: relative;
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    opacity: .8;
    transition: transform var(--ace-disclosure-duration) var(--ace-ease);
}

.ace-footer__legal button i::before {
    position: absolute;
    top: 2px;
    left: 3px;
    width: 6px;
    height: 6px;
    content: "";
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

.ace-footer__legal button[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.ace-footer__legal button:hover,
.ace-footer__legal button:focus-visible {
    color: #fff;
}

.ace-footer__bottom a {
    transition: color .2s ease;
}

/* Floating controls */
.ace-ip-replay,
.ace-back-top {
    position: fixed;
    z-index: 80;
    right: 22px;
    display: grid;
    width: 60px;
    height: 60px;
    place-items: center;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .11);
    cursor: pointer;
}

.ace-ip-replay {
    bottom: 86px;
    display: block;
    width: 88px;
    height: 106px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 12px 14px rgba(63, 8, 13, .2));
    transition: transform .25s ease, filter .25s ease;
}

.ace-ip-replay:hover {
    transform: translateY(-3px);
    filter: drop-shadow(0 16px 18px rgba(63, 8, 13, .28));
}

.ace-ip-replay--static,
.ace-ip-replay--static:hover {
    isolation: isolate;
    overflow: visible;
    cursor: default;
    transform: none;
    filter: none;
}

.ace-ip-replay--static::before {
    position: absolute;
    z-index: 0;
    left: calc(48% - 3px);
    bottom: -2px;
    width: 88%;
    height: 14%;
    border: 1px solid rgba(95, 101, 106, .24);
    border-radius: 50%;
    background: radial-gradient(ellipse at 50% 32%, rgba(255, 255, 255, .98) 0 32%, rgba(225, 229, 232, .96) 58%, rgba(171, 178, 183, .96) 100%);
    box-shadow: 0 3px 0 rgba(168, 16, 27, .95), 0 6px 8px rgba(46, 40, 39, .13);
    content: "";
    transform: translateX(-50%);
    pointer-events: none;
}

.ace-ip-replay--static .ace-ip-replay__poster {
    z-index: 1;
    object-fit: contain;
    object-position: center bottom;
    transform: translate(-1px, -5px) scale(1.2);
    transform-origin: center bottom;
}

.ace-ip-replay-trigger {
    position: fixed;
    z-index: 81;
    right: 22px;
    bottom: 86px;
    width: 88px;
    height: 106px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}

.ace-ip-replay-trigger:focus-visible {
    outline: 2px solid var(--ace-red);
    outline-offset: 4px;
}

.ace-ip-character {
    animation: ace-ip-character-switch 30s linear infinite;
}

.ace-ip-character--pose-03 {
    animation-delay: -20s;
}

.ace-ip-character--pose-02 {
    animation-delay: -10s;
}

@keyframes ace-ip-character-switch {
    0%, 33.332% {
        visibility: visible;
        opacity: 1;
    }

    33.333%, 100% {
        visibility: hidden;
        opacity: 0;
    }
}

.ace-ip-replay__poster,
.ace-ip-replay__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 28%;
    pointer-events: none;
}

.ace-ip-replay__video {
    opacity: 0;
}

.ace-ip-replay.is-motion-playing .ace-ip-replay__video {
    opacity: 1;
}

.ace-ip-replay.is-motion-playing .ace-ip-replay__poster {
    visibility: hidden;
}

.ace-back-top {
    bottom: 22px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

.ace-back-top.is-visible {
    visibility: visible;
    opacity: 1;
    transform: none;
}

@keyframes aceIntroShrinkToIp {
    0% {
        visibility: visible;
        opacity: 1;
        border-radius: 0;
        transform: translate3d(0, 0, 0) scale(1);
    }

    76% {
        opacity: 1;
    }

    100% {
        visibility: hidden;
        opacity: 0;
        border-radius: 28px;
        transform: translate3d(var(--ace-intro-shift-x, 0), var(--ace-intro-shift-y, 0), 0) scale(var(--ace-intro-scale-x, .06), var(--ace-intro-scale-y, .12));
    }
}

@keyframes aceIntroOpenFromIp {
    0% {
        visibility: visible;
        opacity: 0;
        border-radius: 28px;
        transform: translate3d(var(--ace-intro-shift-x, 0), var(--ace-intro-shift-y, 0), 0) scale(var(--ace-intro-scale-x, .06), var(--ace-intro-scale-y, .12));
    }

    24% {
        opacity: 1;
    }

    100% {
        visibility: visible;
        opacity: 1;
        border-radius: 0;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes acePulse {
    0%,
    100% { opacity: .25; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.08); }
}

@keyframes aceMarkerIn {
    from { opacity: 0; transform: translate(-8px, 2px); }
    to { opacity: 1; transform: translate(-8px, -8px); }
}

@media (max-width: 1260px) {
    .ace-header__nav {
        gap: 20px;
    }

    .ace-booking--inner .ace-booking__panel {
        grid-template-columns: 1.5fr repeat(2, 1fr) 1.1fr auto;
    }

    .ace-booking--inner .ace-booking__panel > label:nth-of-type(3),
    .ace-booking--inner .ace-booking__panel > label:nth-of-type(4) {
        display: none;
    }

    .ace-footer__cta {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ace-footer__cta-actions {
        gap: 28px;
    }

    .ace-footer__main {
        grid-template-columns: minmax(220px, .65fr) minmax(500px, 1.35fr);
    }

    .ace-footer__follow {
        display: grid;
        padding-top: 36px;
        align-items: end;
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1fr) auto;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .ace-footer__codes {
        margin-top: 0;
    }
}

@media (max-width: 1100px) {
    .ace-header__phone {
        display: none;
    }
}

/* Homepage booking: use a compact two-row tablet layout before mobile stacks it. */
@media (min-width: 721px) and (max-width: 969px) {
    .ace-booking:not(.ace-booking--inner) .ace-booking__panel {
        min-height: 0;
        padding: 12px 18px 14px;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(72px, auto));
        align-items: stretch;
        border-radius: 28px;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__project {
        display: flex;
        padding: 4px 22px 8px 4px;
        justify-content: center;
        flex-direction: column;
        grid-column: 1 / 4;
        border-bottom: 1px solid #ece8e3;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__panel > label:nth-of-type(1) {
        padding: 4px 18px 8px;
        grid-column: 4 / 7;
        border-bottom: 1px solid #ece8e3;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__panel > label:nth-of-type(2) {
        padding: 8px 18px 4px 4px;
        grid-column: 1 / 3;
        border-left: 0;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__panel > label:nth-of-type(3) {
        padding: 8px 18px 4px;
        grid-column: 3 / 5;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__submit {
        width: calc(100% - 18px);
        min-width: 0;
        margin: 8px 0 0 18px;
        align-self: center;
        grid-column: 5 / 7;
    }

    body.ace-index-production .ace-booking__project-popover {
        top: calc(100% - 1px);
        left: -18px;
        box-sizing: border-box;
        width: calc(100% + 18px);
        max-width: none;
        max-height: min(440px, calc(100vh - 32px));
        overflow: hidden;
        border-top: 0;
        border-radius: 0 0 22px 22px;
        box-shadow: 0 24px 48px rgba(42, 26, 22, .16), 10px 0 24px rgba(42, 26, 22, .05);
    }

    body.ace-index-production .ace-booking__project-popover:not([hidden]) {
        display: flex;
        flex-direction: column;
    }

    body.ace-index-production .ace-booking__project-head,
    body.ace-index-production .ace-booking__project-hint {
        flex: 0 0 auto;
    }

    body.ace-index-production .ace-booking__project-options {
        min-height: 0;
        flex: 1 1 auto;
    }
}

@media (max-width: 980px) {
    .ace-header__inner {
        min-height: 72px;
    }

    .ace-header__brand img {
        width: 132px;
    }

    .ace-header__menu {
        display: block;
    }

    .ace-header__nav {
        position: fixed;
        z-index: -1;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        width: 100%;
        padding: 88px 24px 40px;
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
        gap: 0;
        color: #fff;
        background: #1a1818;
        opacity: 0;
        transform: translateX(100%);
        transition: opacity .35s ease, transform .35s var(--ace-ease);
    }

    .ace-v2-page:not(.ace-index2-lab) .ace-header__nav a {
        width: 100%;
        height: 56px;
        min-height: 56px;
        padding: 0;
        flex: 0 0 56px;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .is-menu-open .ace-header__nav {
        opacity: 1;
        transform: none;
    }

    .ace-booking--inner .ace-booking__panel {
        grid-template-columns: 1.2fr 1fr 1fr auto;
    }

    .ace-booking__captcha {
        display: none;
    }

    .ace-map__grid {
        grid-template-columns: 290px minmax(0, 1fr);
    }

    .ace-map__cities {
        grid-template-columns: 1fr;
        max-height: 350px;
        overflow: auto;
    }

    .ace-engine {
        min-height: 680px;
    }

    .ace-engine__visual {
        width: min(560px, 55vw);
    }

    .ace-engine__metric {
        min-width: 185px;
        padding-right: 13px;
        padding-left: 13px;
    }

    .ace-engine__metric--area {
        left: 1%;
    }

    .ace-engine__metric--companies {
        right: 1%;
    }

    .ace-honors {
        grid-template-columns: 145px 225px minmax(0, 1fr);
    }

    .ace-honors__intro,
    .ace-honors__feature {
        padding-right: 20px;
        padding-left: 20px;
    }

    .ace-honors__rail {
        overflow-x: auto;
        grid-template-columns: repeat(6, minmax(110px, 1fr));
        scrollbar-width: none;
    }

    .ace-news__heading-side {
        max-width: 500px;
        gap: 28px;
    }

    .ace-news__stage {
        border-radius: 24px;
    }

    .ace-news__body {
        padding-right: 16px;
        padding-left: 16px;
        grid-template-columns: 68px minmax(0, 1fr) 20px;
        gap: 12px;
    }

    .ace-news__body time {
        padding-right: 10px;
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .ace-news__body time strong {
        font-size: 25px;
    }

    .ace-about-layout {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 42px;
    }

    .ace-about-overview {
        grid-template-columns: 1fr;
    }

    .ace-about-numbers {
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-about-numbers div {
        padding: 20px;
        border-bottom: 1px solid var(--ace-line);
    }

    .ace-about-numbers div:nth-child(2) {
        border-right: 0;
    }

    .ace-about-capabilities {
        grid-template-columns: repeat(5, minmax(210px, 1fr));
        margin-right: calc(var(--ace-gutter) * -1);
        padding-right: var(--ace-gutter);
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .ace-about-capabilities::-webkit-scrollbar {
        display: none;
    }

    .ace-about-stories {
        min-height: 510px;
    }

    .ace-about-story-card {
        width: min(360px, 64%);
        min-height: 445px;
        padding: 22px 21px 24px;
    }

    .ace-about-story-card.is-left {
        transform: translate(calc(-50% - 205px), -50%) scale(.86);
    }

    .ace-about-story-card.is-right {
        transform: translate(calc(-50% + 205px), -50%) scale(.86);
    }

    .ace-footer__cta {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .ace-footer__cta-actions {
        justify-content: flex-start;
    }

    .ace-footer__main {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .ace-footer__brand p {
        max-width: 420px;
    }

    .ace-footer__follow {
        grid-column: auto;
    }
}

@media (max-width: 720px) {
    :root {
        --ace-gutter: 20px;
    }

    .ace-section {
        padding: 72px 0;
    }

    .ace-section__heading--row {
        align-items: flex-start;
        flex-direction: column;
    }

    .ace-v2-page .ace-header__cta {
        display: none;
    }

    .ace-hero {
        height: clamp(280px, 66vw, 370px);
        min-height: 0;
    }

    .ace-hero__image {
        object-position: 8% center;
    }

    .ace-hero__content {
        padding-top: 92px;
        padding-right: 42px;
        padding-bottom: 120px;
    }

    .ace-hero h1,
    .ace-hero h2 {
        font-size: clamp(48px, 15vw, 68px);
    }

    .ace-hero__content > p {
        font-size: 14px;
    }

    .ace-hero__controls {
        inset: 0;
    }

    .ace-hero__dots {
        bottom: 16px;
    }

    .ace-hero__control-arrow {
        display: none;
    }

    .ace-booking {
        margin-top: 0;
        padding: 0 20px;
        background: #f7f7f5;
    }

    .ace-booking .ace-shell {
        width: 100%;
    }

    .ace-booking__panel {
        padding: 26px 22px;
        grid-template-columns: 1fr;
    }

    .ace-booking--inner .ace-booking__panel > label:nth-of-type(2) {
        display: block;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__panel {
        padding: 26px 22px;
        grid-template-columns: 1fr;
        gap: 18px;
        border-radius: 32px;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__panel > label {
        padding: 0 0 12px;
        border-bottom: 1px solid #ece8e3;
        border-left: 0;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__panel > label input {
        height: 34px;
    }

    .ace-booking__project {
        padding: 0 0 12px;
        border-bottom: 1px solid #ece8e3;
    }

    .ace-booking__project-trigger {
        height: 34px;
    }

    .ace-booking__project-popover {
        position: static;
        width: auto;
        margin: 16px -10px -2px;
        padding: 18px 10px 4px;
        border: 0;
        border-top: 1px solid #eee9e4;
        border-radius: 0;
        box-shadow: none;
    }

    .ace-booking__project-search {
        height: 48px;
    }

    .ace-booking__project-options {
        max-height: 246px;
        grid-template-columns: 1fr;
    }

    .ace-booking__project-options button {
        min-height: 66px;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__submit {
        width: 100%;
        height: 56px;
        margin: 4px 0 0;
        font-size: 16px;
    }

    .ace-booking:not(.ace-booking--inner) .ace-booking__status {
        top: calc(100% + 7px);
        left: 22px;
    }

    /* Production homepage mobile hero and booking overlap. */
    body.ace-index-production:not(.is-menu-open) .ace-header:not(.is-fixed) {
        background: #fff;
    }

    body.ace-index-production .ace-hero {
        height: clamp(256px, calc(62.6667vw + 30px), 330px);
        margin-top: 43px;
        background: #eceef1;
        touch-action: pan-y;
    }

    body.ace-index-production .ace-hero__slide {
        background: #eceef1;
    }

    body.ace-index-production .ace-hero__image {
        object-fit: contain;
        object-position: center center;
        transform: scale(1.35);
    }

    body.ace-index-production .ace-hero__dots {
        bottom: 38px;
    }

    body.ace-index-production .ace-booking {
        margin-top: -24px;
        padding: 0 20px;
    }

    body.ace-index-production .ace-booking:not(.ace-booking--inner) .ace-booking__panel {
        padding: 24px 20px 26px;
        gap: 16px;
        border-radius: 12px;
        box-shadow: 0 18px 44px rgba(47, 31, 25, .13);
    }

    .ace-map {
        padding-top: 80px;
    }

    .ace-map__heading {
        margin-bottom: 30px;
    }

    .ace-map__grid {
        grid-template-columns: 1fr;
    }

    .ace-map__copy {
        border-right: 0;
        border-bottom: 1px solid #ded9d1;
    }

    .ace-map__cities {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-height: none;
    }

    .ace-map__cities button {
        height: 42px;
        padding: 0 9px;
    }

    .ace-map__visual {
        padding: 24px 18px 18px;
    }

    .ace-map__visual-head h3 {
        font-size: 23px;
    }

    .ace-map__canvas {
        height: 430px;
    }

    .ace-map__marker span {
        display: none;
    }

    .ace-stats {
        padding: 76px 0;
    }

    .ace-stats__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .ace-stats__heading > p {
        max-width: none;
    }

    .ace-engine {
        display: grid;
        min-height: 0;
        padding: 18px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ace-engine__visual {
        position: relative;
        top: auto;
        left: auto;
        width: min(520px, 100%);
        margin: -6px auto -25px;
        grid-column: 1 / -1;
        order: 1;
        transform: none;
    }

    .ace-stats.is-entered .ace-engine__visual {
        transform: none;
    }

    .ace-engine__metric {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        min-width: 0;
        padding: 18px 15px;
        border: 1px solid rgba(132, 123, 114, .14);
        background: rgba(255, 255, 255, .5);
        order: 2;
        transform: none;
    }

    .ace-engine__metric--parks {
        text-align: left;
        transform: none;
    }

    .ace-engine__metric--parks b {
        justify-content: flex-start;
    }

    .ace-engine__metric--parks strong,
    .ace-engine__metric strong {
        font-size: clamp(34px, 9vw, 48px);
    }

    .ace-engine__metric::before,
    .ace-engine__metric::after {
        display: none;
    }

    .ace-engine__metric:hover,
    .ace-engine__metric:focus-visible,
    .ace-engine__metric.is-active,
    .ace-engine__metric--parks:hover,
    .ace-engine__metric--parks:focus-visible,
    .ace-engine__metric--parks.is-active {
        border-color: rgba(181, 22, 34, .32);
        transform: translateY(-2px);
    }

    .ace-engine__value {
        position: relative;
        bottom: auto;
        left: auto;
        width: auto;
        margin-top: 8px;
        padding: 18px 8px;
        grid-column: 1 / -1;
        order: 3;
        transform: none;
    }

    .ace-engine__value div {
        gap: 5px;
        flex-direction: column;
    }

    .ace-engine__value small {
        font-size: 9px;
    }

    .ace-honors {
        grid-template-columns: 128px minmax(0, 1fr);
    }

    .ace-honors__feature {
        border-right: 0;
    }

    .ace-honors__rail {
        grid-column: 1 / -1;
        border-top: 1px solid rgba(132, 123, 114, .16);
        grid-template-columns: repeat(6, minmax(120px, 1fr));
    }

    .ace-honors__rail button {
        min-height: 84px;
        padding: 18px 14px;
    }

    .ace-news__heading {
        align-items: flex-start;
    }

    .ace-news__heading-side {
        width: 100%;
        max-width: none;
        padding-left: 18px;
    }

    .ace-news__heading-side p {
        font-size: 13px;
    }

    body.ace-index-home-service .ace-news__heading {
        display: grid;
        align-items: start;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 16px;
        row-gap: 10px;
    }

    body.ace-index-home-service .ace-news__heading > div:first-child {
        grid-column: 1;
        grid-row: 1;
    }

    body.ace-index-home-service .ace-news__heading-side {
        display: contents;
        width: auto;
        padding-left: 0;
        border-left: 0;
    }

    body.ace-index-home-service .ace-news__heading-link {
        margin: 0 0 15px;
        align-self: end;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        white-space: nowrap;
    }

    body.ace-index-home-service .ace-news__heading-side p {
        margin: 0;
        padding: 0;
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .ace-news__stage {
        margin-top: 36px;
    }

    .ace-news__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ace-news__card,
    .ace-news__card:nth-child(3n),
    .ace-news__card:nth-child(n+7) {
        border: 0;
        border-radius: 18px;
    }

    .ace-news__card-link,
    .ace-news__body {
        min-height: 104px;
    }

    .ace-news__body {
        padding: 15px 18px;
        grid-template-columns: 72px minmax(0, 1fr) 20px;
        gap: 14px;
    }

    .ace-about-hero {
        min-height: 560px;
    }

    .ace-about-layout {
        display: block;
        padding-top: 0;
        padding-bottom: 85px;
    }

    .ace-about-nav {
        top: 72px;
        margin: 0 calc(var(--ace-gutter) * -1) 72px;
        padding: 0 var(--ace-gutter);
        overflow: hidden;
        background: rgba(245, 242, 236, .96);
        border-bottom: 1px solid var(--ace-line);
        backdrop-filter: blur(12px);
    }

    .ace-about-nav > span {
        display: none;
    }

    .ace-about-nav nav {
        overflow-x: auto;
        flex-direction: row;
        scrollbar-width: none;
    }

    .ace-about-nav nav::-webkit-scrollbar {
        display: none;
    }

    .ace-about-nav a,
    .ace-about-nav a.is-active,
    .ace-about-nav a:hover {
        min-width: max-content;
        padding: 17px 14px;
        border-bottom: 2px solid transparent;
    }

    .ace-about-nav a.is-active {
        border-bottom-color: var(--ace-red);
    }

    .ace-about-nav a::after {
        display: none;
    }

    .ace-about-section {
        padding-bottom: 94px;
        scroll-margin-top: 145px;
    }

    .ace-about-heading {
        margin-bottom: 34px;
    }

    .ace-about-heading--row {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .ace-about-heading h2 {
        font-size: 38px;
    }

    .ace-about-overview {
        gap: 36px;
    }

    .ace-about-prose {
        font-size: 14px;
    }

    .ace-about-numbers {
        margin-top: 40px;
    }

    .ace-about-numbers div:first-child {
        padding-left: 20px;
    }

    .ace-about-numbers div:nth-child(3),
    .ace-about-numbers div:nth-child(4) {
        border-bottom: 0;
    }

    .ace-about-culture,
    .ace-about-investors {
        grid-template-columns: 1fr;
    }

    .ace-about-culture article {
        min-height: 0;
        padding: 22px 20px;
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .ace-about-culture__visual {
        min-height: 230px;
    }

    .ace-about-culture__visual::before {
        background-size: 26px 26px;
    }

    .ace-about-culture__wheel {
        width: 170px;
    }

    .ace-about-culture__wheel::before {
        box-shadow:
            0 0 0 1px rgba(168, 16, 27, .12),
            0 0 0 8px rgba(255, 255, 255, .5),
            0 0 0 9px rgba(168, 16, 27, .1);
    }

    .ace-about-culture__wheel::after,
    .ace-about-culture__wheel-core {
        width: 58px;
    }

    .ace-about-culture__wheel-label {
        font-size: 10px;
        letter-spacing: .04em;
    }

    .ace-about-culture__wheel-label--position {
        top: 24px;
    }

    .ace-about-culture__wheel-label--mission {
        right: 9px;
        bottom: 40px;
    }

    .ace-about-culture__wheel-label--values {
        bottom: 40px;
        left: 3px;
    }

    .ace-about-culture__wheel-core strong {
        font-size: 15px;
    }

    .ace-about-culture .ace-about-culture__wheel-core small {
        margin-top: 5px;
        font-size: 6px;
    }

    .ace-about-culture__index {
        font-size: 11px;
    }

    .ace-about-culture h3 {
        font-size: 16px;
    }

    .ace-about-capabilities article,
    .ace-about-capabilities article:last-child {
        min-height: 270px;
        padding: 36px 24px 32px;
        grid-column: auto;
    }

    .ace-about-capabilities h3 {
        margin-top: 28px;
    }

    .ace-about-timeline::before {
        left: 75px;
    }

    .ace-about-timeline article {
        grid-template-columns: 55px minmax(0, 1fr);
        gap: 38px;
    }

    .ace-about-timeline article::before {
        left: 70px;
    }

    .ace-about-timeline time {
        font-size: 15px;
    }

    .ace-about-honors {
        margin: 0;
    }

    .ace-about-honor-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ace-about-honor-controls {
        width: 100%;
    }

    .ace-about-honor-controls > span {
        margin-right: auto;
    }

    .ace-about-honor-card {
        width: min(82vw, 360px);
    }

    .ace-about-honor-media {
        padding: 8px;
    }

    .ace-about-stories {
        min-height: 490px;
        border-radius: 20px;
    }

    .ace-about-story-card {
        width: calc(100% - 42px);
        min-height: 430px;
        padding: 17px 16px 20px;
        border-radius: 15px;
    }

    .ace-about-story-card.is-left {
        transform: translate(calc(-50% - 46px), -50%) scale(.86);
    }

    .ace-about-story-card.is-right {
        transform: translate(calc(-50% + 46px), -50%) scale(.86);
    }

    .ace-about-story-card h3 {
        margin: 18px 0 12px;
        gap: 10px;
        font-size: 21px;
    }

    .ace-about-story-card p {
        min-height: 76px;
        padding: 15px 3px 0;
        font-size: 11.5px;
        line-height: 1.7;
    }

    .ace-about-partners {
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-about-cta div div {
        flex-direction: column;
    }

    .ace-footer__cta {
        padding: 38px 0 40px;
        gap: 28px;
    }

    .ace-footer__cta-copy > span,
    .ace-footer__brand > span {
        font-size: 11px;
    }

    .ace-footer__cta-copy h2 {
        font-size: 28px;
        line-height: 1.3;
    }

    .ace-footer__cta-copy p {
        font-size: 14px;
    }

    .ace-footer__cta-actions {
        align-items: flex-end;
        justify-content: space-between;
        gap: 12px;
    }

    .ace-footer__hotline {
        min-width: 0;
    }

    .ace-footer__hotline > a {
        font-size: clamp(21px, 6.5vw, 26px);
    }

    .ace-footer .ace-footer__cta-link {
        width: auto;
        min-width: clamp(120px, 36vw, 150px);
        min-height: 48px;
        padding: 0 14px;
        flex: 0 0 auto;
        gap: 12px;
    }

    .ace-footer__main {
        padding: 44px 0 38px;
        gap: 38px;
    }

    .ace-footer__brand img {
        width: min(100%, 280px);
    }

    .ace-footer__brand > span {
        margin-top: 22px;
    }

    .ace-footer__brand p {
        font-size: 14px;
    }

    .ace-footer__nav {
        grid-template-columns: 1fr;
        gap: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .ace-footer__group {
        border-top: 1px solid rgba(255, 255, 255, .14);
    }

    .ace-footer__group h3 {
        margin: 0;
    }

    .ace-footer__group button {
        min-height: 56px;
        font-size: 16px;
        cursor: pointer;
    }

    .ace-footer__group button i {
        position: relative;
        display: block;
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        opacity: .82;
        transform: rotate(0);
        transition: opacity .2s ease, transform .25s var(--ace-ease);
    }

    .ace-footer__group button i::before {
        position: absolute;
        top: 4px;
        left: 5px;
        width: 8px;
        height: 8px;
        content: "";
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
    }

    .ace-footer__group button i::after {
        content: none;
    }

    .ace-footer__group.is-open button i {
        opacity: 1;
        transform: rotate(180deg);
    }

    .ace-footer__group-links {
        max-height: 0;
        padding: 0 0 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-6px);
        transition: max-height .28s ease, padding .28s ease, opacity .2s ease, transform .28s ease;
    }

    .ace-footer__group.is-open .ace-footer__group-links {
        max-height: 260px;
        padding: 0 0 22px;
        opacity: 1;
        transform: none;
    }

    .ace-footer__group-links a {
        width: 100%;
        font-size: 15px;
        line-height: 2.15;
    }

    .ace-footer__follow {
        display: block;
        padding-top: 0;
        border-top: 0;
    }

    .ace-footer__address p {
        font-size: 14px;
    }

    .ace-footer__codes {
        margin-top: 24px;
        gap: 16px;
    }

    .ace-footer__codes img {
        width: 96px;
        height: 96px;
    }

    .ace-footer__codes figcaption {
        font-size: 13px;
    }

    .ace-footer__bottom {
        padding: 24px 0 28px;
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        font-size: 12px;
    }

    .ace-footer__bottom div {
        flex-wrap: wrap;
        gap: 8px 20px;
    }

    .ace-footer__motif {
        display: none;
    }

    .ace-footer__facet {
        display: none;
    }

    .ace-ip-replay,
    .ace-back-top {
        right: 12px;
        width: 44px;
        height: 44px;
    }

    .ace-ip-replay {
        bottom: 68px;
        width: 70px;
        height: 86px;
        border-radius: 0;
    }

    .ace-ip-replay-trigger {
        right: 12px;
        bottom: 68px;
        width: 70px;
        height: 86px;
    }

    .ace-back-top {
        bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Homepage section-title scale; 32px equals the referenced 0.32rem on a 100px root. */
#ace-map-title,
#ace-stats-title,
#ace-news-title {
    font-size: 32px;
}

/* News detail V4: wide silver editorial canvas; collected CMS interactions stay intact */
.ace-news-detail-page.ace-v2-page {
    background: #f3f5f6;
}

.ace-news-detail-page.ace-v2-page .ace-article-hero {
    color: #202220;
    background:
        radial-gradient(circle at 86% 18%, rgba(163, 15, 25, .075), transparent 30%),
        radial-gradient(ellipse at 10% 0%, rgba(255, 255, 255, .96), transparent 42%),
        linear-gradient(120deg, #fbfcfc 0%, #e9edef 42%, #f7f9fa 72%, #e0e5e8 100%);
}

.ace-news-detail-page.ace-v2-page .ace-article-hero::before {
    color: rgba(163, 15, 25, .045);
}

.ace-news-detail-page.ace-v2-page .ace-article-breadcrumb {
    color: #73797c;
}

.ace-news-detail-page.ace-v2-page .ace-article-breadcrumb a:hover,
.ace-news-detail-page.ace-v2-page .ace-article-breadcrumb a:focus-visible {
    color: var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article-hero__date {
    border-color: rgba(36, 39, 38, .18);
    color: #232523;
}

.ace-news-detail-page.ace-v2-page .ace-article-hero .ace-kicker--light {
    color: var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article-hero h1 {
    color: #202220;
    font-size: clamp(34px, 3.25vw, 50px);
    line-height: 1.32;
}

.ace-news-detail-page.ace-v2-page .ace-article-meta {
    color: #6d7376;
}

.ace-news-detail-page.ace-v2-page .ace-article-meta span,
.ace-news-detail-page.ace-v2-page .ace-article-meta a {
    padding-left: 0;
    border-left: 0;
}

.ace-news-detail-page.ace-v2-page .ace-article-meta a {
    color: var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article-meta a:hover,
.ace-news-detail-page.ace-v2-page .ace-article-meta a:focus-visible {
    color: #202220;
}

.ace-news-detail-page.ace-v2-page .ace-article-scene {
    position: relative;
    isolation: isolate;
    overflow: clip;
    background:
        radial-gradient(ellipse at 12% 4%, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .72) 18%, transparent 46%),
        radial-gradient(circle at 84% 23%, rgba(174, 18, 31, .055) 0%, transparent 29%),
        linear-gradient(120deg, #fdfefe 0%, #edf1f4 30%, #f9fbfc 52%, #dfe5e9 100%);
}

.ace-news-detail-page.ace-v2-page .ace-article-scene::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image:
        linear-gradient(rgba(112, 122, 128, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(112, 122, 128, .045) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .4), transparent 74%);
    content: "";
    pointer-events: none;
}

.ace-news-detail-page.ace-v2-page .ace-article-scene::after {
    position: absolute;
    z-index: -1;
    top: 8%;
    right: -260px;
    width: 720px;
    height: 720px;
    border: 1px solid rgba(163, 15, 25, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 82px rgba(255, 255, 255, .12), 0 0 0 164px rgba(163, 15, 25, .022);
    content: "";
    pointer-events: none;
}

.ace-news-detail-page.ace-v2-page .ace-article {
    overflow: visible;
    padding: clamp(84px, 7.5vw, 120px) 0 clamp(76px, 7vw, 108px);
    background: transparent;
}

.ace-news-detail-page.ace-v2-page .ace-article::before {
    display: none;
}

.ace-news-detail-page.ace-v2-page .ace-article__layout {
    display: grid;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) 328px;
    gap: clamp(54px, 5vw, 80px);
    align-items: start;
}

.ace-news-detail-page.ace-v2-page .ace-article__main {
    min-width: 0;
    padding: clamp(46px, 4.4vw, 68px);
    border: 0;
    border-top: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 30px 80px rgba(68, 75, 80, .1);
    backdrop-filter: blur(7px);
}

.ace-news-detail-page.ace-v2-page .ace-article__lead {
    display: grid;
    margin: 0 0 clamp(44px, 5vw, 66px);
    padding: 0 0 clamp(34px, 3.5vw, 48px);
    border: 0;
    border-bottom: 1px solid rgba(35, 36, 34, .16);
    grid-template-columns: 210px minmax(0, 1fr);
    gap: clamp(28px, 4vw, 58px);
    align-items: start;
}

.ace-news-detail-page.ace-v2-page .ace-article__lead > div {
    padding-left: 16px;
    border-left: 2px solid var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article__lead span {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.ace-news-detail-page.ace-v2-page .ace-article__lead strong {
    margin-top: 10px;
    color: #202120;
    font-size: 15px;
    line-height: 1.65;
}

.ace-news-detail-page.ace-v2-page .ace-article__lead p {
    max-width: 720px;
    margin: 0;
    color: #555b5f;
    font-size: 16px;
    line-height: 1.9;
}

/* Keep collected WeChat layout and gestures; only cap static image paint at the article boundary. */
.ace-news-detail-page.ace-v2-page .ace-article__source {
    min-width: 0;
    container-type: inline-size;
}

.ace-news-detail-page.ace-v2-page .ace-article__source img {
    max-width: min(100%, 100cqi) !important;
    height: auto !important;
    box-sizing: border-box;
}

.ace-news-detail-page.ace-v2-page .ace-article__aside {
    position: sticky;
    top: 104px;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: calc(100vh - 124px);
    border: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 24px 64px rgba(45, 48, 49, .11);
    scrollbar-color: rgba(163, 15, 25, .34) transparent;
    scrollbar-width: thin;
}

.ace-news-detail-page.ace-v2-page .ace-article__aside-head {
    padding: 34px 32px 30px;
    border: 0;
    border-top: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(236, 240, 242, .92));
}

.ace-news-detail-page.ace-v2-page .ace-article__aside-head .ace-kicker {
    color: var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article__aside-head h2 {
    margin: 12px 0 0;
    color: #242624;
    font-size: clamp(25px, 2vw, 31px);
    font-weight: 500;
    letter-spacing: .04em;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest {
    display: block;
    padding: 0 32px;
    background: transparent;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest article {
    border: 0;
    border-bottom: 1px solid rgba(35, 36, 34, .12);
    background: transparent;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest article > a {
    display: grid;
    min-height: 138px;
    padding: 26px 0;
    border: 0;
    grid-template-columns: 50px minmax(0, 1fr) 18px;
    gap: 18px;
    align-items: start;
    background: transparent;
    box-shadow: none;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest article > a::before {
    display: none;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest time {
    display: block;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid rgba(163, 15, 25, .22);
    background: transparent;
    color: #262725;
    text-align: left;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest time strong {
    display: block;
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 25px;
    font-weight: 500;
    line-height: .9;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest time span {
    display: block;
    margin-top: 8px;
    color: #8b9093;
    font-size: 9px;
    letter-spacing: .08em;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: -3px 0 0;
    color: #343634;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest i {
    position: static;
    display: block;
    margin-top: 2px;
    color: #a2a6a8;
    font-size: 14px;
    font-style: normal;
    transition: color .25s ease, transform .25s ease;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest article > a:hover h3,
.ace-news-detail-page.ace-v2-page .ace-article__latest article > a:focus-visible h3,
.ace-news-detail-page.ace-v2-page .ace-article__latest article > a:hover i,
.ace-news-detail-page.ace-v2-page .ace-article__latest article > a:focus-visible i {
    color: var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article__latest article > a:hover i,
.ace-news-detail-page.ace-v2-page .ace-article__latest article > a:focus-visible i {
    transform: translate(2px, -2px);
}

.ace-news-detail-page.ace-v2-page .ace-article__search {
    margin: 0;
    padding: 26px 32px 28px;
    border-top: 1px solid rgba(35, 36, 34, .12);
    background: rgba(247, 249, 250, .72);
}

.ace-news-detail-page.ace-v2-page .ace-article__search label {
    display: block;
    margin-bottom: 12px;
    color: #747a7d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
}

.ace-news-detail-page.ace-v2-page .ace-article__search div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    border: 0;
    border-bottom: 1px solid rgba(35, 36, 34, .32);
}

.ace-news-detail-page.ace-v2-page .ace-article__search input,
.ace-news-detail-page.ace-v2-page .ace-article__search button {
    height: 42px;
    border: 0;
    background: transparent;
}

.ace-news-detail-page.ace-v2-page .ace-article__search input {
    min-width: 0;
    color: #282a28;
    font-size: 13px;
    outline: 0;
}

.ace-news-detail-page.ace-v2-page .ace-article__search input::placeholder {
    color: #9a9fa1;
}

.ace-news-detail-page.ace-v2-page .ace-article__search button {
    color: var(--ace-red);
    cursor: pointer;
    font-size: 18px;
    transition: transform .2s ease;
}

.ace-news-detail-page.ace-v2-page .ace-article__search button:hover,
.ace-news-detail-page.ace-v2-page .ace-article__search button:focus-visible {
    transform: translateX(3px);
}

.ace-news-detail-page.ace-v2-page .ace-article__all {
    display: flex;
    min-height: 70px;
    padding: 0 32px;
    justify-content: space-between;
    align-items: center;
    border: 0;
    border-top: 1px solid rgba(35, 36, 34, .12);
    background: rgba(246, 248, 249, .88);
    color: var(--ace-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    transition: background .25s ease;
}

.ace-news-detail-page.ace-v2-page .ace-article__all:hover,
.ace-news-detail-page.ace-v2-page .ace-article__all:focus-visible {
    background: #fff;
    color: #242624;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav {
    padding: 0 0 clamp(84px, 7vw, 112px);
    background: transparent;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav .ace-shell {
    display: grid;
    overflow: hidden;
    border-top: 1px solid rgba(35, 36, 34, .18);
    border-bottom: 1px solid rgba(35, 36, 34, .18);
    grid-template-columns: minmax(0, 1fr) 142px minmax(0, 1fr);
    gap: 0;
    background: rgba(255, 255, 255, .28);
    backdrop-filter: blur(5px);
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__prev,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next,
.ace-news-detail-page.ace-v2-page .ace-article-nav__empty {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 168px;
    padding: 34px 72px 34px 34px;
    justify-content: center;
    flex-direction: column;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: background .25s ease;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__next,
.ace-news-detail-page.ace-v2-page .ace-article-nav__empty--next {
    padding: 34px 34px 34px 72px;
    align-items: flex-end;
    text-align: right;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav small {
    margin-bottom: 13px;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav strong {
    display: -webkit-box;
    overflow: hidden;
    max-width: 500px;
    color: #323432;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__prev > span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next > span {
    position: absolute;
    top: 50%;
    right: 28px;
    color: #858a8c;
    font-size: 20px;
    transform: translateY(-50%);
    transition: color .25s ease, transform .25s ease;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__next > span {
    right: auto;
    left: 28px;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:hover,
.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:focus-visible,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:hover,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:focus-visible {
    border-color: transparent;
    background: rgba(255, 255, 255, .72);
    box-shadow: none;
    transform: none;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:hover strong,
.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:focus-visible strong,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:hover strong,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:focus-visible strong,
.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:hover > span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:focus-visible > span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:hover > span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:focus-visible > span {
    color: var(--ace-red);
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:hover > span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__prev:focus-visible > span {
    transform: translate(-4px, -50%);
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__next:hover > span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__next:focus-visible > span {
    transform: translate(4px, -50%);
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home {
    display: flex;
    min-width: 0;
    min-height: 168px;
    padding: 24px 12px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 16px;
    border: 0;
    border-right: 1px solid rgba(35, 36, 34, .14);
    border-left: 1px solid rgba(35, 36, 34, .14);
    border-radius: 0;
    background: rgba(255, 255, 255, .64);
    color: var(--ace-red);
    box-shadow: none;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home i {
    width: 22px;
    height: 16px;
    background: repeating-linear-gradient(90deg, var(--ace-red) 0 4px, transparent 4px 9px);
    opacity: .82;
    transform: none;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home i::before {
    display: none;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home span {
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home:hover,
.ace-news-detail-page.ace-v2-page .ace-article-nav__home:focus-visible {
    border-color: var(--ace-red);
    background: var(--ace-red);
    box-shadow: none;
    transform: none;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home:hover i,
.ace-news-detail-page.ace-v2-page .ace-article-nav__home:focus-visible i {
    background: repeating-linear-gradient(90deg, #fff 0 4px, transparent 4px 9px);
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home:hover span,
.ace-news-detail-page.ace-v2-page .ace-article-nav__home:focus-visible span {
    color: #fff;
}

.ace-news-detail-page.ace-v2-page .ace-article-nav__home:hover i {
    transform: none;
}

@media (max-width: 1180px) {
    .ace-news-detail-page.ace-v2-page .ace-article__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 52px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__aside {
        position: static;
        display: block;
        overflow: hidden;
        max-height: none;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__aside-head {
        border-top: 0;
        border-left: 0;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest {
        display: grid;
        padding: 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest article {
        border-right: 1px solid rgba(35, 36, 34, .12);
        border-bottom: 0;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest article > a {
        min-height: 100%;
        padding: 28px 24px;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest i {
        display: none;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__all {
        min-height: 68px;
        padding: 0 32px;
    }
}

@media (max-width: 900px) {
    .ace-news-detail-page.ace-v2-page .ace-article {
        padding: 68px 0 72px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__main {
        padding: clamp(30px, 6vw, 48px);
    }

    .ace-news-detail-page.ace-v2-page .ace-article__lead {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__aside {
        display: block;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__aside-head {
        border-top: 0;
        border-left: 0;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest article > a {
        min-height: 142px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__all {
        min-height: 68px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav .ace-shell {
        grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr);
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav__prev,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__next,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__empty {
        min-height: 154px;
        padding: 28px 52px 28px 24px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav__next,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__empty--next {
        padding: 28px 24px 28px 52px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav__home {
        min-height: 154px;
    }
}

@media (max-width: 720px) {
    .ace-news-detail-page.ace-v2-page .ace-article-scene::after {
        display: none;
    }

    .ace-news-detail-page.ace-v2-page .ace-article {
        padding: 52px 0 58px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__layout {
        gap: 38px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__main {
        padding: 28px 22px 36px;
        box-shadow: 0 18px 44px rgba(68, 75, 80, .09);
    }

    .ace-news-detail-page.ace-v2-page .ace-article__lead {
        margin-bottom: 34px;
        padding-bottom: 28px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest {
        display: block;
        padding: 0 26px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest article {
        border-right: 0;
        border-bottom: 1px solid rgba(35, 36, 34, .12);
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest article > a {
        min-height: 116px;
        padding: 22px 0;
        grid-template-columns: 46px minmax(0, 1fr) 16px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__latest i {
        display: block;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__all {
        min-height: 64px;
        padding: 0 26px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article__search {
        padding: 24px 26px 26px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav {
        padding-bottom: 68px;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav .ace-shell {
        border-bottom: 0;
        grid-template-columns: 1fr;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav__prev,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__next,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__empty,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__next,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__empty--next {
        min-height: 122px;
        padding: 24px 58px 24px 22px;
        align-items: flex-start;
        border-bottom: 1px solid rgba(35, 36, 34, .14);
        text-align: left;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav__next > span {
        right: 24px;
        left: auto;
    }

    .ace-news-detail-page.ace-v2-page .ace-article-nav__home {
        min-height: 68px;
        padding: 16px 22px;
        flex-direction: row;
        order: 3;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-news-detail-page.ace-v2-page .ace-article__latest i,
    .ace-news-detail-page.ace-v2-page .ace-article__all,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__prev,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__next,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__prev > span,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__next > span,
    .ace-news-detail-page.ace-v2-page .ace-article-nav__home {
        transition: none;
    }
}

/* News detail V3: editorial reading experience aligned with the news directory */
.ace-news-detail-page {
    background: #f4f3f0;
}

.ace-news-detail-page .ace-article-hero {
    min-height: 560px;
    background:
        radial-gradient(circle at 86% 16%, rgba(168, 16, 27, .36), transparent 31%),
        radial-gradient(ellipse at 18% 105%, rgba(255, 255, 255, .06), transparent 36%),
        linear-gradient(118deg, #161313 0%, #241819 62%, #431015 100%);
}

.ace-news-detail-page .ace-article-hero::before {
    top: 132px;
    right: max(2vw, 28px);
    color: rgba(255, 255, 255, .028);
    font-size: clamp(140px, 20vw, 300px);
}

.ace-news-detail-page .ace-article-hero::after {
    right: 0;
    left: 0;
    width: auto;
    height: 2px;
}

.ace-news-detail-page .ace-article-hero .ace-shell {
    padding-top: 152px;
    padding-bottom: clamp(64px, 6vw, 88px);
}

.ace-news-detail-page .ace-article-breadcrumb {
    margin-bottom: clamp(44px, 5vw, 70px);
}

.ace-article-hero__grid {
    display: grid;
    max-width: 1180px;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: start;
    gap: clamp(34px, 4.5vw, 70px);
}

.ace-article-hero__date {
    display: flex;
    min-height: 126px;
    padding: 4px 28px 8px 0;
    align-items: flex-end;
    justify-content: center;
    flex-direction: column;
    border-right: 1px solid rgba(255, 255, 255, .24);
    color: #fff;
}

.ace-article-hero__date strong {
    font-family: var(--ace-sans);
    font-size: clamp(58px, 5.5vw, 78px);
    font-weight: 450;
    line-height: .9;
    letter-spacing: -.07em;
}

.ace-article-hero__date span {
    margin-top: 14px;
    color: #e34954;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .12em;
}

.ace-article-hero__copy {
    min-width: 0;
}

.ace-news-detail-page .ace-article-hero h1 {
    max-width: 980px;
    margin: 17px 0 28px;
    font-family: var(--ace-sans);
    font-size: clamp(40px, 4.2vw, 62px);
    font-weight: 560;
    line-height: 1.32;
    letter-spacing: -.04em;
}

.ace-news-detail-page .ace-article-meta {
    flex-wrap: wrap;
    gap: 12px 22px;
    font-size: 12px;
}

.ace-news-detail-page .ace-article-meta span,
.ace-news-detail-page .ace-article-meta a {
    padding-left: 22px;
    border-left: 1px solid rgba(255, 255, 255, .28);
}

.ace-news-detail-page .ace-article-meta a {
    color: rgba(255, 255, 255, .72);
}

.ace-news-detail-page .ace-article-meta a:hover,
.ace-news-detail-page .ace-article-meta a:focus-visible {
    color: #fff;
}

.ace-news-detail-page .ace-article {
    position: relative;
    overflow: hidden;
    padding: clamp(72px, 7.5vw, 112px) 0 clamp(96px, 10vw, 150px);
    background:
        radial-gradient(circle at 92% 4%, rgba(168, 16, 27, .05), transparent 23%),
        radial-gradient(ellipse at 5% 44%, rgba(187, 193, 197, .2), transparent 27%),
        linear-gradient(135deg, #f7f6f3 0%, #eef1f2 54%, #faf9f6 100%);
}

.ace-news-detail-page .ace-article::before {
    position: absolute;
    top: 0;
    left: 0;
    width: min(360px, 26vw);
    height: 220px;
    content: "";
    background:
        linear-gradient(rgba(71, 64, 58, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(71, 64, 58, .035) 1px, transparent 1px);
    background-size: 38px 38px;
    -webkit-mask-image: linear-gradient(135deg, #000, transparent 76%);
    mask-image: linear-gradient(135deg, #000, transparent 76%);
    pointer-events: none;
}

.ace-news-detail-page .ace-article__layout {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 820px) minmax(240px, 280px);
    justify-content: center;
    gap: clamp(48px, 6vw, 84px);
}

.ace-news-detail-page .ace-article__main {
    padding: clamp(38px, 4.5vw, 60px);
    border: 1px solid rgba(72, 66, 61, .09);
    border-radius: 4px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 30px 78px rgba(70, 63, 57, .09);
}

.ace-news-detail-page .ace-article__lead {
    display: grid;
    margin-bottom: clamp(40px, 5vw, 62px);
    padding-bottom: clamp(28px, 3vw, 40px);
    align-items: start;
    grid-template-columns: minmax(150px, .72fr) minmax(0, 1.5fr);
    gap: clamp(28px, 4vw, 56px);
    border-bottom-color: rgba(23, 23, 22, .14);
}

.ace-news-detail-page .ace-article__lead > div {
    display: grid;
    gap: 9px;
}

.ace-news-detail-page .ace-article__lead span {
    font-size: 10px;
}

.ace-news-detail-page .ace-article__lead strong {
    color: #716b65;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
}

.ace-news-detail-page .ace-article__lead p {
    margin: 0;
    color: #504b47;
    font-family: var(--ace-serif);
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.75;
}

.ace-news-detail-page .ace-article__content {
    max-width: 700px;
    margin-inline: auto;
    color: #33302e;
    font-size: 18px;
    line-height: 1.9;
}

.ace-news-detail-page .ace-article__content p {
    font-size: 18px !important;
    line-height: 1.9 !important;
}

.ace-news-detail-page .ace-article__content p span {
    font-size: inherit !important;
    line-height: inherit !important;
}

.ace-news-detail-page .ace-article__content h1,
.ace-news-detail-page .ace-article__content h2,
.ace-news-detail-page .ace-article__content h3,
.ace-news-detail-page .ace-article__content h4,
.ace-news-detail-page .ace-article__content h5,
.ace-news-detail-page .ace-article__content h6 {
    margin: 2.2em 0 .8em;
    color: #211d1a;
    font-family: var(--ace-sans);
    font-weight: 620;
    line-height: 1.45;
}

.ace-news-detail-page .ace-article__content h2 {
    font-size: 28px;
}

.ace-news-detail-page .ace-article__content h3 {
    font-size: 23px;
}

.ace-news-detail-page .ace-article__content ul,
.ace-news-detail-page .ace-article__content ol {
    margin: 1.4em 0;
    padding-left: 1.4em;
}

.ace-news-detail-page .ace-article__content li {
    margin: .55em 0;
    font-size: 18px;
    line-height: 1.85;
}

.ace-news-detail-page .ace-article__content img,
.ace-news-detail-page .ace-article__content video {
    border-radius: 2px;
}

.ace-news-detail-page .ace-article__content iframe {
    aspect-ratio: 16 / 9;
    min-height: 0;
}

.ace-news-detail-page .ace-article__content table {
    width: 100%;
    font-size: 15px;
    line-height: 1.65;
}

.ace-news-detail-page .ace-article__aside {
    top: 104px;
    padding: 0;
    border: 0;
    background: transparent;
}

.ace-news-detail-page .ace-article__aside-head {
    margin: 0;
    padding: 0 0 24px;
    border-bottom: 1px solid rgba(23, 23, 22, .16);
}

.ace-news-detail-page .ace-article__aside-head h2 {
    margin-top: 10px;
    font-family: var(--ace-sans);
    font-size: 26px;
    font-weight: 600;
}

.ace-news-detail-page .ace-article__latest article {
    padding: 0;
    border-top: 0;
    border-bottom: 1px solid rgba(23, 23, 22, .12);
}

.ace-news-detail-page .ace-article__latest article > a {
    position: relative;
    display: grid;
    min-height: 118px;
    padding: 22px 28px 22px 0;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    outline: 0;
}

.ace-news-detail-page .ace-article__latest article > a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -12px;
    width: 2px;
    content: "";
    background: var(--ace-red);
    transform: scaleY(0);
    transition: transform .3s var(--ace-ease);
}

.ace-news-detail-page .ace-article__latest time {
    display: flex;
    min-height: 52px;
    padding-right: 12px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    border-right: 1px solid rgba(23, 23, 22, .12);
    color: var(--ace-ink);
}

.ace-news-detail-page .ace-article__latest time strong {
    font-family: var(--ace-sans);
    font-size: 26px;
    font-weight: 520;
    line-height: 1;
    letter-spacing: -.04em;
}

.ace-news-detail-page .ace-article__latest time span {
    margin-top: 6px;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
}

.ace-news-detail-page .ace-article__latest h3 {
    margin: 0;
    color: #28231f;
    font-size: 15px;
    font-weight: 570;
    line-height: 1.65;
    transition: color .25s ease;
}

.ace-news-detail-page .ace-article__latest i {
    position: absolute;
    top: 50%;
    right: 2px;
    color: #8b847e;
    font-size: 14px;
    font-style: normal;
    transform: translateY(-50%);
    transition: color .25s ease, transform .25s ease;
}

.ace-news-detail-page .ace-article__latest article > a:hover::before,
.ace-news-detail-page .ace-article__latest article > a:focus-visible::before {
    transform: scaleY(1);
}

.ace-news-detail-page .ace-article__latest article > a:hover h3,
.ace-news-detail-page .ace-article__latest article > a:focus-visible h3,
.ace-news-detail-page .ace-article__latest article > a:hover i,
.ace-news-detail-page .ace-article__latest article > a:focus-visible i {
    color: var(--ace-red);
}

.ace-news-detail-page .ace-article__latest article > a:hover i,
.ace-news-detail-page .ace-article__latest article > a:focus-visible i {
    transform: translate(3px, calc(-50% - 3px));
}

.ace-news-detail-page .ace-article__search {
    margin-top: 30px;
    padding-top: 0;
    border-top: 0;
}

.ace-news-detail-page .ace-article__search label {
    font-size: 12px;
}

.ace-news-detail-page .ace-article__search input {
    font-size: 14px;
}

.ace-news-detail-page .ace-article__all {
    margin-top: 26px;
    min-height: 52px;
    border-radius: 2px;
    font-size: 13px;
}

.ace-news-detail-page .ace-article-nav {
    padding: clamp(64px, 7vw, 96px) 0;
    color: var(--ace-ink);
    background: #eeece8;
}

.ace-news-detail-page .ace-article-nav .ace-shell {
    grid-template-columns: minmax(0, 1fr) 132px minmax(0, 1fr);
    gap: 16px;
}

.ace-news-detail-page .ace-article-nav__prev,
.ace-news-detail-page .ace-article-nav__next,
.ace-news-detail-page .ace-article-nav__empty {
    min-height: 168px;
    padding: 32px 64px 32px 34px;
    border: 1px solid rgba(72, 66, 61, .1);
    border-radius: 16px;
    color: var(--ace-ink);
    background: rgba(255, 255, 255, .68);
    transition: border-color .3s ease, background .3s ease, transform .3s var(--ace-ease), box-shadow .3s ease;
}

.ace-news-detail-page .ace-article-nav__next,
.ace-news-detail-page .ace-article-nav__empty--next {
    padding-right: 34px;
    padding-left: 64px;
}

.ace-news-detail-page .ace-article-nav small {
    color: #8a837d;
}

.ace-news-detail-page .ace-article-nav strong {
    color: #292522;
    font-family: var(--ace-sans);
    font-size: 17px;
    font-weight: 570;
}

.ace-news-detail-page .ace-article-nav__prev > span,
.ace-news-detail-page .ace-article-nav__next > span {
    right: 25px;
}

.ace-news-detail-page .ace-article-nav__next > span {
    right: auto;
    left: 25px;
}

.ace-news-detail-page .ace-article-nav__prev:hover,
.ace-news-detail-page .ace-article-nav__prev:focus-visible,
.ace-news-detail-page .ace-article-nav__next:hover,
.ace-news-detail-page .ace-article-nav__next:focus-visible {
    border-color: rgba(168, 16, 27, .24);
    background: #fff;
    box-shadow: 0 18px 48px rgba(70, 63, 57, .09);
    transform: translateY(-3px);
}

.ace-news-detail-page .ace-article-nav__home {
    display: flex;
    width: 132px;
    border: 0;
    border-radius: 16px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 14px;
    color: var(--ace-ink);
    background: rgba(255, 255, 255, .68);
    transition: color .25s ease, background .25s ease;
}

.ace-news-detail-page .ace-article-nav__home i {
    position: relative;
    width: 22px;
    height: 14px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: transparent;
}

.ace-news-detail-page .ace-article-nav__home i::before {
    position: absolute;
    top: 5px;
    right: 0;
    left: 0;
    height: 2px;
    content: "";
    background: currentColor;
}

.ace-news-detail-page .ace-article-nav__home span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.ace-news-detail-page .ace-article-nav__home:hover,
.ace-news-detail-page .ace-article-nav__home:focus-visible {
    color: #fff;
    background: var(--ace-red);
}

.ace-news-detail-page .ace-article-nav__home:hover i {
    background: transparent;
}

@media (max-width: 1100px) {
    .ace-news-detail-page .ace-article__layout {
        grid-template-columns: minmax(0, 700px) minmax(230px, 250px);
        gap: 40px;
    }

    .ace-news-detail-page .ace-article__main {
        padding: 42px;
    }
}

@media (max-width: 1200px) {
    .ace-news-detail-page .ace-article__layout {
        max-width: 780px;
        grid-template-columns: 1fr;
    }

    .ace-news-detail-page .ace-article__aside {
        display: block;
        padding: 0;
    }

    .ace-news-detail-page .ace-article__latest {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 24px;
    }

    .ace-news-detail-page .ace-article__search,
    .ace-news-detail-page .ace-article__all {
        margin-top: 28px;
    }
}

@media (min-width: 721px) {
    .ace-news-detail-page.ace-v2-page .ace-article-nav strong {
        width: 100%;
        min-width: 0;
        max-width: 500px;
    }
}

@media (max-width: 720px) {
    .ace-news-detail-page .ace-article-hero {
        min-height: 0;
    }

    .ace-news-detail-page .ace-article-hero .ace-shell {
        padding-top: 124px;
        padding-bottom: 54px;
    }

    .ace-news-detail-page .ace-article-breadcrumb {
        margin-bottom: 38px;
    }

    .ace-article-hero__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ace-article-hero__date {
        min-height: 0;
        padding: 0;
        align-items: baseline;
        justify-content: flex-start;
        flex-direction: row;
        border-right: 0;
        gap: 10px;
    }

    .ace-article-hero__date strong {
        font-size: 28px;
        letter-spacing: -.04em;
    }

    .ace-article-hero__date span {
        margin-top: 0;
        font-size: 10px;
    }

    .ace-news-detail-page .ace-article-hero h1 {
        margin: 14px 0 24px;
        font-size: clamp(31px, 9.3vw, 40px);
        line-height: 1.38;
    }

    .ace-news-detail-page .ace-article-meta span,
    .ace-news-detail-page .ace-article-meta a {
        padding-left: 0;
        border-left: 0;
    }

    .ace-news-detail-page .ace-article {
        padding: 48px 0 76px;
        background: #f7f6f3;
    }

    .ace-news-detail-page .ace-article__layout {
        gap: 62px;
    }

    .ace-news-detail-page .ace-article__main {
        padding: 30px 20px 38px;
        border-radius: 2px;
        box-shadow: 0 18px 45px rgba(70, 63, 57, .07);
    }

    .ace-news-detail-page .ace-article__lead {
        margin-bottom: 36px;
        padding-bottom: 28px;
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ace-news-detail-page .ace-article__lead p {
        font-size: 18px;
    }

    .ace-news-detail-page .ace-article__content,
    .ace-news-detail-page .ace-article__content p,
    .ace-news-detail-page .ace-article__content li {
        font-size: 16px !important;
        line-height: 1.9 !important;
    }

    .ace-news-detail-page .ace-article__content h2 {
        font-size: 24px;
    }

    .ace-news-detail-page .ace-article__content h3 {
        font-size: 20px;
    }

    .ace-news-detail-page .ace-article__content blockquote {
        margin: 30px 0;
        padding-left: 20px;
        font-size: 19px;
    }

    .ace-news-detail-page .ace-article__content iframe {
        min-height: 0;
    }

    .ace-news-detail-page .ace-article__aside-head h2 {
        font-size: 24px;
    }

    .ace-news-detail-page .ace-article__latest {
        grid-template-columns: 1fr;
    }

    .ace-news-detail-page .ace-article__latest article > a {
        min-height: 104px;
    }

    .ace-news-detail-page .ace-article-nav {
        padding: 46px 0;
    }

    .ace-news-detail-page .ace-article-nav .ace-shell {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ace-news-detail-page .ace-article-nav__prev,
    .ace-news-detail-page .ace-article-nav__next,
    .ace-news-detail-page .ace-article-nav__empty {
        min-height: 126px;
        padding: 25px 48px 25px 24px;
        text-align: left;
    }

    .ace-news-detail-page .ace-article-nav__next,
    .ace-news-detail-page .ace-article-nav__empty--next {
        padding-right: 48px;
        padding-left: 24px;
    }

    .ace-news-detail-page .ace-article-nav__prev > span,
    .ace-news-detail-page .ace-article-nav__next > span {
        display: block;
        right: 22px;
        left: auto;
    }

    .ace-news-detail-page .ace-article-nav__home {
        width: 100%;
        min-height: 70px;
        flex-direction: row;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-news-detail-page .ace-article__latest article > a::before,
    .ace-news-detail-page .ace-article__latest h3,
    .ace-news-detail-page .ace-article__latest i,
    .ace-news-detail-page .ace-article-nav__prev,
    .ace-news-detail-page .ace-article-nav__next,
    .ace-news-detail-page .ace-article-nav__home {
        transition: none !important;
    }
}

/* Homepage geographic portfolio map v5: mainland focus, maritime inset and stronger directory state */
.ace-map__grid {
    background: linear-gradient(112deg, rgba(249, 238, 239, .92) 0, rgba(248, 241, 241, .78) 232px, rgba(255, 255, 255, .54) 233px);
}

.ace-map__copy {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 7%, rgba(168, 16, 27, .1), transparent 31%),
        linear-gradient(155deg, rgba(255, 252, 252, .96) 0%, rgba(247, 232, 234, .88) 56%, rgba(244, 239, 239, .78) 100%);
}

.ace-map__copy::after {
    position: absolute;
    z-index: -1;
    right: -88px;
    bottom: -82px;
    width: 210px;
    height: 210px;
    content: "";
    border: 1px solid rgba(168, 16, 27, .07);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(168, 16, 27, .025), 0 0 0 58px rgba(168, 16, 27, .018);
    pointer-events: none;
}

.ace-map__visual {
    border-radius: 24px 0 0 24px;
    box-shadow: -14px 0 34px rgba(54, 35, 37, .08);
}

.ace-map__national {
    min-height: 72px;
    padding: 12px 12px;
    border-radius: 12px;
}

.ace-map__national.is-active,
.ace-map__national.is-active:hover {
    color: #fff;
    background: linear-gradient(135deg, #b20f1d 0%, #98101a 100%);
    box-shadow: 0 12px 28px rgba(137, 13, 24, .18);
    transform: none;
}

.ace-map__national.is-active .ace-map__national-icon {
    color: #fff;
    background: rgba(255, 255, 255, .13);
    box-shadow: 0 0 0 7px rgba(255, 255, 255, .055);
}

.ace-map__national.is-active .ace-map__national-icon::after {
    border-color: rgba(255, 255, 255, .46);
}

.ace-map__national.is-active small,
.ace-map__national.is-active i {
    color: rgba(255, 255, 255, .78);
}

.ace-map__cities button:hover,
.ace-map__cities button.is-preview {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .07);
}

.ace-map__cities button.is-active,
.ace-map__cities button.is-active:hover {
    color: #fff;
    background: linear-gradient(90deg, #b20f1d, #9f101b);
    box-shadow: 0 7px 18px rgba(137, 13, 24, .13);
}

.ace-map__cities button.is-active small,
.ace-map__cities button.is-active:hover small {
    color: rgba(255, 255, 255, .68);
}

.ace-map__cities button.is-active::before,
.ace-map__cities button.is-active:hover::before {
    background: #fff;
    opacity: .88;
}

.ace-map__inset {
    pointer-events: none;
    transition: opacity .25s ease;
}

.ace-map__inset-surface {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    inset: 0;
}

.ace-map__visual:not([data-map-view="china"]) .ace-map__inset {
    opacity: 0;
}

.ace-map__inset > rect {
    fill: rgba(255, 255, 255, .74);
    stroke: rgba(177, 180, 182, .36);
    stroke-width: 1;
    filter: drop-shadow(0 8px 18px rgba(47, 49, 51, .06));
}

.ace-map__inset-title {
    fill: #54575a;
    font-family: var(--ace-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
}

.ace-map__inset-subtitle {
    fill: #aaaeb1;
    font-family: var(--ace-sans);
    font-size: 6px;
    font-weight: 500;
    letter-spacing: .11em;
}

.ace-map__region--inset,
.ace-map__region--inset.has-projects,
.ace-map__region--inset.is-active {
    fill: #aeb3b6;
    stroke: none;
}

@media (max-width: 780px) {
    .ace-map__grid {
        background: linear-gradient(180deg, rgba(250, 237, 239, .92) 0, rgba(255, 255, 255, .52) 255px);
    }

    .ace-map__copy {
        background:
            radial-gradient(circle at 8% 7%, rgba(168, 16, 27, .09), transparent 34%),
            linear-gradient(145deg, rgba(255, 252, 252, .95), rgba(248, 234, 236, .82));
    }

    .ace-map__visual {
        border-radius: 0 0 20px 20px;
        box-shadow: 0 -12px 30px rgba(54, 35, 37, .06);
    }

    .ace-map__national {
        padding: 8px 10px;
    }
}

@keyframes ace-core-orbit-outer {
    from { transform: translate(-50%, -50%) rotate(-13deg); }
    to { transform: translate(-50%, -50%) rotate(-6deg); }
}

@keyframes ace-core-orbit-middle {
    from { transform: translate(-50%, -50%) rotate(18deg); }
    to { transform: translate(-50%, -50%) rotate(10deg); }
}

@keyframes ace-core-orbit-inner {
    from { transform: translate(-50%, -50%) rotate(-29deg); }
    to { transform: translate(-50%, -50%) rotate(-19deg); }
}

@keyframes ace-core-float {
    0%, 100% { transform: translate(-50%, -50%) translateY(0); }
    50% { transform: translate(-50%, -50%) translateY(-7px); }
}

@keyframes ace-core-shine {
    0%, 64% { opacity: 0; transform: translateX(-125%); }
    72% { opacity: .62; }
    88%, 100% { opacity: 0; transform: translateX(125%); }
}

@keyframes ace-core-beam {
    0%, 100% { opacity: .45; transform: scaleY(.86); }
    50% { opacity: .95; transform: scaleY(1); }
}

.ace-stats.is-entered .ace-core__orbit--outer {
    animation: ace-core-orbit-outer 8.5s ease-in-out infinite alternate;
}

.ace-stats.is-entered .ace-core__orbit--middle {
    animation: ace-core-orbit-middle 7.4s ease-in-out infinite alternate;
}

.ace-stats.is-entered .ace-core__orbit--inner {
    animation: ace-core-orbit-inner 6.8s ease-in-out infinite alternate;
}

.ace-stats.is-entered .ace-core__mark {
    animation: ace-core-float 6s ease-in-out infinite;
}

.ace-stats.is-entered .ace-core__mark::before {
    animation: ace-core-shine 5.6s ease-in-out infinite 1.2s;
}

.ace-stats.is-entered .ace-core__mark > span {
    animation: ace-core-beam 3s ease-in-out infinite;
}

@media (max-width: 1180px) {
    .ace-core__visual {
        left: -9%;
        width: min(610px, 58vw);
    }

    .ace-core__wing {
        left: 23%;
        padding-right: 30px;
        padding-left: clamp(215px, 23vw, 280px);
    }

    .ace-core__metric {
        padding-right: 20px;
        padding-left: 20px;
    }

    .ace-core__metric strong {
        font-size: clamp(39px, 4.3vw, 54px);
    }

    .ace-core-honors__rail {
        overflow-x: auto;
        scrollbar-width: none;
    }
}

@media (max-width: 860px) {
    .ace-core {
        min-height: 650px;
    }

    .ace-core__visual {
        left: -13%;
        width: min(570px, 67vw);
    }

    .ace-core__wing {
        left: 18%;
        padding: 34px 22px 26px clamp(205px, 27vw, 240px);
    }

    .ace-core__metric {
        padding: 18px 13px;
    }

    .ace-core__metric > span {
        font-size: 16px;
    }

    .ace-core__metric strong {
        font-size: clamp(34px, 5vw, 46px);
    }

    .ace-core__value {
        gap: 0;
    }

    .ace-core__value div {
        gap: 4px;
        flex-direction: column;
    }

    .ace-core__value div:first-child,
    .ace-core__value div:last-child {
        justify-content: center;
    }
}

@media (max-width: 720px) {
    .ace-stats {
        padding: 76px 0;
    }

    .ace-core {
        min-height: 0;
        margin-top: 28px;
    }

    .ace-core::before {
        top: -3%;
        left: -32%;
        width: 150%;
        height: 62%;
    }

    .ace-core::after {
        top: 2%;
        left: -15%;
        width: 125%;
        height: 42%;
    }

    .ace-core__visual {
        position: relative;
        top: auto;
        left: -11%;
        width: 122%;
        margin-top: -38px;
        transform: none;
    }

    .ace-stats.is-entered .ace-core__visual {
        transform: none;
    }

    .ace-core__wing {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        margin-top: -150px;
        padding: 140px 0 0;
        border: 0;
        border-radius: 0;
        background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .66) 29%, rgba(255, 255, 255, .22));
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .ace-core__wing::before {
        display: none;
    }

    .ace-core__metrics {
        border-top: 1px solid rgba(130, 120, 111, .17);
    }

    .ace-core__metric {
        min-height: 142px;
        padding: 20px 15px;
    }

    .ace-core__metric strong {
        font-size: clamp(34px, 10vw, 46px);
    }

    .ace-core__value {
        padding: 18px 4px 0;
    }

    .ace-core__value strong {
        font-size: 26px;
    }

    .ace-core__value small {
        font-size: 16px;
    }

    .ace-core-honors--mobile-carousel {
        min-height: 0;
        margin-top: 32px;
        border: 0;
        background: transparent;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__mobile-head {
        display: flex;
        margin-bottom: 14px;
        align-items: center;
        justify-content: space-between;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__mobile-head h3 {
        margin: 0;
        color: #1d1a18;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.35;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__mobile-head span {
        color: #756f68;
        font-family: var(--ace-sans);
        font-size: 15px;
        line-height: 1;
        letter-spacing: .04em;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail {
        display: flex;
        min-height: 0;
        padding: 8px 0 14px;
        gap: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail::-webkit-scrollbar {
        display: none;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail button,
    .ace-core-honors--mobile-carousel .ace-core-honors__rail button.is-active {
        min-height: 148px;
        margin: 0;
        padding: 24px 22px;
        flex: 0 0 calc(100% - 38px);
        border: 1px solid rgba(130, 120, 111, .14);
        border-radius: 18px;
        background: rgba(255, 255, 255, .82);
        box-shadow: 0 12px 30px rgba(74, 64, 56, .06);
        scroll-snap-align: center;
        scroll-snap-stop: always;
        transition: color .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail button.is-active {
        padding-right: 92px;
        border-color: rgba(181, 22, 34, .16);
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 16px 38px rgba(74, 64, 56, .11);
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail button::after {
        bottom: 0;
        height: 2px;
        border-radius: 2px;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail button.is-active::after {
        right: 18px;
        left: 18px;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail button.is-active::before {
        right: 18px;
        width: 60px;
        opacity: .52;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail b {
        margin-bottom: 14px;
        font-size: 28px;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail span,
    .ace-core-honors--mobile-carousel .ace-core-honors__rail button.is-active span {
        max-width: 210px;
        font-size: 14px;
        line-height: 1.55;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__rail button.is-active b {
        font-size: 34px;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__pager {
        display: flex;
        min-height: 20px;
        margin-top: 2px;
        align-items: center;
        justify-content: center;
        gap: 2px;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__pager button {
        position: relative;
        display: grid;
        width: 18px;
        height: 20px;
        min-width: 0;
        padding: 0;
        flex: 0 0 auto;
        place-items: center;
        border: 0;
        border-radius: 999px;
        appearance: none;
        background: transparent;
        box-shadow: none;
        cursor: pointer;
        transition: width .3s ease;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__pager button::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 999px;
        background: rgba(117, 111, 104, .25);
        transition: width .3s ease, background .3s ease;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__pager button.is-active {
        width: 42px;
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__pager button.is-active::before {
        width: 34px;
        background: var(--ace-red);
    }

    .ace-core-honors--mobile-carousel .ace-core-honors__pager button:focus-visible {
        outline: 2px solid rgba(181, 22, 34, .35);
        outline-offset: 1px;
    }
}

@media (max-width: 480px) {
    .ace-stats__heading h2 {
        font-size: 40px;
    }

    .ace-core__visual {
        left: -17%;
        width: 134%;
    }

    .ace-core__label {
        font-size: 16px;
    }

    .ace-core__wing {
        margin-top: -142px;
        padding-top: 128px;
    }

    .ace-core__metric {
        min-height: 128px;
        padding: 17px 12px;
    }

    .ace-core__metric strong {
        font-size: 34px;
    }

    .ace-core__metric em,
    .ace-core__metric sup {
        margin-bottom: 4px;
        font-size: 16px;
    }

    .ace-core__value div {
        text-align: center;
    }

    .ace-core-honors__rail button.is-active b {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-stats.is-entered .ace-core__orbit,
    .ace-stats.is-entered .ace-core__mark,
    .ace-stats.is-entered .ace-core__mark::before,
    .ace-stats.is-entered .ace-core__mark > span,
    .ace-core-honors__rail button.is-active::before {
        animation: none;
    }

    .ace-core__visual,
    .ace-core__mark-main,
    .ace-core__orbit,
    .ace-core__glow {
        transition: none !important;
    }
}

@keyframes ace-engine-orbit-outer {
    from { transform: translate(-50%, -50%) rotate(-12deg); }
    to { transform: translate(-50%, -50%) rotate(-5deg); }
}

@keyframes ace-engine-orbit-inner {
    from { transform: translate(-50%, -50%) rotate(17deg); }
    to { transform: translate(-50%, -50%) rotate(9deg); }
}

@keyframes ace-engine-axis-pulse {
    0%, 100% { opacity: .55; }
    50% { opacity: 1; }
}

.ace-stats.is-entered .ace-engine__orbit--outer {
    animation: ace-engine-orbit-outer 8s ease-in-out infinite alternate;
}

.ace-stats.is-entered .ace-engine__orbit--inner {
    animation: ace-engine-orbit-inner 7s ease-in-out infinite alternate;
}

.ace-stats.is-entered .ace-engine__axis {
    animation: ace-engine-axis-pulse 2.8s ease-in-out infinite;
}

@media (max-width: 480px) {
    .ace-stats__heading h2 {
        font-size: 40px;
    }

    .ace-stats__heading > p {
        padding-left: 16px;
    }

    .ace-engine {
        margin-top: 34px;
        padding: 10px;
        border-radius: 21px;
        gap: 8px;
    }

    .ace-engine__visual {
        width: 112%;
        margin: -20px -6% -38px;
    }

    .ace-engine__layer {
        padding: 4px 7px;
        font-size: 7px;
    }

    .ace-engine__metric {
        padding: 14px 12px;
        border-radius: 13px;
    }

    .ace-engine__metric > span {
        font-size: 11px;
    }

    .ace-engine__metric strong,
    .ace-engine__metric--parks strong {
        font-size: 34px;
    }

    .ace-engine__metric > small {
        display: none;
    }

    .ace-engine__metric em,
    .ace-engine__metric sup {
        margin-bottom: 4px;
        font-size: 9px;
    }

    .ace-engine__value {
        padding: 15px 4px;
        border-radius: 13px;
    }

    .ace-engine__value strong {
        font-size: 21px;
    }

    .ace-engine__value small {
        text-align: center;
    }

    .ace-honors {
        margin-top: 10px;
        border-radius: 16px;
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .ace-honors__intro,
    .ace-honors__feature {
        padding: 20px 16px;
    }

    .ace-honors__feature strong {
        font-size: 32px;
    }

    .ace-honors__feature p {
        font-size: 10px;
        line-height: 1.45;
    }

}

@media (prefers-reduced-motion: reduce) {
    .ace-stats.is-entered .ace-engine__orbit,
    .ace-stats.is-entered .ace-engine__axis {
        animation: none;
    }

    .ace-engine__visual,
    .ace-engine__metric,
    .ace-engine__value,
    .ace-honors {
        transition: none !important;
    }
}

/* Inner-page responsive overrides must follow the shared homepage rules. */
.ace-inner-page .ace-booking--inner {
    margin-top: 0;
    padding: 100px 0;
    background: #e9e3da;
}

@media (max-width: 760px) {
    .ace-inner-page .ace-section__heading--row,
    .ace-inner-page .ace-news-archive__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ace-inner-page .ace-booking--inner {
        margin-top: 0;
        padding-block: 70px;
    }

    .ace-inner-page .ace-booking__panel {
        margin: 0;
    }
}

/* News detail */
.ace-article-hero {
    position: relative;
    display: flex;
    min-height: 530px;
    align-items: flex-end;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, rgba(192, 18, 31, .34), transparent 34%),
        linear-gradient(120deg, #171313 0%, #241718 65%, #3a1014 100%);
}

.ace-article-hero::before {
    position: absolute;
    top: 118px;
    right: max(4vw, 50px);
    color: rgba(255, 255, 255, .035);
    content: "NEWS";
    font-family: var(--ace-sans);
    font-size: clamp(130px, 20vw, 290px);
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: .8;
    pointer-events: none;
}

.ace-article-hero::after {
    position: absolute;
    right: auto;
    bottom: 0;
    left: var(--ace-gutter);
    width: min(290px, 28vw);
    height: 4px;
    content: "";
    background: var(--ace-red);
}

.ace-article-hero .ace-shell {
    position: relative;
    z-index: 1;
    padding-top: 150px;
    padding-bottom: 64px;
}

.ace-article-breadcrumb {
    display: flex;
    margin-bottom: 44px;
    align-items: center;
    gap: 13px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    letter-spacing: .12em;
}

.ace-article-breadcrumb a {
    color: inherit;
}

.ace-article-breadcrumb a:hover {
    color: #fff;
}

.ace-article-hero h1 {
    max-width: 960px;
    margin: 17px 0 26px;
    color: #fff;
    font-family: var(--ace-serif);
    font-size: clamp(38px, 4.2vw, 60px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.ace-article-meta {
    display: flex;
    align-items: center;
    gap: 26px;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    letter-spacing: .08em;
}

.ace-article-meta span {
    padding-left: 26px;
    border-left: 1px solid rgba(255, 255, 255, .28);
}

.ace-article {
    padding: 82px 0 105px;
    background: #fff;
}

.ace-article__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: clamp(55px, 7vw, 105px);
}

.ace-article__main {
    min-width: 0;
}

.ace-article__lead {
    display: flex;
    margin-bottom: 38px;
    padding-bottom: 18px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #d7d0c6;
}

.ace-article__lead span {
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .17em;
}

.ace-article__lead p {
    margin: 0;
    color: #8a8178;
    font-size: 12px;
}

.ace-article__content {
    color: #393634;
    font-size: 16px;
    line-height: 1.95;
    letter-spacing: 0;
}

.ace-article__content > :first-child {
    margin-top: 0 !important;
}

.ace-article__content p {
    max-width: none;
    margin: 0 0 22px;
    letter-spacing: 0 !important;
}

.ace-article__content img,
.ace-article__content video {
    display: block;
    max-width: 100% !important;
    height: auto !important;
    margin: 30px auto;
}

.ace-article__content iframe {
    display: block;
    width: 100%;
    min-height: 480px;
    margin: 34px auto;
    border: 0;
}

.ace-article__content table {
    display: block;
    max-width: 100%;
    margin: 32px 0;
    overflow-x: auto;
    border-collapse: collapse;
}

.ace-article__content a {
    color: var(--ace-red);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ace-article__content blockquote {
    margin: 40px 0;
    padding: 10px 0 10px 28px;
    color: #625a54;
    font-family: var(--ace-serif);
    font-size: 23px;
    line-height: 1.65;
    border-left: 3px solid var(--ace-red);
}

.ace-article__aside {
    position: sticky;
    top: 110px;
    padding: 28px;
    background: #f5f2ec;
    border-top: 3px solid var(--ace-red);
}

.ace-article__aside-head {
    margin-bottom: 28px;
}

.ace-article__aside-head h2 {
    margin: 8px 0 0;
    color: #211d1a;
    font-family: var(--ace-serif);
    font-size: 29px;
    font-weight: 400;
}

.ace-article__latest article {
    padding: 20px 0;
    border-top: 1px solid #d7d0c6;
}

.ace-article__latest-image {
    display: block;
    margin-bottom: 15px;
    overflow: hidden;
    aspect-ratio: 1.8;
    background: #ddd6cc;
}

.ace-article__latest-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.ace-article__latest-image:hover img {
    transform: scale(1.035);
}

.ace-article__latest time {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
}

.ace-article__latest h3 {
    margin: 9px 0 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.65;
}

.ace-article__latest h3 a {
    color: #28231f;
}

.ace-article__search {
    margin-top: 18px;
    padding-top: 26px;
    border-top: 1px solid #d7d0c6;
}

.ace-article__search label {
    display: block;
    margin-bottom: 12px;
    color: #777068;
    font-size: 11px;
    letter-spacing: .12em;
}

.ace-article__search div {
    display: grid;
    grid-template-columns: 1fr 44px;
    border-bottom: 1px solid #9e958c;
}

.ace-article__search input,
.ace-article__search button {
    height: 44px;
    border: 0;
    background: transparent;
}

.ace-article__search input {
    min-width: 0;
    outline: 0;
}

.ace-article__search button {
    color: var(--ace-red);
    cursor: pointer;
    font-size: 20px;
}

.ace-article__all {
    display: flex;
    margin-top: 28px;
    padding: 17px 18px;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    background: #211d1a;
    font-size: 12px;
    letter-spacing: .08em;
}

.ace-article__all:hover {
    color: #fff;
    background: var(--ace-red);
}

.ace-article-nav {
    color: #fff;
    background: #1b1816;
}

.ace-article-nav .ace-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px minmax(0, 1fr);
    align-items: stretch;
}

.ace-article-nav__prev,
.ace-article-nav__next,
.ace-article-nav__empty {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 190px;
    padding: 42px 64px 42px 0;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.ace-article-nav__next,
.ace-article-nav__empty--next {
    padding-right: 0;
    padding-left: 64px;
    text-align: right;
}

.ace-article-nav small {
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .45);
    font-size: 10px;
    letter-spacing: .15em;
}

.ace-article-nav strong {
    overflow: hidden;
    font-family: var(--ace-serif);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-article-nav__prev > span,
.ace-article-nav__next > span {
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ace-red);
    font-size: 25px;
    transform: translateY(-50%);
}

.ace-article-nav__next > span {
    right: auto;
    left: 22px;
}

.ace-article-nav__home {
    display: grid;
    width: 90px;
    align-self: stretch;
    place-content: center;
    grid-template-columns: repeat(2, 6px);
    gap: 5px;
    border-right: 1px solid rgba(255, 255, 255, .12);
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.ace-article-nav__home i {
    width: 6px;
    height: 6px;
    background: rgba(255, 255, 255, .62);
}

.ace-article-nav__home:hover i {
    background: var(--ace-red);
}

@media (max-width: 980px) {
    .ace-article__layout {
        grid-template-columns: 1fr;
    }

    .ace-article__aside {
        position: static;
        display: grid;
        padding: 34px;
        grid-template-columns: 1fr 1fr;
        gap: 26px;
        border-top: 3px solid var(--ace-red);
    }

    .ace-article__latest {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .ace-article__search,
    .ace-article__all {
        margin-top: 0;
    }
}

@media (max-width: 720px) {
    .ace-article-hero {
        min-height: 510px;
    }

    .ace-article-hero .ace-shell {
        padding-top: 125px;
        padding-bottom: 48px;
    }

    .ace-article-breadcrumb {
        margin-bottom: 38px;
    }

    .ace-article-hero h1 {
        margin-top: 15px;
        font-size: 34px;
        line-height: 1.32;
    }

    .ace-article-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .ace-article-meta span {
        padding-left: 0;
        border-left: 0;
    }

    .ace-article {
        padding: 58px 0 76px;
    }

    .ace-article__lead {
        margin-bottom: 30px;
        align-items: flex-start;
        flex-direction: column;
    }

    .ace-article__content {
        font-size: 16px;
        line-height: 1.9;
    }

    .ace-article__content iframe {
        min-height: 240px;
    }

    .ace-article__aside {
        display: block;
        padding: 25px 20px;
    }

    .ace-article__latest {
        grid-template-columns: 1fr;
    }

    .ace-article__search,
    .ace-article__all {
        margin-top: 28px;
    }

    .ace-article-nav .ace-shell {
        grid-template-columns: 1fr 54px 1fr;
    }

    .ace-article-nav__prev,
    .ace-article-nav__next,
    .ace-article-nav__empty {
        min-height: 145px;
        padding: 28px 20px 28px 0;
    }

    .ace-article-nav__next,
    .ace-article-nav__empty--next {
        padding-right: 0;
        padding-left: 20px;
    }

    .ace-article-nav strong {
        display: -webkit-box;
        font-size: 14px;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .ace-article-nav__prev > span,
    .ace-article-nav__next > span {
        display: none;
    }

    .ace-article-nav__home {
        width: 54px;
    }
}

/* Homepage geographic portfolio map v3 */
.ace-map {
    background: #f7f7f5;
}

.ace-map__grid {
    min-height: 660px;
    grid-template-columns: 300px minmax(0, 1fr);
    border-color: #e1e2e4;
    border-radius: 2px;
    box-shadow: 0 24px 70px rgba(25, 27, 30, .07);
}

.ace-map__copy {
    border-color: #e1e2e4;
}

.ace-map__national {
    min-height: 94px;
    padding: 18px 22px;
    border-color: #e1e2e4;
}

.ace-map__national.is-active,
.ace-map__national:hover {
    color: #fff;
    background: var(--ace-red);
}

.ace-map__city-group {
    padding: 24px 22px 20px;
}

.ace-map__cities {
    gap: 5px 8px;
}

.ace-map__cities button {
    height: 40px;
    padding: 0 13px;
    color: #36383b;
    border-color: transparent;
    border-radius: 22px;
    background: transparent;
}

.ace-map__cities button:hover {
    color: var(--ace-red);
    border-color: #ead7d9;
    background: #fbf4f5;
}

.ace-map__cities button.is-active,
.ace-map__cities button.is-active:hover {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
}

.ace-map__visual {
    position: relative;
    padding: 28px 32px 24px;
    background: #eff0f2;
}

.ace-map__visual::before {
    position: absolute;
    z-index: 0;
    content: "";
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .18) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, .18) 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none;
    inset: 0;
}

.ace-map__visual-head,
.ace-map__canvas {
    position: relative;
    z-index: 1;
}

.ace-map__canvas {
    height: 545px;
}

.ace-map__viewport {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 43px;
    left: 0;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
}

.ace-map__viewport.is-dragging {
    cursor: grabbing;
}

.ace-map__surface {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.ace-map__region {
    fill: #e1e3e7;
    stroke: rgba(255, 255, 255, .96);
    stroke-linejoin: round;
    stroke-width: 1.7;
    vector-effect: non-scaling-stroke;
    transition: fill .25s ease, filter .25s ease;
}

.ace-map__region.has-projects {
    fill: #d7dae0;
}

.ace-map__region.is-active {
    fill: #bec2cb;
    filter: drop-shadow(0 5px 8px rgba(44, 48, 56, .15));
}

.ace-map__region-label {
    fill: #989da6;
    font-family: var(--ace-sans);
    font-size: calc(12px * var(--ace-map-inverse-zoom, 1));
    font-weight: 500;
    text-anchor: middle;
    dominant-baseline: middle;
    pointer-events: none;
    paint-order: stroke;
    stroke: rgba(239, 240, 242, .82);
    stroke-width: 3px;
    vector-effect: non-scaling-stroke;
}

.ace-map__markers {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.ace-map__marker {
    width: 30px;
    height: 30px;
    padding: 0;
    justify-content: center;
    color: inherit;
    border: 0;
    background: transparent;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.ace-map__marker.is-outside-map {
    visibility: hidden;
    pointer-events: none;
}

.ace-map__viewport.is-dragging .ace-map__surface,
.ace-map__viewport.is-dragging .ace-map__marker {
    transition: none;
}

.ace-map__marker i {
    z-index: 0;
    width: 10px;
    height: 10px;
    overflow: visible;
    border: 0;
    border-radius: 50%;
    background: #d92537;
    box-shadow: 0 2px 6px rgba(180, 18, 36, .28);
    clip-path: none;
    isolation: isolate;
    transition: transform .2s ease;
}

.ace-map__marker i::before,
.ace-map__marker i::after {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    display: block;
    content: "";
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: none;
}

.ace-map__marker i::before {
    width: 34px;
    height: 34px;
    background: rgba(217, 37, 55, .15);
}

.ace-map__marker i::after {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(217, 37, 55, .38);
}

.ace-map__marker span {
    position: absolute;
    bottom: 28px;
    left: 50%;
    display: flex;
    min-width: 220px;
    max-width: 270px;
    padding: 9px 11px;
    align-items: flex-start;
    flex-direction: column;
    color: #fff;
    border-radius: 3px;
    background: rgba(24, 26, 30, .93);
    box-shadow: 0 8px 24px rgba(20, 22, 26, .2);
    opacity: 0;
    transform: translate(-50%, 7px);
    visibility: hidden;
    white-space: normal;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.ace-map__marker span::after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    border-top: 6px solid rgba(24, 26, 30, .93);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    transform: translateX(-50%);
}

.ace-map__marker span strong,
.ace-map__marker span small {
    display: block;
}

.ace-map__marker span strong {
    font-size: 12px;
    line-height: 1.35;
}

.ace-map__marker span small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .66);
    font-size: 9px;
    font-weight: 400;
    line-height: 1.45;
}

.ace-map__marker:hover i,
.ace-map__marker:focus-visible i,
.ace-map__marker.is-active i {
    transform: scale(1.18);
}

.ace-map__marker.is-active i::before,
.ace-map__marker:hover i::before,
.ace-map__marker:focus-visible i::before {
    animation: ace-map-halo-breathe 2.1s ease-in-out infinite;
}

.ace-map__marker.is-active i::after,
.ace-map__marker:hover i::after,
.ace-map__marker:focus-visible i::after {
    animation: ace-map-halo-wave 2.1s ease-out infinite;
}

.ace-map__marker:hover span,
.ace-map__marker:focus-visible span,
.ace-map__marker.is-active span {
    opacity: 1;
    transform: translate(-50%, 0);
    visibility: visible;
}

.ace-map__legend {
    z-index: 5;
    border-color: #d6d8dc;
}

.ace-map__legend i {
    width: 8px;
    height: 8px;
    border: 0;
    border-radius: 50%;
    background: #d92537;
    clip-path: none;
}

@keyframes ace-map-halo-breathe {
    0%, 100% {
        opacity: .46;
        transform: translate(-50%, -50%) scale(.88);
    }
    50% {
        opacity: .76;
        transform: translate(-50%, -50%) scale(1.08);
    }
}

@keyframes ace-map-halo-wave {
    0% {
        opacity: .6;
        transform: translate(-50%, -50%) scale(.56);
    }
    72%, 100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.18);
    }
}

.ace-map__zoom {
    position: absolute;
    z-index: 7;
    top: 8px;
    right: 8px;
    display: flex;
    overflow: hidden;
    border: 1px solid rgba(190, 193, 198, .9);
    background: rgba(246, 247, 248, .92);
    box-shadow: 0 4px 14px rgba(45, 48, 54, .08);
    backdrop-filter: blur(8px);
}

.ace-map__zoom button {
    width: 34px;
    height: 32px;
    padding: 0;
    color: #3f4247;
    border: 0;
    border-right: 1px solid rgba(203, 205, 209, .8);
    background: transparent;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease, background .2s ease;
}

.ace-map__zoom button:last-child {
    border-right: 0;
}

.ace-map__zoom button:hover:not(:disabled),
.ace-map__zoom button:focus-visible {
    color: var(--ace-red);
    background: #fff;
}

.ace-map__zoom button:disabled {
    color: #b6b8bc;
    cursor: default;
}

.ace-map__zoom .ace-map__zoom-reset {
    width: 48px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .03em;
}

@media (max-width: 1180px) {
    .ace-map__grid {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .ace-map__cities {
        grid-template-columns: 1fr;
        max-height: 370px;
        overflow: auto;
    }
}

@media (max-width: 780px) {
    .ace-map__grid {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .ace-map__city-group {
        padding: 20px 16px;
    }

    .ace-map__cities {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-height: none;
        overflow: visible;
    }

    .ace-map__cities button {
        height: 38px;
        padding: 0 10px;
        font-size: 12px;
    }

    .ace-map__visual {
        padding: 22px 14px 16px;
    }

    .ace-map__canvas {
        height: 410px;
    }

    .ace-map__region-label {
        font-size: 10px;
    }

    .ace-map__marker span {
        display: flex;
        min-width: 116px;
        max-width: 190px;
        padding: 7px 9px;
    }

    .ace-map__marker span small {
        display: none;
    }

    .ace-map__legend {
        gap: 10px;
    }

    .ace-map__legend em {
        text-align: right;
    }
}

@media (max-width: 480px) {
    .ace-map__cities {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ace-map__visual-head > p {
        display: none;
    }

    .ace-map__canvas {
        height: 360px;
    }

    .ace-map__region-label {
        font-size: 9px;
    }

    .ace-map__legend {
        font-size: 9px;
    }
}

/* City map project detail split view */
.ace-map__map-pane {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.ace-map__visual {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(260px, 3fr);
    gap: 0;
}

.ace-map__visual .ace-map__map-pane {
    padding-right: 18px;
}

.ace-map__visual[data-map-view="china"] .ace-map__visual-head {
    display: none;
}

.ace-map__visual.is-city-view .ace-map__visual-head {
    position: absolute;
    z-index: 6;
    top: 8px;
    left: 14px;
    min-height: 0;
    pointer-events: none;
}

.ace-map__visual.is-city-view .ace-map__visual-head h3 {
    margin-top: 5px;
    font-size: 23px;
    line-height: 1.15;
}

.ace-map__visual .ace-map__canvas {
    height: 617px;
}

.ace-map__visual .ace-map__viewport {
    bottom: 0;
}

.ace-map__visual .ace-map__legend {
    right: 12px;
    bottom: 10px;
    left: 12px;
    padding-top: 0;
    border-top: 0;
    background: transparent;
    pointer-events: none;
}

.ace-map__visual.is-city-view .ace-map__marker span {
    display: none;
}

.ace-map__national-panel {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    padding-left: 20px;
    align-items: center;
    border-left: 1px solid rgba(197, 200, 205, .78);
    background: transparent;
}

.ace-map__visual:not([data-map-view="china"]) .ace-map__national-panel {
    display: none;
}

.ace-map__national-body {
    width: 100%;
    padding: 28px 2px;
}

.ace-map__national-body > span {
    display: block;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
}

.ace-map__national-body h4 {
    margin: 13px 0 0;
    color: #181a1d;
    font-family: var(--ace-sans);
    font-size: clamp(28px, 2vw, 36px);
    font-weight: 500;
    line-height: 1.16;
}

.ace-map__national-body > p {
    margin: 22px 0 0;
    color: #686c72;
    font-size: 13px;
    line-height: 1.85;
}

.ace-map__national-stats {
    display: grid;
    margin-top: 31px;
    padding: 22px 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(201, 203, 207, .72);
    border-bottom: 1px solid rgba(201, 203, 207, .72);
}

.ace-map__national-stats > div + div {
    padding-left: 18px;
    border-left: 1px solid rgba(201, 203, 207, .72);
}

.ace-map__national-stats strong,
.ace-map__national-stats small {
    display: block;
}

.ace-map__national-stats strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 31px;
    font-weight: 500;
    line-height: 1;
}

.ace-map__national-stats small {
    margin-top: 8px;
    color: #858991;
    font-size: 10px;
}

.ace-map__national-body > a {
    display: flex;
    width: 100%;
    margin-top: 25px;
    padding-bottom: 7px;
    align-items: center;
    justify-content: space-between;
    color: #1b1d20;
    border-bottom: 1px solid #1b1d20;
    font-size: 12px;
    font-weight: 600;
}

.ace-map__national-body > a:hover {
    color: var(--ace-red);
    border-color: var(--ace-red);
}

.ace-map__project-panel {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding-left: 20px;
    overflow: visible;
    border-left: 1px solid rgba(197, 200, 205, .78);
    background: transparent;
}

.ace-map__project-media {
    position: relative;
    height: 160px;
    min-height: 160px;
    overflow: hidden;
    background: #d8dade;
}

.ace-map__project-media::after {
    position: absolute;
    content: "";
    background: linear-gradient(180deg, transparent 68%, rgba(13, 15, 18, .18));
    inset: 0;
    pointer-events: none;
}

.ace-map__project-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .2s ease, transform .5s ease;
}

.ace-map__project-panel:hover .ace-map__project-media img {
    transform: scale(1.025);
}

.ace-map__project-body {
    padding: 22px 2px 0;
}

.ace-map__project-location {
    display: block;
    margin-bottom: 12px;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ace-map__project-body h4 {
    max-width: 14em;
    margin: 0;
    color: #181a1d;
    font-family: var(--ace-sans);
    font-size: clamp(22px, 1.55vw, 27px);
    font-weight: 500;
    line-height: 1.18;
}

.ace-map__project-industries {
    margin: 15px 0 0;
    color: #777b82;
    font-size: 12px;
    line-height: 1.6;
}

.ace-map__project-address {
    margin-top: 19px;
    padding-top: 15px;
    border-top: 1px solid rgba(201, 203, 207, .72);
}

.ace-map__project-address span {
    color: #a0a3a9;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .15em;
}

.ace-map__project-address p {
    margin: 7px 0 0;
    color: #45484e;
    font-size: 12px;
    line-height: 1.7;
}

.ace-map__project-body > a {
    display: flex;
    width: 100%;
    margin-top: 19px;
    padding-bottom: 5px;
    align-items: center;
    justify-content: space-between;
    color: #1b1d20;
    border-bottom: 1px solid #1b1d20;
    font-size: 12px;
    font-weight: 600;
    transition: color .2s ease, border-color .2s ease;
}

.ace-map__project-body > a:hover {
    color: var(--ace-red);
    border-color: var(--ace-red);
}

.ace-map__project-panel.is-updating .ace-map__project-media,
.ace-map__project-panel.is-updating .ace-map__project-body {
    animation: ace-map-content-in .22s ease both;
}

@keyframes ace-map-content-in {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1040px) {
    .ace-map__visual {
        grid-template-columns: minmax(0, 1fr) minmax(230px, .5fr);
        gap: 0;
        padding-right: 20px;
        padding-left: 20px;
    }

    .ace-map__visual .ace-map__map-pane {
        padding-right: 14px;
    }

    .ace-map__project-panel,
    .ace-map__national-panel {
        padding-left: 16px;
    }

    .ace-map__project-body {
        padding: 20px 0 0;
    }
}

@media (max-width: 780px) {
    .ace-map__visual {
        display: block;
        padding-right: 14px;
        padding-left: 14px;
    }

    .ace-map__visual .ace-map__map-pane {
        padding-right: 0;
    }

    .ace-map__visual.is-city-view .ace-map__visual-head {
        top: 5px;
        left: 10px;
        max-width: calc(100% - 150px);
    }

    .ace-map__visual.is-city-view .ace-map__visual-head h3 {
        overflow: hidden;
        font-size: 20px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ace-map__visual .ace-map__canvas {
        height: 545px;
    }

    .ace-map__project-panel,
    .ace-map__national-panel {
        display: block;
        min-height: 0;
        margin-top: 0;
        padding: 20px 0 4px;
        border-top: 1px solid rgba(197, 200, 205, .78);
        border-left: 0;
    }

    .ace-map__visual:not([data-map-view="china"]) .ace-map__national-panel {
        display: none;
    }

    .ace-map__national-body {
        padding: 20px 2px 8px;
    }

    .ace-map__project-media {
        height: 160px;
        min-height: 160px;
    }

    .ace-map__project-body {
        padding: 20px 2px 0;
    }

    .ace-map__project-body h4 {
        font-size: 24px;
    }

    .ace-map__project-address {
        margin-top: 17px;
    }
}

@media (max-width: 480px) {
    .ace-map__project-media {
        height: 150px;
        min-height: 150px;
    }

    .ace-map__zoom {
        top: 5px;
        right: 5px;
    }

    .ace-map__zoom button {
        width: 30px;
        height: 30px;
    }

    .ace-map__zoom .ace-map__zoom-reset {
        width: 44px;
    }
}

/* Keep light page banners predictable after the later responsive modules. */
@media (max-width: 980px) {
    .ace-light-banner-page .ace-inner-hero,
    .ace-about-page.ace-light-banner-page .ace-about-hero {
        height: 560px;
        min-height: 560px;
    }
}

@media (max-width: 760px) {
    .ace-light-banner-page .ace-inner-hero,
    .ace-about-page.ace-light-banner-page .ace-about-hero {
        height: 500px;
        min-height: 500px;
    }
}

@media (max-width: 1260px) {
    .ace-about-honor-track {
        grid-auto-columns: calc((100% - 18px) / 2);
    }
}

@media (max-width: 980px) {
    .ace-about-honor-header {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ace-about-timeline {
        margin-right: calc(var(--ace-gutter) * -1);
        padding-right: var(--ace-gutter);
        grid-template-columns: repeat(6, 190px);
    }
}

@media (max-width: 720px) {
    .ace-light-banner-page .ace-inner-hero h1,
    .ace-about-page.ace-light-banner-page .ace-about-hero h1 {
        font-size: 56px;
    }

    .ace-about-heading h2 {
        font-size: 38px;
    }

    .ace-about-timeline {
        grid-template-columns: repeat(6, 210px);
    }

    .ace-about-timeline article {
        display: block;
        padding-right: 26px;
    }

    .ace-about-timeline article::before {
        left: 0;
    }

    .ace-about-timeline time {
        font-size: 16px;
    }

    .ace-about-honor-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .ace-about-honor-track {
        grid-auto-columns: 100%;
    }

    .ace-about-honor-card {
        width: auto;
    }
}

/* Homepage geographic portfolio map v4: integrated directory and map stage */
.ace-map {
    position: relative;
    overflow: hidden;
    padding-top: clamp(76px, 7vw, 112px);
    background:
        radial-gradient(circle at 84% 14%, rgba(255, 255, 255, .88), transparent 34%),
        linear-gradient(135deg, #f5f4f2 0%, #f1f3f4 100%);
}

.ace-map::before {
    position: absolute;
    top: 7%;
    right: -7%;
    width: 34vw;
    height: 34vw;
    content: "";
    border-radius: 50%;
    background: radial-gradient(circle, rgba(172, 22, 34, .045), transparent 68%);
    pointer-events: none;
}

.ace-map__heading {
    position: relative;
    z-index: 1;
    margin-bottom: 38px;
}

.ace-map__intro {
    display: flex;
    max-width: 620px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 38px;
}

.ace-map__heading .ace-map__intro > p {
    max-width: 410px;
    margin: 0;
    color: #696b6d;
    font-size: 16px;
    line-height: 1.75;
}

.ace-map__summary {
    display: flex;
    flex: 0 0 auto;
    gap: 24px;
}

.ace-map__summary span {
    display: flex;
    color: #8a8c8e;
    flex-direction: column;
    font-size: 12px;
    letter-spacing: .04em;
}

.ace-map__summary strong {
    margin-bottom: 5px;
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
}

.ace-map__grid {
    position: relative;
    z-index: 1;
    min-height: 660px;
    overflow: hidden;
    grid-template-columns: 232px minmax(0, 1fr);
    border: 0;
    border-radius: 26px;
    background: rgba(255, 255, 255, .52);
    box-shadow: 0 26px 80px rgba(37, 39, 41, .075);
    backdrop-filter: blur(12px);
}

.ace-map__copy {
    position: relative;
    z-index: 3;
    padding: 30px 15px 24px 24px;
    border: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .08));
}

.ace-map__national {
    min-height: 66px;
    padding: 3px 8px 18px 2px;
    gap: 13px;
    color: #242527;
    border: 0;
    border-radius: 10px;
    background: transparent;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.ace-map__national.is-active,
.ace-map__national.is-active:hover {
    color: #242527;
    background: transparent;
}

.ace-map__national:hover,
.ace-map__national.is-active:hover {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .055);
    transform: translateX(2px);
}

.ace-map__national-icon {
    position: relative;
    width: 28px;
    height: 28px;
    color: var(--ace-red);
    border: 0;
    background: rgba(168, 16, 27, .07);
    box-shadow: 0 0 0 5px rgba(168, 16, 27, .025);
    font-size: 12px;
}

.ace-map__national-icon::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(168, 16, 27, .26);
    border-radius: 50%;
    opacity: .5;
    inset: -3px;
    animation: ace-map-v4-radar 2.8s ease-in-out infinite;
}

.ace-map__national small {
    margin-bottom: 4px;
    color: #a37276;
    opacity: 1;
    font-size: 10px;
    letter-spacing: .15em;
}

.ace-map__national strong {
    font-size: 20px;
    font-weight: 600;
}

.ace-map__national i {
    color: var(--ace-red);
    font-size: 14px;
}

.ace-map__city-group {
    padding: 18px 5px 12px 0;
}

.ace-map__city-title {
    margin-bottom: 11px;
    padding: 0 8px;
}

.ace-map__city-title span {
    color: #57595b;
    font-size: 16px;
    font-weight: 600;
}

.ace-map__city-title small {
    color: #a3a5a7;
    font-size: 10px;
}

.ace-map__cities {
    grid-template-columns: 1fr;
    gap: 1px;
}

.ace-map__cities button {
    height: 34px;
    padding: 0 9px 0 18px;
    color: #656769;
    border: 0;
    border-radius: 6px;
    background: transparent;
    font-size: 16px;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.ace-map__cities button::before {
    position: absolute;
    left: 8px;
    width: 4px;
    height: 4px;
    content: "";
    border-radius: 50%;
    background: currentColor;
    opacity: .22;
    transition: opacity .2s ease, transform .2s ease;
}

.ace-map__cities button small {
    color: #adafb1;
    font-size: 16px;
}

.ace-map__cities button:hover,
.ace-map__cities button.is-preview,
.ace-map__cities button.is-active,
.ace-map__cities button.is-active:hover {
    color: var(--ace-red);
    border: 0;
    background: rgba(168, 16, 27, .055);
    transform: translateX(2px);
}

.ace-map__cities button:hover::before,
.ace-map__cities button.is-preview::before,
.ace-map__cities button.is-active::before {
    opacity: 1;
    transform: scale(1.35);
}

.ace-map__cities button:hover small,
.ace-map__cities button.is-preview small,
.ace-map__cities button.is-active small {
    color: #ba777d;
}

.ace-v2-page .ace-map__all-link {
    min-height: 45px;
    margin-top: auto;
    padding: 10px 8px 0;
    color: #333537;
    border: 0;
    background: transparent;
}

.ace-map__all-link > span {
    font-size: 16px;
    font-weight: 600;
}

.ace-map__all-link small {
    color: #a0a2a4;
    font-size: 9px;
    opacity: 1;
}

.ace-map__all-link i {
    width: auto;
    height: auto;
    color: var(--ace-red);
    border: 0;
}

.ace-map__visual {
    position: relative;
    display: block;
    min-height: 660px;
    padding: 0;
    overflow: hidden;
    border-radius: 24px 0 0 24px;
    background:
        radial-gradient(circle at 54% 44%, rgba(255, 255, 255, .96) 0%, rgba(251, 251, 250, .82) 36%, rgba(238, 240, 241, .72) 100%);
}

.ace-map__visual::before {
    z-index: 0;
    background:
        radial-gradient(circle at 65% 47%, rgba(168, 16, 27, .035), transparent 27%),
        linear-gradient(105deg, rgba(255, 255, 255, .36), transparent 52%);
    background-size: auto;
}

.ace-map__visual::after {
    position: absolute;
    z-index: 0;
    right: 6%;
    bottom: 11%;
    width: 34%;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(176, 142, 82, .38), transparent);
    opacity: .7;
    transform: rotate(-15deg);
    transform-origin: center;
    pointer-events: none;
}

.ace-map__map-pane {
    position: absolute;
    padding: 0;
    inset: 0;
}

.ace-map__visual .ace-map__map-pane {
    padding-right: 0;
}

.ace-map__visual-head,
.ace-map__visual[data-map-view="china"] .ace-map__visual-head,
.ace-map__visual.is-city-view .ace-map__visual-head {
    position: absolute;
    z-index: 6;
    top: 31px;
    left: 34px;
    display: flex;
    width: calc(100% - 68px);
    min-height: 0;
    align-items: flex-start;
    justify-content: space-between;
    pointer-events: none;
}

.ace-map__visual-head span {
    color: var(--ace-red);
    font-size: 10px;
    letter-spacing: .17em;
}

.ace-map__visual-head h3,
.ace-map__visual.is-city-view .ace-map__visual-head h3 {
    margin-top: 6px;
    color: #292b2d;
    font-size: clamp(24px, 2.15vw, 31px);
    font-weight: 500;
    line-height: 1.15;
}

.ace-map__visual-head > small {
    margin-top: 3px;
    color: #9a9c9e;
    font-size: 12px;
    letter-spacing: .04em;
}

.ace-map__visual .ace-map__canvas {
    height: 660px;
}

.ace-map__viewport,
.ace-map__visual .ace-map__viewport {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: default;
    touch-action: pan-y;
}

.ace-map__surface {
    inset: 0;
    width: 100%;
    height: 100%;
}

.ace-map__region {
    fill: #e1e3e4;
    stroke: rgba(255, 255, 255, .93);
    stroke-width: 1.45;
    transition: fill .28s ease, filter .28s ease, opacity .35s ease;
}

.ace-map__region.has-projects {
    fill: #d9cfd0;
}

.ace-map__region.is-active {
    fill: #d5a0a5;
    filter: drop-shadow(0 7px 12px rgba(108, 28, 35, .14));
}

.ace-map__region--maritime,
.ace-map__region--maritime.has-projects,
.ace-map__region--maritime.is-active {
    fill: none;
    stroke: #a8adaf;
    stroke-width: 1.55;
    stroke-dasharray: 6 6;
    filter: none;
    vector-effect: non-scaling-stroke;
}

.ace-map__region-label {
    fill: #969a9d;
    font-size: calc(11px * var(--ace-map-inverse-zoom, 1));
    stroke: rgba(246, 246, 245, .78);
    stroke-width: 3px;
}

.ace-map__visual[data-map-view="china"] .ace-map__region-label {
    font-size: calc(9px * var(--ace-map-inverse-zoom, 1));
    stroke-width: 2.4px;
}

.ace-map__marker {
    width: 32px;
    height: 32px;
}

.ace-map:not(.is-entered) .ace-map__regions,
.ace-map:not(.is-entered) .ace-map__region-labels,
.ace-map:not(.is-entered) .ace-map__marker {
    opacity: 0;
}

.ace-map.is-entered .ace-map__regions,
.ace-map.is-entered .ace-map__region-labels {
    animation: ace-map-v4-map-in .72s var(--ace-ease) both;
}

.ace-map.is-entered .ace-map__marker {
    animation: ace-map-v4-marker-in .48s var(--ace-ease) both;
}

.ace-map__visual.has-switched-map .ace-map__marker {
    opacity: 1;
    animation: none !important;
}

.ace-map__marker i {
    width: 11px;
    height: 11px;
    border: 3px solid #fff;
    background: #a8101b;
    box-shadow: 0 3px 10px rgba(111, 11, 21, .34), 0 0 0 1px rgba(168, 16, 27, .2);
}

.ace-map__marker:hover i::before,
.ace-map__marker:focus-visible i::before,
.ace-map__marker:hover i::after,
.ace-map__marker:focus-visible i::after {
    animation: none;
}

.ace-map__marker.is-active i::before {
    animation: ace-map-halo-breathe 2.1s ease-in-out infinite;
}

.ace-map__marker.is-active i::after {
    animation: ace-map-halo-wave 2.1s ease-out infinite;
}

.ace-map__marker span {
    bottom: 34px;
    min-width: 150px;
    max-width: 230px;
    padding: 8px 10px;
    border-radius: 7px;
    background: rgba(33, 34, 36, .88);
    box-shadow: 0 10px 26px rgba(25, 26, 28, .14);
    backdrop-filter: blur(9px);
}

.ace-map__visual[data-map-view="china"] .ace-map__marker:hover,
.ace-map__visual[data-map-view="china"] .ace-map__marker:focus-visible,
.ace-map__visual[data-map-view="china"] .ace-map__marker.is-active {
    z-index: 7;
}

.ace-map__visual.is-city-view .ace-map__marker:hover,
.ace-map__visual.is-city-view .ace-map__marker:focus-visible,
.ace-map__visual.is-city-view .ace-map__marker.is-active {
    z-index: 9;
}

.ace-map__visual[data-map-view="china"] .ace-map__marker:hover span,
.ace-map__visual[data-map-view="china"] .ace-map__marker:focus-visible span,
.ace-map__visual[data-map-view="china"] .ace-map__marker.is-active span {
    background: var(--ace-red);
}

.ace-map__visual[data-map-view="china"] .ace-map__marker:hover span::after,
.ace-map__visual[data-map-view="china"] .ace-map__marker:focus-visible span::after,
.ace-map__visual[data-map-view="china"] .ace-map__marker.is-active span::after {
    border-top-color: var(--ace-red);
}

.ace-map__marker span strong {
    font-size: 13px;
}

.ace-map__marker span small {
    font-size: 11px;
}

.ace-map__visual.is-city-view .ace-map__marker span {
    display: none;
}

.ace-map__legend,
.ace-map__visual .ace-map__legend {
    z-index: 5;
    right: 30px;
    bottom: 22px;
    left: 30px;
    padding: 0;
    color: #85888b;
    border: 0;
    background: transparent;
    font-size: 12px;
}

.ace-map__legend i {
    width: 8px;
    height: 8px;
}

.ace-map__national-panel {
    display: none !important;
}

.ace-map__project-panel,
.ace-map__project-panel[hidden] {
    position: absolute;
    z-index: 8;
    top: 0;
    left: 0;
    display: grid;
    width: min(420px, calc(100% - 36px));
    min-width: 0;
    padding: 0;
    overflow: visible;
    grid-template-columns: 180px minmax(0, 1fr);
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 20px 48px rgba(35, 37, 40, .13);
    backdrop-filter: blur(16px);
}

.ace-map__project-panel::after {
    position: absolute;
    top: 100%;
    left: var(--ace-map-card-arrow-x, 50%);
    content: "";
    border-top: 9px solid rgba(255, 255, 255, .94);
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    transform: translateX(-50%);
}

.ace-map__project-panel.is-below::after {
    top: auto;
    bottom: 100%;
    border-top: 0;
    border-bottom: 9px solid rgba(255, 255, 255, .94);
}

.ace-map__project-panel.is-overlapping-anchor::after {
    display: none;
}

.ace-map__project-panel[hidden] {
    display: none !important;
}

.ace-map__project-media {
    height: 100%;
    min-height: 138px;
    overflow: hidden;
    border-radius: 14px 0 0 14px;
    background: #dedfdf;
}

.ace-map__project-body {
    padding: 14px 16px 15px;
}

.ace-map__project-location {
    margin-bottom: 6px;
    font-size: 11px;
    letter-spacing: .13em;
}

.ace-map__project-body h4 {
    max-width: none;
    font-size: 18px;
    line-height: 1.2;
}

.ace-map__project-industries {
    margin-top: 9px;
    color: #797c7f;
    font-size: 12px;
    line-height: 1.65;
    white-space: normal;
}

.ace-map__project-industries[hidden] {
    display: none;
}

.ace-map__project-body > a {
    width: auto;
    margin-top: 13px;
    padding: 0;
    justify-content: flex-start;
    gap: 10px;
    color: var(--ace-red);
    border: 0;
    font-size: 12px;
}

.ace-map__project-panel.is-updating .ace-map__project-media,
.ace-map__project-panel.is-updating .ace-map__project-body {
    animation-duration: .22s;
}

@keyframes ace-map-v4-radar {
    0%, 100% { opacity: .25; transform: scale(.9); }
    50% { opacity: .62; transform: scale(1.08); }
}

@keyframes ace-map-v4-map-in {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes ace-map-v4-marker-in {
    from { opacity: 0; transform: translate(-50%, -38%) scale(.72); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@media (max-width: 1180px) {
    .ace-map__grid {
        grid-template-columns: 210px minmax(0, 1fr);
    }

    .ace-map__copy {
        padding-left: 18px;
    }

    .ace-map__cities {
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 780px) {
    .ace-map {
        padding-top: 70px;
    }

    .ace-map__heading {
        margin-bottom: 28px;
        gap: 22px;
    }

    .ace-map__intro {
        width: 100%;
        max-width: none;
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .ace-map__heading .ace-map__intro > p {
        max-width: 520px;
        font-size: 15px;
    }

    .ace-map__summary {
        gap: 26px;
    }

    .ace-map__grid {
        min-height: 0;
        overflow: visible;
        grid-template-columns: 1fr;
        border-radius: 20px;
    }

    .ace-map__copy {
        display: block;
        padding: 18px 14px 12px;
        overflow: hidden;
        background: rgba(255, 255, 255, .43);
    }

    .ace-map__national {
        min-height: 52px;
        padding: 0 4px 10px;
    }

    .ace-map__national-icon {
        width: 24px;
        height: 24px;
        font-size: 11px;
    }

    .ace-map__national strong {
        font-size: 18px;
    }

    .ace-map__city-group {
        padding: 10px 0 4px;
    }

    .ace-map__city-title {
        margin-bottom: 10px;
        padding: 0 4px;
    }

    .ace-map__cities {
        display: grid;
        width: 100%;
        max-height: none;
        padding: 0 3px 5px;
        overflow-x: auto;
        overflow-y: hidden;
        grid-template-columns: none;
        grid-auto-columns: 82px;
        grid-auto-flow: column;
        gap: 5px;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }

    .ace-map__cities::-webkit-scrollbar {
        display: none;
    }

    .ace-map__cities button {
        width: 82px;
        height: 38px;
        padding: 0 9px;
        justify-content: center;
        gap: 5px;
        font-size: 13px;
        scroll-snap-align: start;
    }

    .ace-map__cities button::before {
        display: none;
    }

    .ace-map__cities button:hover,
    .ace-map__cities button.is-preview,
    .ace-map__cities button.is-active,
    .ace-map__cities button.is-active:hover {
        transform: none;
    }

    .ace-v2-page .ace-map__all-link {
        display: none;
    }

    .ace-map__visual {
        min-height: 460px;
        padding: 0;
        border-radius: 0 0 20px 20px;
    }

    .ace-map__map-pane {
        padding: 0;
    }

    .ace-map__visual .ace-map__canvas {
        height: 460px;
    }

    .ace-map__visual-head,
    .ace-map__visual[data-map-view="china"] .ace-map__visual-head,
    .ace-map__visual.is-city-view .ace-map__visual-head {
        top: 20px;
        left: 19px;
        width: calc(100% - 38px);
        max-width: none;
    }

    .ace-map__visual-head h3,
    .ace-map__visual.is-city-view .ace-map__visual-head h3 {
        max-width: 240px;
        overflow: visible;
        font-size: 22px;
        text-overflow: clip;
        white-space: normal;
    }

    .ace-map__visual-head > small {
        display: none;
    }

    .ace-map__region-label {
        font-size: calc(10px * var(--ace-map-inverse-zoom, 1));
    }

    .ace-map__marker span {
        min-width: 112px;
        max-width: 170px;
        padding: 7px 8px;
    }

    .ace-map__legend,
    .ace-map__visual .ace-map__legend {
        right: 16px;
        bottom: 14px;
        left: 16px;
        gap: 8px;
        font-size: 10px;
    }

    .ace-map__project-panel,
    .ace-map__project-panel[hidden] {
        top: 0;
        right: auto;
        bottom: auto;
        left: 0;
        display: grid;
        width: min(300px, calc(100% - 20px));
        grid-template-columns: minmax(0, 1fr);
        border-radius: 13px;
    }

    .ace-map__project-panel[hidden] {
        display: none !important;
    }

    .ace-map__project-media {
        height: 108px;
        min-height: 108px;
        border-radius: 13px 13px 0 0;
    }

    .ace-map__project-body {
        padding: 14px 15px 13px;
    }

    .ace-map__project-location {
        margin-bottom: 5px;
        font-size: 10px;
    }

    .ace-map__project-body h4 {
        font-size: 17px;
    }

    .ace-map__project-industries {
        margin-top: 6px;
        font-size: 11px;
        line-height: 1.55;
    }

    .ace-map__project-body > a {
        margin-top: 8px;
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .ace-map__heading .ace-kicker {
        font-size: 10px;
    }

    .ace-map__summary strong {
        font-size: 22px;
    }

    .ace-map__visual,
    .ace-map__visual .ace-map__canvas {
        min-height: 430px;
        height: 430px;
    }

    .ace-map__legend em {
        max-width: 48%;
        text-align: right;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-map__national-icon::after,
    .ace-map__marker i::before,
    .ace-map__marker i::after,
    .ace-map.is-entered .ace-map__regions,
    .ace-map.is-entered .ace-map__region-labels,
    .ace-map.is-entered .ace-map__marker,
    .ace-map__project-panel.is-updating .ace-map__project-media,
    .ace-map__project-panel.is-updating .ace-map__project-body {
        animation: none !important;
    }
}

/* Final map palette and inset overrides; keep after all responsive map generations. */
@media (min-width: 981px) {
    .ace-map {
        background:
            radial-gradient(circle at 112% 112%, transparent 0 32vw, #eee5e6 32.1vw 41vw, transparent 41.1vw),
            radial-gradient(circle at 84% 14%, rgba(255, 255, 255, .88), transparent 34%),
            linear-gradient(135deg, #f5f4f2 0%, #f1f3f4 100%);
    }
}

.ace-map:not(.is-entered) .ace-map__heading,
.ace-map:not(.is-entered) .ace-map__grid,
.ace-map:not(.is-entered) .ace-map__surface,
.ace-map:not(.is-entered) .ace-map__inset-surface {
    opacity: 0;
}

.ace-map:not(.is-entered) .ace-map__heading {
    transform: translateY(20px);
}

.ace-map:not(.is-entered) .ace-map__grid {
    transform: translateY(24px) scale(.99);
}

.ace-map.is-entered .ace-map__heading {
    animation: ace-map-heading-strong-in .72s var(--ace-ease) .12s both;
}

.ace-map.is-entered .ace-map__grid {
    animation: ace-map-card-strong-in .88s var(--ace-ease) .24s both;
}

.ace-map.is-entered .ace-map__surface {
    animation: ace-map-surface-strong-in 1.05s var(--ace-ease) .38s both;
    transform-origin: 52% 52%;
}

.ace-map.is-entered .ace-map__inset-surface {
    animation: ace-map-inset-strong-in .72s var(--ace-ease) 1.02s both;
}

.ace-map.is-entered .ace-map__regions {
    animation-delay: .55s;
    animation-duration: .9s;
}

.ace-map.is-entered .ace-map__region-labels {
    animation-delay: .76s;
    animation-duration: .72s;
}

@keyframes ace-map-heading-strong-in {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes ace-map-card-strong-in {
    from { opacity: 0; transform: translateY(24px) scale(.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ace-map-surface-strong-in {
    from { opacity: 0; transform: translateY(12px) scale(.945); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ace-map-inset-strong-in {
    from { opacity: 0; transform: translateY(14px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ace-map-marker-strong-in {
    0% { opacity: 0; transform: translate(-50%, -20%) scale(.35); }
    62% { opacity: 1; transform: translate(-50%, -54%) scale(1.3); }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes ace-map-tour-label-in {
    from { opacity: 0; transform: translate(-50%, 9px) scale(.94); }
    to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}

.ace-map__grid {
    background: rgba(255, 255, 255, .95);
    backdrop-filter: none;
}

.ace-map__copy {
    overflow: hidden;
    background: rgba(255, 255, 255, .76);
}

.ace-map__intro {
    max-width: none;
}

.ace-map__summary {
    gap: 0;
}

.ace-map__summary > span {
    align-items: center;
    box-sizing: border-box;
    width: 86px;
    min-width: 86px;
    padding: 0 12px;
    text-align: center;
    font-size: 13px;
}

.ace-map__summary > span + span {
    border-left: 1px solid rgba(138, 140, 142, .32);
}

.ace-map__summary strong {
    margin-bottom: 7px;
    font-family: var(--ace-sans);
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -.04em;
}

.ace-map__summary b {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    margin-bottom: 7px;
    font-weight: inherit;
}

.ace-map__summary b strong {
    margin-bottom: 0;
}

.ace-map__summary b small {
    margin-top: 5px;
    color: #8a8c8e;
    font-family: var(--ace-sans);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}

.ace-map__copy::after {
    position: absolute;
    z-index: 4;
    top: 20px;
    right: -.5px;
    bottom: 20px;
    display: block;
    width: 1px;
    content: "";
    background: linear-gradient(180deg, transparent 0%, rgba(168, 16, 27, .22) 12%, rgba(168, 16, 27, .22) 88%, transparent 100%);
    box-shadow: 0 0 14px rgba(168, 16, 27, .08);
    transform: none;
    pointer-events: none;
}

.ace-map__visual {
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
}

.ace-map__national {
    min-height: 72px;
    padding: 12px;
    border-radius: 12px;
}

.ace-map__national.is-active,
.ace-map__national.is-active:hover {
    color: #fff;
    background: linear-gradient(135deg, #b20f1d 0%, #98101a 100%);
    box-shadow: 0 12px 28px rgba(137, 13, 24, .18);
    transform: none;
}

.ace-map__national.is-active .ace-map__national-icon {
    color: #fff;
    background: rgba(255, 255, 255, .13);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .055);
}

.ace-map__national.is-active .ace-map__national-icon::after {
    border-color: rgba(255, 255, 255, .46);
}

.ace-map__national.is-active small,
.ace-map__national.is-active i {
    color: rgba(255, 255, 255, .78);
}

.ace-map__cities button:hover,
.ace-map__cities button.is-preview {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .07);
}

.ace-map__cities button.is-active,
.ace-map__cities button.is-active:hover {
    color: #fff;
    background: linear-gradient(90deg, #b20f1d, #9f101b);
    box-shadow: 0 7px 18px rgba(137, 13, 24, .13);
}

.ace-map__cities button.is-active small,
.ace-map__cities button.is-active:hover small {
    color: rgba(255, 255, 255, .68);
}

.ace-map__cities button.is-active::before,
.ace-map__cities button.is-active:hover::before {
    background: #fff;
    opacity: .88;
}

.ace-map__cities button.is-tour-preview {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .11);
    box-shadow: 0 7px 18px rgba(137, 13, 24, .08);
    transform: translateX(2px);
}

.ace-map__cities button.is-tour-preview::before {
    opacity: 1;
    transform: scale(1.55);
}

.ace-map__cities button.is-tour-preview small {
    color: #ad555d;
}

.ace-map__region.is-tour-active {
    fill: #cc8e94;
    filter: drop-shadow(0 8px 15px rgba(108, 28, 35, .16));
}

.ace-map__visual[data-map-view="china"] .ace-map__marker.is-tour-preview {
    z-index: 8;
}

.ace-map__marker.is-tour-preview i {
    transform: scale(1.35);
}

.ace-map__marker.is-tour-preview i::before {
    animation: ace-map-halo-breathe 1.8s ease-in-out infinite;
}

.ace-map__marker.is-tour-preview i::after {
    animation: ace-map-halo-wave 1.8s ease-out infinite;
}

.ace-map__visual[data-map-view="china"] .ace-map__marker.is-tour-preview span {
    min-width: 132px;
    padding: 8px 11px;
    opacity: 1;
    background: var(--ace-red);
    visibility: visible;
    animation: ace-map-tour-label-in .32s var(--ace-ease) both;
}

.ace-map__visual[data-map-view="china"] .ace-map__marker.is-tour-preview span::after {
    border-top-color: var(--ace-red);
}

.ace-map.is-entered .ace-map__marker {
    animation-name: ace-map-marker-strong-in;
    animation-duration: .68s;
}

.ace-v2-page .ace-map__all-link {
    min-height: 56px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 8px;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.ace-v2-page .ace-map__all-link:hover,
.ace-v2-page .ace-map__all-link:focus-visible {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .065);
    transform: translateX(2px);
}

.ace-map__all-link i {
    transition: transform .2s ease;
}

.ace-map__all-link:hover i,
.ace-map__all-link:focus-visible i {
    transform: translate(2px, -2px);
}

.ace-map__caption {
    display: none;
}

.ace-map__visual.is-city-view .ace-map__caption:not([hidden]) {
    position: absolute;
    z-index: 6;
    right: 30px;
    bottom: 22px;
    display: block;
    color: #85888b;
    font-size: 12px;
    letter-spacing: .04em;
    pointer-events: none;
}

.ace-map__zoom {
    position: absolute;
    z-index: 9;
    top: 30px;
    right: 30px;
    display: flex;
    height: 38px;
    overflow: hidden;
    align-items: stretch;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 6px 18px rgba(47, 31, 25, .075);
    backdrop-filter: blur(10px);
}

.ace-map__zoom button {
    display: grid;
    width: 38px;
    height: 100%;
    padding: 0;
    place-items: center;
    color: #55585a;
    border: 0;
    background: transparent;
    font-family: var(--ace-sans);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, transform .15s ease, opacity .2s ease;
}

.ace-map__zoom .ace-map__zoom-value {
    width: 62px;
    color: #3f4244;
    border-right: 1px solid rgba(225, 226, 227, .9);
    border-left: 1px solid rgba(225, 226, 227, .9);
    font-size: 12px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.ace-map__zoom button:hover:not(:disabled),
.ace-map__zoom button:focus-visible {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .065);
}

.ace-map__zoom button:active:not(:disabled) {
    transform: scale(.94);
}

.ace-map__zoom button:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid rgba(168, 16, 27, .22);
    outline-offset: -2px;
}

.ace-map__zoom button:disabled {
    color: #b9bbbd;
    cursor: default;
    opacity: .48;
}

.ace-map__visual.is-map-zoomed .ace-map__viewport {
    cursor: grab;
}

.ace-map__visual.is-map-zoomed .ace-map__viewport.is-dragging {
    cursor: grabbing;
}

.ace-map__inset {
    pointer-events: none;
    transition: none;
}

.ace-map__visual:not([data-map-view="china"]) .ace-map__inset {
    display: none;
    opacity: 0;
}

.ace-map__inset > .ace-map__inset-frame {
    fill: rgba(255, 255, 255, .94);
    stroke: none;
    filter: drop-shadow(0 7px 11px rgba(47, 49, 51, .12));
}

.ace-map__visual::after {
    display: none;
}

.ace-map__inset > .ace-map__inset-label-bg {
    fill: transparent;
    stroke: none;
    filter: none;
}

.ace-map__inset-title {
    fill: #969a9d;
    font-family: var(--ace-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
    text-anchor: middle;
    dominant-baseline: middle;
    paint-order: stroke;
    stroke: rgba(246, 246, 245, .78);
    stroke-width: 1.5px;
}

.ace-map__region--inset,
.ace-map__region--inset.has-projects,
.ace-map__region--inset.is-active {
    fill: #747f85;
    stroke: #747f85;
    stroke-width: .55;
}

.ace-map__region--inset-land,
.ace-map__region--inset-land.has-projects,
.ace-map__region--inset-land.is-active {
    fill: #d9dddf;
    stroke: rgba(255, 255, 255, .96);
    stroke-width: 1;
    filter: none;
}

.ace-map__region[data-region-id="100000_DY"],
.ace-map__region[data-region-id="100000_DY"].has-projects,
.ace-map__region[data-region-id="100000_DY"].is-active {
    fill: #c9cdcf;
    stroke: #a8adaf;
    stroke-width: .55;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: none;
    filter: none;
}

@media (min-width: 781px) {
    .ace-map__visual .ace-map__canvas {
        height: 100%;
    }
}

@media (max-width: 780px) {
    .ace-map__grid {
        background: rgba(255, 255, 255, .7);
    }

    .ace-map__copy {
        background: rgba(255, 255, 255, .78);
    }

    .ace-map__visual {
        border-top: 0;
        border-left: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .ace-map__copy::after {
        top: auto;
        right: 16px;
        bottom: 0;
        left: 16px;
        width: auto;
        height: 1px;
        background: linear-gradient(90deg, transparent 0%, rgba(224, 226, 227, .96) 12%, rgba(224, 226, 227, .96) 88%, transparent 100%);
        box-shadow: 0 7px 16px rgba(39, 42, 45, .06);
    }

    .ace-map__national {
        padding: 8px 10px;
    }

    .ace-map__summary strong {
        font-size: 30px;
    }

    .ace-map__visual.is-city-view .ace-map__caption:not([hidden]) {
        right: 16px;
        bottom: 14px;
        font-size: 10px;
    }

    .ace-map__zoom {
        top: 16px;
        right: 16px;
        height: 34px;
        border-radius: 9px;
    }

    .ace-map__zoom button {
        width: 34px;
        font-size: 16px;
    }

    .ace-map__zoom .ace-map__zoom-value {
        width: 56px;
        font-size: 11px;
    }
}

@media (min-width: 721px) and (max-width: 860px) {
    .ace-news__card-link,
    .ace-news__body {
        min-height: 136px;
    }

    .ace-news__body {
        padding: 16px;
        grid-template-columns: minmax(0, 1fr) 18px;
        grid-template-rows: auto minmax(0, 1fr);
        align-items: stretch;
        gap: 0 10px;
    }

    .ace-news__body time {
        display: flex;
        min-height: 0;
        padding: 0 0 9px;
        align-items: baseline;
        gap: 5px;
        grid-column: 1;
        grid-row: 1;
        border: 0;
    }

    .ace-news__body time strong {
        font-size: 24px;
    }

    .ace-news__body h3 {
        padding-top: 9px;
        grid-column: 1;
        grid-row: 2;
    }

    .ace-news__read {
        align-items: center;
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-map.is-entered .ace-map__heading,
    .ace-map.is-entered .ace-map__grid,
    .ace-map.is-entered .ace-map__surface,
    .ace-map.is-entered .ace-map__inset-surface {
        opacity: 1;
        animation: none !important;
        transform: none;
    }
}

/* Homepage silver atmosphere: background layers only */
.ace-map {
    --ace-bg-shift: 0px;
    background:
        radial-gradient(ellipse at 12% 4%, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .72) 18%, transparent 46%),
        radial-gradient(circle at 84% 23%, rgba(174, 18, 31, .055) 0%, transparent 29%),
        linear-gradient(120deg, #fdfefe 0%, #edf1f4 30%, #f9fbfc 52%, #dfe5e9 100%);
}

.ace-map::before {
    background:
        radial-gradient(circle at 42% 38%, rgba(255, 255, 255, .92) 0%, rgba(232, 237, 240, .46) 32%, transparent 68%),
        linear-gradient(128deg, transparent 28%, rgba(255, 255, 255, .72) 45%, transparent 62%);
}

.ace-map::after {
    position: absolute;
    z-index: 0;
    top: 8%;
    right: -16%;
    width: min(900px, 65vw);
    height: min(620px, 46vw);
    content: "";
    pointer-events: none;
    background:
        linear-gradient(124deg, transparent 5%, rgba(255, 255, 255, .86) 23%, rgba(190, 200, 207, .22) 42%, rgba(255, 255, 255, .55) 58%, transparent 77%),
        linear-gradient(40deg, transparent 32%, rgba(168, 16, 27, .035) 48%, transparent 64%);
    clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%);
    opacity: .78;
    transform: translate3d(0, var(--ace-bg-shift), 0) rotate(-7deg);
    will-change: transform;
}

.ace-stats {
    --ace-bg-shift: 0px;
    background:
        radial-gradient(ellipse at 22% 48%, rgba(255, 255, 255, .92) 0%, transparent 36%),
        radial-gradient(circle at 68% 36%, rgba(174, 18, 31, .062) 0%, transparent 25%),
        linear-gradient(126deg, #e4e9ec 0%, #fbfcfd 24%, #dbe1e5 50%, #f7f9fa 73%, #e1e6e9 100%);
}

.ace-stats::before {
    background-image:
        linear-gradient(rgba(76, 89, 98, .038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(76, 89, 98, .038) 1px, transparent 1px),
        linear-gradient(118deg, transparent 31%, rgba(255, 255, 255, .58) 44%, rgba(255, 255, 255, .12) 51%, transparent 64%);
    background-size: 46px 46px, 46px 46px, 100% 100%;
}

.ace-stats::after {
    background:
        radial-gradient(ellipse at 38% 42%, rgba(255, 255, 255, .62) 0%, rgba(223, 229, 233, .16) 42%, transparent 68%),
        linear-gradient(132deg, rgba(255, 255, 255, .18), rgba(177, 187, 194, .09) 48%, rgba(255, 255, 255, .2));
    transform: translate3d(-50%, var(--ace-bg-shift), 0) rotate(-9deg);
    will-change: transform;
}

.ace-news {
    --ace-bg-shift: 0px;
    background:
        radial-gradient(circle at 84% 20%, rgba(168, 16, 27, .035) 0%, transparent 24%),
        radial-gradient(ellipse at 18% 78%, rgba(255, 255, 255, .82) 0%, transparent 42%),
        linear-gradient(135deg, #f9fbfc 0%, #eef2f4 48%, #fcfdfd 76%, #e9eef1 100%);
}

.ace-news::before {
    background-image:
        linear-gradient(121deg, transparent 12%, rgba(255, 255, 255, .78) 28%, rgba(194, 204, 211, .2) 44%, rgba(255, 255, 255, .58) 58%, transparent 75%),
        radial-gradient(ellipse at 72% 30%, rgba(255, 255, 255, .72), transparent 45%);
    background-size: 100% 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 84%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 84%, transparent 100%);
    inset: -12% -8%;
    transform: translate3d(0, var(--ace-bg-shift), 0) rotate(-5deg);
    will-change: transform;
}

.ace-news::after {
    background: linear-gradient(135deg, rgba(255, 255, 255, .5), rgba(205, 213, 219, .08) 48%, rgba(168, 16, 27, .025));
    transform: translate3d(0, var(--ace-bg-shift), 0) rotate(-11deg);
    will-change: transform;
}

@media (max-width: 720px) {
    .ace-map::after {
        right: -52%;
        width: 118vw;
        height: 76vw;
        opacity: .48;
        transform: rotate(-7deg);
        will-change: auto;
    }

    .ace-stats::after {
        transform: translateX(-50%) rotate(-9deg);
        will-change: auto;
    }

    .ace-news::before {
        transform: rotate(-5deg);
        will-change: auto;
    }

    .ace-news::after {
        transform: rotate(-11deg);
        will-change: auto;
    }
}

/* Cooperation hub */
.ace-cooperation-main {
    position: relative;
    overflow: clip;
    background:
        radial-gradient(ellipse at 10% 5%, rgba(255, 255, 255, .96) 0%, transparent 34%),
        radial-gradient(circle at 86% 24%, rgba(168, 16, 27, .045) 0%, transparent 25%),
        linear-gradient(128deg, #f8fafb 0%, #edf1f3 34%, #fbfcfc 62%, #e6ebee 100%);
}

.ace-cooperation-main::before {
    position: absolute;
    z-index: 0;
    top: 4%;
    right: -14%;
    width: 60vw;
    height: 38vw;
    content: "";
    border: 1px solid rgba(150, 160, 167, .16);
    border-radius: 50%;
    transform: rotate(-11deg);
    pointer-events: none;
}

.ace-cooperation-layout {
    position: relative;
    z-index: 1;
    display: grid;
    padding-top: 108px;
    padding-bottom: 132px;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: start;
    gap: clamp(54px, 7vw, 112px);
}

.ace-cooperation-nav {
    position: sticky;
    z-index: 8;
    top: 118px;
}

.ace-cooperation-nav > span {
    display: block;
    padding-bottom: 18px;
    color: var(--ace-red);
    border-bottom: 1px solid var(--ace-line);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ace-cooperation-nav nav {
    display: flex;
    flex-direction: column;
}

.ace-cooperation-nav a {
    position: relative;
    padding: 17px 25px 17px 0;
    color: #827d78;
    border-bottom: 1px solid var(--ace-line);
    font-size: 16px;
    font-weight: 500;
    transition: color .25s ease, padding-left .25s ease;
}

.ace-cooperation-nav a::after {
    position: absolute;
    top: 50%;
    right: 3px;
    content: "→";
    opacity: 0;
    transform: translate(-7px, -50%);
    transition: opacity .25s ease, transform .25s ease;
}

.ace-cooperation-nav a:hover,
.ace-cooperation-nav a:focus-visible,
.ace-cooperation-nav a.is-active {
    padding-left: 12px;
    color: var(--ace-red);
}

.ace-cooperation-nav a:hover::after,
.ace-cooperation-nav a:focus-visible::after,
.ace-cooperation-nav a.is-active::after {
    opacity: 1;
    transform: translate(0, -50%);
}

.ace-cooperation-content {
    min-width: 0;
}

.ace-cooperation-section {
    padding: 0 0 clamp(112px, 10vw, 164px);
    scroll-margin-top: 120px;
}

.ace-cooperation-section:last-child {
    padding-bottom: 0;
}

.ace-cooperation-heading {
    margin-bottom: 50px;
}

.ace-cooperation-heading--row {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
    align-items: end;
    gap: clamp(38px, 6vw, 90px);
}

.ace-cooperation-heading span,
.ace-fund-subheading span,
.ace-fund-intro small,
.ace-career-story small,
.ace-career-form__head small {
    display: block;
    margin-bottom: 14px;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
}

.ace-cooperation-heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(44px, 5vw, 72px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.055em;
}

.ace-cooperation-heading > p {
    max-width: 570px;
    margin: 0 0 4px;
    padding-left: 24px;
    color: #67625d;
    border-left: 2px solid var(--ace-red);
    font-size: 16px;
    line-height: 1.9;
}

.ace-cooperation-business-grid {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(113, 104, 96, .16);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 24px 70px rgba(63, 52, 45, .07);
    grid-template-columns: repeat(3, 1fr);
}

.ace-cooperation-business-grid article {
    position: relative;
    display: flex;
    min-height: 360px;
    padding: clamp(28px, 3vw, 42px);
    flex-direction: column;
    border-right: 1px solid rgba(113, 104, 96, .15);
    transition: color .3s ease, background .3s ease, transform .3s var(--ace-ease);
}

.ace-cooperation-business-grid article:last-child {
    border-right: 0;
}

.ace-cooperation-business-grid article:hover {
    color: #fff;
    background: var(--ace-red);
    transform: translateY(-2px);
}

.ace-cooperation-business-grid small {
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
    transition: color .3s ease;
}

.ace-cooperation-business-grid article:hover small {
    color: rgba(255, 255, 255, .64);
}

.ace-cooperation-business-grid article > span {
    margin: 38px 0 26px;
    color: #a39c95;
    font-family: var(--ace-sans);
    font-size: 13px;
}

.ace-cooperation-business-grid h3 {
    margin: 0 0 18px;
    font-size: clamp(25px, 2.15vw, 33px);
    font-weight: 550;
    line-height: 1.25;
    letter-spacing: -.035em;
}

.ace-cooperation-business-grid p {
    margin: 0 0 36px;
    color: #6f6963;
    font-size: 14px;
    line-height: 1.85;
    transition: color .3s ease;
}

.ace-cooperation-business-grid article:hover p {
    color: rgba(255, 255, 255, .74);
}

.ace-cooperation-business-grid a {
    display: flex;
    margin-top: auto;
    padding-top: 18px;
    justify-content: space-between;
    border-top: 1px solid currentColor;
    font-size: 13px;
    font-weight: 700;
}

.ace-cooperation-business-grid a i,
.ace-fund-contact a i,
.ace-career-story__actions i {
    font-style: normal;
}

.ace-cooperation-contact-strip {
    display: grid;
    color: #fff;
    background: var(--ace-ink);
    grid-template-columns: 1fr 1fr 1.15fr;
}

.ace-cooperation-contact-strip > div {
    min-height: 146px;
    padding: 31px clamp(24px, 3vw, 42px);
    border-right: 1px solid rgba(255, 255, 255, .14);
}

.ace-cooperation-contact-strip > div:last-child {
    border-right: 0;
}

.ace-cooperation-contact-strip small {
    display: block;
    margin-bottom: 21px;
    color: rgba(255, 255, 255, .56);
    font-size: 10px;
    letter-spacing: .14em;
}

.ace-cooperation-contact-strip a {
    font-family: var(--ace-sans);
    font-size: clamp(27px, 2.5vw, 38px);
    font-weight: 650;
    letter-spacing: -.04em;
}

.ace-cooperation-contact-strip p {
    max-width: 330px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 15px;
    line-height: 1.75;
}

.ace-fund-intro {
    position: relative;
    display: grid;
    min-height: 330px;
    overflow: hidden;
    padding: clamp(38px, 5vw, 72px);
    color: #fff;
    background:
        radial-gradient(circle at 18% 48%, rgba(193, 27, 40, .42), transparent 32%),
        linear-gradient(128deg, #21191a 0%, #151414 57%, #261b1c 100%);
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: clamp(34px, 5vw, 75px);
}

.ace-fund-intro::after {
    position: absolute;
    right: -6%;
    bottom: -42%;
    width: 58%;
    aspect-ratio: 1.7;
    content: "";
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    transform: rotate(-12deg);
}

.ace-fund-intro__mark {
    position: relative;
    display: grid;
    width: 180px;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .27);
    border-radius: 50%;
}

.ace-fund-intro__mark::before,
.ace-fund-intro__mark::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(196, 27, 41, .5);
    border-radius: 50%;
}

.ace-fund-intro__mark::before {
    inset: 20px;
}

.ace-fund-intro__mark::after {
    inset: -14px 28px;
    transform: rotate(62deg);
}

.ace-fund-intro__mark span {
    color: #fff;
    font-family: var(--ace-sans);
    font-size: 86px;
    font-weight: 700;
    line-height: 1;
}

.ace-fund-intro > div:last-child {
    position: relative;
    z-index: 1;
}

.ace-fund-intro small {
    color: #df4853;
}

.ace-fund-intro h3 {
    margin: 0 0 25px;
    font-size: clamp(34px, 3.5vw, 52px);
    font-weight: 520;
    letter-spacing: -.045em;
}

.ace-fund-intro p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    line-height: 1.95;
}

.ace-fund-subheading {
    display: grid;
    margin: 76px 0 30px;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 45px;
}

.ace-fund-subheading h3 {
    margin: 0;
    font-size: clamp(29px, 3vw, 42px);
    font-weight: 540;
    letter-spacing: -.04em;
}

.ace-fund-subheading p {
    margin: 0 0 3px;
    color: #77716b;
    font-size: 14px;
    line-height: 1.8;
}

.ace-fund-cards {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
}

.ace-fund-cards article {
    position: relative;
    min-height: 400px;
    padding: clamp(30px, 4vw, 54px);
    overflow: hidden;
    border: 1px solid rgba(112, 103, 95, .15);
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 20px 55px rgba(71, 59, 51, .055);
}

.ace-fund-card__logo {
    display: grid;
    width: 96px;
    height: 96px;
    margin-bottom: 55px;
    place-items: center;
    border-radius: 50%;
    background: #f2eeea;
}

.ace-fund-card__logo img {
    display: block;
    width: 74%;
    height: 74%;
    object-fit: contain;
}

.ace-fund-cards small {
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}

.ace-fund-cards h4 {
    margin: 12px 0 18px;
    font-size: clamp(24px, 2.35vw, 34px);
    font-weight: 550;
    letter-spacing: -.035em;
}

.ace-fund-cards p {
    max-width: 520px;
    margin: 0;
    color: #6c6660;
    font-size: 14px;
    line-height: 1.9;
}

.ace-fund-subheading--portfolio {
    margin-top: 86px;
}

.ace-fund-portfolio {
    display: grid;
    border-top: 1px solid rgba(112, 103, 95, .17);
    border-left: 1px solid rgba(112, 103, 95, .17);
    grid-template-columns: repeat(4, 1fr);
}

.ace-fund-portfolio article {
    min-width: 0;
    padding: 28px 24px 26px;
    border-right: 1px solid rgba(112, 103, 95, .17);
    border-bottom: 1px solid rgba(112, 103, 95, .17);
    background: rgba(255, 255, 255, .66);
    transition: background .25s ease, transform .25s ease;
}

.ace-fund-portfolio article:hover {
    z-index: 1;
    background: #fff;
    transform: translateY(-3px);
}

.ace-fund-portfolio img {
    display: block;
    width: 76px;
    height: 76px;
    margin-bottom: 30px;
    object-fit: contain;
    border-radius: 50%;
    background: #f3efea;
}

.ace-fund-portfolio small {
    display: block;
    overflow: hidden;
    color: var(--ace-red);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .12em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-fund-portfolio h4 {
    margin: 11px 0 9px;
    font-size: 20px;
    font-weight: 600;
}

.ace-fund-portfolio p {
    margin: 0;
    color: #77716b;
    font-size: 12px;
}

.ace-fund-contact {
    display: grid;
    margin-top: 28px;
    border: 1px solid rgba(112, 103, 95, .17);
    background: rgba(255, 255, 255, .72);
    grid-template-columns: repeat(2, 1fr);
}

.ace-fund-contact > div {
    padding: 34px clamp(25px, 3.4vw, 48px);
    border-right: 1px solid rgba(112, 103, 95, .17);
}

.ace-fund-contact > div:last-child {
    border-right: 0;
}

.ace-fund-contact small {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.ace-fund-contact h4 {
    margin: 13px 0 25px;
    font-size: 25px;
    font-weight: 550;
}

.ace-fund-contact a {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding-top: 16px;
    color: #5f5954;
    border-top: 1px solid var(--ace-line);
    font-size: 13px;
    font-weight: 650;
}

.ace-career-grid {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(112, 103, 95, .15);
    background: #fff;
    box-shadow: 0 26px 75px rgba(64, 52, 44, .08);
    grid-template-columns: minmax(320px, .88fr) minmax(420px, 1.12fr);
}

.ace-career-story {
    position: relative;
    min-height: 700px;
    overflow: hidden;
    color: #fff;
    background: #9e0d17;
}

.ace-career-story::after {
    position: absolute;
    content: "";
    background: linear-gradient(0deg, rgba(33, 7, 9, .9) 0%, rgba(33, 7, 9, .18) 66%, rgba(33, 7, 9, .04) 100%);
    inset: 0;
}

.ace-career-story > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 48%;
}

.ace-career-story > div {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    padding: clamp(30px, 4vw, 56px);
}

.ace-career-story small {
    color: rgba(255, 255, 255, .62);
}

.ace-career-story h3 {
    margin: 0 0 18px;
    font-size: clamp(32px, 3.4vw, 50px);
    font-weight: 520;
    letter-spacing: -.045em;
}

.ace-career-story p {
    max-width: 500px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    line-height: 1.8;
}

.ace-career-story__actions {
    display: flex;
    margin-top: 32px;
    flex-wrap: wrap;
    gap: 12px 24px;
}

.ace-career-story__actions a {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .58);
    font-size: 13px;
    font-weight: 650;
}

.ace-career-form {
    display: flex;
    min-width: 0;
    padding: clamp(38px, 5vw, 72px);
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(circle at 88% 8%, rgba(168, 16, 27, .045), transparent 24%),
        #fff;
}

.ace-career-form__head h3 {
    margin: 0;
    font-size: clamp(34px, 3.5vw, 52px);
    font-weight: 520;
    letter-spacing: -.045em;
}

.ace-career-form__head p {
    margin: 18px 0 0;
    color: #736d67;
    font-size: 14px;
    line-height: 1.8;
}

.ace-career-form__fields {
    display: grid;
    margin-top: 48px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
}

.ace-career-form__fields label {
    min-width: 0;
}

.ace-career-form__fields label > span {
    display: block;
    margin-bottom: 10px;
    color: #77716b;
    font-size: 12px;
}

.ace-career-form__fields input {
    width: 100%;
    height: 48px;
    padding: 0 0 9px;
    color: var(--ace-ink);
    border: 0;
    border-bottom: 1px solid #d7d1cb;
    border-radius: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: 16px;
}

.ace-career-form__fields input:focus {
    border-bottom-color: var(--ace-red);
}

.ace-career-form__fields input::placeholder {
    color: #b4ada6;
}

.ace-career-form__wide {
    grid-column: 1 / -1;
}

.ace-career-upload {
    margin-top: 34px;
}

.ace-career-upload > input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.ace-career-upload > label {
    display: flex;
    min-height: 92px;
    padding: 20px 22px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px dashed #c9c1ba;
    background: #faf9f7;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}

.ace-career-upload > label:hover,
.ace-career-upload > input:focus + label {
    border-color: var(--ace-red);
    background: #fff8f7;
}

.ace-career-upload > label span,
.ace-career-upload > label b,
.ace-career-upload > label small {
    display: block;
}

.ace-career-upload > label b {
    margin-bottom: 7px;
    font-size: 15px;
}

.ace-career-upload > label small {
    color: #938c85;
    font-size: 11px;
}

.ace-career-upload > label i {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--ace-red);
    font-style: normal;
    font-size: 20px;
}

.ace-career-upload__selection {
    display: flex;
    min-height: 52px;
    padding: 12px 15px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    color: #5d5752;
    border-right: 1px solid #ded8d2;
    border-bottom: 1px solid #ded8d2;
    border-left: 1px solid #ded8d2;
    background: #fff;
    font-size: 12px;
}

.ace-career-upload__selection[hidden] {
    display: none;
}

.ace-career-upload__selection span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ace-career-upload__selection button {
    padding: 4px;
    color: var(--ace-red);
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-weight: 650;
}

.ace-career-form__submit {
    display: flex;
    width: 100%;
    min-height: 58px;
    margin-top: 34px;
    padding: 0 23px;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    border: 0;
    background: var(--ace-red);
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    transition: background .25s ease, transform .25s ease;
}

.ace-career-form__submit:hover,
.ace-career-form__submit:focus-visible {
    background: #8e0d16;
    transform: translateY(-1px);
}

.ace-career-form__submit:disabled {
    cursor: wait;
    opacity: .66;
    transform: none;
}

.ace-career-form__status {
    min-height: 22px;
    margin: 14px 0 0;
    color: #8b847d;
    font-size: 11px;
    line-height: 1.6;
}

.ace-career-form__status.is-notice {
    color: var(--ace-red);
    font-weight: 650;
}

.ace-career-form__status.is-error {
    color: var(--ace-red);
    font-weight: 650;
}

.ace-career-form__status.is-success {
    color: #3f6d54;
    font-weight: 650;
}

@media (max-width: 1180px) {
    .ace-cooperation-layout {
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 46px;
    }

    .ace-cooperation-business-grid {
        grid-template-columns: 1fr;
    }

    .ace-cooperation-business-grid article {
        min-height: 280px;
        border-right: 0;
        border-bottom: 1px solid rgba(113, 104, 96, .15);
    }

    .ace-cooperation-business-grid article:last-child {
        border-bottom: 0;
    }

    .ace-cooperation-business-grid article > span {
        margin: 26px 0 20px;
    }

    .ace-fund-portfolio {
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-career-grid {
        grid-template-columns: 1fr;
    }

    .ace-career-story {
        min-height: 620px;
    }
}

@media (max-width: 980px) {
    .ace-cooperation-layout {
        display: block;
        padding-top: 0;
        padding-bottom: 96px;
    }

    .ace-cooperation-nav {
        top: 72px;
        margin: 0 calc(var(--ace-gutter) * -1) 76px;
        padding: 0 var(--ace-gutter);
        overflow: hidden;
        background: rgba(242, 245, 246, .94);
        border-bottom: 1px solid rgba(75, 71, 67, .14);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    .ace-cooperation-nav > span {
        display: none;
    }

    .ace-cooperation-nav nav {
        overflow-x: auto;
        flex-direction: row;
        scrollbar-width: none;
    }

    .ace-cooperation-nav nav::-webkit-scrollbar {
        display: none;
    }

    .ace-cooperation-nav a,
    .ace-cooperation-nav a:hover,
    .ace-cooperation-nav a:focus-visible,
    .ace-cooperation-nav a.is-active {
        min-width: max-content;
        padding: 18px 17px;
        border-bottom: 2px solid transparent;
    }

    .ace-cooperation-nav a.is-active {
        border-bottom-color: var(--ace-red);
    }

    .ace-cooperation-nav a::after {
        display: none;
    }

    .ace-cooperation-section {
        scroll-margin-top: 145px;
    }
}

@media (max-width: 780px) {
    .ace-cooperation-hero p {
        max-width: 88%;
    }

    .ace-cooperation-heading--row,
    .ace-fund-subheading {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ace-cooperation-heading > p {
        padding-left: 18px;
    }

    .ace-cooperation-contact-strip,
    .ace-fund-cards,
    .ace-fund-contact {
        grid-template-columns: 1fr;
    }

    .ace-cooperation-contact-strip > div,
    .ace-fund-contact > div {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .ace-fund-contact > div {
        border-bottom-color: rgba(112, 103, 95, .17);
    }

    .ace-cooperation-contact-strip > div:last-child,
    .ace-fund-contact > div:last-child {
        border-bottom: 0;
    }

    .ace-fund-intro {
        grid-template-columns: 1fr;
    }

    .ace-fund-intro__mark {
        width: 126px;
    }

    .ace-fund-intro__mark span {
        font-size: 60px;
    }

    .ace-career-story {
        min-height: 560px;
    }
}

@media (max-width: 520px) {
    .ace-cooperation-layout {
        padding-bottom: 78px;
    }

    .ace-cooperation-nav {
        margin-bottom: 60px;
    }

    .ace-cooperation-section {
        padding-bottom: 92px;
    }

    .ace-cooperation-heading {
        margin-bottom: 36px;
    }

    .ace-cooperation-heading > p {
        font-size: 14px;
    }

    .ace-cooperation-business-grid article {
        min-height: 300px;
        padding: 28px 24px;
    }

    .ace-fund-intro {
        padding: 35px 25px 42px;
    }

    .ace-fund-intro p {
        font-size: 14px;
    }

    .ace-fund-cards article {
        min-height: 0;
        padding: 30px 25px 36px;
    }

    .ace-fund-card__logo {
        margin-bottom: 38px;
    }

    .ace-fund-portfolio {
        grid-template-columns: 1fr;
    }

    .ace-fund-portfolio article {
        display: grid;
        padding: 22px;
        grid-template-columns: 66px minmax(0, 1fr);
        align-items: center;
        gap: 18px;
    }

    .ace-fund-portfolio img {
        width: 66px;
        height: 66px;
        margin-bottom: 0;
    }

    .ace-fund-contact > div {
        padding: 28px 23px;
    }

    .ace-fund-contact a {
        overflow-wrap: anywhere;
    }

    .ace-career-story {
        min-height: 510px;
    }

    .ace-career-form {
        padding: 38px 24px;
    }

    .ace-career-form__fields {
        grid-template-columns: 1fr;
    }

    .ace-career-form__wide {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-cooperation-business-grid article,
    .ace-fund-portfolio article,
    .ace-career-form__submit {
        transition: none;
    }
}

/* One continuous silver canvas behind the homepage booking and map. */
.ace-map-scene {
    position: relative;
    display: flow-root;
    background:
        radial-gradient(ellipse at 12% 4%, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .72) 18%, transparent 46%),
        radial-gradient(circle at 84% 23%, rgba(174, 18, 31, .055) 0%, transparent 29%),
        linear-gradient(120deg, #fdfefe 0%, #edf1f4 30%, #f9fbfc 52%, #dfe5e9 100%);
}

.ace-map-scene > .ace-booking:not(.ace-booking--inner),
.ace-map-scene > .ace-map {
    background: transparent;
}

@media (prefers-reduced-motion: reduce) {
    .ace-map::after {
        transform: rotate(-7deg);
        will-change: auto;
    }

    .ace-stats::after {
        transform: translateX(-50%) rotate(-9deg);
        will-change: auto;
    }

    .ace-news::before {
        transform: rotate(-5deg);
        will-change: auto;
    }

    .ace-news::after {
        transform: rotate(-11deg);
        will-change: auto;
    }
}

/* Cooperation hub — open editorial redesign */
.ace-cooperation-page .ace-cooperation-main {
    background:
        radial-gradient(ellipse at 8% 8%, rgba(255, 255, 255, .98) 0%, transparent 31%),
        radial-gradient(ellipse at 94% 45%, rgba(168, 16, 27, .055) 0%, transparent 27%),
        linear-gradient(128deg, #fbfcfc 0%, #edf1f3 34%, #f9faf9 65%, #e5eaed 100%);
}

.ace-cooperation-page .ace-cooperation-main::before {
    top: 13%;
    right: -20%;
    width: 62vw;
    height: 28vw;
    border-color: rgba(168, 16, 27, .1);
    transform: rotate(-16deg);
}

.ace-cooperation-page .ace-cooperation-section {
    position: relative;
}

.ace-coop-visual {
    position: relative;
    margin: 0;
}

.ace-coop-visual__media {
    position: relative;
    overflow: hidden;
    background: #dfe3e5;
}

.ace-coop-visual__media::after {
    position: absolute;
    content: "";
    pointer-events: none;
    background: linear-gradient(13deg, rgba(19, 20, 20, .58) 0%, rgba(19, 20, 20, .05) 56%, transparent 76%);
    inset: 0;
}

.ace-coop-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s var(--ace-ease);
}

.ace-coop-visual:hover img {
    transform: scale(1.025);
}

.ace-coop-visual figcaption {
    position: absolute;
    z-index: 1;
    right: clamp(28px, 5vw, 72px);
    bottom: clamp(26px, 5vw, 68px);
    left: clamp(28px, 5vw, 72px);
    max-width: 610px;
    color: #fff;
}

.ace-coop-visual figcaption small,
.ace-coop-pathways__lead small,
.ace-capital-story__copy > small,
.ace-fund-explorer__head small,
.ace-portfolio-focus > span,
.ace-career-invite > small {
    display: block;
    margin-bottom: 15px;
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .18em;
}

.ace-coop-visual figcaption small {
    color: rgba(255, 255, 255, .72);
}

.ace-coop-visual figcaption strong {
    display: block;
    max-width: 560px;
    font-size: clamp(25px, 3vw, 42px);
    font-weight: 500;
    line-height: 1.34;
    letter-spacing: -.035em;
}

.ace-coop-visual--business .ace-coop-visual__media {
    height: clamp(460px, 51vw, 690px);
    border-radius: 0 76px 0 0;
}

.ace-coop-pathways {
    display: grid;
    margin-top: clamp(58px, 7vw, 94px);
    grid-template-columns: minmax(190px, .62fr) minmax(460px, 1.38fr);
    gap: clamp(42px, 7vw, 104px);
}

.ace-coop-pathways__lead {
    padding-top: 9px;
}

.ace-coop-pathways__lead strong {
    display: block;
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 520;
    letter-spacing: -.04em;
}

.ace-coop-pathways__lead p {
    max-width: 250px;
    margin: 20px 0 0;
    color: #76716c;
    font-size: 13px;
    line-height: 1.85;
}

.ace-coop-path {
    border-top: 1px solid rgba(64, 59, 55, .2);
}

.ace-coop-path:last-child {
    border-bottom: 1px solid rgba(64, 59, 55, .2);
}

.ace-coop-path > button {
    display: grid;
    width: 100%;
    min-height: 84px;
    padding: 0;
    align-items: center;
    text-align: left;
    color: var(--ace-ink);
    border: 0;
    background: transparent;
    cursor: pointer;
    grid-template-columns: 48px minmax(0, 1fr) minmax(190px, auto) 24px;
    gap: 18px;
    font: inherit;
}

.ace-coop-path > button > span {
    color: #aaa39c;
    font-family: var(--ace-sans);
    font-size: 11px;
}

.ace-coop-path > button b {
    font-size: clamp(20px, 2.1vw, 28px);
    font-weight: 520;
    letter-spacing: -.035em;
    transition: color .25s ease, transform .25s ease;
}

.ace-coop-path > button small {
    display: block;
    text-align: right;
    color: #938c85;
    font-size: 10px;
    letter-spacing: 0;
}

.ace-coop-path > button small em,
.ace-coop-path > button small strong {
    display: block;
    font-style: normal;
}

.ace-coop-path > button small em {
    margin-bottom: 6px;
    color: #99918a;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .08em;
}

.ace-coop-path > button small strong {
    color: #5d5752;
    font-family: var(--ace-sans);
    font-size: 14px;
    font-weight: 650;
    letter-spacing: .02em;
    transition: color .25s ease;
}

.ace-coop-path > button:hover small strong,
.ace-coop-path > button:focus-visible small strong,
.ace-coop-path.is-active > button small strong {
    color: var(--ace-red);
}

.ace-coop-path > button i {
    color: var(--ace-red);
    font-style: normal;
    font-size: 20px;
    transition: transform .3s ease;
}

.ace-coop-path > button:hover b,
.ace-coop-path > button:focus-visible b,
.ace-coop-path.is-active > button b {
    color: var(--ace-red);
    transform: translateX(7px);
}

.ace-coop-path.is-active > button i {
    transform: rotate(45deg);
}

.ace-coop-path__detail {
    display: grid;
    overflow: hidden;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .4s var(--ace-ease), opacity .3s ease;
}

.ace-coop-path.is-active .ace-coop-path__detail {
    grid-template-rows: 1fr;
    opacity: 1;
}

.ace-coop-path__detail > div {
    min-height: 0;
    padding: 0 42px 31px 66px;
}

.ace-coop-path__detail p {
    max-width: 600px;
    margin: 0 0 22px;
    color: #6e6964;
    font-size: 14px;
    line-height: 1.9;
}

.ace-coop-path__detail a {
    display: inline-flex;
    padding-bottom: 5px;
    align-items: center;
    gap: 16px;
    color: var(--ace-red);
    border-bottom: 1px solid currentColor;
    font-size: 12px;
    font-weight: 700;
}

.ace-coop-contact-line {
    display: grid;
    margin-top: clamp(64px, 8vw, 110px);
    border-top: 1px solid rgba(64, 59, 55, .22);
    border-bottom: 1px solid rgba(64, 59, 55, .22);
    grid-template-columns: 1fr .95fr 1.2fr;
}

.ace-coop-contact-line > div {
    min-height: 128px;
    padding: 27px clamp(20px, 3vw, 40px) 26px 0;
}

.ace-coop-contact-line > div + div {
    padding-left: clamp(20px, 3vw, 40px);
    border-left: 1px solid rgba(64, 59, 55, .18);
}

.ace-coop-contact-line small,
.ace-fund-contact-line small {
    display: block;
    margin-bottom: 18px;
    color: #8b847e;
    font-size: 9px;
    letter-spacing: .15em;
}

.ace-coop-contact-line a {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: clamp(25px, 2.5vw, 37px);
    font-weight: 650;
    letter-spacing: -.04em;
}

.ace-coop-contact-line p {
    max-width: 310px;
    margin: 0;
    color: #5f5a55;
    font-size: 14px;
    line-height: 1.75;
}

.ace-capital-story {
    display: grid;
    margin-bottom: clamp(84px, 9vw, 132px);
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
    align-items: center;
}

.ace-coop-visual--capital .ace-coop-visual__media {
    height: clamp(440px, 46vw, 620px);
    border-radius: 70px 0 0 0;
}

.ace-coop-visual--capital .ace-coop-visual__media::after {
    background: linear-gradient(90deg, transparent 58%, rgba(235, 239, 240, .4) 100%);
}

.ace-capital-story__copy {
    position: relative;
    z-index: 2;
    margin-left: clamp(-95px, -7vw, -58px);
    padding: clamp(44px, 5vw, 72px) 0 clamp(44px, 5vw, 72px) clamp(48px, 7vw, 104px);
    background: linear-gradient(90deg, rgba(239, 242, 242, .97) 0%, rgba(239, 242, 242, .94) 68%, rgba(239, 242, 242, 0) 100%);
}

.ace-capital-story__copy h3 {
    margin: 0 0 28px;
    font-size: clamp(35px, 4vw, 56px);
    font-weight: 510;
    letter-spacing: -.05em;
}

.ace-capital-story__copy p {
    max-width: 500px;
    margin: 0 0 15px;
    color: #68635e;
    font-size: 14px;
    line-height: 1.92;
}

.ace-capital-story__copy > span {
    display: inline-block;
    margin-top: 18px;
    padding: 9px 18px;
    color: var(--ace-red);
    border: 1px solid rgba(168, 16, 27, .32);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}

.ace-fund-explorer__head {
    display: grid;
    margin-bottom: 34px;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 45px;
}

.ace-fund-explorer__head h3 {
    margin: 0;
    font-size: 30px;
    font-weight: 520;
    letter-spacing: -.04em;
}

.ace-fund-explorer__head p {
    margin: 0 0 3px;
    color: #77716b;
    font-size: 13px;
    line-height: 1.8;
}

.ace-fund-explorer__body {
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(360px, 1.05fr);
    gap: clamp(42px, 7vw, 98px);
}

.ace-fund-tabs {
    border-top: 1px solid rgba(64, 59, 55, .2);
}

.ace-fund-tabs button {
    display: grid;
    width: 100%;
    min-height: 122px;
    padding: 20px 0;
    align-items: center;
    text-align: left;
    color: var(--ace-ink);
    border: 0;
    border-bottom: 1px solid rgba(64, 59, 55, .2);
    background: transparent;
    cursor: pointer;
    grid-template-columns: 78px minmax(0, 1fr) 24px;
    gap: 23px;
    font: inherit;
}

.ace-fund-tabs img {
    display: block;
    width: 72px;
    height: 72px;
    padding: 8px;
    object-fit: contain;
    border-radius: 50%;
    background: rgba(255, 255, 255, .74);
    filter: none;
    transition: filter .25s ease, transform .25s ease;
}

.ace-fund-tabs button:hover img,
.ace-fund-tabs button:focus-visible img,
.ace-fund-tabs button.is-active img {
    filter: none;
    transform: rotate(-4deg) scale(1.05);
}

.ace-fund-tabs button span,
.ace-fund-tabs button small,
.ace-fund-tabs button b {
    display: block;
}

.ace-fund-tabs button small {
    margin-bottom: 10px;
    color: #99918a;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .13em;
}

.ace-fund-tabs button b {
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 550;
    transition: color .25s ease;
}

.ace-fund-tabs button:nth-child(2) b {
    font-size: 20px;
    white-space: nowrap;
}

.ace-fund-tabs button i {
    display: block;
    width: 9px;
    height: 9px;
    justify-self: center;
    color: #aaa39c;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
    transition: color .25s ease, transform .25s ease;
}

.ace-fund-tabs button.is-active b,
.ace-fund-tabs button.is-active i {
    color: var(--ace-red);
}

.ace-fund-tabs button.is-active i {
    transform: translateX(4px) rotate(-45deg);
}

.ace-fund-panels {
    min-width: 0;
}

.ace-fund-panels article {
    position: relative;
    min-height: 286px;
    padding: clamp(42px, 5vw, 68px);
    overflow: hidden;
    border-radius: 0 82px 0 82px;
    background:
        radial-gradient(circle at 100% 0%, rgba(168, 16, 27, .1), transparent 34%),
        rgba(255, 255, 255, .62);
}

.ace-fund-panels article[hidden] {
    display: none;
}

.ace-fund-panels article > span {
    position: absolute;
    top: 24px;
    right: 34px;
    color: rgba(168, 16, 27, .15);
    font-family: var(--ace-sans);
    font-size: clamp(76px, 9vw, 126px);
    font-weight: 700;
    line-height: 1;
}

.ace-fund-panels h4 {
    position: relative;
    max-width: 470px;
    margin: 0 0 24px;
    font-size: clamp(26px, 3vw, 39px);
    font-weight: 520;
    line-height: 1.3;
    letter-spacing: -.04em;
}

#ace-fund-taicang h4 {
    font-size: clamp(22px, 2.1vw, 28px);
    white-space: nowrap;
}

.ace-fund-panels p {
    position: relative;
    max-width: 500px;
    margin: 0;
    color: #66615c;
    font-size: 14px;
    line-height: 1.9;
}

.ace-fund-panels article > small {
    position: relative;
    display: block;
    margin-top: 30px;
    color: var(--ace-red);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
}

.ace-portfolio-explorer {
    margin-top: clamp(86px, 10vw, 142px);
}

.ace-portfolio-stage {
    border-top: 1px solid rgba(64, 59, 55, .2);
}

.ace-portfolio-focus {
    display: grid;
    min-height: 250px;
    padding: clamp(34px, 5vw, 64px) 0;
    align-items: center;
    grid-template-columns: 90px 160px minmax(0, 1fr);
    gap: clamp(28px, 5vw, 70px);
}

.ace-portfolio-focus > span {
    margin: 0;
    align-self: start;
    color: #99928b;
}

.ace-portfolio-focus > img {
    display: block;
    width: 150px;
    height: 150px;
    padding: 15px;
    object-fit: contain;
    border-radius: 50%;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 18px 48px rgba(56, 48, 43, .07);
}

.ace-portfolio-focus small {
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
}

.ace-portfolio-focus h4 {
    margin: 12px 0 10px;
    font-size: 24px;
    font-weight: 520;
    letter-spacing: -.05em;
}

.ace-portfolio-focus p {
    margin: 0;
    color: #6e6862;
    font-size: 14px;
}

.ace-portfolio-focus.is-changing img,
.ace-portfolio-focus.is-changing div {
    animation: acePortfolioIn .36s var(--ace-ease);
}

@keyframes acePortfolioIn {
    from { opacity: .2; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.ace-portfolio-rail {
    display: grid;
    padding: 26px 0 0;
    border-top: 1px solid rgba(64, 59, 55, .2);
    grid-template-columns: repeat(8, 1fr);
    gap: clamp(8px, 1.4vw, 18px);
}

.ace-portfolio-rail button {
    position: relative;
    display: grid;
    aspect-ratio: 1;
    padding: 8px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .46);
    cursor: pointer;
    transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.ace-portfolio-rail button::after {
    position: absolute;
    right: 24%;
    bottom: -28px;
    left: 24%;
    height: 2px;
    content: "";
    background: var(--ace-red);
    opacity: 0;
    transform: scaleX(.4);
    transition: opacity .25s ease, transform .25s ease;
}

.ace-portfolio-rail button:hover,
.ace-portfolio-rail button:focus-visible,
.ace-portfolio-rail button.is-active {
    background: #fff;
    box-shadow: 0 14px 34px rgba(56, 48, 43, .09);
    transform: translateY(-5px);
}

.ace-portfolio-rail button.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.ace-portfolio-rail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

.ace-fund-contact-line {
    display: grid;
    margin-top: clamp(82px, 9vw, 126px);
    border-top: 1px solid rgba(64, 59, 55, .2);
    border-bottom: 1px solid rgba(64, 59, 55, .2);
    grid-template-columns: repeat(2, 1fr);
}

.ace-fund-contact-line a {
    position: relative;
    min-width: 0;
    padding: 29px clamp(28px, 4vw, 56px) 30px 0;
}

.ace-fund-contact-line a + a {
    padding-right: 0;
    padding-left: clamp(28px, 4vw, 56px);
    border-left: 1px solid rgba(64, 59, 55, .18);
}

.ace-fund-contact-line span {
    display: block;
    padding-right: 34px;
    overflow-wrap: anywhere;
    color: #4f4a46;
    font-family: var(--ace-sans);
    font-size: clamp(15px, 1.5vw, 20px);
}

.ace-fund-contact-line i {
    position: absolute;
    right: 8px;
    bottom: 31px;
    color: var(--ace-red);
    font-style: normal;
    transition: transform .25s ease;
}

.ace-fund-contact-line a:hover i,
.ace-fund-contact-line a:focus-visible i {
    transform: translate(4px, -4px);
}

.ace-coop-visual--careers .ace-coop-visual__media {
    height: clamp(480px, 49vw, 660px);
    border-radius: 76px 0 0 0;
}

.ace-coop-visual--careers .ace-coop-visual__media::after {
    background: linear-gradient(20deg, rgba(26, 22, 20, .64) 0%, rgba(26, 22, 20, .06) 64%, transparent 84%);
}

.ace-career-open {
    position: relative;
    display: grid;
    margin-top: clamp(72px, 8vw, 112px);
    grid-template-columns: minmax(260px, .72fr) minmax(440px, 1.28fr);
    gap: clamp(54px, 8vw, 120px);
}

.ace-career-open::before {
    position: absolute;
    z-index: -1;
    top: -30px;
    right: -9%;
    width: 62%;
    height: 115%;
    content: "";
    border-radius: 52% 48% 58% 42%;
    background: rgba(255, 255, 255, .34);
    transform: rotate(-4deg);
}

.ace-career-invite {
    padding-top: 10px;
}

.ace-career-invite h3 {
    margin: 0 0 28px;
    font-size: clamp(40px, 5vw, 68px);
    font-weight: 500;
    line-height: 1.16;
    letter-spacing: -.055em;
}

.ace-career-invite p {
    max-width: 330px;
    margin: 0;
    color: #68635e;
    font-size: 14px;
    line-height: 1.92;
}

.ace-career-invite .ace-career-story__actions {
    display: block;
    margin-top: 36px;
}

.ace-career-invite .ace-career-story__actions a {
    display: flex;
    max-width: 330px;
    padding: 15px 0;
    justify-content: space-between;
    color: #4f4a46;
    border-bottom: 1px solid rgba(64, 59, 55, .22);
}

.ace-career-invite .ace-career-story__actions a:first-child {
    color: var(--ace-red);
    border-top: 1px solid rgba(64, 59, 55, .22);
}

.ace-career-form--open {
    padding: clamp(8px, 1vw, 16px) 0 0 clamp(40px, 6vw, 86px);
    justify-content: start;
    border-left: 1px solid rgba(64, 59, 55, .2);
    background: transparent;
}

.ace-career-form--open .ace-career-upload > label {
    border-color: rgba(99, 91, 84, .28);
    border-radius: 22px 0 22px 0;
    background: rgba(255, 255, 255, .42);
}

.ace-career-form--open .ace-career-upload__selection {
    border: 0;
    border-bottom: 1px solid #d8d2cc;
    background: transparent;
}

.ace-career-form--open .ace-career-form__submit {
    width: min(100%, 310px);
    border-radius: 999px;
}

@media (max-width: 1180px) {
    .ace-coop-pathways {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 45px;
    }

    .ace-capital-story {
        grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
    }

    .ace-fund-explorer__body {
        gap: 46px;
    }

    .ace-portfolio-focus {
        grid-template-columns: 65px 130px minmax(0, 1fr);
    }

    .ace-portfolio-focus > img {
        width: 128px;
        height: 128px;
    }

    .ace-career-open {
        grid-template-columns: minmax(240px, .75fr) minmax(380px, 1.25fr);
        gap: 54px;
    }
}

@media (max-width: 980px) {
    .ace-cooperation-page .ace-cooperation-main::before {
        width: 100vw;
        height: 58vw;
    }

    .ace-coop-visual--business .ace-coop-visual__media,
    .ace-coop-visual--capital .ace-coop-visual__media,
    .ace-coop-visual--careers .ace-coop-visual__media {
        height: clamp(430px, 64vw, 620px);
    }

    .ace-capital-story__copy {
        margin-left: -74px;
        padding-left: 75px;
    }
}

@media (max-width: 780px) {
    .ace-coop-visual--business .ace-coop-visual__media,
    .ace-coop-visual--capital .ace-coop-visual__media,
    .ace-coop-visual--careers .ace-coop-visual__media {
        height: clamp(390px, 75vw, 560px);
        border-radius: 0 42px 0 0;
    }

    .ace-coop-pathways,
    .ace-capital-story,
    .ace-fund-explorer__body,
    .ace-career-open {
        grid-template-columns: 1fr;
    }

    .ace-coop-pathways__lead p {
        max-width: 460px;
    }

    .ace-coop-contact-line {
        grid-template-columns: 1fr;
    }

    .ace-coop-contact-line > div {
        min-height: 0;
        padding: 23px 0;
    }

    .ace-coop-contact-line > div + div {
        padding-left: 0;
        border-top: 1px solid rgba(64, 59, 55, .18);
        border-left: 0;
    }

    .ace-capital-story {
        margin-bottom: 90px;
    }

    .ace-capital-story__copy {
        width: 91%;
        margin: -70px 0 0 auto;
        padding: 45px 0 0 43px;
        background: linear-gradient(135deg, rgba(239, 242, 242, .98) 0%, rgba(239, 242, 242, .9) 72%, transparent 100%);
    }

    .ace-fund-explorer__head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ace-fund-panels article {
        min-height: 0;
    }

    .ace-portfolio-focus {
        grid-template-columns: 54px 112px minmax(0, 1fr);
        gap: 24px;
    }

    .ace-portfolio-focus > img {
        width: 108px;
        height: 108px;
    }

    .ace-portfolio-rail {
        overflow-x: auto;
        padding-bottom: 28px;
        grid-template-columns: repeat(8, 82px);
        scrollbar-width: none;
    }

    .ace-portfolio-rail::-webkit-scrollbar {
        display: none;
    }

    .ace-fund-contact-line {
        grid-template-columns: 1fr;
    }

    .ace-fund-contact-line a,
    .ace-fund-contact-line a + a {
        padding: 25px 34px 26px 0;
        border-left: 0;
    }

    .ace-fund-contact-line a + a {
        border-top: 1px solid rgba(64, 59, 55, .18);
    }

    .ace-fund-contact-line i {
        right: 7px;
        bottom: 26px;
    }

    .ace-career-open::before {
        top: 32%;
        right: -15%;
        width: 90%;
        height: 70%;
    }

    .ace-career-form--open {
        padding: 55px 0 0;
        border-top: 1px solid rgba(64, 59, 55, .2);
        border-left: 0;
    }
}

@media (max-width: 520px) {
    .ace-coop-visual--business .ace-coop-visual__media,
    .ace-coop-visual--capital .ace-coop-visual__media,
    .ace-coop-visual--careers .ace-coop-visual__media {
        height: 420px;
    }

    .ace-coop-visual--business img {
        object-position: 58% center;
    }

    .ace-coop-visual--capital img {
        object-position: 44% center;
    }

    .ace-coop-visual--careers img {
        object-position: 61% center;
    }

    .ace-coop-visual figcaption {
        right: 22px;
        bottom: 26px;
        left: 22px;
    }

    .ace-coop-visual figcaption strong {
        font-size: 25px;
    }

    .ace-coop-pathways {
        margin-top: 58px;
        gap: 35px;
    }

    .ace-coop-path > button {
        min-height: 94px;
        padding: 18px 0;
        grid-template-columns: 30px minmax(0, 1fr) 20px;
        gap: 8px 12px;
    }

    .ace-coop-path > button small {
        display: flex;
        padding-bottom: 2px;
        grid-column: 2 / 4;
        grid-row: 2;
        align-items: baseline;
        text-align: left;
        gap: 10px;
    }

    .ace-coop-path > button > span {
        grid-column: 1;
        grid-row: 1;
    }

    .ace-coop-path > button b {
        grid-column: 2;
        grid-row: 1;
        font-size: 20px;
    }

    .ace-coop-path > button i {
        grid-column: 3;
        grid-row: 1;
    }

    .ace-coop-path > button small em {
        margin-bottom: 0;
    }

    .ace-coop-path__detail > div {
        padding: 0 18px 27px 42px;
    }

    .ace-coop-contact-line {
        margin-top: 70px;
    }

    .ace-capital-story__copy {
        width: 94%;
        margin-top: -56px;
        padding: 38px 0 0 28px;
    }

    .ace-fund-tabs button {
        min-height: 104px;
        grid-template-columns: 62px minmax(0, 1fr) 18px;
        gap: 15px;
    }

    .ace-fund-tabs img {
        width: 58px;
        height: 58px;
    }

    .ace-fund-panels article {
        padding: 39px 28px 42px;
        border-radius: 0 50px 0 50px;
    }

    .ace-portfolio-focus {
        padding: 34px 0;
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 22px;
    }

    .ace-portfolio-focus > span {
        grid-column: 1 / -1;
    }

    .ace-portfolio-focus > img {
        width: 76px;
        height: 76px;
        padding: 8px;
    }

    .ace-portfolio-focus h4 {
        font-size: 24px;
    }

    .ace-portfolio-rail {
        grid-template-columns: repeat(8, 70px);
    }

    .ace-career-open {
        gap: 42px;
    }

    .ace-career-invite h3 {
        font-size: 44px;
    }

    .ace-career-form--open {
        padding: 44px 0 0;
    }

    .ace-career-form--open .ace-career-form__fields {
        grid-template-columns: 1fr;
    }

    .ace-career-form--open .ace-career-form__wide {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-coop-visual img,
    .ace-coop-path__detail,
    .ace-coop-path > button b,
    .ace-fund-tabs img,
    .ace-portfolio-rail button {
        transition: none;
    }

    .ace-portfolio-focus.is-changing img,
    .ace-portfolio-focus.is-changing div {
        animation: none;
    }
}

/* Cooperation page: content-preserving readability and requested interactions */
.ace-cooperation-page .ace-cooperation-nav > span,
.ace-cooperation-page .ace-cooperation-heading span,
.ace-cooperation-page .ace-coop-visual figcaption small,
.ace-cooperation-page .ace-coop-pathways__lead small,
.ace-cooperation-page .ace-capital-story__copy > small,
.ace-cooperation-page .ace-fund-explorer__head small,
.ace-cooperation-page .ace-career-invite > small,
.ace-cooperation-page .ace-career-form__head small {
    font-size: 11px;
}

.ace-cooperation-page .ace-coop-visual--business .ace-coop-visual__media {
    height: clamp(340px, 34vw, 460px);
}

.ace-cooperation-page .ace-coop-visual--business .ace-coop-visual__media::after,
.ace-cooperation-page .ace-coop-visual--careers .ace-coop-visual__media::after {
    background: radial-gradient(ellipse 100% 62% at 0% 100%, rgba(7, 9, 11, .62) 0%, rgba(7, 9, 11, .46) 42%, rgba(7, 9, 11, .22) 68%, transparent 90%);
}

.ace-cooperation-page .ace-coop-visual--business figcaption strong,
.ace-cooperation-page .ace-coop-visual--careers figcaption strong {
    text-shadow: 0 2px 14px rgba(0, 0, 0, .68), 0 1px 3px rgba(0, 0, 0, .9);
}

.ace-cooperation-page .ace-coop-visual--capital .ace-coop-visual__media {
    height: clamp(330px, 30vw, 410px);
}

.ace-cooperation-page .ace-coop-visual--careers .ace-coop-visual__media {
    height: clamp(340px, 34vw, 460px);
}

.ace-cooperation-page .ace-coop-pathways {
    display: block;
}

.ace-cooperation-page .ace-coop-pathways__lead {
    display: grid;
    grid-template-columns: minmax(240px, .7fr) minmax(320px, 1.3fr);
    align-items: end;
    gap: 0 clamp(45px, 7vw, 100px);
}

.ace-cooperation-page .ace-coop-pathways__lead small,
.ace-cooperation-page .ace-coop-pathways__lead strong {
    grid-column: 1;
}

.ace-cooperation-page .ace-coop-pathways__lead p {
    max-width: 520px;
    margin: 0;
    grid-column: 2;
    grid-row: 1 / span 2;
    font-size: 15px;
}

.ace-cooperation-page .ace-coop-pathways__list {
    display: flex;
    gap: clamp(14px, 1.7vw, 24px);
}

.ace-cooperation-page .ace-coop-path {
    position: relative;
    min-width: 0;
    min-height: 300px;
    padding: 32px clamp(22px, 2.6vw, 38px) 34px;
    flex: 1 1 0;
    overflow: hidden;
    border: 1px solid rgba(92, 84, 77, .12);
    border-radius: 0 34px 0 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(168, 16, 27, .055), transparent 34%),
        rgba(255, 255, 255, .62);
    box-shadow: 0 18px 50px rgba(63, 52, 45, .045);
    transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
}

.ace-cooperation-page .ace-coop-path::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 56px;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

.ace-cooperation-page .ace-coop-path:last-child {
    border-bottom: 1px solid rgba(92, 84, 77, .12);
}

.ace-cooperation-page .ace-coop-path:hover {
    border-color: rgba(168, 16, 27, .22);
    background:
        radial-gradient(circle at 100% 0%, rgba(168, 16, 27, .075), transparent 38%),
        rgba(255, 255, 255, .78);
    box-shadow: 0 22px 56px rgba(63, 52, 45, .065);
}

.ace-cooperation-page .ace-coop-path__head {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
}

.ace-cooperation-page .ace-coop-path__head > span {
    padding-top: 7px;
    color: #99928b;
    font-family: var(--ace-sans);
    font-size: 12px;
}

.ace-cooperation-page .ace-coop-path__head > b {
    color: var(--ace-ink);
    font-size: clamp(23px, 2.1vw, 29px);
    font-weight: 550;
    letter-spacing: -.035em;
    transition: color .25s ease;
}

.ace-cooperation-page .ace-coop-path:hover .ace-coop-path__head > b {
    color: var(--ace-red);
}

.ace-cooperation-page .ace-coop-path__head > small {
    display: block;
    margin-top: 26px;
    grid-column: 2;
    text-align: left;
}

.ace-cooperation-page .ace-coop-path__head > small em,
.ace-cooperation-page .ace-coop-path__head > small strong {
    display: block;
    font-style: normal;
}

.ace-cooperation-page .ace-coop-path__head > small em {
    margin-bottom: 7px;
    color: #8b847e;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .06em;
}

.ace-cooperation-page .ace-coop-path__head > small strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: clamp(20px, 1.7vw, 23px);
    font-weight: 650;
    letter-spacing: .015em;
    white-space: nowrap;
}

.ace-cooperation-page .ace-coop-path__detail,
.ace-cooperation-page .ace-coop-path.is-active .ace-coop-path__detail {
    display: block;
    margin: 25px 0 0 42px;
    overflow: visible;
    grid-template-rows: none;
    opacity: 1;
}

.ace-cooperation-page .ace-coop-path__detail p {
    margin: 0 0 24px;
    color: #67625d;
    font-size: 16px;
    line-height: 1.85;
}

.ace-cooperation-page .ace-coop-path__detail a {
    font-size: 14px;
}

.ace-cooperation-page .ace-capital-story__copy h4 {
    max-width: 560px;
    margin: -12px 0 24px;
    color: var(--ace-red);
    font-size: 17px;
    font-weight: 550;
    line-height: 1.7;
}

.ace-cooperation-page .ace-capital-story__copy > span {
    font-size: 11px;
}

.ace-cooperation-page .ace-capital-story__copy p,
.ace-cooperation-page .ace-fund-panels p,
.ace-cooperation-page .ace-career-invite > p,
.ace-cooperation-page .ace-career-form__head p {
    font-size: 16px;
}

.ace-cooperation-page .ace-fund-explorer__head p {
    font-size: 15px;
}

.ace-cooperation-page .ace-fund-tabs button small,
.ace-cooperation-page .ace-fund-panels article > small,
.ace-cooperation-page .ace-portfolio-focus small {
    font-size: 11px;
}

.ace-cooperation-page .ace-portfolio-focus {
    height: 390px;
    min-height: 0;
    padding: 40px 0;
    overflow: hidden;
    align-items: center;
    grid-template-columns: 64px 150px minmax(0, 1fr) 64px;
    gap: clamp(16px, 2vw, 28px);
}

.ace-cooperation-page .ace-portfolio-focus p {
    max-width: 720px;
    font-size: 16px;
    line-height: 1.9;
}

.ace-cooperation-page .ace-portfolio-arrow {
    display: grid;
    width: 64px;
    height: 96px;
    padding: 0;
    place-items: center;
    color: rgba(130, 125, 119, .72);
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    opacity: .28;
    transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

.ace-portfolio-arrow:hover,
.ace-portfolio-arrow:focus-visible {
    color: var(--ace-red);
    opacity: 1;
}

.ace-portfolio-arrow--prev:hover,
.ace-portfolio-arrow--prev:focus-visible {
    transform: translateX(-4px);
}

.ace-portfolio-arrow--next:hover,
.ace-portfolio-arrow--next:focus-visible {
    transform: translateX(4px);
}

.ace-portfolio-arrow svg {
    display: block;
    width: 35px;
    height: 63px;
}

.ace-portfolio-arrow--prev svg {
    transform: rotate(180deg);
}

.ace-cooperation-page .ace-career-form--open .ace-career-form__submit,
.ace-cooperation-page .ace-career-form--open .ace-career-form__submit span {
    color: #fff;
}

.ace-cooperation-page .ace-career-form--open .ace-career-form__submit {
    border-radius: 10px;
}

.ace-cooperation-page .ace-fund-contact-line small {
    font-size: var(--ace-type-lead, 18px);
    font-weight: 650;
}

.ace-cooperation-page .ace-fund-contact-line span {
    font-size: var(--ace-type-lead, 18px);
    line-height: 1.7;
}

.ace-cooperation-page .ace-fund-contact-line span b {
    display: block;
    margin-top: 7px;
    font-family: var(--ace-sans);
    font-size: 17px;
    font-weight: 650;
}

.ace-cooperation-page .ace-career-invite .ace-career-story__actions a {
    font-size: 14px;
}

.ace-cooperation-page .ace-career-invite > .ace-career-invite__note {
    margin-top: 34px;
    color: #77716b;
    font-size: 15px;
    line-height: 1.9;
}

.ace-cooperation-page .ace-career-form__fields label > span {
    font-size: 14px;
}

.ace-cooperation-page .ace-career-upload > label small {
    font-size: 12px;
}

.ace-cooperation-page .ace-career-form__status {
    font-size: 13px;
}

@media (max-width: 980px) {
    .ace-cooperation-page .ace-coop-visual--business .ace-coop-visual__media,
    .ace-cooperation-page .ace-coop-visual--careers .ace-coop-visual__media {
        height: clamp(330px, 46vw, 430px);
    }

    .ace-cooperation-page .ace-coop-visual--capital .ace-coop-visual__media {
        height: clamp(320px, 42vw, 390px);
    }

    .ace-cooperation-page .ace-portfolio-focus {
        height: 420px;
        grid-template-columns: 56px 128px minmax(0, 1fr) 56px;
        gap: 20px;
    }

    .ace-portfolio-arrow {
        width: 56px;
    }
}

@media (max-width: 780px) {
    .ace-cooperation-page .ace-coop-visual--business .ace-coop-visual__media,
    .ace-cooperation-page .ace-coop-visual--careers .ace-coop-visual__media {
        height: clamp(300px, 54vw, 370px);
    }

    .ace-cooperation-page .ace-coop-visual--capital .ace-coop-visual__media {
        height: clamp(300px, 50vw, 350px);
    }

    .ace-cooperation-page .ace-coop-pathways__lead {
        display: block;
    }

    .ace-cooperation-page .ace-coop-pathways__lead p {
        margin-top: 18px;
    }

    .ace-cooperation-page .ace-coop-pathways__list {
        display: grid;
        gap: 14px;
    }

    .ace-cooperation-page .ace-coop-path {
        min-height: 0;
        padding: 27px 26px 30px;
        border: 1px solid rgba(92, 84, 77, .12);
    }

    .ace-cooperation-page .ace-coop-path:first-child {
        border-top: 1px solid rgba(92, 84, 77, .12);
    }

    .ace-cooperation-page .ace-coop-path__head,
    .ace-cooperation-page .ace-coop-path__detail {
        margin-right: 0;
        margin-left: 0;
    }

    .ace-cooperation-page .ace-coop-path__detail {
        padding-left: 42px;
    }

    .ace-cooperation-page .ace-portfolio-focus {
        height: 450px;
        grid-template-columns: 48px 108px minmax(0, 1fr) 48px;
        gap: 16px;
    }

    .ace-portfolio-arrow {
        width: 48px;
        height: 80px;
    }

    .ace-portfolio-arrow svg {
        width: 27px;
        height: 50px;
    }
}

@media (max-width: 520px) {
    .ace-cooperation-page .ace-coop-visual--business .ace-coop-visual__media,
    .ace-cooperation-page .ace-coop-visual--capital .ace-coop-visual__media,
    .ace-cooperation-page .ace-coop-visual--careers .ace-coop-visual__media {
        height: 300px;
    }

    .ace-cooperation-page .ace-portfolio-focus {
        height: 550px;
        padding: 28px 0;
        grid-template-columns: 44px 76px minmax(0, 1fr) 44px;
        grid-template-rows: 76px minmax(0, 1fr);
        align-items: center;
        gap: 20px 10px;
    }

    .ace-cooperation-page .ace-portfolio-focus > img {
        grid-column: 2;
        grid-row: 1;
    }

    .ace-cooperation-page .ace-portfolio-focus > div {
        grid-column: 1 / -1;
        grid-row: 2;
        align-self: start;
    }

    .ace-portfolio-arrow {
        width: 44px;
        height: 72px;
    }

    .ace-portfolio-arrow--prev {
        grid-column: 1;
        grid-row: 1;
    }

    .ace-portfolio-arrow--next {
        grid-column: 4;
        grid-row: 1;
    }

    .ace-portfolio-arrow svg {
        width: 23px;
        height: 43px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-cooperation-page .ace-coop-path {
        transition: none;
    }
}

/* Enterprise services: homepage silver atmosphere, legacy content, layered interaction */
.ace-service-main {
    position: relative;
    overflow: clip;
    background:
        radial-gradient(ellipse at 8% 4%, rgba(255, 255, 255, .98) 0%, transparent 34%),
        radial-gradient(circle at 88% 20%, rgba(168, 16, 27, .052) 0%, transparent 25%),
        linear-gradient(128deg, #fbfcfd 0%, #edf1f3 32%, #f9fbfc 60%, #e5eaed 100%);
    isolation: isolate;
}

.ace-service-main::before,
.ace-service-main::after {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
}

.ace-service-main::before {
    top: 4%;
    right: -15%;
    width: min(960px, 68vw);
    height: min(680px, 48vw);
    border: 1px solid rgba(145, 156, 164, .18);
    border-radius: 50%;
    transform: rotate(-10deg);
}

.ace-service-main::after {
    bottom: 6%;
    left: -12%;
    width: min(780px, 55vw);
    height: min(560px, 42vw);
    background: linear-gradient(128deg, rgba(255, 255, 255, .72), rgba(188, 199, 206, .08) 48%, rgba(168, 16, 27, .025));
    clip-path: polygon(18% 0, 100% 12%, 78% 100%, 0 82%);
    opacity: .76;
    transform: rotate(8deg);
}

.ace-service-layout {
    position: relative;
    z-index: 1;
    display: grid;
    padding-top: 108px;
    padding-bottom: 136px;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
    gap: clamp(54px, 7vw, 112px);
}

.ace-service-nav {
    position: sticky;
    z-index: 8;
    top: 118px;
}

.ace-service-nav > span {
    display: block;
    padding-bottom: 18px;
    color: var(--ace-red);
    border-bottom: 1px solid var(--ace-line);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ace-service-nav nav {
    display: flex;
    flex-direction: column;
}

.ace-service-nav a {
    position: relative;
    padding: 17px 26px 17px 0;
    color: #817d78;
    border-bottom: 1px solid var(--ace-line);
    font-size: 16px;
    font-weight: 500;
    transition: color .25s ease, padding-left .25s ease;
}

.ace-service-nav a::after {
    position: absolute;
    top: 50%;
    right: 3px;
    content: "→";
    opacity: 0;
    transform: translate(-7px, -50%);
    transition: opacity .25s ease, transform .25s ease;
}

.ace-service-nav a:hover,
.ace-service-nav a:focus-visible,
.ace-service-nav a.is-active {
    padding-left: 12px;
    color: var(--ace-red);
}

.ace-service-nav a:hover::after,
.ace-service-nav a:focus-visible::after,
.ace-service-nav a.is-active::after {
    opacity: 1;
    transform: translate(0, -50%);
}

.ace-service-content {
    min-width: 0;
}

.ace-service-section {
    padding: 0 0 clamp(118px, 10vw, 168px);
    scroll-margin-top: 120px;
}

.ace-service-section:last-child {
    padding-bottom: 0;
}

.ace-service-heading > div > span {
    display: block;
    margin-bottom: 18px;
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ace-service-heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(42px, 4.25vw, 66px);
    font-weight: 600;
    line-height: 1.13;
    letter-spacing: -.055em;
}

.ace-service-heading--split,
.ace-service-heading--row {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
    align-items: end;
    gap: clamp(44px, 7vw, 112px);
}

.ace-service-heading--split > p,
.ace-service-heading--row > p {
    margin: 0 0 6px;
    padding-left: 24px;
    color: #6f6a65;
    border-left: 2px solid var(--ace-red);
    font-size: 15px;
    line-height: 1.95;
}

.ace-service-heading--split > p {
    font-size: 16px;
}

.ace-service-journey {
    position: relative;
    display: grid;
    margin-top: clamp(62px, 7vw, 94px);
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.ace-service-journey__line {
    position: absolute;
    top: 21px;
    right: 0;
    left: 0;
    height: 1px;
    overflow: hidden;
    background: rgba(111, 106, 101, .2);
}

.ace-service-journey__line i {
    display: block;
    width: 33.333%;
    height: 100%;
    background: var(--ace-red);
    transition: transform .5s var(--ace-ease);
}

.ace-service-journey article {
    position: relative;
    min-height: 246px;
    padding: 58px clamp(18px, 2.4vw, 34px) 28px 0;
    border-bottom: 1px solid var(--ace-line);
}

.ace-service-journey article::before {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 0;
    width: 15px;
    height: 15px;
    content: "";
    border: 4px solid #f3f6f7;
    border-radius: 50%;
    background: #a9a5a0;
    box-shadow: 0 0 0 1px rgba(117, 112, 107, .3);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.ace-service-journey article:hover::before,
.ace-service-journey article.is-active::before {
    background: var(--ace-red);
    box-shadow: 0 0 0 7px rgba(168, 16, 27, .09);
    transform: scale(1.08);
}

.ace-service-journey article > span,
.ace-service-journey article > small {
    display: block;
}

.ace-service-journey article > span {
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 700;
}

.ace-service-journey article > small {
    margin-top: 8px;
    color: #9c9791;
    font-size: 9px;
    letter-spacing: .14em;
}

.ace-service-journey h3 {
    margin: 28px 0 13px;
    font-size: clamp(27px, 2.25vw, 34px);
    font-weight: 600;
}

.ace-service-journey p {
    max-width: 280px;
    margin: 0;
    color: #74706b;
    font-size: 14px;
    line-height: 1.85;
}

.ace-service-ecosystem {
    position: relative;
}

.ace-service-orbit {
    margin-top: clamp(58px, 6vw, 84px);
}

.ace-service-orbit__stage {
    position: relative;
    min-height: 700px;
    overflow: hidden;
    border: 1px solid rgba(136, 146, 153, .2);
    border-radius: 86px 20px 86px 20px;
    background:
        radial-gradient(circle at 50% 50%, rgba(168, 16, 27, .11) 0%, transparent 20%),
        linear-gradient(128deg, rgba(255, 255, 255, .88), rgba(247, 249, 250, .48));
    box-shadow: 0 32px 86px rgba(65, 74, 80, .09), inset 0 1px rgba(255, 255, 255, .9);
}

.ace-service-orbit__stage::before,
.ace-service-orbit__stage::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.ace-service-orbit__stage::before {
    background-image:
        linear-gradient(rgba(84, 96, 105, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(84, 96, 105, .035) 1px, transparent 1px);
    background-size: 42px 42px;
    -webkit-mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
    mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
    inset: 0;
}

.ace-service-orbit__stage::after {
    right: -8%;
    bottom: -16%;
    width: 46%;
    aspect-ratio: 1.7;
    border: 1px solid rgba(168, 16, 27, .1);
    border-radius: 50%;
    transform: rotate(-12deg);
}

.ace-service-orbit__mesh,
.ace-service-orbit__mesh i,
.ace-service-orbit__core,
.ace-service-orbit__rays {
    position: absolute;
    top: 50%;
    left: 50%;
}

.ace-service-orbit__mesh {
    width: min(500px, 48%);
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
}

.ace-service-orbit__mesh i {
    border: 1px solid rgba(125, 135, 142, .18);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.ace-service-orbit__mesh i:nth-child(1) { width: 100%; height: 100%; border-color: rgba(168, 16, 27, .2); }
.ace-service-orbit__mesh i:nth-child(2) { width: 84%; height: 84%; }
.ace-service-orbit__mesh i:nth-child(3) { width: 68%; height: 68%; }
.ace-service-orbit__mesh i:nth-child(4) { width: 52%; height: 52%; }
.ace-service-orbit__mesh i:nth-child(5) { width: 38%; height: 38%; border-style: dashed; }
.ace-service-orbit__mesh i:nth-child(6) { width: 24%; height: 24%; border-color: rgba(168, 16, 27, .25); }

.ace-service-orbit__rays {
    width: 1px;
    height: 1px;
}

.ace-service-orbit__rays i {
    position: absolute;
    top: 0;
    left: 0;
    width: 285px;
    height: 1px;
    background: linear-gradient(90deg, rgba(168, 16, 27, .36), rgba(129, 138, 144, .14));
    transform-origin: 0 50%;
}

.ace-service-orbit__rays i:nth-child(1) { transform: rotate(-112.5deg); }
.ace-service-orbit__rays i:nth-child(2) { transform: rotate(-67.5deg); }
.ace-service-orbit__rays i:nth-child(3) { transform: rotate(-22.5deg); }
.ace-service-orbit__rays i:nth-child(4) { transform: rotate(22.5deg); }
.ace-service-orbit__rays i:nth-child(5) { transform: rotate(67.5deg); }
.ace-service-orbit__rays i:nth-child(6) { transform: rotate(112.5deg); }
.ace-service-orbit__rays i:nth-child(7) { transform: rotate(157.5deg); }
.ace-service-orbit__rays i:nth-child(8) { transform: rotate(202.5deg); }

.ace-service-orbit__core {
    z-index: 3;
    display: grid;
    width: 168px;
    height: 168px;
    place-items: center;
    border: 1px solid rgba(168, 16, 27, .24);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 25px 62px rgba(168, 16, 27, .15), 0 0 0 18px rgba(255, 255, 255, .34);
    transform: translate(-50%, -50%);
}

.ace-service-orbit__core img {
    display: block;
    width: 108px;
    height: 108px;
    object-fit: contain;
}

.ace-service-orbit__core span {
    position: absolute;
    bottom: 19px;
    color: #8e8984;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .22em;
}

.ace-service-node {
    position: absolute;
    z-index: 4;
    top: var(--node-y);
    left: var(--node-x);
    display: flex;
    width: 190px;
    min-height: 66px;
    padding: 8px 12px 8px 8px;
    align-items: center;
    gap: 12px;
    color: #504c48;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 12px 30px rgba(68, 75, 80, .06);
    cursor: pointer;
    text-align: left;
    transform: translate(-50%, -50%);
    transition: color .3s ease, background .3s ease, box-shadow .3s ease, transform .3s var(--ace-ease);
}

.ace-service-node:hover,
.ace-service-node:focus-visible {
    color: var(--ace-red);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 40px rgba(73, 65, 58, .12);
    outline: 0;
    transform: translate(-50%, -50%) translateY(-3px);
}

.ace-service-node.is-active {
    color: #fff;
    background: var(--ace-red);
    box-shadow: 0 18px 44px rgba(168, 16, 27, .2);
}

.ace-service-node__icon {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(83, 78, 73, .15);
    border-radius: 50%;
    background: rgba(247, 248, 248, .88);
}

.ace-service-node.is-active .ace-service-node__icon {
    color: var(--ace-red);
    border-color: rgba(255, 255, 255, .55);
    background: #fff;
}

.ace-service-node__icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ace-service-node > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.ace-service-node small {
    margin-bottom: 3px;
    color: var(--ace-red);
    font-size: 8px;
    font-weight: 700;
}

.ace-service-node.is-active small {
    color: rgba(255, 255, 255, .66);
}

.ace-service-node b {
    font-size: 14px;
    font-weight: 650;
    white-space: nowrap;
}

.ace-service-orbit__details {
    position: relative;
    z-index: 5;
    width: 88%;
    margin: -46px 0 0 auto;
}

.ace-service-orbit__details article {
    display: grid;
    min-height: 220px;
    padding: 38px clamp(34px, 5vw, 68px);
    grid-template-columns: 90px minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(28px, 4vw, 60px);
    border: 1px solid rgba(137, 147, 153, .18);
    border-radius: 0 58px 0 58px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 26px 70px rgba(65, 73, 79, .1);
}

.ace-service-orbit__details article[hidden] {
    display: none;
}

.ace-service-orbit__details article > span {
    color: var(--ace-red);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.ace-service-orbit__details article small {
    display: block;
    margin-bottom: 10px;
    color: var(--ace-red);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
}

.ace-service-orbit__details article h3 {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 600;
    letter-spacing: -.04em;
}

.ace-service-orbit__details article p {
    max-width: 610px;
    margin: 15px 0 0;
    color: #6e6964;
    font-size: 15px;
    line-height: 1.85;
}

.ace-service-orbit__details article > b {
    align-self: stretch;
    display: flex;
    min-width: 116px;
    padding-left: 30px;
    align-items: center;
    color: #8e8984;
    border-left: 1px solid var(--ace-line);
    font-size: 13px;
    font-weight: 500;
    writing-mode: vertical-rl;
    letter-spacing: .16em;
}

.ace-service-operator__visual {
    position: relative;
    min-height: 610px;
    margin: clamp(58px, 6vw, 86px) 0 0;
    overflow: hidden;
    color: #fff;
    border-radius: 96px 18px 96px 18px;
    background: #dfe4e6;
    box-shadow: 0 32px 86px rgba(65, 72, 77, .13);
}

.ace-service-operator__visual > img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 1.1s var(--ace-ease);
}

.ace-service-operator__visual:hover > img {
    transform: scale(1.025);
}

.ace-service-operator__shade {
    position: absolute;
    background:
        linear-gradient(90deg, rgba(14, 18, 20, .74) 0%, rgba(14, 18, 20, .24) 48%, rgba(14, 18, 20, .06) 74%),
        linear-gradient(0deg, rgba(14, 18, 20, .5), transparent 48%);
    inset: 0;
}

.ace-service-operator__visual figcaption {
    position: absolute;
    z-index: 2;
    top: 0;
    right: clamp(24px, 4vw, 54px);
    bottom: 130px;
    left: clamp(40px, 6vw, 84px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ace-service-operator__visual figcaption img {
    display: block;
    width: min(300px, 100%);
    height: auto;
}

.ace-service-operator__visual figcaption strong {
    display: block;
    margin-top: 17px;
    font-size: 50px;
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: -.055em;
    white-space: nowrap;
}

.ace-service-operator__numbers {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 18%;
    display: grid;
    min-height: 130px;
    padding: 0 clamp(24px, 4vw, 54px);
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.18fr);
    align-items: center;
    border-radius: 56px 0 0 0;
    background: rgba(246, 248, 249, .91);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    color: var(--ace-ink);
}

.ace-service-operator__numbers div {
    padding: 8px clamp(12px, 2vw, 28px);
    border-right: 1px solid rgba(44, 46, 47, .12);
}

.ace-service-operator__numbers div:last-child {
    border-right: 0;
}

.ace-service-operator__numbers strong,
.ace-service-operator__numbers span {
    display: block;
}

.ace-service-operator__numbers strong {
    color: var(--ace-red);
    font-size: clamp(23px, 2.25vw, 34px);
    font-weight: 650;
    letter-spacing: -.045em;
    white-space: nowrap;
}

.ace-service-operator__numbers span {
    margin-top: 8px;
    color: #75716c;
    font-size: 14px;
}

.ace-service-story {
    display: grid;
    margin-top: clamp(70px, 8vw, 112px);
    grid-template-columns: minmax(230px, .36fr) minmax(0, .64fr);
    align-items: stretch;
    gap: clamp(42px, 6vw, 84px);
}

.ace-service-story__tabs {
    display: flex;
    flex-direction: column;
}

.ace-service-story__tabs button {
    position: relative;
    display: grid;
    min-height: 100px;
    padding: 21px 36px 21px 0;
    grid-template-columns: 35px minmax(0, 1fr) 20px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 4px 15px;
    color: #78736e;
    border: 0;
    border-bottom: 1px solid var(--ace-line);
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: color .3s ease, padding-left .3s ease;
}

.ace-service-story__tabs button::before {
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: 0;
    width: 2px;
    content: "";
    background: var(--ace-red);
    opacity: 0;
    transform: scaleY(.3);
    transition: opacity .3s ease, transform .3s ease;
}

.ace-service-story__tabs button:hover,
.ace-service-story__tabs button:focus-visible,
.ace-service-story__tabs button.is-active {
    padding-left: 16px;
    color: var(--ace-red);
    outline: 0;
}

.ace-service-story__tabs button.is-active::before {
    opacity: 1;
    transform: scaleY(1);
}

.ace-service-story__tabs button > span {
    grid-row: 1 / span 2;
    font-size: 10px;
    font-weight: 700;
}

.ace-service-story__tabs button b {
    color: currentColor;
    font-size: 19px;
    font-weight: 600;
}

.ace-service-story__tabs button small {
    color: #a09b95;
    font-size: 10px;
}

.ace-service-story__tabs button i {
    grid-column: 3;
    grid-row: 1 / span 2;
    font-size: 15px;
    font-style: normal;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity .3s ease, transform .3s ease;
}

.ace-service-story__tabs button.is-active i,
.ace-service-story__tabs button:hover i {
    opacity: 1;
    transform: none;
}

.ace-service-story__panels {
    position: relative;
    min-height: 520px;
}

.ace-service-story__panels article {
    min-height: 520px;
    padding: clamp(42px, 5vw, 70px);
    border: 1px solid rgba(137, 147, 153, .18);
    border-radius: 0 72px 0 72px;
    background:
        radial-gradient(circle at 88% 8%, rgba(168, 16, 27, .07), transparent 28%),
        rgba(255, 255, 255, .78);
    box-shadow: 0 28px 74px rgba(65, 72, 77, .08);
}

.ace-service-story__panels article[hidden] {
    display: none;
}

@media (min-width: 1001px) {
    .ace-service-story__panels {
        display: grid;
    }

    .ace-service-story__panels article {
        grid-area: 1 / 1;
    }

    .ace-service-story__panels article[hidden] {
        display: block;
        visibility: hidden;
        pointer-events: none;
    }
}

.ace-service-story__panels article > span {
    display: block;
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ace-service-story__panels h3 {
    max-width: 650px;
    margin: 20px 0 31px;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -.045em;
}

.ace-service-story__panels p {
    margin: 0 0 18px;
    color: #65615d;
    font-size: 15px;
    line-height: 2;
}

.ace-service-story__panels article > small {
    display: block;
    margin-top: 42px;
    color: #9a958f;
    font-size: 9px;
    letter-spacing: .16em;
}

.ace-service-story__tags {
    display: flex;
    margin-top: 42px;
    flex-wrap: wrap;
    gap: 9px;
}

.ace-service-story__tags span {
    padding: 9px 15px;
    color: #5f5a56;
    border: 1px solid rgba(112, 106, 101, .2);
    border-radius: 999px;
    background: rgba(255, 255, 255, .6);
    font-size: 12px;
}

.ace-service-certifications {
    display: grid;
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--ace-line);
}

.ace-service-certifications b {
    padding: 22px 15px 0 0;
    color: var(--ace-red);
    border-right: 1px solid var(--ace-line);
    font-size: clamp(18px, 2vw, 27px);
    font-weight: 650;
}

.ace-service-certifications b:last-child {
    padding-left: 16px;
    border-right: 0;
}

.ace-service-certifications b:nth-child(2) {
    padding-left: 16px;
}

.ace-service-certifications small {
    display: block;
    margin-top: 7px;
    color: #85807a;
    font-size: 9px;
    font-weight: 500;
}

.ace-service-story blockquote {
    position: relative;
    margin: 44px 0 0;
    padding: 22px 0 0 34px;
    color: var(--ace-red);
    border-top: 1px solid var(--ace-line);
    font-size: clamp(21px, 2.2vw, 31px);
    font-weight: 600;
}

.ace-service-story blockquote::before {
    position: absolute;
    top: 17px;
    left: 0;
    content: "“";
    font-family: var(--ace-sans);
    font-size: 44px;
    line-height: 1;
}

.ace-service-story blockquote::after {
    display: inline-block;
    margin-left: 8px;
    content: "”";
    font-family: var(--ace-sans);
    font-size: 44px;
    line-height: 1;
    vertical-align: -.12em;
}

.ace-service-cta {
    position: relative;
    overflow: hidden;
}

.ace-service-cta::before,
.ace-service-cta::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.ace-service-cta::before {
    top: -35%;
    right: -4%;
    width: 42vw;
    height: 31vw;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    transform: rotate(-12deg);
}

.ace-service-cta::after {
    right: 9%;
    bottom: -48%;
    width: 28vw;
    height: 25vw;
    background: rgba(102, 4, 12, .22);
    clip-path: polygon(24% 0, 100% 19%, 78% 100%, 0 76%);
    transform: rotate(9deg);
}

.ace-service-cta .ace-shell {
    position: relative;
    z-index: 1;
}

@keyframes aceServiceCoreIn {
    from { opacity: 0; transform: translate(-50%, -50%) scale(.72) rotate(-8deg); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0); }
}

@keyframes aceServiceNodeIn {
    from { opacity: 0; transform: translate(-50%, -50%) scale(.86); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes aceServicePanelIn {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.ace-service-orbit__details article.is-active,
.ace-service-story__panels article.is-active {
    animation: aceServicePanelIn .48s var(--ace-ease) both;
}

.ace-service-ecosystem.is-entered .ace-service-orbit__core {
    animation: aceServiceCoreIn .7s var(--ace-ease) both;
}

.ace-service-ecosystem.is-entered .ace-service-node {
    animation: aceServiceNodeIn .52s var(--ace-ease) both;
}

.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(1) { animation-delay: .08s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(2) { animation-delay: .14s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(3) { animation-delay: .2s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(4) { animation-delay: .26s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(5) { animation-delay: .32s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(6) { animation-delay: .38s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(7) { animation-delay: .44s; }
.ace-service-ecosystem.is-entered .ace-service-node:nth-of-type(8) { animation-delay: .5s; }

@media (max-width: 1180px) {
    .ace-service-layout {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 52px;
    }

    .ace-service-node {
        width: 172px;
    }

    .ace-service-orbit__stage {
        min-height: 650px;
    }

    .ace-service-orbit__rays i {
        width: 240px;
    }

    .ace-service-operator__numbers {
        left: 9%;
    }
}

@media (max-width: 1000px) {
    .ace-service-layout {
        display: block;
        padding-top: 82px;
        padding-bottom: 112px;
    }

    .ace-service-nav {
        position: sticky;
        top: 72px;
        display: flex;
        margin-bottom: 72px;
        align-items: center;
        border-bottom: 1px solid var(--ace-line);
        background: rgba(244, 247, 248, .92);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    .ace-service-nav > span {
        padding: 17px 24px 17px 0;
        border: 0;
        white-space: nowrap;
    }

    .ace-service-nav nav {
        display: flex;
        width: 100%;
        overflow-x: auto;
        flex-direction: row;
        scrollbar-width: none;
    }

    .ace-service-nav nav::-webkit-scrollbar {
        display: none;
    }

    .ace-service-nav a {
        min-width: 108px;
        padding: 17px 16px;
        flex: 1;
        text-align: center;
        border: 0;
        white-space: nowrap;
    }

    .ace-service-nav a::after {
        top: auto;
        right: 16px;
        bottom: 4px;
        left: 16px;
        width: auto;
        height: 2px;
        content: "";
        background: var(--ace-red);
        transform: scaleX(.2);
    }

    .ace-service-nav a:hover,
    .ace-service-nav a:focus-visible,
    .ace-service-nav a.is-active {
        padding-left: 16px;
    }

    .ace-service-nav a:hover::after,
    .ace-service-nav a:focus-visible::after,
    .ace-service-nav a.is-active::after {
        transform: scaleX(1);
    }

    .ace-service-orbit__stage {
        display: grid;
        min-height: 0;
        padding: 340px 30px 35px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 11px;
    }

    .ace-service-orbit__mesh {
        top: 160px;
        width: 270px;
    }

    .ace-service-orbit__core {
        top: 160px;
        width: 138px;
        height: 138px;
    }

    .ace-service-orbit__core img {
        width: 90px;
        height: 90px;
    }

    .ace-service-orbit__core span {
        bottom: 13px;
    }

    .ace-service-orbit__rays {
        display: none;
    }

    .ace-service-node {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        min-height: 72px;
        transform: none;
    }

    .ace-service-ecosystem.is-entered .ace-service-node {
        animation: none;
    }

    .ace-service-node:hover,
    .ace-service-node:focus-visible {
        transform: translateY(-2px);
    }

    .ace-service-orbit__details {
        width: 94%;
        margin-top: -24px;
    }

    .ace-service-orbit__details article {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .ace-service-orbit__details article > b {
        display: none;
    }

    .ace-service-operator__visual {
        min-height: 620px;
    }

    .ace-service-operator__visual figcaption {
        bottom: 218px;
    }

    .ace-service-operator__numbers {
        right: 24px;
        bottom: 24px;
        left: 24px;
        grid-template-columns: repeat(2, 1fr);
        border-radius: 36px 0 36px 0;
    }

    .ace-service-operator__numbers div {
        padding: 18px 22px;
    }

    .ace-service-operator__numbers div:nth-child(2) {
        border-right: 0;
    }

    .ace-service-operator__numbers div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(44, 46, 47, .12);
    }

    .ace-service-story {
        grid-template-columns: 1fr;
    }

    .ace-service-story__tabs {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border-bottom: 1px solid var(--ace-line);
    }

    .ace-service-story__tabs button {
        min-height: 104px;
        padding: 18px 14px;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 4px;
        border-right: 1px solid var(--ace-line);
        border-bottom: 0;
        text-align: center;
    }

    .ace-service-story__tabs button:last-child {
        border-right: 0;
    }

    .ace-service-story__tabs button::before {
        top: auto;
        right: 14px;
        bottom: -1px;
        left: 14px;
        width: auto;
        height: 2px;
        transform: scaleX(.3);
    }

    .ace-service-story__tabs button:hover,
    .ace-service-story__tabs button:focus-visible,
    .ace-service-story__tabs button.is-active {
        padding-left: 14px;
    }

    .ace-service-story__tabs button.is-active::before {
        transform: scaleX(1);
    }

    .ace-service-story__tabs button > span,
    .ace-service-story__tabs button i {
        grid-row: auto;
        grid-column: auto;
    }

    .ace-service-story__tabs button i {
        display: none;
    }
}

@media (max-width: 720px) {
    .ace-service-main::before {
        right: -68%;
        width: 145vw;
        height: 105vw;
    }

    .ace-service-layout {
        padding-top: 54px;
        padding-bottom: 88px;
    }

    .ace-service-nav {
        top: 70px;
        margin-right: -20px;
        margin-bottom: 58px;
        margin-left: -20px;
        padding-left: 20px;
    }

    .ace-service-nav > span {
        display: none;
    }

    .ace-service-nav a {
        min-width: 104px;
        padding-block: 15px;
        font-size: 16px;
    }

    .ace-service-section {
        padding-bottom: 94px;
    }

    .ace-service-heading--split,
    .ace-service-heading--row {
        grid-template-columns: 1fr;
        gap: 31px;
    }

    .ace-service-heading h2 {
        font-size: 39px;
        line-height: 1.18;
    }

    .ace-service-heading--split > p,
    .ace-service-heading--row > p {
        margin: 0;
        padding-left: 17px;
        font-size: 15px;
        line-height: 1.9;
    }

    .ace-service-journey {
        margin-top: 52px;
        padding-left: 27px;
        grid-template-columns: 1fr;
    }

    .ace-service-journey__line {
        top: 0;
        bottom: 0;
        left: 7px;
        width: 1px;
        height: auto;
    }

    .ace-service-journey__line i {
        width: 100%;
        height: 33.333%;
    }

    .ace-service-journey article {
        min-height: 0;
        padding: 8px 0 42px 20px;
        border-bottom: 0;
    }

    .ace-service-journey article:last-child {
        padding-bottom: 0;
    }

    .ace-service-journey article::before {
        top: 5px;
        left: -27px;
    }

    .ace-service-journey h3 {
        margin-top: 19px;
    }

    .ace-service-orbit {
        margin-top: 48px;
    }

    .ace-service-orbit__stage {
        padding: 255px 12px 22px;
        border-radius: 48px 12px 48px 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .ace-service-orbit__mesh {
        top: 124px;
        width: 205px;
    }

    .ace-service-orbit__core {
        top: 124px;
        width: 112px;
        height: 112px;
        box-shadow: 0 18px 44px rgba(168, 16, 27, .14), 0 0 0 12px rgba(255, 255, 255, .32);
    }

    .ace-service-orbit__core img {
        width: 76px;
        height: 76px;
    }

    .ace-service-orbit__core span {
        display: none;
    }

    .ace-service-node {
        min-height: 66px;
        padding: 7px;
        gap: 8px;
        border-radius: 18px;
    }

    .ace-service-node__icon {
        width: 38px;
        height: 38px;
    }

    .ace-service-node__icon svg {
        width: 21px;
        height: 21px;
    }

    .ace-service-node b {
        font-size: 12px;
        white-space: normal;
    }

    .ace-service-orbit__details {
        width: calc(100% - 16px);
        margin-top: -10px;
    }

    .ace-service-orbit__details article {
        min-height: 0;
        padding: 31px 25px 34px;
        grid-template-columns: 1fr;
        gap: 22px;
        border-radius: 0 38px 0 38px;
    }

    .ace-service-orbit__details article h3 {
        font-size: 31px;
    }

    .ace-service-orbit__details article p {
        font-size: 14px;
    }

    .ace-service-operator__visual {
        min-height: 600px;
        border-radius: 58px 12px 58px 12px;
    }

    .ace-service-operator__visual > img {
        top: -80px;
        height: calc(100% + 80px);
        object-position: 61% center;
    }

    .ace-service-operator__shade {
        top: -80px;
        background: linear-gradient(180deg, rgba(13, 17, 19, .68) 0%, rgba(13, 17, 19, .08) 46%, rgba(13, 17, 19, .54) 100%);
    }

    .ace-service-operator__visual figcaption {
        top: -80px;
        right: 28px;
        bottom: 192px;
        left: 28px;
    }

    .ace-service-operator__visual figcaption img {
        width: min(238px, 100%);
    }

    .ace-service-operator__visual figcaption strong {
        font-size: clamp(29px, 8.1vw, 33.5px);
    }

    .ace-service-operator__numbers {
        right: 14px;
        bottom: 14px;
        left: 14px;
        padding: 8px 6px;
        border-radius: 30px 0 30px 0;
    }

    .ace-service-operator__numbers div {
        padding: 15px 12px;
    }

    .ace-service-operator__numbers strong {
        font-size: 23px;
    }

    .ace-service-story {
        margin-top: 72px;
        gap: 34px;
    }

    .ace-service-story__tabs {
        overflow-x: auto;
        grid-template-columns: repeat(4, 112px);
        scrollbar-width: none;
    }

    .ace-service-story__tabs::-webkit-scrollbar {
        display: none;
    }

    .ace-service-story__tabs button {
        min-height: 96px;
        padding: 14px 10px;
    }

    .ace-service-story__tabs button b {
        font-size: 16px;
    }

    .ace-service-story__panels,
    .ace-service-story__panels article {
        min-height: 0;
    }

    .ace-service-story__panels article {
        padding: 36px 27px 40px;
        border-radius: 0 44px 0 44px;
    }

    .ace-service-story__panels h3 {
        font-size: 32px;
    }

    .ace-service-story__panels p {
        font-size: 15px;
        line-height: 1.9;
    }

    .ace-service-certifications {
        grid-template-columns: 1fr;
    }

    .ace-service-certifications b,
    .ace-service-certifications b:nth-child(2),
    .ace-service-certifications b:last-child {
        padding: 17px 0;
        border-right: 0;
        border-bottom: 1px solid var(--ace-line);
    }

    .ace-service-certifications b:last-child {
        border-bottom: 0;
    }

    .ace-service-cta h2 {
        font-size: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-service-node,
    .ace-service-orbit__core,
    .ace-service-orbit__details article,
    .ace-service-operator__visual > img,
    .ace-service-story__panels article,
    .ace-service-story__tabs button {
        animation: none !important;
        transition: none;
    }
}

/* News index V2: image-independent editorial directory */
.ace-news-index-page {
    background: #f4f3f0;
}

.ace-news-index-page .ace-news-hero {
    height: clamp(500px, 39vw, 560px);
    min-height: 500px;
}

.ace-news-index-page .ace-news-hero .ace-shell {
    padding-bottom: clamp(66px, 6.8vw, 96px);
}

.ace-news-directory {
    position: relative;
    overflow: hidden;
    padding: clamp(86px, 9vw, 136px) 0 clamp(110px, 12vw, 180px);
    color: var(--ace-ink);
    background:
        radial-gradient(circle at 88% 4%, rgba(168, 16, 27, .055), transparent 24%),
        radial-gradient(ellipse at 8% 48%, rgba(187, 193, 197, .24), transparent 28%),
        linear-gradient(135deg, #f7f6f3 0%, #eef1f2 52%, #faf9f6 100%);
    isolation: isolate;
}

.ace-news-directory::before {
    position: absolute;
    z-index: -1;
    top: 330px;
    right: -310px;
    width: 780px;
    height: 390px;
    content: "";
    border: 1px solid rgba(92, 98, 102, .13);
    border-radius: 50%;
    pointer-events: none;
    transform: rotate(-12deg);
}

.ace-news-directory::after {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: min(390px, 28vw);
    height: 220px;
    content: "";
    background:
        linear-gradient(rgba(71, 64, 58, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(71, 64, 58, .035) 1px, transparent 1px);
    background-size: 38px 38px;
    -webkit-mask-image: linear-gradient(135deg, #000, transparent 74%);
    mask-image: linear-gradient(135deg, #000, transparent 74%);
    pointer-events: none;
}

.ace-news-directory > .ace-shell {
    position: relative;
    z-index: 1;
}

.ace-news-directory__head {
    display: grid;
    margin-bottom: clamp(26px, 3vw, 38px);
    padding: 18px 0 20px;
    border: 0;
    border-top: 1px solid rgba(23, 23, 22, .11);
    border-bottom: 1px solid rgba(23, 23, 22, .11);
    border-radius: 0;
    grid-template-columns: 158px minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 3.2vw, 46px);
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.ace-news-directory__heading {
    padding: 0;
    border: 0;
}

.ace-news-directory__heading .ace-kicker {
    margin-bottom: 6px;
    font-size: 9px;
    letter-spacing: .15em;
}

.ace-news-directory__heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: 20px;
    font-weight: 620;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.ace-news-directory__heading p {
    max-width: none;
    margin: 5px 0 0;
    color: #716c67;
    font-size: 10px;
    line-height: 1.5;
}

.ace-news-search--v2 {
    display: block;
    border: 0;
}

.ace-news-search--v2 > label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.ace-news-filter__fields {
    display: grid;
    grid-template-columns: minmax(210px, 1.2fr) minmax(142px, .72fr) auto minmax(142px, .72fr);
    align-items: stretch;
    gap: 10px;
}

.ace-news-search__field {
    display: grid;
    min-height: 52px;
    padding: 6px 14px;
    border: 1px solid rgba(64, 59, 55, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .64);
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}

.ace-news-search__field:focus-within {
    border-color: rgba(168, 16, 27, .45);
    background: #fff;
    box-shadow: 0 14px 32px rgba(83, 62, 55, .09), inset 0 0 0 1px rgba(168, 16, 27, .12);
}

.ace-news-search__field svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #77716b;
    stroke-linecap: round;
    stroke-width: 1.5;
}

.ace-news-search--v2 input {
    width: 100%;
    min-width: 0;
    padding: 13px 0;
    color: var(--ace-ink);
    font: inherit;
    font-size: 14px;
    background: transparent;
}

.ace-news-search--v2 input::placeholder {
    color: #98928c;
}

.ace-news-search--v2 .ace-news-filter__date {
    display: grid;
    position: static;
    min-width: 0;
    width: auto;
    min-height: 52px;
    height: auto;
    overflow: visible;
    padding: 7px 12px 5px;
    border: 1px solid rgba(64, 59, 55, .14);
    border-radius: 12px;
    clip: auto;
    background: rgba(255, 255, 255, .64);
    white-space: normal;
    align-content: center;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}

.ace-news-search--v2 .ace-news-filter__date:focus-within {
    border-color: rgba(168, 16, 27, .45);
    background: #fff;
    box-shadow: 0 14px 32px rgba(83, 62, 55, .09), inset 0 0 0 1px rgba(168, 16, 27, .12);
}

.ace-news-search--v2 .ace-news-filter__date span {
    color: #8a837d;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .09em;
}

.ace-news-search--v2 .ace-news-filter__date input {
    min-height: 30px;
    padding: 2px 0 0;
    border: 0;
    color: var(--ace-ink);
    font-size: 12px;
    outline: 0;
    background: transparent;
}

.ace-news-filter__separator {
    display: grid;
    width: 14px;
    place-items: center;
    color: #9a938d;
    font-size: 12px;
}

.ace-news-filter__actions {
    display: flex;
    min-height: 38px;
    margin-top: 5px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ace-news-filter__actions > span {
    color: #817a74;
    font-size: 11px;
}

.ace-news-filter__actions > div {
    display: flex;
    align-items: center;
    gap: 15px;
}

.ace-news-filter__actions a {
    padding: 8px 2px;
    border-bottom: 1px solid rgba(23, 23, 22, .35);
    color: #6f6963;
    font-size: 11px;
    transition: color .25s ease, border-color .25s ease;
}

.ace-news-filter__actions a:hover,
.ace-news-filter__actions a:focus-visible {
    border-color: var(--ace-red);
    color: var(--ace-red);
}

.ace-news-search--v2 button {
    display: inline-flex;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    font-size: 13px;
    background: var(--ace-red);
    transition: background .3s ease, transform .3s var(--ace-ease);
}

.ace-news-search--v2 button span {
    font-size: 16px;
    transition: transform .3s ease;
}

.ace-news-search--v2 button:hover,
.ace-news-search--v2 button:focus-visible {
    background: #870b14;
    transform: translateY(-2px);
}

.ace-news-search--v2 button:hover span,
.ace-news-search--v2 button:focus-visible span {
    transform: translateX(3px);
}

.ace-news-lead {
    --ace-news-lead-shift: 30px;
    position: relative;
    overflow: hidden;
    margin: 0 0 clamp(26px, 3vw, 38px);
    border: 1px solid rgba(73, 67, 62, .11);
    border-radius: 28px;
    background:
        radial-gradient(circle at 92% 14%, rgba(168, 16, 27, .09), transparent 26%),
        linear-gradient(118deg, rgba(255, 255, 255, .96), rgba(241, 238, 233, .86));
    box-shadow: 0 30px 78px rgba(70, 63, 57, .1);
}

.ace-news-lead::after {
    position: absolute;
    right: -70px;
    bottom: -105px;
    width: 360px;
    height: 220px;
    content: "";
    border: 1px solid rgba(168, 16, 27, .18);
    border-radius: 50%;
    pointer-events: none;
    transform: rotate(-12deg);
    transition: transform .6s var(--ace-ease);
}

.ace-news-lead__stage {
    display: grid;
}

.ace-news-lead__slide {
    z-index: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    grid-area: 1 / 1;
    transform: translateX(var(--ace-news-lead-shift));
    transition: visibility 0s linear .42s, opacity .42s ease, transform .55s var(--ace-ease);
}

.ace-news-lead[data-direction="prev"] {
    --ace-news-lead-shift: -30px;
}

.ace-news-lead__slide.is-active {
    z-index: 1;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
}

.ace-news-lead__slide > a {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 286px;
    padding: clamp(34px, 4.2vw, 62px);
    grid-template-columns: 116px minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(30px, 4.5vw, 72px);
    outline: 0;
}

.ace-news-lead time,
.ace-news-record time {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    color: var(--ace-ink);
}

.ace-news-lead time {
    min-height: 112px;
    padding-right: 28px;
    justify-content: center;
    border-right: 1px solid rgba(23, 23, 22, .13);
}

.ace-news-lead time strong {
    font-family: var(--ace-sans);
    font-size: clamp(54px, 5vw, 76px);
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.065em;
}

.ace-news-lead time span {
    margin-top: 12px;
    color: var(--ace-red);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .09em;
}

.ace-news-lead__copy {
    min-width: 0;
}

.ace-news-lead__copy small,
.ace-news-record__copy small {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .16em;
}

.ace-news-lead__copy h3 {
    max-width: 840px;
    margin: 18px 0 14px;
    font-family: var(--ace-sans);
    font-size: clamp(29px, 3vw, 46px);
    font-weight: 580;
    line-height: 1.36;
    letter-spacing: -.04em;
    transition: color .3s ease;
}

.ace-news-lead__copy p {
    margin: 0;
    color: #79726c;
    font-size: 13px;
    line-height: 1.8;
}

.ace-news-lead__action {
    display: inline-flex;
    min-width: 112px;
    padding-bottom: 9px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(23, 23, 22, .55);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.ace-news-lead__action i {
    color: var(--ace-red);
    font-size: 17px;
    font-style: normal;
    transition: transform .3s ease;
}

.ace-news-lead__controls {
    position: absolute;
    z-index: 3;
    top: 26px;
    right: 28px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ace-news-lead__controls > span {
    min-width: 62px;
    margin-right: 5px;
    color: #88817b;
    font-family: var(--ace-sans);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
    text-align: right;
}

.ace-news-lead__controls b {
    color: var(--ace-red);
    font-size: 13px;
    font-weight: 650;
}

.ace-news-lead__controls i {
    font-style: normal;
}

.ace-news-lead__controls button {
    display: grid;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(23, 23, 22, .13);
    border-radius: 50%;
    place-items: center;
    color: var(--ace-ink);
    font-size: 15px;
    background: rgba(255, 255, 255, .78);
    transition: color .28s ease, border-color .28s ease, background .28s ease, transform .28s var(--ace-ease);
}

.ace-news-lead__controls button:hover,
.ace-news-lead__controls button:focus-visible {
    border-color: var(--ace-red);
    color: #fff;
    background: var(--ace-red);
    transform: translateY(-2px);
}

.ace-news-lead:hover::after {
    transform: translate(-22px, -8px) rotate(-5deg);
}

.ace-news-lead__slide > a:hover .ace-news-lead__copy h3,
.ace-news-lead__slide > a:focus-visible .ace-news-lead__copy h3 {
    color: var(--ace-red);
}

.ace-news-lead__slide > a:hover .ace-news-lead__action i,
.ace-news-lead__slide > a:focus-visible .ace-news-lead__action i {
    transform: translate(4px, -4px);
}

.ace-news-lead__slide > a:focus-visible {
    box-shadow: inset 0 0 0 3px rgba(168, 16, 27, .34);
}

.ace-news-records {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(72, 66, 61, .1);
    border-radius: 24px;
    gap: 0;
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 22px 58px rgba(70, 63, 57, .07);
}

.ace-news-record {
    position: relative;
    margin: 0;
    border-bottom: 1px solid rgba(72, 66, 61, .1);
}

.ace-news-record:last-child {
    border-bottom: 0;
}

.ace-news-record > a {
    position: relative;
    display: grid;
    min-height: 108px;
    overflow: hidden;
    padding: 17px clamp(24px, 3vw, 44px);
    border: 0;
    border-radius: 0;
    grid-template-columns: 88px minmax(0, 1fr) 34px;
    align-items: center;
    gap: clamp(22px, 3.2vw, 48px);
    outline: 0;
    background: transparent;
    box-shadow: none;
    transition: background .3s ease, box-shadow .3s ease;
}

.ace-news-record > a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    content: "";
    border-radius: 0 3px 3px 0;
    background: var(--ace-red);
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .35s var(--ace-ease);
}

.ace-news-record time {
    min-height: 54px;
    padding-right: 20px;
    align-items: flex-start;
    justify-content: center;
    border-right: 1px solid rgba(23, 23, 22, .12);
}

.ace-news-record time strong {
    font-family: var(--ace-sans);
    font-size: 31px;
    font-weight: 530;
    line-height: 1;
    letter-spacing: -.045em;
}

.ace-news-record time span {
    margin-top: 5px;
    color: #8a837d;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .08em;
}

.ace-news-record__copy {
    min-width: 0;
}

.ace-news-record__copy h3 {
    max-width: 980px;
    margin: 0;
    font-family: var(--ace-sans);
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 570;
    line-height: 1.5;
    letter-spacing: -.025em;
    transition: color .3s ease;
}

.ace-news-record__arrow {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    color: #89827c;
    font-size: 16px;
    background: transparent;
    transition: color .3s ease, background .3s ease, transform .3s ease;
}

.ace-news-record > a:hover,
.ace-news-record > a:focus-visible {
    background: rgba(255, 255, 255, .78);
    box-shadow: inset 4px 0 0 rgba(168, 16, 27, .08);
}

.ace-news-record > a:hover::before,
.ace-news-record > a:focus-visible::before {
    transform: scaleY(1);
}

.ace-news-record > a:hover .ace-news-record__copy h3,
.ace-news-record > a:focus-visible .ace-news-record__copy h3 {
    color: var(--ace-red);
}

.ace-news-record > a:hover .ace-news-record__arrow,
.ace-news-record > a:focus-visible .ace-news-record__arrow {
    color: var(--ace-red);
    background: rgba(168, 16, 27, .07);
    transform: translate(3px, -3px);
}

.ace-news-empty {
    padding: clamp(64px, 8vw, 110px) clamp(30px, 6vw, 90px);
    border: 1px solid rgba(73, 67, 62, .11);
    border-radius: 24px;
    text-align: center;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 24px 65px rgba(70, 63, 57, .07);
}

.ace-news-empty > span {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .18em;
}

.ace-news-empty h3 {
    margin: 18px 0 0;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 560;
}

.ace-news-empty p {
    margin: 15px 0 28px;
    color: #77716b;
    font-size: 14px;
}

.ace-news-empty a {
    display: inline-flex;
    padding-bottom: 8px;
    gap: 16px;
    border-bottom: 1px solid currentColor;
    font-size: 13px;
    font-weight: 700;
}

.ace-news-empty i {
    color: var(--ace-red);
    font-style: normal;
}

.ace-news-pagination {
    display: grid;
    margin-top: clamp(52px, 6vw, 86px);
    padding-top: 32px;
    border-top: 1px solid rgba(23, 23, 22, .12);
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
}

.ace-news-pagination .ace-news-pagination__direction {
    display: inline-flex;
    width: max-content;
    height: auto;
    min-height: 46px;
    padding: 0 17px;
    border: 0;
    border-radius: 14px;
    align-items: center;
    gap: 12px;
    color: var(--ace-ink);
    font-size: 12px;
    background: rgba(255, 255, 255, .66);
    transition: color .3s ease, background .3s ease, transform .3s ease;
}

.ace-news-pagination .ace-news-pagination__direction:last-child {
    justify-self: end;
}

.ace-news-pagination .ace-news-pagination__direction:hover,
.ace-news-pagination .ace-news-pagination__direction:focus-visible {
    color: #fff;
    background: var(--ace-red);
    transform: translateY(-2px);
}

.ace-news-pagination .ace-news-pagination__direction.is-disabled {
    opacity: .36;
}

.ace-news-pagination .ace-news-pagination__direction > span,
.ace-news-pagination .ace-news-pagination__direction > b {
    display: inline;
    width: auto;
    height: auto;
    border: 0;
    font-size: inherit;
    font-weight: 650;
}

.ace-news-pagination__pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.ace-news-pagination .ace-news-pagination__pages > a,
.ace-news-pagination .ace-news-pagination__pages > strong,
.ace-news-pagination .ace-news-pagination__pages > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    font-size: 12px;
    background: transparent;
}

.ace-news-pagination .ace-news-pagination__pages > a {
    transition: color .25s ease, background .25s ease;
}

.ace-news-pagination .ace-news-pagination__pages > a:hover,
.ace-news-pagination .ace-news-pagination__pages > a:focus-visible {
    color: var(--ace-red);
    background: rgba(255, 255, 255, .82);
}

.ace-news-pagination .ace-news-pagination__pages > strong {
    color: #fff;
    background: var(--ace-red);
}

.ace-news-pagination .ace-news-pagination__pages > span {
    width: 24px;
    color: #8b847e;
}

@media (max-width: 980px) {
    .ace-news-directory__head {
        grid-template-columns: 138px minmax(0, 1fr);
        gap: 24px;
    }

    .ace-news-directory__heading {
        padding: 0;
        border-right: 0;
        border-bottom: 0;
    }

    .ace-news-lead__slide > a {
        min-height: 250px;
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .ace-news-lead__action {
        grid-column: 2;
        justify-self: start;
    }

    .ace-news-record > a {
        grid-template-columns: 82px minmax(0, 1fr) 32px;
        gap: 24px;
    }
}

@media (max-width: 720px) {
    .ace-news-index-page .ace-news-hero {
        height: 390px;
        min-height: 390px;
        background-position: center;
    }

    .ace-news-index-page .ace-news-hero .ace-shell {
        padding-bottom: 54px;
    }

    .ace-news-index-page .ace-news-hero h1 {
        font-size: clamp(48px, 14vw, 62px);
    }

    .ace-news-index-page .ace-news-hero p {
        max-width: 310px;
        margin-top: 18px;
        font-size: 15px;
    }

    .ace-news-directory {
        padding: 58px 0 90px;
    }

    .ace-news-directory::before {
        top: 410px;
        right: -270px;
        width: 520px;
        height: 260px;
    }

    .ace-news-directory::after {
        width: 220px;
        height: 160px;
    }

    .ace-news-directory__head {
        margin-bottom: 26px;
        padding: 17px 0 19px;
        border-radius: 0;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ace-news-directory__heading h2 {
        font-size: 19px;
    }

    .ace-news-directory__heading p {
        margin-top: 4px;
        font-size: 10px;
        line-height: 1.5;
    }

    .ace-news-filter__fields {
        grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr);
        gap: 9px;
    }

    .ace-news-search__field {
        grid-column: 1 / -1;
    }

    .ace-news-search__field {
        min-height: 50px;
        padding: 5px 13px;
        border-radius: 12px;
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 8px;
    }

    .ace-news-search--v2 .ace-news-filter__date {
        min-height: 50px;
        border-radius: 12px;
    }

    .ace-news-filter__actions {
        margin-top: 10px;
    }

    .ace-news-search--v2 button {
        min-height: 38px;
        padding: 0 15px;
        border-radius: 11px;
    }

    .ace-news-search--v2 button span {
        display: none;
    }

    .ace-news-lead {
        margin-bottom: 28px;
        border-radius: 22px;
    }

    .ace-news-lead__slide > a {
        min-height: 0;
        padding: 74px 25px 32px;
        grid-template-columns: 64px minmax(0, 1fr);
        align-items: start;
        gap: 22px;
    }

    .ace-news-lead time {
        min-height: 74px;
        padding-right: 16px;
        justify-content: flex-start;
    }

    .ace-news-lead time strong {
        font-size: 43px;
    }

    .ace-news-lead time span {
        margin-top: 8px;
        font-size: 9px;
    }

    .ace-news-lead__copy small {
        font-size: 9px;
        letter-spacing: .12em;
    }

    .ace-news-lead__copy h3 {
        margin: 11px 0 0;
        font-size: 23px;
        line-height: 1.48;
    }

    .ace-news-lead__copy p {
        display: none;
    }

    .ace-news-lead__action {
        min-width: 104px;
        margin-top: 2px;
        grid-column: 2;
    }

    .ace-news-lead__controls {
        top: 19px;
        right: 20px;
    }

    .ace-news-lead__controls button {
        width: 38px;
        height: 38px;
    }

    .ace-news-records {
        border-radius: 18px;
        gap: 0;
    }

    .ace-news-record > a {
        min-height: 104px;
        padding: 15px 16px;
        border-radius: 0;
        grid-template-columns: 52px minmax(0, 1fr) 26px;
        gap: 13px;
    }

    .ace-news-record time {
        min-height: 52px;
        padding-right: 10px;
    }

    .ace-news-record time strong {
        font-size: 27px;
    }

    .ace-news-record time span {
        font-size: 8px;
    }

    .ace-news-record__copy h3 {
        display: -webkit-box;
        margin: 0;
        overflow: hidden;
        font-size: 16px;
        line-height: 1.5;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .ace-news-record__arrow {
        width: 26px;
        height: 26px;
        font-size: 14px;
    }

    .ace-news-record > a:hover,
    .ace-news-record > a:focus-visible {
        transform: none;
    }

    .ace-news-pagination {
        margin-top: 48px;
        padding-top: 24px;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }

    .ace-news-pagination__pages {
        grid-column: 1 / -1;
        grid-row: 1;
        gap: 2px;
    }

    .ace-news-pagination .ace-news-pagination__direction {
        grid-row: 2;
    }

    .ace-news-pagination .ace-news-pagination__pages > a,
    .ace-news-pagination .ace-news-pagination__pages > strong {
        width: 38px;
        height: 38px;
    }

    .ace-news-empty {
        padding: 58px 24px;
        border-radius: 20px;
    }
}

@media (max-width: 420px) {
    .ace-news-directory__head {
        padding: 16px 0 18px;
    }

    .ace-news-search--v2 button {
        padding-inline: 13px;
    }

    .ace-news-lead__slide > a {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 16px;
    }

    .ace-news-lead time {
        padding-right: 12px;
    }

    .ace-news-lead time strong {
        font-size: 38px;
    }

    .ace-news-lead__copy h3 {
        font-size: 21px;
    }

    .ace-news-record > a {
        padding-inline: 15px;
        grid-template-columns: 49px minmax(0, 1fr) 24px;
        gap: 12px;
    }

    .ace-news-record time {
        padding-right: 10px;
    }

    .ace-news-record time strong {
        font-size: 27px;
    }

    .ace-news-record__arrow {
        width: 24px;
        height: 24px;
    }

    .ace-news-pagination .ace-news-pagination__direction {
        min-height: 44px;
        padding-inline: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-news-lead::after,
    .ace-news-lead__slide,
    .ace-news-lead__copy h3,
    .ace-news-lead__action i,
    .ace-news-lead__controls button,
    .ace-news-record > a,
    .ace-news-record > a::before,
    .ace-news-record__copy h3,
    .ace-news-record__arrow,
    .ace-news-search__field,
    .ace-news-search--v2 .ace-news-filter__date,
    .ace-news-search--v2 button,
    .ace-news-search--v2 button span,
    .ace-news-pagination a {
        transition: none !important;
    }
}

/* Wangshan project detail pilot: full-width imagery, layered storytelling and no side navigation. */
.ace-project-redesign-page {
    background: #f7f6f3;
}

.ace-project-redesign-page main {
    overflow: clip;
}

.ace-project-redesign-page .ace-ws-section,
.ace-project-redesign-page .ace-ws-apply {
    scroll-margin-top: 126px;
}

.ace-project-redesign-page .ace-ws-hero {
    position: relative;
    min-height: min(940px, 92svh);
    overflow: hidden;
    color: #fff;
    background: #34383c;
}

.ace-project-redesign-page .ace-ws-hero__image,
.ace-project-redesign-page .ace-ws-hero__veil {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
}

.ace-project-redesign-page .ace-ws-hero__image {
    object-fit: cover;
    object-position: var(--ace-project-hero-position, center);
    transform: scale(1.015);
    animation: aceWsHeroSettle 1.8s var(--ace-ease) both;
}

.ace-project-redesign-page .ace-ws-hero__veil {
    background:
        linear-gradient(90deg, rgba(8, 16, 24, .75) 0%, rgba(8, 16, 24, .23) 56%, rgba(8, 16, 24, .08) 100%),
        linear-gradient(0deg, rgba(8, 15, 22, .7) 0%, transparent 52%);
}

.ace-project-redesign-page .ace-ws-hero__veil::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(780px, 56vw);
    height: 1px;
    content: "";
    background: rgba(255, 255, 255, .45);
}

.ace-project-redesign-page .ace-ws-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: min(940px, 92svh);
    padding-top: 190px;
    padding-bottom: clamp(166px, 18vh, 210px);
    justify-content: flex-end;
    flex-direction: column;
}

.ace-project-redesign-page .ace-ws-hero__copy > p {
    margin: 18px 0 8px;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(15px, 1.3vw, 19px);
    letter-spacing: .2em;
}

.ace-project-redesign-page .ace-ws-hero h1 {
    max-width: 1080px;
    margin: 0;
    font-size: clamp(64px, 8.4vw, 132px);
    font-weight: 500;
    line-height: .94;
    letter-spacing: -.075em;
    text-wrap: balance;
}

.ace-project-redesign-page .ace-ws-hero__copy > a {
    display: inline-flex;
    width: max-content;
    margin-top: clamp(34px, 5vh, 60px);
    padding: 0 0 11px;
    align-items: center;
    gap: 52px;
    border-bottom: 1px solid rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
}

.ace-project-redesign-page .ace-ws-hero__copy > a span {
    font-size: 18px;
    transition: transform .3s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-hero__copy > a:hover span,
.ace-project-redesign-page .ace-ws-hero__copy > a:focus-visible span {
    transform: translateY(5px);
}

.ace-project-redesign-page .ace-ws-hero__facts {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    display: grid;
    width: min(920px, 64vw);
    min-height: 124px;
    color: var(--ace-ink);
    background: rgba(255, 255, 255, .92);
    box-shadow: -28px -20px 80px rgba(4, 12, 19, .1);
    backdrop-filter: blur(20px);
    grid-template-columns: repeat(4, 1fr);
}

.ace-project-redesign-page .ace-ws-hero__facts > div {
    display: flex;
    padding: 22px clamp(16px, 2.2vw, 34px);
    justify-content: center;
    flex-direction: column;
    border-left: 1px solid rgba(23, 23, 22, .12);
}

.ace-project-redesign-page .ace-ws-hero__facts small,
.ace-project-redesign-page .ace-ws-hero__facts strong {
    display: block;
}

.ace-project-redesign-page .ace-ws-hero__facts small {
    margin-bottom: 8px;
    color: #817b75;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .13em;
}

.ace-project-redesign-page .ace-ws-hero__facts strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: clamp(29px, 2.6vw, 42px);
    font-weight: 400;
    line-height: 1;
}

.ace-project-redesign-page .ace-ws-hero__facts em {
    margin-left: 6px;
    color: var(--ace-ink);
    font-family: var(--ace-sans);
    font-size: 12px;
    font-style: normal;
    font-weight: 650;
}

@keyframes aceWsHeroSettle {
    from { opacity: .55; transform: scale(1.08); }
    to { opacity: 1; transform: scale(1.015); }
}

.ace-project-redesign-page .ace-ws-jump {
    position: sticky;
    z-index: 24;
    top: 0;
    isolation: isolate;
    border-bottom: 1px solid rgba(23, 23, 22, .11);
    background: rgba(250, 249, 246, .94);
    backdrop-filter: blur(18px);
}

.ace-project-redesign-page .ace-ws-jump::before,
.ace-project-redesign-page .ace-ws-jump::after {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: 28px;
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}

.ace-project-redesign-page .ace-ws-jump::before {
    left: 0;
    background: linear-gradient(90deg, rgba(23, 23, 22, .16), rgba(23, 23, 22, .05) 46%, rgba(23, 23, 22, 0));
}

.ace-project-redesign-page .ace-ws-jump::after {
    right: 0;
    background: linear-gradient(270deg, rgba(23, 23, 22, .16), rgba(23, 23, 22, .05) 46%, rgba(23, 23, 22, 0));
}

.ace-project-redesign-page .ace-ws-jump.has-left-overflow::before,
.ace-project-redesign-page .ace-ws-jump.has-right-overflow::after {
    opacity: 1;
}

.ace-project-redesign-page .ace-ws-jump__scroll {
    width: 100%;
}

.ace-project-redesign-page .ace-header.is-fixed + main .ace-ws-jump {
    top: 88px;
}

@media (max-width: 980px) {
    .ace-project-redesign-page .ace-header.is-fixed + main .ace-ws-jump {
        top: 72px;
    }
}

.ace-project-redesign-page .ace-ws-jump .ace-shell {
    display: flex;
    min-width: max-content;
    justify-content: center;
}

.ace-project-redesign-page .ace-ws-jump a {
    position: relative;
    display: flex;
    flex: 0 0 20%;
    min-height: 72px;
    padding: 0 clamp(18px, 2.4vw, 38px);
    align-items: center;
    gap: 15px;
    color: #4b4844;
    font-size: 13px;
    font-weight: 650;
}

.ace-project-redesign-page .ace-ws-jump a + a {
    border-left: 1px solid rgba(23, 23, 22, .09);
}

.ace-project-redesign-page .ace-ws-jump a::after {
    position: absolute;
    right: 50%;
    bottom: -1px;
    left: 50%;
    height: 2px;
    content: "";
    background: var(--ace-red);
    transition: right .28s var(--ace-ease), left .28s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-jump a:hover::after,
.ace-project-redesign-page .ace-ws-jump a:focus-visible::after {
    right: 0;
    left: 0;
}

.ace-project-redesign-page .ace-ws-jump span {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 11px;
}

.ace-project-redesign-page .ace-ws-section {
    position: relative;
    padding: clamp(104px, 10vw, 164px) 0;
}

.ace-project-redesign-page .ace-ws-heading {
    position: relative;
    z-index: 2;
}

.ace-project-redesign-page .ace-ws-heading--row,
.ace-project-redesign-page .ace-ws-heading--split {
    display: flex;
    margin-bottom: clamp(52px, 6.8vw, 92px);
    padding-bottom: clamp(24px, 2.7vw, 38px);
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(35px, 7vw, 110px);
    border-bottom: 1px solid rgba(23, 23, 22, .14);
}

.ace-project-redesign-page .ace-ws-heading h2 {
    margin: 0;
    font-size: clamp(48px, 5.6vw, 86px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.065em;
}

.ace-project-redesign-page .ace-ws-heading > p {
    max-width: 460px;
    margin: 0;
    padding-left: 18px;
    color: #68635d;
    border-left: 2px solid var(--ace-red);
    font-size: 14px;
    line-height: 1.8;
}

.ace-project-redesign-page .ace-ws-overview {
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 18%, rgba(168, 16, 27, .055), transparent 23%),
        linear-gradient(145deg, #fff 0%, #f5f6f6 62%, #fff 100%);
}

.ace-project-redesign-page .ace-ws-overview::after {
    position: absolute;
    right: -170px;
    bottom: -260px;
    width: 700px;
    height: 520px;
    content: "";
    border: 1px solid rgba(168, 16, 27, .1);
    border-radius: 50%;
    transform: rotate(-18deg);
    pointer-events: none;
}

.ace-project-redesign-page .ace-ws-overview__story {
    display: grid;
    align-items: start;
    gap: clamp(70px, 10vw, 165px);
    grid-template-columns: minmax(260px, .74fr) minmax(0, 1.26fr);
}

.ace-project-redesign-page .ace-ws-overview__lead {
    display: grid;
    min-height: 350px;
    align-content: center;
    border-top: 1px solid rgba(168, 16, 27, .28);
    border-bottom: 1px solid rgba(168, 16, 27, .28);
}

.ace-project-redesign-page .ace-ws-overview__lead b {
    color: transparent;
    font-family: var(--ace-sans);
    font-size: clamp(125px, 15vw, 236px);
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.075em;
    -webkit-text-stroke: 1px rgba(168, 16, 27, .56);
}

.ace-project-redesign-page .ace-ws-overview__lead span {
    margin-top: 35px;
    color: #847d76;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: .16em;
}

.ace-project-redesign-page .ace-ws-overview__copy > p {
    max-width: 880px;
    margin: 0;
    color: #4f4b47;
    font-size: clamp(16px, 1.35vw, 20px);
    line-height: 2;
}

.ace-project-redesign-page .ace-ws-overview__copy > p:first-child {
    max-width: 760px;
    margin-bottom: 24px;
    color: var(--ace-ink);
    font-size: clamp(21px, 2vw, 31px);
    font-weight: 520;
    line-height: 1.62;
    letter-spacing: -.025em;
}

.ace-project-redesign-page .ace-ws-overview__contact {
    display: grid;
    margin-top: clamp(48px, 6vw, 84px);
    padding-top: 28px;
    border-top: 1px solid rgba(23, 23, 22, .14);
    grid-template-columns: minmax(240px, .9fr) minmax(280px, 1.1fr);
    gap: 42px;
}

.ace-project-redesign-page .ace-ws-overview__contact a,
.ace-project-redesign-page .ace-ws-overview__contact p {
    display: block;
    margin: 0;
}

.ace-project-redesign-page .ace-ws-overview__contact > p:only-child:not(.ace-ws-overview__phone) {
    grid-column: 1 / -1;
}

.ace-project-redesign-page .ace-ws-overview__contact small,
.ace-project-redesign-page .ace-ws-overview__contact strong,
.ace-project-redesign-page .ace-ws-overview__contact span {
    display: block;
}

.ace-project-redesign-page .ace-ws-overview__contact small {
    margin-bottom: 10px;
    color: #817b75;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
}

.ace-project-redesign-page .ace-ws-overview__contact strong {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: clamp(23px, 2.2vw, 33px);
    font-weight: 400;
}

.ace-project-redesign-page .ace-ws-overview__contact span {
    color: var(--ace-ink);
    font-size: 15px;
    font-weight: 650;
}

.ace-project-redesign-page .ace-ws-product {
    color: var(--ace-ink);
    background:
        linear-gradient(90deg, rgba(168, 16, 27, .045) 0 1px, transparent 1px) 50% 0 / 25% 100%,
        linear-gradient(140deg, #e9edef 0%, #f6f4ef 100%);
}

.ace-project-redesign-page .ace-ws-product__stage {
    display: grid;
    align-items: center;
    gap: clamp(48px, 5vw, 80px);
    grid-template-columns: minmax(0, .8fr) minmax(680px, 1.2fr);
}

.ace-project-redesign-page .ace-ws-product__media {
    position: relative;
    min-height: clamp(520px, 40vw, 640px);
    margin: 0;
    overflow: hidden;
    border-radius: 28px;
    background: #cdd3d5;
}

.ace-project-redesign-page .ace-ws-product__media::after {
    position: absolute;
    content: "";
    background: linear-gradient(0deg, rgba(15, 25, 31, .6), transparent 38%);
    inset: 0;
}

.ace-project-redesign-page .ace-ws-product__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.015);
    transition: transform .9s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-product__stage:hover .ace-ws-product__media img {
    transform: scale(1.055);
}

.ace-project-redesign-page .ace-ws-product__media figcaption {
    position: absolute;
    z-index: 1;
    right: 10%;
    bottom: 28px;
    left: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    color: #fff;
}

.ace-project-redesign-page .ace-ws-product__media figcaption span {
    font-size: 10px;
    letter-spacing: .16em;
}

.ace-project-redesign-page .ace-ws-product__media figcaption b {
    font-size: 13px;
}

.ace-project-redesign-page .ace-ws-product__content {
    position: relative;
    z-index: 2;
}

.ace-project-redesign-page .ace-ws-product__content h2 {
    max-width: none;
    margin: 0;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: -.02em;
    text-wrap: pretty;
}

.ace-project-redesign-page .ace-ws-product__types {
    display: flex;
    margin: clamp(34px, 4vw, 54px) 0 18px;
    flex-wrap: wrap;
    gap: 10px;
}

.ace-project-redesign-page .ace-ws-product__types span {
    padding: 9px 0;
    color: var(--ace-red);
    border-bottom: 1px solid rgba(168, 16, 27, .45);
    font-size: 14px;
    font-weight: 700;
}

.ace-project-redesign-page .ace-ws-product__types span + span {
    margin-left: 22px;
}

.ace-project-redesign-page .ace-ws-product ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ace-project-redesign-page .ace-ws-product li {
    display: grid;
    padding: 20px 0;
    align-items: start;
    border-top: 1px solid rgba(23, 23, 22, .14);
    grid-template-columns: 42px 1fr;
    gap: 18px;
}

.ace-project-redesign-page .ace-ws-product li b {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 12px;
    font-weight: 400;
}

.ace-project-redesign-page .ace-ws-product li p {
    margin: 0;
    color: #4f4b47;
    font-size: 16px;
    line-height: 1.75;
}

.ace-project-redesign-page .ace-ws-industries {
    background:
        radial-gradient(circle at 12% 88%, rgba(168, 16, 27, .06), transparent 24%),
        #f9f7f2;
}

.ace-project-redesign-page .ace-ws-industries__stage {
    display: grid;
    min-height: clamp(580px, 50vw, 760px);
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.ace-project-redesign-page .ace-ws-industries__visual {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #d1d4d2;
}

.ace-project-redesign-page .ace-ws-industries__visual::after {
    position: absolute;
    z-index: 2;
    content: "";
    background: linear-gradient(0deg, rgba(9, 13, 15, .62), transparent 52%);
    inset: 0;
    pointer-events: none;
}

.ace-project-redesign-page .ace-ws-industries__visual figure {
    position: absolute;
    margin: 0;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity .72s var(--ace-ease), transform 1.1s var(--ace-ease);
    inset: 0;
}

.ace-project-redesign-page .ace-ws-industries__visual figure.is-active {
    z-index: 1;
    opacity: 1;
    transform: scale(1);
}

.ace-project-redesign-page .ace-ws-industries__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ace-project-redesign-page .ace-ws-industries__visual figcaption {
    position: absolute;
    z-index: 3;
    right: clamp(28px, 4vw, 62px);
    bottom: clamp(30px, 4vw, 58px);
    left: clamp(28px, 4vw, 62px);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    color: #fff;
}

.ace-project-redesign-page .ace-ws-industries__visual figcaption small {
    font-family: var(--ace-sans);
    font-size: 12px;
    letter-spacing: .14em;
}

.ace-project-redesign-page .ace-ws-industries__visual figcaption strong {
    font-size: clamp(40px, 5vw, 76px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.055em;
}

.ace-project-redesign-page .ace-ws-industries__tabs {
    display: grid;
    border-top: 1px solid rgba(23, 23, 22, .14);
    border-right: 1px solid rgba(23, 23, 22, .14);
    background: rgba(255, 255, 255, .6);
    grid-template-rows: repeat(4, 1fr);
}

.ace-project-redesign-page .ace-ws-industries__tabs button {
    position: relative;
    display: grid;
    padding: 22px clamp(22px, 2.4vw, 38px);
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(23, 23, 22, .14);
    color: #615d58;
    outline-offset: -4px;
    background: transparent;
    grid-template-columns: 34px 1fr auto;
    gap: 16px;
    text-align: left;
    transition: color .3s ease, background .3s ease;
}

.ace-project-redesign-page .ace-ws-industries__tabs button::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0;
    content: "";
    background: var(--ace-red);
    transition: width .3s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-industries__tabs button.is-active {
    color: var(--ace-ink);
    background: #fff;
}

.ace-project-redesign-page .ace-ws-industries__tabs button.is-active::before {
    width: 5px;
}

.ace-project-redesign-page .ace-ws-industries__tabs span {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 11px;
}

.ace-project-redesign-page .ace-ws-industries__tabs strong {
    font-size: clamp(16px, 1.5vw, 22px);
    font-weight: 600;
}

.ace-project-redesign-page .ace-ws-industries__tabs i {
    font-size: 18px;
    font-style: normal;
    opacity: .35;
    transform: translateX(-8px);
    transition: opacity .3s ease, transform .3s ease;
}

.ace-project-redesign-page .ace-ws-industries__tabs button.is-active i {
    opacity: 1;
    transform: none;
}

.ace-project-redesign-page .ace-ws-gallery {
    overflow: hidden;
    background: #fff;
}

.ace-project-redesign-page .ace-ws-gallery__controls {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ace-project-redesign-page .ace-ws-gallery__controls[hidden] {
    display: none;
}

.ace-project-redesign-page .ace-ws-gallery__controls > span {
    min-width: 82px;
    color: #77716b;
    font-family: var(--ace-sans);
    font-size: 13px;
    font-style: normal;
}

.ace-project-redesign-page .ace-ws-gallery__controls b {
    color: var(--ace-red);
    font-size: 21px;
    font-weight: 400;
}

.ace-project-redesign-page .ace-ws-gallery__controls button {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(23, 23, 22, .22);
    border-radius: 50%;
    color: var(--ace-ink);
    background: transparent;
    transition: color .25s ease, border-color .25s ease, background .25s ease;
}

.ace-project-redesign-page .ace-ws-gallery__controls button:not(:disabled):hover,
.ace-project-redesign-page .ace-ws-gallery__controls button:not(:disabled):focus-visible {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
}

.ace-project-redesign-page .ace-ws-gallery__controls button:disabled {
    cursor: default;
    opacity: .32;
}

.ace-project-redesign-page .ace-ws-gallery__rail {
    display: flex;
    width: 100%;
    overflow-x: auto;
    padding-right: max(var(--ace-gutter), calc((100vw - var(--ace-shell)) / 2 + var(--ace-gutter)));
    padding-left: max(var(--ace-gutter), calc((100vw - var(--ace-shell)) / 2 + var(--ace-gutter)));
    gap: clamp(16px, 1.4vw, 24px);
    scroll-behavior: smooth;
    scroll-padding-inline: max(var(--ace-gutter), calc((100vw - var(--ace-shell)) / 2 + var(--ace-gutter)));
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.ace-project-redesign-page .ace-ws-gallery__rail::-webkit-scrollbar {
    display: none;
}

.ace-project-redesign-page .ace-ws-gallery__item {
    position: relative;
    display: block;
    width: clamp(320px, 26vw, 500px);
    min-width: clamp(320px, 26vw, 500px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #cfd3d4;
    aspect-ratio: 16 / 10;
    scroll-snap-align: start;
}

.ace-project-redesign-page .ace-ws-gallery__item::after {
    position: absolute;
    content: "";
    background: linear-gradient(0deg, rgba(8, 15, 20, .62), transparent 40%);
    inset: 0;
    pointer-events: none;
}

.ace-project-redesign-page .ace-ws-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform .8s var(--ace-ease), filter .6s ease;
}

.ace-project-redesign-page .ace-ws-gallery__item:hover img,
.ace-project-redesign-page .ace-ws-gallery__item:focus-visible img {
    filter: saturate(1.05) contrast(1.02);
    transform: scale(1.055);
}

.ace-project-redesign-page .ace-ws-gallery__item > span {
    position: absolute;
    z-index: 2;
    right: clamp(22px, 3vw, 42px);
    bottom: clamp(20px, 3vw, 38px);
    left: clamp(22px, 3vw, 42px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: .04em;
}

.ace-project-redesign-page .ace-ws-gallery__item i {
    font-size: 20px;
    font-style: normal;
}

.ace-project-redesign-page .ace-ws-gallery__hint {
    margin: 26px var(--ace-gutter) 0;
    color: #8a847e;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: center;
}

.ace-project-redesign-page .ace-ws-lightbox {
    width: min(1400px, calc(100vw - 70px));
    max-width: none;
    height: min(860px, calc(100vh - 70px));
    max-height: none;
    padding: 0;
    overflow: hidden;
    border: 0;
    color: #fff;
    background: #101213;
}

.ace-project-redesign-page .ace-ws-lightbox::backdrop {
    background: rgba(8, 9, 10, .86);
    backdrop-filter: blur(8px);
}

.ace-project-redesign-page .ace-ws-lightbox figure {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
}

.ace-project-redesign-page .ace-ws-lightbox img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ace-project-redesign-page .ace-ws-lightbox figcaption {
    position: absolute;
    right: 25px;
    bottom: 22px;
    left: 25px;
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    letter-spacing: .06em;
}

.ace-project-redesign-page .ace-ws-lightbox__close {
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 16px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 50%;
    color: #fff;
    background: rgba(12, 13, 14, .55);
    font-size: 27px;
    font-weight: 300;
}

.ace-project-redesign-page .ace-ws-location {
    background:
        radial-gradient(circle at 90% 10%, rgba(168, 16, 27, .07), transparent 27%),
        #edf0f0;
}

.ace-project-redesign-page .ace-ws-location__map-stage {
    position: relative;
    min-height: clamp(590px, 52vw, 760px);
    overflow: hidden;
    background: #dfe3e2;
}

.ace-project-redesign-page .ace-ws-location__map {
    position: absolute;
    inset: 0;
}

.ace-project-redesign-page .ace-ws-location__map::before {
    position: absolute;
    z-index: 1;
    display: grid;
    content: "腾讯地图加载中";
    place-items: center;
    color: #77716b;
    font-size: 12px;
    letter-spacing: .08em;
    background:
        radial-gradient(circle at 58% 48%, rgba(168, 16, 27, .24) 0 5px, transparent 6px),
        repeating-linear-gradient(32deg, transparent 0 68px, rgba(23, 23, 22, .06) 69px 70px),
        repeating-linear-gradient(122deg, transparent 0 82px, rgba(23, 23, 22, .045) 83px 84px),
        #dfe3e2;
    inset: 0;
}

.ace-project-redesign-page .ace-ws-location__map[data-map-ready="true"]::before {
    opacity: 0;
    visibility: hidden;
}

.ace-project-redesign-page .ace-ws-location__map > div {
    z-index: 2;
}

.ace-project-redesign-page .ace-ws-location__panel {
    position: absolute;
    z-index: 4;
    bottom: 0;
    left: 0;
    width: min(610px, 48%);
    padding: clamp(32px, 4vw, 60px);
    color: var(--ace-ink);
    background: rgba(255, 255, 255, .94);
    box-shadow: 24px -22px 70px rgba(23, 23, 22, .1);
    backdrop-filter: blur(18px);
    clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
}

.ace-project-redesign-page .ace-ws-location__panel > span {
    display: block;
    margin-bottom: 18px;
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 11px;
    letter-spacing: .12em;
}

.ace-project-redesign-page .ace-ws-location__panel h3 {
    margin: 0;
    font-size: clamp(25px, 2.5vw, 38px);
    font-weight: 560;
    line-height: 1.25;
    letter-spacing: -.04em;
}

.ace-project-redesign-page .ace-ws-location__panel p {
    max-width: 480px;
    margin: 22px 0 28px;
    color: #5f5a55;
    font-size: 13px;
    line-height: 1.9;
}

.ace-project-redesign-page .ace-ws-location__panel a {
    display: inline-flex;
    padding-bottom: 9px;
    align-items: center;
    gap: 42px;
    border-bottom: 1px solid var(--ace-ink);
    font-size: 13px;
    font-weight: 700;
}

.ace-project-redesign-page .ace-ws-location__panel i {
    color: var(--ace-red);
    font-size: 18px;
    font-style: normal;
}

.ace-project-redesign-page .ace-ws-related {
    background: #faf9f6;
}

.ace-project-redesign-page .ace-ws-heading__link {
    display: inline-flex;
    padding-bottom: 8px;
    align-items: center;
    gap: 36px;
    border-bottom: 1px solid rgba(23, 23, 22, .55);
    color: var(--ace-ink);
    font-size: 13px;
    font-weight: 650;
}

.ace-project-redesign-page .ace-ws-heading__link span {
    color: var(--ace-red);
    font-size: 17px;
}

.ace-project-redesign-page .ace-ws-related__list {
    position: relative;
    border-top: 1px solid rgba(23, 23, 22, .15);
}

.ace-project-redesign-page .ace-ws-related__list > a {
    position: relative;
    display: grid;
    min-height: 126px;
    padding: 24px 8px;
    align-items: center;
    border-bottom: 1px solid rgba(23, 23, 22, .15);
    grid-template-columns: 58px minmax(320px, 1.1fr) minmax(260px, .8fr) 42px;
    gap: 30px;
    transition: color .3s ease, padding .35s var(--ace-ease), background .3s ease;
}

.ace-project-redesign-page .ace-ws-related__list > a:hover,
.ace-project-redesign-page .ace-ws-related__list > a:focus-visible {
    padding-right: 22px;
    padding-left: 22px;
    color: var(--ace-red);
    outline-offset: -3px;
    background: rgba(255, 255, 255, .76);
}

.ace-project-redesign-page .ace-ws-related__list span {
    color: var(--ace-red);
    font-family: var(--ace-sans);
    font-size: 12px;
}

.ace-project-redesign-page .ace-ws-related__list strong {
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 560;
    letter-spacing: -.025em;
}

.ace-project-redesign-page .ace-ws-related__list small {
    color: #77716b;
    font-size: 12px;
    line-height: 1.7;
}

.ace-project-redesign-page .ace-ws-related__list i {
    font-size: 20px;
    font-style: normal;
    transition: transform .3s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-related__list > a:hover i,
.ace-project-redesign-page .ace-ws-related__list > a:focus-visible i {
    transform: translate(5px, -5px);
}

.ace-project-redesign-page .ace-ws-related__list img {
    position: absolute;
    z-index: 4;
    top: 50%;
    right: 68px;
    display: none;
    width: min(330px, 26vw);
    height: min(200px, 16vw);
    border-radius: 4px;
    object-fit: cover;
    opacity: 0;
    box-shadow: 0 22px 60px rgba(23, 23, 22, .16);
    transform: translate(15px, -50%) rotate(2deg);
    pointer-events: none;
    transition: opacity .3s ease, transform .45s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-related__list > a:hover img,
.ace-project-redesign-page .ace-ws-related__list > a:focus-visible img {
    opacity: 1;
    transform: translate(0, -50%) rotate(-1deg);
}

.ace-project-redesign-page .ace-ws-apply {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--ace-red);
}

.ace-project-redesign-page .ace-ws-apply::after {
    position: absolute;
    top: -150px;
    right: 4vw;
    width: 420px;
    height: 420px;
    content: "1";
    color: rgba(255, 255, 255, .07);
    font-family: var(--ace-sans);
    font-size: 440px;
    line-height: 1;
    pointer-events: none;
}

.ace-project-redesign-page .ace-ws-apply .ace-shell {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 280px;
    padding-block: 62px;
    align-items: center;
    grid-template-columns: minmax(320px, .95fr) minmax(280px, 1fr) auto;
    gap: clamp(35px, 7vw, 110px);
}

.ace-project-redesign-page .ace-ws-apply .ace-kicker {
    color: rgba(255, 255, 255, .68);
}

.ace-project-redesign-page .ace-ws-apply h2 {
    margin: 0;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: normal;
}

.ace-project-redesign-page .ace-ws-apply p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
    line-height: 1.8;
}

.ace-project-redesign-page .ace-ws-apply a {
    display: inline-flex;
    min-width: 172px;
    min-height: 58px;
    padding: 0 20px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: var(--ace-red);
    background: #fff;
    font-size: 13px;
    font-weight: 750;
}

@media (max-width: 1180px) {
    .ace-project-redesign-page .ace-ws-hero__facts {
        width: 72vw;
    }

    .ace-project-redesign-page .ace-ws-product__stage {
        gap: 48px;
        grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr);
    }

    .ace-project-redesign-page .ace-ws-related__list > a {
        grid-template-columns: 48px minmax(300px, 1fr) minmax(220px, .7fr) 34px;
        gap: 22px;
    }
}

@media (max-width: 900px) {
    .ace-project-redesign-page .ace-ws-hero,
    .ace-project-redesign-page .ace-ws-hero__copy {
        min-height: 820px;
    }

    .ace-project-redesign-page .ace-ws-hero__copy {
        padding-top: 150px;
        padding-bottom: 250px;
    }

    .ace-project-redesign-page .ace-ws-hero__facts {
        width: calc(100% - var(--ace-gutter));
        grid-template-columns: repeat(2, 1fr);
    }

    .ace-project-redesign-page .ace-ws-hero__facts > div:nth-child(3),
    .ace-project-redesign-page .ace-ws-hero__facts > div:nth-child(4) {
        border-top: 1px solid rgba(23, 23, 22, .12);
    }

    .ace-project-redesign-page .ace-ws-jump__scroll {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .ace-project-redesign-page .ace-ws-jump__scroll::-webkit-scrollbar {
        display: none;
    }

    .ace-project-redesign-page .ace-ws-jump a {
        min-width: 150px;
    }

    .ace-project-redesign-page .ace-ws-overview__story,
    .ace-project-redesign-page .ace-ws-product__stage {
        grid-template-columns: 1fr;
    }

    .ace-project-redesign-page .ace-ws-overview__lead {
        min-height: 220px;
    }

    .ace-project-redesign-page .ace-ws-overview__lead b {
        font-size: 150px;
    }

    .ace-project-redesign-page .ace-ws-product__media {
        min-height: 600px;
        border-radius: 24px;
    }

    .ace-project-redesign-page .ace-ws-industries__stage {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .ace-project-redesign-page .ace-ws-industries__visual {
        min-height: 620px;
    }

    .ace-project-redesign-page .ace-ws-industries__tabs {
        grid-template-columns: repeat(4, minmax(150px, 1fr));
        grid-template-rows: auto;
        overflow-x: auto;
        border-left: 1px solid rgba(23, 23, 22, .14);
    }

    .ace-project-redesign-page .ace-ws-industries__tabs button {
        min-width: 150px;
        min-height: 104px;
        border-right: 1px solid rgba(23, 23, 22, .14);
        grid-template-columns: 1fr auto;
    }

    .ace-project-redesign-page .ace-ws-industries__tabs button::before {
        top: auto;
        right: 0;
        width: auto;
        height: 0;
    }

    .ace-project-redesign-page .ace-ws-industries__tabs button.is-active::before {
        width: auto;
        height: 4px;
    }

    .ace-project-redesign-page .ace-ws-industries__tabs strong {
        grid-column: 1 / 3;
    }

    .ace-project-redesign-page .ace-ws-industries__tabs i {
        display: none;
    }

    .ace-project-redesign-page .ace-ws-gallery__item {
        width: 78vw;
        min-width: 78vw;
    }

    .ace-project-redesign-page .ace-ws-location__panel {
        width: min(600px, 72%);
    }

    .ace-project-redesign-page .ace-ws-related__list > a {
        min-height: 142px;
        grid-template-columns: 44px 1fr 32px;
    }

    .ace-project-redesign-page .ace-ws-related__list small {
        grid-column: 2;
    }

    .ace-project-redesign-page .ace-ws-related__list i {
        grid-row: 1 / 3;
        grid-column: 3;
    }

    .ace-project-redesign-page .ace-ws-related__list img {
        display: none;
    }

    .ace-project-redesign-page .ace-ws-apply .ace-shell {
        grid-template-columns: 1fr auto;
    }

    .ace-project-redesign-page .ace-ws-apply p {
        grid-column: 1;
    }

    .ace-project-redesign-page .ace-ws-apply a {
        grid-row: 1 / 3;
        grid-column: 2;
    }
}

@media (max-width: 720px) {
    .ace-project-redesign-page .ace-ws-section {
        padding: 84px 0;
    }

    .ace-project-redesign-page .ace-ws-hero,
    .ace-project-redesign-page .ace-ws-hero__copy {
        min-height: 760px;
    }

    .ace-project-redesign-page .ace-ws-hero__image {
        object-position: var(--ace-project-hero-mobile-position, 54% center);
    }

    .ace-project-redesign-page .ace-ws-hero__copy {
        padding-top: 120px;
        padding-bottom: 236px;
    }

    .ace-project-redesign-page .ace-ws-hero h1 {
        max-width: 500px;
        font-size: clamp(54px, 17vw, 78px);
        line-height: .98;
    }

    .ace-project-redesign-page .ace-ws-hero__copy > p {
        margin-top: 12px;
        font-size: 14px;
    }

    .ace-project-redesign-page .ace-ws-hero__copy > a {
        margin-top: 32px;
    }

    .ace-project-redesign-page .ace-ws-hero__facts {
        min-height: 188px;
    }

    .ace-project-redesign-page .ace-ws-hero__facts > div {
        padding: 15px 18px;
    }

    .ace-project-redesign-page .ace-ws-hero__facts strong {
        font-size: 30px;
    }

    .ace-project-redesign-page .ace-ws-jump .ace-shell {
        padding: 0;
    }

    .ace-project-redesign-page .ace-ws-jump a {
        min-width: 138px;
        min-height: 62px;
        padding: 0 18px;
    }

    .ace-project-redesign-page .ace-ws-heading--row,
    .ace-project-redesign-page .ace-ws-heading--split {
        margin-bottom: 42px;
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .ace-project-redesign-page .ace-ws-heading h2 {
        font-size: clamp(42px, 13vw, 62px);
    }

    .ace-project-redesign-page .ace-ws-heading > p {
        max-width: 100%;
    }

    .ace-project-redesign-page .ace-ws-overview__story {
        gap: 48px;
    }

    .ace-project-redesign-page .ace-ws-overview__lead {
        min-height: 170px;
    }

    .ace-project-redesign-page .ace-ws-overview__lead b {
        font-size: 118px;
    }

    .ace-project-redesign-page .ace-ws-overview__lead span {
        margin-top: 22px;
    }

    .ace-project-redesign-page .ace-ws-overview__copy > p {
        font-size: 15px;
        line-height: 1.92;
    }

    .ace-project-redesign-page .ace-ws-overview__copy > p:first-child {
        font-size: 20px;
        line-height: 1.7;
    }

    .ace-project-redesign-page .ace-ws-overview__contact {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ace-project-redesign-page .ace-ws-product__stage {
        gap: 50px;
    }

    .ace-project-redesign-page .ace-ws-product__media {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .ace-project-redesign-page .ace-ws-product__content h2 {
        font-size: 32px;
        line-height: 1.35;
    }

    .ace-project-redesign-page .ace-ws-product__types {
        align-items: flex-start;
        flex-direction: column;
    }

    .ace-project-redesign-page.ace-project-xiehe-page .ace-ws-product__types {
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: clamp(16px, 5vw, 28px);
    }

    .ace-project-redesign-page .ace-ws-product__types span + span {
        margin-left: 0;
    }

    .ace-project-redesign-page .ace-ws-industries__visual {
        min-height: 500px;
    }

    .ace-project-redesign-page .ace-ws-industries__visual figcaption {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .ace-project-redesign-page .ace-ws-industries__visual figcaption strong {
        font-size: 44px;
    }

    .ace-project-redesign-page .ace-ws-industries__tabs button {
        min-width: 142px;
        min-height: 96px;
        padding: 16px 18px;
    }

    .ace-project-redesign-page .ace-ws-gallery__controls {
        width: 100%;
        justify-content: space-between;
    }

    .ace-project-redesign-page .ace-ws-gallery__controls > span {
        margin-right: auto;
    }

    .ace-project-redesign-page .ace-ws-gallery__item {
        width: 86vw;
        min-width: 86vw;
        aspect-ratio: 4 / 3;
    }

    .ace-project-redesign-page .ace-ws-lightbox {
        width: calc(100vw - 24px);
        height: calc(100vh - 48px);
    }

    .ace-project-redesign-page .ace-ws-location__map-stage {
        display: flex;
        min-height: 710px;
        justify-content: flex-end;
        flex-direction: column;
    }

    .ace-project-redesign-page .ace-ws-location__map {
        height: 470px;
        bottom: auto;
    }

    .ace-project-redesign-page .ace-ws-location__panel {
        position: relative;
        width: calc(100% - 18px);
        padding: 28px 24px 32px;
        clip-path: polygon(0 0, 94% 0, 100% 100%, 0 100%);
    }

    .ace-project-redesign-page .ace-ws-related__list > a {
        min-height: 152px;
        padding: 22px 0;
        grid-template-columns: 35px 1fr 26px;
        gap: 14px;
    }

    .ace-project-redesign-page .ace-ws-related__list > a:hover,
    .ace-project-redesign-page .ace-ws-related__list > a:focus-visible {
        padding-right: 10px;
        padding-left: 10px;
    }

    .ace-project-redesign-page .ace-ws-related__list strong {
        font-size: 19px;
        line-height: 1.45;
    }

    .ace-project-redesign-page .ace-ws-related__list small {
        font-size: 11px;
    }

    .ace-project-redesign-page .ace-ws-apply .ace-shell {
        min-height: 0;
        padding-block: 54px;
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ace-project-redesign-page .ace-ws-apply p,
    .ace-project-redesign-page .ace-ws-apply a {
        grid-row: auto;
        grid-column: auto;
    }

    .ace-project-redesign-page .ace-ws-apply a {
        width: 178px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-project-redesign-page .ace-ws-hero__image,
    .ace-project-redesign-page .ace-ws-hero__copy > a span,
    .ace-project-redesign-page .ace-ws-product__media img,
    .ace-project-redesign-page .ace-ws-industries__visual figure,
    .ace-project-redesign-page .ace-ws-industries__tabs i,
    .ace-project-redesign-page .ace-ws-gallery__rail,
    .ace-project-redesign-page .ace-ws-gallery__item img,
    .ace-project-redesign-page .ace-ws-related__list > a,
    .ace-project-redesign-page .ace-ws-related__list i,
    .ace-project-redesign-page .ace-ws-related__list img {
        animation: none !important;
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* Shared section-title rhythm, aligned with the WeWork company-intro heading. */
.ace-section__heading h2,
.ace-stats__heading h2,
.ace-about-heading h2,
.ace-service-heading h2,
.ace-cooperation-heading h2,
.ace-project-redesign-page .ace-ws-heading h2 {
    margin: 0;
    font-family: var(--ace-sans);
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: normal;
}

#ace-map-title,
#ace-stats-title,
#ace-news-title {
    font-size: 38px;
}

.ace-map__heading,
.ace-about-heading,
.ace-cooperation-heading,
.ace-project-redesign-page .ace-ws-heading--row,
.ace-project-redesign-page .ace-ws-heading--split {
    margin-bottom: 56px;
}

.ace-project-tools,
.ace-core,
.ace-news__stage,
.ace-service-journey,
.ace-service-orbit,
.ace-service-operator__visual {
    margin-top: 56px;
}

@media (max-width: 760px) {
    .ace-section__heading h2,
    .ace-stats__heading h2,
    .ace-about-heading h2,
    .ace-service-heading h2,
    .ace-cooperation-heading h2,
    .ace-project-redesign-page .ace-ws-heading h2,
    #ace-map-title,
    #ace-stats-title,
    #ace-news-title {
        font-size: 26px;
        line-height: 36.4px;
    }

    .ace-map__heading,
    .ace-about-heading,
    .ace-cooperation-heading,
    .ace-project-redesign-page .ace-ws-heading--row,
    .ace-project-redesign-page .ace-ws-heading--split {
        margin-bottom: 24px;
    }

    .ace-project-tools,
    .ace-core,
    .ace-news__stage,
    .ace-service-journey,
    .ace-service-orbit,
    .ace-service-operator__visual {
        margin-top: 24px;
    }
}

/* About refresh cascade locks: keep the compact light banner after shared responsive rules. */
body.ace-about-refresh {
    background: #f2f4f5;
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero {
    height: 430px;
    min-height: 430px;
    background: #f1f3f4 var(--ace-about-hero) center 44% / cover no-repeat;
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero h1 {
    font-size: 38px;
    line-height: 1.22;
    letter-spacing: normal;
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero p {
    font-size: 16px;
    line-height: 1.8;
}

@media (max-width: 980px) {
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 380px;
        min-height: 380px;
    }
}

@media (max-width: 760px) {
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 320px;
        min-height: 320px;
        background-position: 58% center;
    }

    .ace-about-refresh.ace-light-banner-page .ace-about-hero h1 {
        font-size: 32px;
        line-height: 1.25;
    }

    .ace-about-refresh.ace-light-banner-page .ace-about-hero p {
        font-size: 14px;
        line-height: 1.7;
    }
}

/* Wangshan project: shared ACE Park framing with project-specific storytelling intact. */
.ace-project-redesign-page {
    --ace-ws-line: rgba(23, 23, 22, .13);
    --ace-ws-silver:
        radial-gradient(ellipse at 10% 8%, rgba(255, 255, 255, .96) 0%, transparent 34%),
        radial-gradient(circle at 88% 24%, rgba(168, 16, 27, .04) 0%, transparent 25%),
        linear-gradient(128deg, #f8fafb 0%, #edf1f3 46%, #f9fbfc 100%);
    --ace-ws-paper: #faf9f7;
    --ace-ws-cool: #edf1f2;
}

.ace-project-redesign-page .ace-ws-overview,
.ace-project-redesign-page .ace-ws-product {
    background: var(--ace-ws-silver);
}

.ace-project-redesign-page .ace-ws-overview::after {
    display: none;
}

.ace-project-redesign-page .ace-ws-product,
.ace-project-redesign-page .ace-ws-gallery,
.ace-project-redesign-page .ace-ws-related {
    border-top: 1px solid var(--ace-ws-line);
}

.ace-project-redesign-page .ace-ws-industries,
.ace-project-redesign-page .ace-ws-gallery {
    background: var(--ace-ws-paper);
}

.ace-project-redesign-page .ace-ws-location,
.ace-project-redesign-page .ace-ws-related {
    background: var(--ace-ws-cool);
}

.ace-project-redesign-page .ace-ws-heading--row,
.ace-project-redesign-page .ace-ws-heading--split {
    position: relative;
    margin-bottom: 56px;
    padding-bottom: 28px;
    border-bottom-color: var(--ace-ws-line);
}

.ace-project-redesign-page .ace-ws-heading--row::after,
.ace-project-redesign-page .ace-ws-heading--split::after,
.ace-project-redesign-page .ace-ws-product__content h2::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 64px;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

.ace-project-redesign-page .ace-ws-heading > p {
    max-width: 430px;
    color: #66615c;
    font-size: 15px;
    line-height: 1.8;
}

.ace-project-redesign-page .ace-ws-overview__lead b {
    font-size: clamp(112px, 11vw, 168px);
}

.ace-project-redesign-page .ace-ws-overview__copy > p:first-child {
    font-size: clamp(20px, 1.65vw, 25px);
}

.ace-project-redesign-page .ace-ws-product__content h2 {
    position: relative;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--ace-ws-line);
}

.ace-project-redesign-page .ace-ws-product__types {
    margin-top: 28px;
}

.ace-project-redesign-page .ace-ws-product__media,
.ace-project-redesign-page .ace-ws-industries__stage,
.ace-project-redesign-page .ace-ws-location__map-stage {
    border: 1px solid rgba(90, 100, 106, .14);
    border-radius: 48px 14px 48px 14px;
    box-shadow: 0 22px 58px rgba(57, 66, 72, .075);
}

.ace-project-redesign-page .ace-ws-industries__stage,
.ace-project-redesign-page .ace-ws-location__map-stage {
    overflow: hidden;
}

.ace-project-redesign-page .ace-ws-industries__visual figcaption strong {
    font-size: clamp(34px, 3.6vw, 54px);
    letter-spacing: -.035em;
}

.ace-project-redesign-page .ace-ws-gallery__item {
    border: 1px solid rgba(90, 100, 106, .12);
    border-radius: 22px 8px 22px 8px;
    box-shadow: 0 14px 36px rgba(57, 66, 72, .06);
}

.ace-project-redesign-page .ace-ws-location__panel {
    clip-path: none;
    border-radius: 0 36px 0 0;
}

.ace-project-redesign-page .ace-ws-related__list,
.ace-project-redesign-page .ace-ws-related__list > a {
    border-color: var(--ace-ws-line);
}

@media (max-width: 760px) {
    .ace-project-redesign-page .ace-ws-heading--row,
    .ace-project-redesign-page .ace-ws-heading--split {
        margin-bottom: 28px;
        padding-bottom: 20px;
    }

    .ace-project-redesign-page .ace-ws-heading--row::after,
    .ace-project-redesign-page .ace-ws-heading--split::after,
    .ace-project-redesign-page .ace-ws-product__content h2::after {
        width: 48px;
    }

    .ace-project-redesign-page .ace-ws-overview__lead b {
        font-size: 112px;
    }

    .ace-project-redesign-page .ace-ws-product__content h2 {
        padding-bottom: 20px;
    }

    .ace-project-redesign-page .ace-ws-product__media,
    .ace-project-redesign-page .ace-ws-industries__stage,
    .ace-project-redesign-page .ace-ws-location__map-stage {
        border-radius: 28px 10px 28px 10px;
    }

    .ace-project-redesign-page .ace-ws-industries__visual figcaption strong {
        font-size: 34px;
    }

    .ace-project-redesign-page .ace-ws-gallery__item {
        border-radius: 16px 6px 16px 6px;
    }

    .ace-project-redesign-page .ace-ws-location__panel {
        border-radius: 0 24px 0 0;
    }
}

/* About page composition v2: open editorial layouts aligned with the wider ACE Park site. */
.ace-about-refresh.ace-light-banner-page .ace-about-hero {
    height: 680px;
    min-height: 680px;
    background: #f4f5f7 var(--ace-about-hero) center / cover no-repeat;
}

.ace-about-refresh .ace-about-hero::before {
    display: none;
}

.ace-about-refresh .ace-about-hero__inner {
    padding-bottom: clamp(76px, 8vw, 120px);
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero h1 {
    max-width: none;
    font-size: clamp(58px, 7.2vw, 112px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.06em;
}

.ace-about-refresh.ace-light-banner-page .ace-about-hero p {
    max-width: none;
    margin-top: 26px;
    font-size: clamp(16px, 1.4vw, 21px);
    line-height: 1.6;
}

/* Brand culture: the official mark is the visual core; content remains open and readable. */
.ace-about-refresh .ace-about-culture-system {
    position: relative;
    display: grid;
    min-height: 560px;
    padding: 34px 0;
    border-top: 1px solid rgba(64, 69, 72, .13);
    border-bottom: 1px solid rgba(64, 69, 72, .13);
    background:
        radial-gradient(circle at 17% 50%, rgba(168, 16, 27, .095), transparent 30%),
        linear-gradient(90deg, rgba(255, 255, 255, .5), transparent 48%);
    grid-template-columns: minmax(300px, .38fr) minmax(0, .62fr);
    align-items: center;
    gap: clamp(56px, 6vw, 88px);
}

.ace-about-refresh .ace-about-culture-system::after {
    position: absolute;
    right: 0;
    bottom: 15px;
    content: "CULTURE";
    color: rgba(39, 37, 35, .035);
    font-family: var(--ace-sans);
    font-size: clamp(62px, 8vw, 112px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.04em;
    pointer-events: none;
}

.ace-about-refresh .ace-about-culture-core {
    position: relative;
    z-index: 1;
    display: flex;
    margin: 0;
    align-items: center;
    flex-direction: column;
}

.ace-about-refresh .ace-about-culture-core__stage {
    position: relative;
    width: min(100%, 390px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .96) 0 27%, rgba(255, 255, 255, .68) 28% 47%, transparent 48%),
        radial-gradient(circle, rgba(168, 16, 27, .075), rgba(168, 16, 27, 0) 69%);
}

.ace-about-refresh .ace-about-culture-core__stage::before,
.ace-about-refresh .ace-about-culture-core__stage::after,
.ace-about-refresh .ace-about-culture-core__ring {
    position: absolute;
    content: "";
    border: 1px solid rgba(168, 16, 27, .13);
    border-radius: 50%;
    inset: 7%;
}

.ace-about-refresh .ace-about-culture-core__stage::after {
    border-color: rgba(168, 16, 27, .08);
    inset: 18%;
}

.ace-about-refresh .ace-about-culture-core__ring {
    border-style: dashed;
    border-color: rgba(168, 16, 27, .16);
    inset: 29%;
    animation: ace-about-orbit 22s linear infinite;
}

@keyframes ace-about-orbit {
    to { transform: rotate(360deg); }
}

.ace-about-refresh .ace-about-culture-core img {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    display: block;
    width: clamp(138px, 13vw, 176px);
    height: auto;
    filter: drop-shadow(0 22px 27px rgba(93, 6, 14, .2));
    transform: translate(-50%, -50%);
    transition: filter .45s ease, transform .45s var(--ace-ease);
}

.ace-about-refresh .ace-about-culture-core__ray {
    position: absolute;
    z-index: 1;
    right: 0;
    width: 34%;
    height: 1px;
    background: linear-gradient(90deg, rgba(168, 16, 27, .08), rgba(168, 16, 27, .48));
    transform-origin: right center;
    transition: background .3s ease, height .3s ease;
}

.ace-about-refresh .ace-about-culture-core__ray--position {
    top: 25%;
    transform: rotate(-16deg);
}

.ace-about-refresh .ace-about-culture-core__ray--mission {
    top: 50%;
}

.ace-about-refresh .ace-about-culture-core__ray--values {
    top: 75%;
    transform: rotate(16deg);
}

.ace-about-refresh .ace-about-culture-core__node {
    position: absolute;
    z-index: 2;
    right: -3px;
    width: 8px;
    height: 8px;
    border: 2px solid rgba(255, 255, 255, .94);
    border-radius: 50%;
    background: var(--ace-red);
    box-shadow: 0 0 0 5px rgba(168, 16, 27, .08);
    transition: box-shadow .3s ease, transform .3s var(--ace-ease);
}

.ace-about-refresh .ace-about-culture-core__node--position { top: 19%; }
.ace-about-refresh .ace-about-culture-core__node--mission { top: calc(50% - 4px); }
.ace-about-refresh .ace-about-culture-core__node--values { top: calc(81% - 8px); }

.ace-about-refresh .ace-about-culture-core figcaption {
    display: flex;
    margin-top: -12px;
    align-items: center;
    flex-direction: column;
}

.ace-about-refresh .ace-about-culture-core figcaption strong {
    color: #292624;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .08em;
}

.ace-about-refresh .ace-about-culture-core figcaption span {
    margin-top: 8px;
    color: #9a928b;
    font-size: 11px;
    letter-spacing: .18em;
}

.ace-about-refresh .ace-about-culture-lines {
    position: relative;
    z-index: 2;
    display: grid;
    align-self: stretch;
    grid-template-rows: .86fr 1.32fr .86fr;
}

.ace-about-refresh .ace-about-culture-line {
    position: relative;
    display: flex;
    min-width: 0;
    padding: 25px 22px 25px 34px;
    justify-content: center;
    flex-direction: column;
    border-top: 1px solid rgba(64, 69, 72, .13);
    transition: background .35s ease, padding-left .35s var(--ace-ease);
}

.ace-about-refresh .ace-about-culture-line:last-child {
    border-bottom: 1px solid rgba(64, 69, 72, .13);
}

.ace-about-refresh .ace-about-culture-line::before {
    position: absolute;
    top: 50%;
    left: calc(clamp(56px, 6vw, 88px) * -1);
    width: clamp(56px, 6vw, 88px);
    height: 1px;
    content: "";
    background: linear-gradient(90deg, rgba(168, 16, 27, .5), rgba(168, 16, 27, .12));
}

.ace-about-refresh .ace-about-culture-line::after {
    position: absolute;
    top: calc(50% - 3px);
    left: -3px;
    width: 7px;
    height: 7px;
    content: "";
    border-radius: 50%;
    background: var(--ace-red);
    box-shadow: 0 0 0 5px rgba(168, 16, 27, .065);
}

.ace-about-refresh .ace-about-culture-line:hover {
    padding-left: 42px;
    background: linear-gradient(90deg, rgba(168, 16, 27, .055), rgba(255, 255, 255, .56));
}

.ace-about-refresh .ace-about-culture-line__head {
    display: flex;
    align-items: center;
    gap: 13px;
}

.ace-about-refresh .ace-about-culture-line__icon {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    place-items: center;
    color: var(--ace-red);
    border: 1px solid rgba(168, 16, 27, .24);
    border-radius: 50%;
    background: rgba(255, 255, 255, .74);
}

.ace-about-refresh .ace-about-culture-line__icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.ace-about-refresh .ace-about-culture-line h3 {
    margin: 0;
    color: #272422;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

.ace-about-refresh .ace-about-culture-line > strong {
    margin: 12px 0 0 45px;
    color: #35312e;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
}

.ace-about-refresh .ace-about-culture-line > p {
    max-width: 680px;
    margin: 8px 0 0 45px;
    color: #6c6762;
    font-size: 14px;
    line-height: 1.85;
}

.ace-about-refresh .ace-about-culture-system:has(.ace-about-culture-line--position:hover) .ace-about-culture-core__node--position,
.ace-about-refresh .ace-about-culture-system:has(.ace-about-culture-line--mission:hover) .ace-about-culture-core__node--mission,
.ace-about-refresh .ace-about-culture-system:has(.ace-about-culture-line--values:hover) .ace-about-culture-core__node--values {
    box-shadow: 0 0 0 11px rgba(168, 16, 27, .12);
    transform: scale(1.2);
}

.ace-about-refresh .ace-about-culture-system:has(.ace-about-culture-line:hover) .ace-about-culture-core img {
    filter: drop-shadow(0 25px 31px rgba(93, 6, 14, .26));
    transform: translate(-50%, -50%) scale(1.025);
}

/* Honors: one continuous white surface; gold is reserved for typography. */
.ace-about-refresh .ace-about-honor-card {
    overflow: hidden;
    border: 0;
    border-radius: 16px 5px 16px 5px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(58, 63, 66, .07);
}

.ace-about-refresh .ace-about-honor-media {
    margin: 0;
    padding: 12px 12px 0;
    border: 0;
    border-radius: 0;
    background: #f3f0ea;
}

.ace-about-refresh .ace-about-honor-copy {
    min-height: 144px;
    padding: 15px 0 8px;
    border: 0;
    background: #fff;
}

.ace-about-refresh .ace-about-honor-copy > span {
    width: auto;
    font-size: 15px;
}

.ace-about-refresh .ace-about-honor-copy > span::before,
.ace-about-refresh .ace-about-honor-copy > span::after {
    display: none;
}

.ace-about-refresh .ace-about-honor-award {
    min-height: 96px;
    padding: 10px 24px 2px;
}

.ace-about-refresh .ace-about-honor-award h3 {
    color: #9e773a;
    font-size: 14px;
}

.ace-about-refresh .ace-about-honor-award strong,
.ace-about-refresh .ace-about-honor-award strong > span {
    color: #9e773a;
    font-size: 18px;
}

/* Responsibility: image-led triptych with the selected story taking the visual lead. */
.ace-about-refresh .ace-about-stories {
    position: relative;
    min-height: 540px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .3), transparent 23% 77%, rgba(255, 255, 255, .3)),
        linear-gradient(135deg, #edf0f1, #f8f9f9);
    box-shadow: none;
}

.ace-about-refresh .ace-about-stories::before {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: 3px;
    border-radius: 0;
    background: linear-gradient(90deg, var(--ace-red) 0 22%, rgba(168, 16, 27, .12) 22% 100%);
    filter: none;
    transform: none;
}

.ace-about-refresh .ace-about-stories::after {
    position: absolute;
    z-index: 5;
    top: 23px;
    right: 28px;
    content: "COMMUNITY · RESPONSIBILITY";
    color: rgba(255, 255, 255, .68);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    pointer-events: none;
}

.ace-about-refresh .ace-about-story-card,
.ace-about-refresh .ace-about-story-card.is-left,
.ace-about-refresh .ace-about-story-card.is-active,
.ace-about-refresh .ace-about-story-card.is-right {
    position: absolute;
    top: 34px;
    bottom: 34px;
    display: block;
    width: 23%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 5px 20px 5px 20px;
    background: #dfe3e4;
    box-shadow: none;
    opacity: 1;
    filter: none;
    transform: none;
    transition:
        left .62s var(--ace-ease),
        right .62s var(--ace-ease),
        width .62s var(--ace-ease),
        border-radius .45s ease,
        box-shadow .45s ease;
}

.ace-about-refresh .ace-about-story-card.is-left {
    z-index: 1;
    right: auto;
    left: 0;
}

.ace-about-refresh .ace-about-story-card.is-active {
    z-index: 3;
    right: auto;
    left: 24%;
    width: 52%;
    border-radius: 6px 36px 6px 36px;
    box-shadow: 0 24px 54px rgba(47, 51, 53, .18);
}

.ace-about-refresh .ace-about-story-card.is-right {
    z-index: 1;
    right: 0;
    left: auto;
}

.ace-about-refresh .ace-about-story-card::after {
    position: absolute;
    z-index: 3;
    top: 22px;
    right: 21px;
    content: attr(data-story-index);
    color: rgba(255, 255, 255, .82);
    font-family: var(--ace-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
}

.ace-about-refresh .ace-about-story-card__media {
    position: absolute;
    margin: 0;
    border-radius: 0;
    background: #dfe3e4;
    aspect-ratio: auto;
    inset: 0;
}

.ace-about-refresh .ace-about-story-card__media::after {
    position: absolute;
    content: "";
    background: linear-gradient(0deg, rgba(22, 21, 20, .62), transparent 58%);
    inset: 0;
    transition: background .45s ease;
}

.ace-about-refresh .ace-about-story-card__media img,
.ace-about-refresh .ace-about-story-card:first-child .ace-about-story-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(.72) brightness(.84);
    transform: scale(1.035);
    transition: filter .55s ease, transform .75s var(--ace-ease);
}

.ace-about-refresh .ace-about-story-card.is-active .ace-about-story-card__media img {
    filter: saturate(.94) brightness(.96);
    transform: scale(1.01);
}

.ace-about-refresh .ace-about-story-card__copy {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding: 17px 16px 18px;
    color: #fff;
    background: linear-gradient(135deg, rgba(35, 32, 30, .78), rgba(35, 32, 30, .48));
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: right .45s ease, left .45s ease, padding .45s ease, background .45s ease;
}

.ace-about-refresh .ace-about-story-card.is-active .ace-about-story-card__copy {
    right: 28px;
    bottom: 28px;
    left: 28px;
    padding: 24px 28px 25px;
    color: #292624;
    border-radius: 3px 24px 3px 24px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 16px 38px rgba(28, 26, 24, .12);
}

.ace-about-refresh .ace-about-story-card small {
    display: flex;
    min-height: 0;
    align-items: center;
    justify-content: flex-start;
    color: #ffccd0;
    font-size: 12px;
    letter-spacing: .12em;
}

.ace-about-refresh .ace-about-story-card.is-active small {
    color: var(--ace-red);
}

.ace-about-refresh .ace-about-story-card h3 {
    display: block;
    width: auto;
    margin: 9px 0 0;
    color: inherit;
    font-size: 18px;
    line-height: 1.35;
    text-align: left;
}

.ace-about-refresh .ace-about-story-card h3::before,
.ace-about-refresh .ace-about-story-card h3::after {
    display: none;
}

.ace-about-refresh .ace-about-story-card p {
    display: none;
    min-height: 0;
    margin: 13px 0 0;
    padding: 13px 0 0;
    justify-content: flex-start;
    border-top: 1px solid rgba(72, 67, 62, .17);
    color: #68625d;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}

.ace-about-refresh .ace-about-story-card.is-active h3 {
    font-size: 24px;
}

.ace-about-refresh .ace-about-story-card.is-active p {
    display: block;
}

/* Partners act as a quiet transition between the two image-led sections. */
.ace-about-refresh .ace-about-partners {
    gap: 0;
    border-top: 1px solid rgba(64, 69, 72, .12);
    border-bottom: 1px solid rgba(64, 69, 72, .12);
}

.ace-about-refresh .ace-about-partners img,
.ace-about-refresh .ace-about-partners img:hover {
    border: 0;
    border-right: 1px solid rgba(64, 69, 72, .1);
    border-radius: 0;
    box-shadow: none;
    transform: none;
}

.ace-about-refresh .ace-about-partners img:last-child {
    border-right: 0;
}

/* Investor relations: full-width alternating editorial rows rather than small cards. */
.ace-about-refresh .ace-about-investors {
    display: flex;
    gap: 64px;
    flex-direction: column;
}

.ace-about-refresh .ace-about-investors .ace-about-investor {
    position: relative;
    display: grid;
    min-height: 350px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    grid-template-columns: minmax(0, 58%) minmax(0, 42%);
    align-items: center;
}

.ace-about-refresh .ace-about-investor::before {
    position: absolute;
    z-index: 0;
    top: -38px;
    right: 22px;
    content: attr(data-investor-index);
    color: rgba(168, 16, 27, .07);
    font-family: var(--ace-sans);
    font-size: 108px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.06em;
}

.ace-about-refresh .ace-about-investor figure {
    position: relative;
    z-index: 1;
    height: 350px;
    margin: 0;
    overflow: hidden;
    border-radius: 44px 8px 44px 8px;
    background: #e9ecec;
    box-shadow: 0 22px 54px rgba(55, 61, 64, .11);
}

.ace-about-refresh .ace-about-investor figure::after {
    position: absolute;
    content: "";
    background: linear-gradient(90deg, transparent 58%, rgba(25, 22, 21, .2));
    inset: 0;
}

.ace-about-refresh .ace-about-investor figure img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    transition: transform .75s var(--ace-ease);
}

.ace-about-refresh .ace-about-investor:hover figure img {
    transform: scale(1.025);
}

.ace-about-refresh .ace-about-investor > div {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 226px;
    margin-left: -42px;
    padding: 46px 44px 48px;
    justify-content: center;
    flex-direction: column;
    border-radius: 4px 32px 4px 32px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 46px rgba(54, 59, 62, .105);
}

.ace-about-refresh .ace-about-investor > div > span {
    color: var(--ace-red);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
}

.ace-about-refresh .ace-about-investor h3 {
    margin: 16px 0 14px;
    color: #282522;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.25;
}

.ace-about-refresh .ace-about-investor p {
    color: #68625d;
    font-size: 15px;
    line-height: 1.85;
}

.ace-about-refresh .ace-about-investor--gaoke {
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
}

.ace-about-refresh .ace-about-investor--gaoke::before {
    right: auto;
    left: 18px;
}

.ace-about-refresh .ace-about-investor--gaoke figure {
    grid-column: 2;
    grid-row: 1;
}

.ace-about-refresh .ace-about-investor--gaoke figure::after {
    background: linear-gradient(270deg, transparent 58%, rgba(25, 22, 21, .2));
}

.ace-about-refresh .ace-about-investor--gaoke > div {
    margin-right: -42px;
    margin-left: 0;
    grid-column: 1;
    grid-row: 1;
}

@media (max-width: 1180px) {
    .ace-about-refresh .ace-about-culture-system {
        grid-template-columns: minmax(270px, .36fr) minmax(0, .64fr);
        gap: 48px;
    }

    .ace-about-refresh .ace-about-culture-line::before {
        left: -48px;
        width: 48px;
    }

    .ace-about-refresh .ace-about-story-card,
    .ace-about-refresh .ace-about-story-card.is-left,
    .ace-about-refresh .ace-about-story-card.is-right {
        width: 21%;
    }

    .ace-about-refresh .ace-about-story-card.is-active {
        left: 22%;
        width: 56%;
    }

    .ace-about-refresh .ace-about-investors .ace-about-investor {
        grid-template-columns: minmax(0, 62%) minmax(0, 38%);
    }

    .ace-about-refresh .ace-about-investor--gaoke {
        grid-template-columns: minmax(0, 38%) minmax(0, 62%);
    }
}

@media (max-width: 980px) {
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 560px;
        min-height: 560px;
    }

    .ace-about-refresh .ace-about-culture-system {
        min-height: 0;
        padding: 30px 0;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ace-about-refresh .ace-about-culture-core__stage {
        width: min(370px, 78vw);
    }

    .ace-about-refresh .ace-about-culture-lines {
        grid-template-rows: auto;
    }

    .ace-about-refresh .ace-about-culture-line {
        padding-right: 22px;
        padding-left: 22px;
    }

    .ace-about-refresh .ace-about-culture-line::before,
    .ace-about-refresh .ace-about-culture-line::after {
        display: none;
    }

    .ace-about-refresh .ace-about-culture-line:hover {
        padding-left: 28px;
    }

    .ace-about-refresh .ace-about-investors .ace-about-investor,
    .ace-about-refresh .ace-about-investor--gaoke {
        min-height: 320px;
        grid-template-columns: minmax(0, 58%) minmax(0, 42%);
    }

    .ace-about-refresh .ace-about-investor figure {
        height: 320px;
    }

    .ace-about-refresh .ace-about-investor > div {
        min-height: 210px;
        margin-left: -32px;
        padding: 36px 32px 38px;
    }

    .ace-about-refresh .ace-about-investor--gaoke {
        grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    }

    .ace-about-refresh .ace-about-investor--gaoke > div {
        margin-right: -32px;
        margin-left: 0;
    }
}

@media (max-width: 760px) {
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 500px;
        min-height: 500px;
        background-position: center;
    }

    .ace-about-refresh.ace-light-banner-page .ace-about-hero h1 {
        font-size: 56px;
        line-height: 1;
        letter-spacing: -.055em;
    }

    .ace-about-refresh.ace-light-banner-page .ace-about-hero p {
        max-width: 310px;
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.7;
    }

    .ace-about-refresh .ace-about-hero__inner {
        padding-bottom: 68px;
    }

    .ace-about-refresh .ace-about-culture-system {
        padding-top: 18px;
    }

    .ace-about-refresh .ace-about-culture-system::after {
        display: none;
    }

    .ace-about-refresh .ace-about-culture-core__stage {
        width: min(300px, 86vw);
    }

    .ace-about-refresh .ace-about-culture-core img {
        width: 132px;
    }

    .ace-about-refresh .ace-about-culture-core figcaption {
        margin-top: -4px;
    }

    .ace-about-refresh .ace-about-culture-line {
        padding: 21px 10px;
    }

    .ace-about-refresh .ace-about-culture-line:hover {
        padding-left: 16px;
    }

    .ace-about-refresh .ace-about-culture-line > strong,
    .ace-about-refresh .ace-about-culture-line > p {
        margin-left: 45px;
    }

    .ace-about-refresh .ace-about-culture-line > strong {
        font-size: 18px;
    }

    .ace-about-refresh .ace-about-stories {
        display: flex;
        min-height: 0;
        margin-right: calc(var(--ace-gutter) * -1);
        padding: 0 var(--ace-gutter) 22px 0;
        overflow-x: auto;
        background: transparent;
        gap: 12px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ace-about-refresh .ace-about-stories::after {
        display: none;
    }

    .ace-about-refresh .ace-about-stories::before {
        right: var(--ace-gutter);
    }

    .ace-about-refresh .ace-about-story-card,
    .ace-about-refresh .ace-about-story-card.is-left,
    .ace-about-refresh .ace-about-story-card.is-active,
    .ace-about-refresh .ace-about-story-card.is-right {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        min-height: 430px;
        flex: 0 0 86%;
        border-radius: 5px 24px 5px 24px;
        box-shadow: none;
        scroll-snap-align: center;
    }

    .ace-about-refresh .ace-about-story-card.is-active {
        box-shadow: 0 18px 40px rgba(47, 51, 53, .14);
    }

    .ace-about-refresh .ace-about-story-card__copy,
    .ace-about-refresh .ace-about-story-card.is-active .ace-about-story-card__copy {
        right: 16px;
        bottom: 16px;
        left: 16px;
        padding: 19px 20px 21px;
        color: #292624;
        border-radius: 3px 20px 3px 20px;
        background: rgba(255, 255, 255, .92);
    }

    .ace-about-refresh .ace-about-story-card small {
        color: var(--ace-red);
    }

    .ace-about-refresh .ace-about-story-card h3,
    .ace-about-refresh .ace-about-story-card.is-active h3 {
        font-size: 21px;
    }

    .ace-about-refresh .ace-about-story-card p,
    .ace-about-refresh .ace-about-story-card.is-active p {
        display: block;
        margin-top: 11px;
        padding-top: 11px;
        font-size: 14px;
    }

    .ace-about-refresh .ace-about-partners {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ace-about-refresh .ace-about-partners img:nth-child(2) {
        border-right: 0;
    }

    .ace-about-refresh .ace-about-partners img:nth-child(-n+2) {
        border-bottom: 1px solid rgba(64, 69, 72, .1);
    }

    .ace-about-refresh .ace-about-investors {
        gap: 46px;
    }

    .ace-about-refresh .ace-about-investors .ace-about-investor,
    .ace-about-refresh .ace-about-investor--gaoke {
        display: grid;
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .ace-about-refresh .ace-about-investor figure,
    .ace-about-refresh .ace-about-investor--gaoke figure {
        width: 100%;
        height: auto;
        border-radius: 28px 7px 28px 7px;
        grid-column: 1;
        grid-row: 1;
        aspect-ratio: 16 / 9;
    }

    .ace-about-refresh .ace-about-investor figure::after,
    .ace-about-refresh .ace-about-investor--gaoke figure::after {
        background: linear-gradient(0deg, rgba(25, 22, 21, .2), transparent 58%);
    }

    .ace-about-refresh .ace-about-investor > div,
    .ace-about-refresh .ace-about-investor--gaoke > div {
        min-height: 0;
        margin: -24px 14px 0;
        padding: 29px 25px 31px;
        grid-column: 1;
        grid-row: 2;
    }

    .ace-about-refresh .ace-about-investor::before {
        top: -24px;
        right: 8px;
        left: auto;
        font-size: 76px;
    }

    .ace-about-refresh .ace-about-investor h3 {
        margin-top: 13px;
        font-size: 25px;
    }

    .ace-about-refresh .ace-about-investor p {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-about-refresh .ace-about-culture-core__ring,
    .ace-about-refresh .ace-about-culture-core img,
    .ace-about-refresh .ace-about-culture-line,
    .ace-about-refresh .ace-about-story-card,
    .ace-about-refresh .ace-about-story-card__media img,
    .ace-about-refresh .ace-about-investor figure img {
        animation: none !important;
        transition: none !important;
    }
}

/* About page detail pass: connected culture rows, hover accordion and aligned investors. */
.ace-about-refresh .ace-about-culture-core__ray,
.ace-about-refresh .ace-about-culture-core__node {
    display: none;
}

.ace-about-refresh .ace-about-culture-line::before {
    left: clamp(-144px, -10vw, -112px);
    width: clamp(112px, 10vw, 144px);
    background: linear-gradient(90deg, rgba(168, 16, 27, .22), rgba(168, 16, 27, .58));
    transition: background .3s ease, height .3s ease;
}

.ace-about-refresh .ace-about-culture-line::after {
    transition: box-shadow .3s ease, transform .3s var(--ace-ease);
}

.ace-about-refresh .ace-about-culture-line:hover::before {
    height: 2px;
    background: linear-gradient(90deg, rgba(168, 16, 27, .3), var(--ace-red));
}

.ace-about-refresh .ace-about-culture-line:hover::after {
    box-shadow: 0 0 0 10px rgba(168, 16, 27, .12);
    transform: scale(1.22);
}

.ace-about-refresh .ace-about-culture-line__icon {
    display: none;
}

.ace-about-refresh .ace-about-culture-line__head {
    gap: 0;
}

.ace-about-refresh .ace-about-culture-line h3 {
    display: block;
    color: #272422;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
}

.ace-about-refresh .ace-about-culture-line h3::before {
    display: none;
}

.ace-about-refresh .ace-about-culture-line > strong {
    display: block;
    margin: 9px 0 0;
    color: #514c48;
    font-size: 16px;
    font-weight: 500;
}

.ace-about-refresh .ace-about-culture-line > strong::before {
    display: none;
}

.ace-about-refresh .ace-about-culture-line > p {
    margin: 7px 0 0;
}

.ace-about-refresh .ace-about-honor-viewport,
.ace-about-refresh .ace-about-honor-track {
    background: transparent;
}

.ace-about-refresh .ace-about-honor-card {
    border: 1px solid rgba(76, 81, 84, .08);
    background: #fff;
    box-shadow: 0 14px 34px rgba(54, 59, 62, .065);
}

.ace-about-refresh .ace-about-honor-media {
    background: #fff;
}

/* The responsibility cards keep the most recently hovered or focused panel active. */
.ace-about-refresh .ace-about-stories {
    display: flex;
    min-height: 472px;
    padding: 0;
    overflow: hidden;
    align-items: stretch;
    background: transparent;
    gap: 8px;
}

.ace-about-refresh .ace-about-stories::before {
    display: none;
}

.ace-about-refresh .ace-about-story-card,
.ace-about-refresh .ace-about-story-card.is-featured {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    display: block;
    width: auto;
    min-width: 0;
    min-height: 472px;
    padding: 0;
    overflow: hidden;
    flex: 1 1 0;
    border: 0;
    border-radius: 5px 20px 5px 20px;
    background: #dfe3e4;
    box-shadow: none;
    cursor: pointer;
    opacity: 1;
    filter: none;
    transform: none;
    transition:
        flex-grow .58s var(--ace-ease),
        border-radius .45s ease,
        box-shadow .45s ease;
}

@media (min-width: 761px) {
    .ace-about-refresh .ace-about-story-card.is-active,
    .ace-about-refresh .ace-about-story-card.is-left,
    .ace-about-refresh .ace-about-story-card.is-right {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
    }
}

.ace-about-refresh .ace-about-story-card.is-featured {
    flex-grow: 2.35;
    border-radius: 6px 34px 6px 34px;
    box-shadow: 0 24px 54px rgba(47, 51, 53, .16);
}

.ace-about-refresh .ace-about-story-card:focus-visible {
    outline: 3px solid rgba(168, 16, 27, .3);
    outline-offset: -3px;
}

.ace-about-refresh .ace-about-story-card__media {
    position: absolute;
    margin: 0;
    border-radius: 0;
    inset: 0;
}

.ace-about-refresh .ace-about-story-card__media::after {
    background: linear-gradient(0deg, rgba(22, 21, 20, .66), transparent 60%);
}

.ace-about-refresh .ace-about-story-card__media img,
.ace-about-refresh .ace-about-story-card:first-child .ace-about-story-card__media img {
    filter: saturate(.72) brightness(.82);
    transform: scale(1.045);
}

.ace-about-refresh .ace-about-story-card.is-featured .ace-about-story-card__media img {
    filter: saturate(.94) brightness(.96);
    transform: scale(1.01);
}

.ace-about-refresh .ace-about-story-card__copy {
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding: 17px 16px 18px;
    color: #fff;
    border-radius: 0;
    background: linear-gradient(135deg, rgba(35, 32, 30, .78), rgba(35, 32, 30, .48));
    box-shadow: none;
}

.ace-about-refresh .ace-about-story-card.is-featured .ace-about-story-card__copy {
    right: 28px;
    bottom: 28px;
    left: 28px;
    padding: 24px 28px 25px;
    color: #292624;
    border-radius: 3px 24px 3px 24px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 16px 38px rgba(28, 26, 24, .12);
}

.ace-about-refresh .ace-about-story-card small {
    color: #ffccd0;
}

.ace-about-refresh .ace-about-story-card.is-featured small {
    color: var(--ace-red);
}

.ace-about-refresh .ace-about-story-card h3 {
    font-size: 18px;
}

.ace-about-refresh .ace-about-story-card.is-featured h3 {
    font-size: 24px;
}

.ace-about-refresh .ace-about-story-card p {
    display: block;
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    overflow: hidden;
    border-top: 0;
    opacity: 0;
    transition: max-height .42s ease, margin .42s ease, padding .42s ease, opacity .25s ease;
}

.ace-about-refresh .ace-about-story-card.is-featured p {
    max-height: 110px;
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid rgba(72, 67, 62, .17);
    opacity: 1;
}

/* Investor relations stays side-by-side on desktop, with equal rhythm and no overlap. */
.ace-about-refresh .ace-about-investors {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ace-about-refresh .ace-about-investors .ace-about-investor,
.ace-about-refresh .ace-about-investors .ace-about-investor--gaoke {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 510px;
    overflow: hidden;
    flex-direction: column;
    border: 0;
    border-top: 0;
    border-radius: 34px 7px 34px 7px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(54, 59, 62, .09);
}

.ace-about-refresh .ace-about-investor::before,
.ace-about-refresh .ace-about-investor--gaoke::before {
    display: none;
}

.ace-about-refresh .ace-about-investor figure,
.ace-about-refresh .ace-about-investor--gaoke figure {
    width: 100%;
    height: 292px;
    flex: 0 0 292px;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    grid-column: auto;
    grid-row: auto;
}

.ace-about-refresh .ace-about-investor figure::after,
.ace-about-refresh .ace-about-investor--gaoke figure::after {
    background: linear-gradient(0deg, rgba(25, 22, 21, .2), transparent 58%);
}

.ace-about-refresh .ace-about-investor > div,
.ace-about-refresh .ace-about-investor--gaoke > div {
    display: flex;
    min-height: 215px;
    margin: 0;
    padding: 32px 34px 36px;
    flex: 1 1 auto;
    justify-content: center;
    flex-direction: column;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    grid-column: auto;
    grid-row: auto;
}

.ace-about-refresh .ace-about-investor h3 {
    margin: 0 0 12px;
    font-size: 29px;
}

.ace-about-refresh .ace-about-investor p {
    font-size: 15px;
    line-height: 1.8;
}

.ace-about-refresh .ace-about-investor__link {
    display: inline-flex;
    width: fit-content;
    min-height: 42px;
    margin-top: 22px;
    padding: 10px 17px;
    align-items: center;
    justify-content: center;
    color: #4b4642;
    border: 1px solid rgba(73, 68, 64, .25);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    gap: 24px;
    transition: color .3s ease, border-color .3s ease, background .3s ease, transform .3s var(--ace-ease), box-shadow .3s ease;
}

.ace-about-refresh .ace-about-investor__link span {
    color: var(--ace-red);
    font-size: 17px;
    line-height: 1;
    transition: transform .3s var(--ace-ease);
}

.ace-about-refresh .ace-about-investor:hover .ace-about-investor__link,
.ace-about-refresh .ace-about-investor__link:hover,
.ace-about-refresh .ace-about-investor__link:focus-visible {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
    box-shadow: 0 10px 24px rgba(168, 16, 27, .17);
    transform: translateY(-2px);
}

.ace-about-refresh .ace-about-investor:hover .ace-about-investor__link span,
.ace-about-refresh .ace-about-investor__link:hover span,
.ace-about-refresh .ace-about-investor__link:focus-visible span {
    color: #fff;
    transform: translateX(3px);
}

.ace-about-refresh .ace-about-investor__link:focus-visible {
    outline: 3px solid rgba(168, 16, 27, .2);
    outline-offset: 3px;
}

@media (max-width: 1180px) {
    .ace-about-refresh .ace-about-culture-line::before {
        left: -126px;
        width: 126px;
    }

    .ace-about-refresh .ace-about-investors {
        gap: 18px;
    }

    .ace-about-refresh .ace-about-investor figure,
    .ace-about-refresh .ace-about-investor--gaoke figure {
        height: 260px;
        flex-basis: 260px;
    }

    .ace-about-refresh .ace-about-investor > div,
    .ace-about-refresh .ace-about-investor--gaoke > div {
        padding: 29px 28px 32px;
    }
}

@media (max-width: 980px) {
    .ace-about-refresh .ace-about-culture-line::before,
    .ace-about-refresh .ace-about-culture-line::after {
        display: none;
    }

    .ace-about-refresh .ace-about-investors .ace-about-investor,
    .ace-about-refresh .ace-about-investors .ace-about-investor--gaoke {
        min-height: 480px;
    }

    .ace-about-refresh .ace-about-investor h3 {
        font-size: 26px;
    }
}

@media (max-width: 760px) {
    .ace-about-refresh .ace-about-stories {
        min-height: 0;
        margin-right: calc(var(--ace-gutter) * -1);
        padding: 0 var(--ace-gutter) 22px 0;
        overflow-x: auto;
        background: transparent;
        gap: 12px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ace-about-refresh .ace-about-story-card,
    .ace-about-refresh .ace-about-story-card.is-featured,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card:is(:hover, :focus-visible) {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        min-height: 430px;
        flex: 0 0 86%;
        border-radius: 5px 24px 5px 24px;
        box-shadow: none;
        scroll-snap-align: center;
    }

    .ace-about-refresh .ace-about-story-card__copy,
    .ace-about-refresh .ace-about-story-card.is-featured .ace-about-story-card__copy,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card .ace-about-story-card__copy,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card:is(:hover, :focus-visible) .ace-about-story-card__copy {
        right: 16px;
        bottom: 16px;
        left: 16px;
        padding: 19px 20px 21px;
        color: #292624;
        border-radius: 3px 20px 3px 20px;
        background: rgba(255, 255, 255, .92);
        box-shadow: none;
    }

    .ace-about-refresh .ace-about-story-card small,
    .ace-about-refresh .ace-about-story-card.is-featured small,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card small {
        color: var(--ace-red);
    }

    .ace-about-refresh .ace-about-story-card h3,
    .ace-about-refresh .ace-about-story-card.is-featured h3,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card h3 {
        font-size: 21px;
    }

    .ace-about-refresh .ace-about-story-card p,
    .ace-about-refresh .ace-about-story-card.is-featured p,
    .ace-about-refresh .ace-about-stories:is(:hover, :focus-within) .ace-about-story-card p {
        max-height: none;
        margin-top: 11px;
        padding-top: 11px;
        border-top: 1px solid rgba(72, 67, 62, .17);
        opacity: 1;
    }

    .ace-about-refresh .ace-about-investors {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .ace-about-refresh .ace-about-investors .ace-about-investor,
    .ace-about-refresh .ace-about-investors .ace-about-investor--gaoke {
        min-height: 0;
    }

    .ace-about-refresh .ace-about-investor figure,
    .ace-about-refresh .ace-about-investor--gaoke figure {
        height: auto;
        flex-basis: auto;
        aspect-ratio: 16 / 9;
    }

    .ace-about-refresh .ace-about-investor > div,
    .ace-about-refresh .ace-about-investor--gaoke > div {
        min-height: 0;
        padding: 27px 24px 30px;
    }
}

/* Enterprise services editorial reflow: only the overview and ecosystem sections. */
.ace-service-page .ace-service-overview .ace-service-heading--split,
.ace-service-page .ace-service-ecosystem .ace-service-heading--row {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    align-items: end;
    gap: clamp(46px, 6vw, 92px);
}

.ace-service-page .ace-service-overview .ace-service-heading--split > p,
.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
    max-width: 500px;
    font-size: 15px;
    line-height: 1.9;
}

.ace-service-page .ace-service-overview .ace-service-journey {
    overflow: hidden;
    margin-top: 56px;
    border: 1px solid rgba(88, 94, 98, .14);
    border-radius: 0 34px 0 34px;
    background: rgba(255, 255, 255, .58);
    box-shadow: 0 22px 58px rgba(66, 73, 78, .06);
}

.ace-service-page .ace-service-overview .ace-service-journey__line {
    top: 0;
    height: 2px;
    background: rgba(168, 16, 27, .08);
}

.ace-service-page .ace-service-overview .ace-service-journey article {
    min-height: 194px;
    padding: 31px clamp(22px, 2.5vw, 34px) 29px;
    border-right: 1px solid rgba(88, 94, 98, .12);
    border-bottom: 0;
    outline: 0;
    transition: background .3s ease;
}

.ace-service-page .ace-service-overview .ace-service-journey article:last-child {
    border-right: 0;
}

.ace-service-page .ace-service-overview .ace-service-journey article:hover,
.ace-service-page .ace-service-overview .ace-service-journey article:focus-visible,
.ace-service-page .ace-service-overview .ace-service-journey article.is-active {
    background: linear-gradient(138deg, rgba(168, 16, 27, .055), rgba(255, 255, 255, .7));
}

.ace-service-page .ace-service-overview .ace-service-journey article::before {
    top: 28px;
    right: 28px;
    left: auto;
    width: 9px;
    height: 9px;
    border: 2px solid #f4f6f7;
}

.ace-service-page .ace-service-overview .ace-service-journey article > small {
    margin-top: 6px;
}

.ace-service-page .ace-service-overview .ace-service-journey h3 {
    margin: 21px 0 10px;
    font-size: clamp(27px, 2.3vw, 32px);
}

.ace-service-page .ace-service-overview .ace-service-journey p {
    font-size: 13px;
    line-height: 1.75;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit {
    margin-top: 56px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
    min-height: 520px;
    border-radius: 70px 18px 70px 18px;
    background:
        radial-gradient(circle at 50% 50%, rgba(168, 16, 27, .1) 0%, transparent 18%),
        linear-gradient(128deg, rgba(255, 255, 255, .92), rgba(242, 245, 246, .58));
    box-shadow: 0 28px 72px rgba(65, 74, 80, .08), inset 0 1px rgba(255, 255, 255, .94);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage::before {
    background-size: 36px 36px;
    opacity: .72;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
    width: min(330px, 42%);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh i:nth-child(1) {
    border-color: rgba(168, 16, 27, .24);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__rays i {
    width: 172px;
    background: linear-gradient(90deg, rgba(168, 16, 27, .25), rgba(129, 138, 144, .09));
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
    z-index: 6;
    display: flex;
    width: 154px;
    height: 154px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    box-shadow: 0 22px 54px rgba(168, 16, 27, .14), 0 0 0 16px rgba(255, 255, 255, .34);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core img {
    width: 66px;
    height: 66px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core strong {
    font-size: 18px;
    font-weight: 650;
    letter-spacing: .06em;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core span {
    position: static;
    font-size: 7px;
    letter-spacing: .2em;
}

.ace-service-page .ace-service-orbit__track {
    position: absolute;
    z-index: 5;
    inset: auto;
    top: 50%;
    left: 50%;
    width: 420px;
    height: 420px;
    animation: aceServiceOrbitFlow 84s linear infinite;
    transform-origin: 50% 50%;
}

.ace-service-page .ace-service-orbit__track::before,
.ace-service-page .ace-service-orbit__track::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    pointer-events: none;
}

.ace-service-page .ace-service-orbit__track::before {
    width: 330px;
    height: 330px;
    border: 1px solid rgba(168, 16, 27, .2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.ace-service-page .ace-service-orbit__track::after {
    width: 11px;
    height: 11px;
    border: 3px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    background: var(--ace-red);
    box-shadow: 0 0 0 6px rgba(168, 16, 27, .08);
    transform: translate(-50%, -171px);
}

.ace-service-page .ace-service-ecosystem .ace-service-node {
    position: absolute;
    top: var(--node-y);
    left: var(--node-x);
    width: 164px;
    min-height: 56px;
    padding: 0;
    color: #504c48;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: translate(-50%, -50%);
    transition: none;
}

.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(1) { --node-x: 50%; --node-y: 10%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(2) { --node-x: 78%; --node-y: 22%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(3) { --node-x: 90%; --node-y: 50%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(4) { --node-x: 78%; --node-y: 78%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(5) { --node-x: 50%; --node-y: 90%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(6) { --node-x: 22%; --node-y: 78%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(7) { --node-x: 10%; --node-y: 50%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(8) { --node-x: 22%; --node-y: 22%; }

.ace-service-page .ace-service-ecosystem.is-entered .ace-service-node {
    animation: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-node:hover,
.ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
    color: var(--ace-red);
    background: transparent;
    box-shadow: none;
    outline: 0;
    transform: translate(-50%, -50%);
}

.ace-service-page .ace-service-node__counter {
    display: flex;
    width: 100%;
    min-height: 56px;
    padding: 7px 12px 7px 7px;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(113, 120, 125, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 12px 28px rgba(68, 75, 80, .07);
    animation: aceServiceOrbitCounter 84s linear infinite;
    transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ace-service-page .ace-service-node > .ace-service-node__counter {
    flex-direction: row;
}

.ace-service-page .ace-service-node__counter > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.ace-service-page .ace-service-node:hover .ace-service-node__counter,
.ace-service-page .ace-service-node:focus-visible .ace-service-node__counter {
    border-color: rgba(168, 16, 27, .25);
    background: #fff;
    box-shadow: 0 16px 34px rgba(73, 65, 58, .11);
}

.ace-service-page .ace-service-node:focus-visible .ace-service-node__counter {
    outline: 2px solid rgba(168, 16, 27, .42);
    outline-offset: 3px;
}

.ace-service-page .ace-service-ecosystem .ace-service-node.is-active {
    color: #fff;
    background: transparent;
    box-shadow: none;
}

.ace-service-page .ace-service-node.is-active .ace-service-node__counter {
    border-color: var(--ace-red);
    background: var(--ace-red);
    box-shadow: 0 16px 38px rgba(168, 16, 27, .2);
}

.ace-service-page .ace-service-node__icon {
    width: 40px;
    height: 40px;
}

.ace-service-page .ace-service-node__icon svg {
    width: 22px;
    height: 22px;
}

.ace-service-page .ace-service-node b {
    font-size: 13px;
}

.ace-service-page .ace-service-orbit__stage:hover .ace-service-orbit__track,
.ace-service-page .ace-service-orbit__stage:hover .ace-service-node__counter,
.ace-service-page .ace-service-orbit__stage:focus-within .ace-service-orbit__track,
.ace-service-page .ace-service-orbit__stage:focus-within .ace-service-node__counter {
    animation-play-state: paused;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
    width: 100%;
    margin: 16px 0 0;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
    min-height: 126px;
    padding: 24px clamp(26px, 3.5vw, 44px);
    grid-template-columns: 66px minmax(210px, .72fr) minmax(300px, 1.28fr);
    gap: clamp(22px, 3vw, 42px);
    border-radius: 0 34px 0 34px;
    box-shadow: 0 18px 52px rgba(65, 73, 79, .08);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small {
    margin-bottom: 7px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
    font-size: clamp(25px, 2.5vw, 32px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
    max-width: none;
    margin: 0;
    padding-left: clamp(22px, 3vw, 38px);
    border-left: 1px solid var(--ace-line);
    font-size: 14px;
    line-height: 1.75;
}

@keyframes aceServiceOrbitFlow {
    from { transform: translate(-50%, -50%) rotate(0); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes aceServiceOrbitCounter {
    to { transform: rotate(-360deg); }
}

@media (max-width: 1000px) {
    .ace-service-page .ace-service-overview .ace-service-heading--split,
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        display: block;
        min-height: 0;
        padding: 255px 22px 22px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 121px;
        width: 220px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 121px;
        width: 126px;
        height: 126px;
        box-shadow: 0 18px 42px rgba(168, 16, 27, .13), 0 0 0 12px rgba(255, 255, 255, .32);
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core img {
        width: 52px;
        height: 52px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core strong {
        font-size: 16px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__rays {
        display: none;
    }

    .ace-service-page .ace-service-orbit__track {
        position: relative;
        top: auto;
        left: auto;
        display: flex;
        width: auto;
        height: auto;
        overflow-x: auto;
        padding: 3px 3px 11px;
        gap: 9px;
        animation: none;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        inset: auto;
        transform: none;
    }

    .ace-service-page .ace-service-orbit__track::-webkit-scrollbar {
        display: none;
    }

    .ace-service-page .ace-service-orbit__track::before,
    .ace-service-page .ace-service-orbit__track::after {
        display: none;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-node,
    .ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    .ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        position: relative;
        top: auto;
        left: auto;
        width: 166px;
        min-width: 166px;
        flex: 0 0 166px;
        transform: none;
        scroll-snap-align: start;
    }

    .ace-service-page .ace-service-node__counter {
        animation: none;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        margin-top: 13px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
        grid-template-columns: 58px minmax(180px, .78fr) minmax(240px, 1.22fr);
    }
}

@media (max-width: 720px) {
    .ace-service-page .ace-service-overview .ace-service-heading--split,
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        gap: 22px;
    }

    .ace-service-page .ace-service-overview .ace-service-heading--split > p,
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
        padding-left: 16px;
        font-size: 14px;
        line-height: 1.8;
    }

    .ace-service-page .ace-service-overview .ace-service-journey {
        overflow-x: auto;
        margin-top: 24px;
        margin-right: -20px;
        padding: 0 20px 8px 0;
        grid-template-columns: repeat(3, 246px);
        gap: 10px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ace-service-page .ace-service-overview .ace-service-journey::-webkit-scrollbar {
        display: none;
    }

    .ace-service-page .ace-service-overview .ace-service-journey__line {
        display: none;
    }

    .ace-service-page .ace-service-overview .ace-service-journey article {
        min-height: 176px;
        padding: 25px 24px;
        border: 1px solid rgba(88, 94, 98, .14);
        border-radius: 0 26px 0 26px;
        background: rgba(255, 255, 255, .62);
        scroll-snap-align: start;
    }

    .ace-service-page .ace-service-overview .ace-service-journey article:last-child {
        border-right: 1px solid rgba(88, 94, 98, .14);
    }

    .ace-service-page .ace-service-overview .ace-service-journey article::before {
        top: 24px;
        right: 24px;
        left: auto;
    }

    .ace-service-page .ace-service-overview .ace-service-journey h3 {
        margin-top: 17px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit {
        margin-top: 24px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        padding: 210px 12px 14px;
        border-radius: 44px 12px 44px 12px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 98px;
        width: 174px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 98px;
        width: 108px;
        height: 108px;
        gap: 2px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core img {
        width: 44px;
        height: 44px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core strong {
        font-size: 14px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core span {
        display: block;
        font-size: 6px;
    }

    .ace-service-page .ace-service-orbit__track {
        padding-bottom: 7px;
        gap: 8px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-node,
    .ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    .ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        width: 154px;
        min-width: 154px;
        flex-basis: 154px;
    }

    .ace-service-page .ace-service-node__counter {
        min-height: 58px;
        padding: 7px;
        gap: 8px;
        border-radius: 18px;
    }

    .ace-service-page .ace-service-node__icon {
        width: 38px;
        height: 38px;
    }

    .ace-service-page .ace-service-node b {
        font-size: 12px;
        white-space: nowrap;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        margin-top: 10px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
        min-height: 0;
        padding: 24px 23px 27px;
        grid-template-columns: 1fr;
        gap: 13px;
        border-radius: 0 32px 0 32px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
        font-size: 27px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
        margin-top: 2px;
        padding-top: 14px;
        padding-left: 0;
        border-top: 1px solid var(--ace-line);
        border-left: 0;
        font-size: 14px;
        line-height: 1.72;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-service-page .ace-service-orbit__track,
    .ace-service-page .ace-service-node__counter {
        animation: none !important;
    }
}

/* Unified titles and bottom rule for the current inner-page banner family. */
.ace-light-banner-page .ace-inner-hero h1,
.ace-about-page.ace-light-banner-page .ace-about-hero h1 {
    font-size: 52px;
}

.ace-light-banner-page .ace-inner-hero::after,
.ace-about-page.ace-light-banner-page .ace-about-hero::after {
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: var(--ace-red);
}

/* About overview: let the footprint map lead, with the introduction layered into its quiet corner. */
.ace-about-refresh .ace-about-overview--map {
    display: block;
}

.ace-about-refresh .ace-about-overview__image--map {
    position: relative;
    width: 100%;
    padding-top: clamp(155px, 15vw, 180px);
    background: #fff;
    isolation: isolate;
}

.ace-about-refresh .ace-about-overview__image--map img {
    display: block;
    width: 100%;
    height: auto;
}

.ace-about-refresh .ace-about-overview__overlay {
    position: absolute;
    z-index: 2;
    top: clamp(24px, 2.5vw, 50px);
    right: clamp(28px, 3.2vw, 48px);
    left: clamp(28px, 3.2vw, 48px);
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0 0 0 26px;
    color: #2d2a28;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.ace-about-refresh .ace-about-overview__overlay p {
    margin: 0;
    color: #363230;
    font-size: 16px;
    line-height: 1.82;
}

.ace-about-refresh .ace-about-overview__overlay p + p {
    margin-top: 13px;
}

@media (max-width: 980px) {
    .ace-about-refresh .ace-about-overview__overlay {
        right: clamp(28px, 3.2vw, 48px);
        width: auto;
    }
}

@media (max-width: 760px) {
    .ace-about-refresh .ace-about-overview__image--map {
        display: flex;
        padding: 24px 8px 8px;
        flex-direction: column;
    }

    .ace-about-refresh .ace-about-overview__overlay {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: auto;
        margin: 0 10px 18px;
        padding: 0 0 0 18px;
        order: -1;
        border-radius: 0;
        box-shadow: none;
    }

    .ace-about-refresh .ace-about-overview__overlay p {
        font-size: 14px;
        line-height: 1.78;
    }
}

/* Restore the original fine rays around each honor year. */
.ace-about-refresh .ace-about-honor-copy > span {
    width: 72%;
}

.ace-about-refresh .ace-about-honor-copy > span::before,
.ace-about-refresh .ace-about-honor-copy > span::after {
    display: block;
}

/* Keep the active card's copy fully expanded after the pointer leaves the deck. */
@media (min-width: 761px) {
    .ace-about-refresh .ace-about-story-card.is-featured .ace-about-story-card__copy {
        display: flex;
        min-height: 190px;
        justify-content: center;
        flex-direction: column;
    }
}

.ace-about-refresh .ace-about-story-card::after {
    display: none;
}

/* Enterprise services second pass: editorial cycle cards and a split ecosystem workspace. */
.ace-service-page .ace-service-overview .ace-service-journey {
    margin-top: 52px;
    isolation: isolate;
}

.ace-service-page .ace-service-overview .ace-service-journey article {
    display: flex;
    min-height: 236px;
    padding: 42px clamp(26px, 2.7vw, 38px) 34px;
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-end;
    background:
        radial-gradient(circle at 88% 18%, rgba(168, 16, 27, .055), transparent 26%),
        rgba(255, 255, 255, .52);
}

.ace-service-page .ace-service-overview .ace-service-journey article > span,
.ace-service-page .ace-service-overview .ace-service-journey article > small {
    display: none;
}

.ace-service-page .ace-service-overview .ace-service-journey article::before {
    top: 30px;
    right: 30px;
    width: 10px;
    height: 10px;
    border: 3px solid rgba(255, 255, 255, .94);
    background: #aaa6a1;
    box-shadow: 0 0 0 1px rgba(112, 108, 103, .26), 0 0 0 9px rgba(112, 108, 103, .04);
}

.ace-service-page .ace-service-overview .ace-service-journey article::after {
    position: absolute;
    right: -82px;
    bottom: -96px;
    width: 220px;
    height: 220px;
    content: "";
    border: 1px solid rgba(109, 116, 121, .09);
    border-radius: 50%;
    pointer-events: none;
    transition: border-color .35s ease, transform .45s var(--ace-ease);
}

.ace-service-page .ace-service-overview .ace-service-journey article:hover::before,
.ace-service-page .ace-service-overview .ace-service-journey article:focus-visible::before,
.ace-service-page .ace-service-overview .ace-service-journey article.is-active::before {
    background: var(--ace-red);
    box-shadow: 0 0 0 1px rgba(168, 16, 27, .28), 0 0 0 10px rgba(168, 16, 27, .08);
}

.ace-service-page .ace-service-overview .ace-service-journey article:hover::after,
.ace-service-page .ace-service-overview .ace-service-journey article:focus-visible::after,
.ace-service-page .ace-service-overview .ace-service-journey article.is-active::after {
    border-color: rgba(168, 16, 27, .18);
    transform: scale(1.08);
}

.ace-service-page .ace-service-overview .ace-service-journey h3,
.ace-service-page .ace-service-overview .ace-service-journey p {
    position: relative;
    z-index: 1;
}

.ace-service-page .ace-service-overview .ace-service-journey h3 {
    margin: 0 0 16px;
    font-size: clamp(31px, 2.6vw, 38px);
}

.ace-service-page .ace-service-overview .ace-service-journey h3::before {
    display: block;
    width: 44px;
    height: 2px;
    margin-bottom: 22px;
    content: "";
    background: rgba(168, 16, 27, .42);
    transition: width .35s var(--ace-ease), background .35s ease;
}

.ace-service-page .ace-service-overview .ace-service-journey article:hover h3::before,
.ace-service-page .ace-service-overview .ace-service-journey article:focus-visible h3::before,
.ace-service-page .ace-service-overview .ace-service-journey article.is-active h3::before {
    width: 68px;
    background: var(--ace-red);
}

.ace-service-page .ace-service-overview .ace-service-journey p {
    max-width: 250px;
    font-size: 14px;
    line-height: 1.82;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit {
    --ace-service-orbit-size: clamp(500px, 40vw, 570px);
    display: grid;
    margin-top: 48px;
    grid-template-columns: minmax(292px, .68fr) minmax(530px, 1.32fr);
    grid-template-rows: minmax(250px, .92fr) minmax(286px, 1.08fr);
    align-items: stretch;
    gap: 20px 28px;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 0;
    padding: 34px 32px 34px 34px;
    overflow: hidden;
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    border: 1px solid rgba(103, 111, 116, .11);
    border-left: 2px solid var(--ace-red);
    border-radius: 0 32px 0 32px;
    background:
        radial-gradient(circle at 110% -10%, rgba(168, 16, 27, .08), transparent 42%),
        rgba(255, 255, 255, .42);
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row::after {
    position: absolute;
    right: -58px;
    bottom: -76px;
    width: 180px;
    height: 180px;
    content: "";
    border: 1px solid rgba(168, 16, 27, .11);
    border-radius: 50%;
    pointer-events: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row > div,
.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 {
    font-size: 31px;
    line-height: 1.24;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
    margin-top: 24px;
    padding: 19px 0 0;
    border-top: 1px solid rgba(94, 101, 106, .15);
    font-size: 14px;
    line-height: 1.88;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
    min-width: 0;
    min-height: clamp(620px, 48vw, 690px);
    grid-column: 2;
    grid-row: 1 / 3;
    border-radius: 70px 18px 70px 18px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
    width: clamp(410px, 35vw, 480px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__rays i {
    width: clamp(205px, 17vw, 238px);
}

.ace-service-page .ace-service-orbit__track {
    width: var(--ace-service-orbit-size);
    height: var(--ace-service-orbit-size);
}

.ace-service-page .ace-service-orbit__track::before {
    width: clamp(400px, 33vw, 470px);
    height: clamp(400px, 33vw, 470px);
}

.ace-service-page .ace-service-orbit__track::after {
    transform: translate(-50%, clamp(-236px, -17vw, -202px));
}

.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(1) { --node-x: 50%; --node-y: 8%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(2) { --node-x: 79%; --node-y: 21%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(3) { --node-x: 91%; --node-y: 50%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(4) { --node-x: 79%; --node-y: 79%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(5) { --node-x: 50%; --node-y: 92%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(6) { --node-x: 21%; --node-y: 79%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(7) { --node-x: 9%; --node-y: 50%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(8) { --node-x: 21%; --node-y: 21%; }

.ace-service-page .ace-service-ecosystem .ace-service-node {
    width: 140px;
    min-height: 48px;
}

.ace-service-page .ace-service-node__counter {
    min-height: 48px;
    padding: 6px 11px 6px 6px;
    gap: 8px;
}

.ace-service-page .ace-service-node__counter > span:last-child {
    justify-content: center;
}

.ace-service-page .ace-service-node__icon {
    width: 32px;
    height: 32px;
}

.ace-service-page .ace-service-node__icon svg {
    width: 17px;
    height: 17px;
}

.ace-service-page .ace-service-node b {
    font-size: 12px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    grid-column: 1;
    grid-row: 2;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 38px 34px;
    overflow: hidden;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    border-radius: 0 32px 0 32px;
    background:
        radial-gradient(circle at 112% 112%, rgba(168, 16, 27, .065), transparent 38%),
        rgba(255, 255, 255, .9);
    box-shadow: 0 20px 54px rgba(65, 73, 79, .08);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article[hidden] {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article::after {
    position: absolute;
    right: -60px;
    bottom: -76px;
    width: 170px;
    height: 170px;
    content: "";
    border: 1px solid rgba(168, 16, 27, .1);
    border-radius: 50%;
    pointer-events: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article > div,
.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article > p {
    position: relative;
    z-index: 1;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small {
    margin-bottom: 10px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
    font-size: clamp(28px, 2.5vw, 36px);
    line-height: 1.25;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
    width: 100%;
    max-width: none;
    margin: 24px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid rgba(94, 101, 106, .15);
    border-left: 0;
    font-size: 14px;
    line-height: 1.82;
}

@media (max-width: 1280px) {
    .ace-service-page .ace-service-ecosystem .ace-service-orbit {
        --ace-service-orbit-size: 540px;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        gap: 18px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        min-height: 240px;
        grid-column: 1;
        grid-row: 1;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 br {
        display: none;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        min-height: 620px;
        grid-column: 1;
        grid-row: 2;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 230px;
        grid-column: 1;
        grid-row: 3;
    }
}

@media (max-width: 1000px) {
    .ace-service-page .ace-service-ecosystem .ace-service-orbit {
        display: grid;
        margin-top: 36px;
        gap: 16px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        min-height: 0;
        padding: 30px 28px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        min-height: 0;
        padding: 280px 22px 22px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 134px;
        width: 242px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 134px;
    }

    .ace-service-page .ace-service-orbit__track {
        width: auto;
        height: auto;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-node,
    .ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    .ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        width: 148px;
        min-width: 148px;
        min-height: 50px;
        flex-basis: 148px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 228px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
        padding: 34px 32px;
    }
}

@media (max-width: 720px) {
    .ace-service-page .ace-service-overview .ace-service-journey article {
        min-height: 214px;
        padding: 34px 28px 30px;
    }

    .ace-service-page .ace-service-overview .ace-service-journey article::before {
        top: 26px;
        right: 26px;
    }

    .ace-service-page .ace-service-overview .ace-service-journey h3 {
        margin-bottom: 13px;
        font-size: 31px;
    }

    .ace-service-page .ace-service-overview .ace-service-journey h3::before {
        margin-bottom: 20px;
    }

    .ace-service-page .ace-service-overview .ace-service-journey p {
        font-size: 14px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit {
        margin-top: 28px;
        gap: 12px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        padding: 28px 24px 30px;
        border-radius: 0 28px 0 28px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 {
        font-size: 29px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
        margin-top: 20px;
        padding-top: 17px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        padding: 232px 12px 14px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 108px;
        width: 196px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 108px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-node,
    .ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    .ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        width: 142px;
        min-width: 142px;
        min-height: 48px;
        flex-basis: 142px;
    }

    .ace-service-page .ace-service-node__counter {
        min-height: 48px;
        padding: 6px;
        gap: 7px;
        border-radius: 16px;
    }

    .ace-service-page .ace-service-node__icon {
        width: 30px;
        height: 30px;
    }

    .ace-service-page .ace-service-node__icon svg {
        width: 16px;
        height: 16px;
    }

    .ace-service-page .ace-service-node b {
        font-size: 12px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 236px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
        min-height: 236px;
        padding: 30px 25px 32px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
        font-size: 28px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
        margin-top: 20px;
        padding-top: 17px;
    }
}

/* Enterprise services third pass: frameless heading, integrated detail card and larger orbit labels. */
.ace-service-page .ace-service-ecosystem .ace-service-heading--row {
    overflow: visible;
    border-color: transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row::after {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
    border: 0;
    background: transparent;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 {
    font-size: 35px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
    z-index: 8;
    width: calc(100% + 52px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
    border-radius: 0 30px 0 30px;
    box-shadow: 0 24px 62px rgba(65, 73, 79, .11);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
    color: #2c2927;
    font-size: 24px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: .02em;
}

.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(1) { --node-x: 50%; --node-y: 9%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(2) { --node-x: 79%; --node-y: 21%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(3) { --node-x: 91%; --node-y: 50%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(4) { --node-x: 79%; --node-y: 79%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(5) { --node-x: 50%; --node-y: 91%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(6) { --node-x: 21%; --node-y: 79%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(7) { --node-x: 9%; --node-y: 50%; }
.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(8) { --node-x: 21%; --node-y: 21%; }

.ace-service-page .ace-service-ecosystem .ace-service-node {
    width: 156px;
    min-height: 52px;
}

.ace-service-page .ace-service-node__counter {
    min-height: 52px;
    padding: 7px 13px 7px 7px;
    gap: 9px;
}

.ace-service-page .ace-service-node b {
    font-size: 14px;
    font-weight: 600;
}

@media (min-width: 1281px) {
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 {
        white-space: nowrap;
    }
}

@media (max-width: 1280px) {
    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        width: 100%;
    }

    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(1) { --node-x: 50%; --node-y: 11.5%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(2) { --node-x: 77.25%; --node-y: 22.75%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(3) { --node-x: 88.5%; --node-y: 50%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(4) { --node-x: 77.25%; --node-y: 77.25%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(5) { --node-x: 50%; --node-y: 88.5%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(6) { --node-x: 22.75%; --node-y: 77.25%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(7) { --node-x: 11.5%; --node-y: 50%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(8) { --node-x: 22.75%; --node-y: 22.75%; }
}

@media (max-width: 1000px) {
    .ace-service-page .ace-service-ecosystem .ace-service-node,
    .ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    .ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        width: 156px;
        min-width: 156px;
        min-height: 52px;
        flex-basis: 156px;
    }
}

@media (max-width: 720px) {
    .ace-service-page .ace-service-ecosystem .ace-service-node,
    .ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    .ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        width: 154px;
        min-width: 154px;
        flex-basis: 154px;
    }

    .ace-service-page .ace-service-node__counter {
        min-height: 50px;
        padding: 7px;
    }
}

/* Match the About page's short red rule on primary inner-page section titles. */
.ace-project-index .ace-section__heading h2,
.ace-service-main .ace-service-heading h2,
.ace-cooperation-main .ace-cooperation-heading h2,
.ace-news-directory__heading h2,
.ace-news-detail-page .ace-article__aside-head h2 {
    position: relative;
    padding-bottom: 17px;
}

.ace-project-index .ace-section__heading h2::after,
.ace-service-main .ace-service-heading h2::after,
.ace-cooperation-main .ace-cooperation-heading h2::after,
.ace-news-directory__heading h2::after,
.ace-news-detail-page .ace-article__aside-head h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 44px;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

/* Wangshan detail refinements: project rhythm, four independent industry cards and image-only gallery viewing. */
.ace-project-redesign-page .ace-ws-hero,
.ace-project-redesign-page .ace-ws-hero__copy {
    height: 680px;
    min-height: 680px;
}

.ace-project-redesign-page .ace-ws-hero__copy {
    padding-top: 160px;
    padding-bottom: clamp(76px, 8vw, 120px);
}

.ace-project-redesign-page .ace-ws-hero h1 {
    max-width: none;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -.045em;
    white-space: nowrap;
}

.ace-project-redesign-page .ace-ws-jump a {
    justify-content: center;
    gap: 0;
    font-size: 16px;
}

.ace-project-redesign-page .ace-ws-section-stack > .ace-ws-section:nth-of-type(odd) {
    background: rgba(65, 108, 172, .06);
}

.ace-project-redesign-page .ace-ws-section-stack > .ace-ws-section:nth-of-type(even) {
    background: #fff;
}

.ace-project-redesign-page .ace-ws-product,
.ace-project-redesign-page .ace-ws-gallery,
.ace-project-redesign-page .ace-ws-related {
    border-top: 0;
}

.ace-project-redesign-page .ace-ws-overview__story {
    align-items: stretch;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
    gap: clamp(52px, 7vw, 108px);
}

.ace-project-redesign-page .ace-ws-overview__lead {
    display: block;
    order: 2;
    align-self: start;
    width: 100%;
    min-height: 0;
    aspect-ratio: 3 / 2;
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 36px 10px 36px 10px;
    background: #d5e0e7;
    box-shadow: 0 22px 54px rgba(53, 72, 86, .1);
}

.ace-project-redesign-page .ace-ws-overview__copy {
    order: 1;
}

.ace-project-redesign-page .ace-ws-overview__copy > p,
.ace-project-redesign-page .ace-ws-overview__copy > p:first-child {
    font-size: 16px;
}

.ace-project-redesign-page .ace-ws-overview__lead img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ace-project-redesign-page .ace-ws-product__stage {
    min-height: 560px;
    align-items: stretch;
    grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
}

.ace-project-redesign-page .ace-ws-product__media {
    height: 100%;
    min-height: 560px;
}

.ace-project-redesign-page .ace-ws-product__media img {
    position: absolute;
    inset: 0;
}

.ace-project-redesign-page .ace-ws-product__content {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.ace-project-redesign-page .ace-ws-product__content h2 {
    font-size: 38px;
    line-height: 1.35;
}

.ace-project-redesign-page .ace-ws-product__types {
    margin-bottom: 0;
}

.ace-project-redesign-page .ace-ws-industries__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 1.8vw, 28px);
}

.ace-project-redesign-page .ace-ws-industries__card {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(76, 98, 114, .14);
    border-radius: 28px 8px 28px 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(53, 72, 86, .08);
}

.ace-project-redesign-page .ace-ws-industries__card::after {
    position: absolute;
    content: "";
    background: linear-gradient(0deg, rgba(10, 21, 29, .68), transparent 48%);
    inset: 0;
    pointer-events: none;
}

.ace-project-redesign-page .ace-ws-industries__card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform .7s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-industries__card:hover img {
    transform: scale(1.035);
}

.ace-project-redesign-page .ace-ws-industries__card figcaption {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 24px;
    left: 24px;
    color: #fff;
}

.ace-project-redesign-page .ace-ws-industries__card strong {
    font-size: clamp(20px, 1.8vw, 27px);
    font-weight: 600;
    line-height: 1.3;
}

.ace-project-redesign-page .ace-ws-gallery__rail {
    padding-right: max(var(--ace-gutter), calc((100vw - var(--ace-shell)) / 2));
    padding-left: max(var(--ace-gutter), calc((100vw - var(--ace-shell)) / 2));
    scroll-padding-inline: max(var(--ace-gutter), calc((100vw - var(--ace-shell)) / 2));
}

.ace-project-redesign-page .ace-ws-gallery__item {
    width: clamp(280px, 22vw, 390px);
    min-width: clamp(280px, 22vw, 390px);
}

.ace-project-redesign-page .ace-ws-gallery__item::after {
    display: none;
}

.ace-project-redesign-page .ace-ws-lightbox {
    width: calc(100vw - 48px);
    max-width: none;
    height: calc(100vh - 48px);
    max-height: none;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
}

.ace-project-redesign-page .ace-ws-lightbox[open] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ace-project-redesign-page .ace-ws-lightbox::backdrop {
    background: rgba(5, 8, 10, .88);
    backdrop-filter: blur(7px);
}

.ace-project-redesign-page .ace-ws-lightbox figure {
    position: relative;
    width: auto;
    height: auto;
    max-width: calc(100vw - 176px);
    max-height: calc(100vh - 72px);
    margin: 0;
    background: transparent;
}

.ace-project-redesign-page .ace-ws-lightbox img {
    display: block;
    width: auto;
    max-width: calc(100vw - 176px);
    height: auto;
    max-height: calc(100vh - 72px);
    object-fit: contain;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

.ace-project-redesign-page .ace-ws-lightbox figcaption {
    right: 22px;
    bottom: 18px;
    left: 22px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .02em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .8);
}

.ace-project-redesign-page .ace-ws-lightbox__close,
.ace-project-redesign-page .ace-ws-lightbox__nav {
    position: absolute;
    z-index: 4;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: 50%;
    color: var(--ace-ink);
    background: rgba(255, 255, 255, .94);
    transition: color .25s ease, border-color .25s ease, background .25s ease;
}

.ace-project-redesign-page .ace-ws-lightbox__close:hover,
.ace-project-redesign-page .ace-ws-lightbox__close:focus-visible,
.ace-project-redesign-page .ace-ws-lightbox__nav:hover,
.ace-project-redesign-page .ace-ws-lightbox__nav:focus-visible {
    color: #fff;
    border-color: var(--ace-red);
    background: var(--ace-red);
}

.ace-project-redesign-page .ace-ws-lightbox__close {
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    font-size: 27px;
}

.ace-project-redesign-page .ace-ws-lightbox__nav {
    top: 50%;
    width: 54px;
    height: 54px;
    font-size: 22px;
    transform: translateY(-50%);
}

.ace-project-redesign-page .ace-ws-lightbox__nav--prev {
    left: 0;
}

.ace-project-redesign-page .ace-ws-lightbox__nav--next {
    right: 0;
}

@media (max-width: 980px) {
    .ace-project-redesign-page .ace-ws-hero,
    .ace-project-redesign-page .ace-ws-hero__copy {
        height: 560px;
        min-height: 560px;
    }

    .ace-project-redesign-page .ace-ws-hero__copy {
        padding-top: 130px;
        padding-bottom: 76px;
    }

    .ace-project-redesign-page .ace-ws-hero h1 {
        font-size: 42px;
    }

    .ace-project-redesign-page .ace-ws-overview__story,
    .ace-project-redesign-page .ace-ws-product__stage {
        grid-template-columns: 1fr;
    }

    .ace-project-redesign-page .ace-ws-product__media {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .ace-project-redesign-page .ace-ws-product__content {
        min-height: 280px;
    }

    .ace-project-redesign-page .ace-ws-industries__cards {
        margin-right: calc(var(--ace-gutter) * -1);
        padding-right: var(--ace-gutter);
        padding-bottom: 12px;
        overflow-x: auto;
        grid-template-columns: none;
        grid-auto-columns: min(330px, 72vw);
        grid-auto-flow: column;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ace-project-redesign-page .ace-ws-industries__cards::-webkit-scrollbar {
        display: none;
    }

    .ace-project-redesign-page .ace-ws-industries__card {
        scroll-snap-align: start;
    }
}

@media (max-width: 760px) {
    .ace-project-redesign-page .ace-ws-hero,
    .ace-project-redesign-page .ace-ws-hero__copy {
        height: 400px;
        min-height: 400px;
    }

    .ace-project-redesign-page .ace-ws-hero__copy {
        padding-top: 112px;
        padding-bottom: 62px;
    }

    .ace-project-redesign-page .ace-ws-hero h1 {
        font-size: clamp(26px, 7.4vw, 36px);
        letter-spacing: -.04em;
    }

    .ace-project-redesign-page .ace-ws-hero__copy > a {
        margin-top: 28px;
    }

    .ace-project-redesign-page .ace-ws-jump a {
        min-width: 128px;
        min-height: 62px;
        font-size: 16px;
    }

    .ace-project-redesign-page .ace-ws-overview__lead {
        min-height: 0;
        aspect-ratio: 3 / 2;
        border-radius: 24px 8px 24px 8px;
    }

    .ace-project-redesign-page .ace-ws-product__stage {
        min-height: 0;
    }

    .ace-project-redesign-page .ace-ws-product__content {
        min-height: 220px;
    }

    .ace-project-redesign-page .ace-ws-product__content h2 {
        font-size: 32px;
    }

    .ace-project-redesign-page .ace-ws-industries__cards {
        grid-auto-columns: min(290px, 80vw);
        gap: 16px;
    }

    .ace-project-redesign-page .ace-ws-industries__card {
        border-radius: 22px 7px 22px 7px;
    }

    .ace-project-redesign-page .ace-ws-gallery__rail {
        padding-right: var(--ace-gutter);
        padding-left: var(--ace-gutter);
        scroll-padding-inline: var(--ace-gutter);
    }

    .ace-project-redesign-page .ace-ws-gallery__item {
        width: 78vw;
        min-width: 78vw;
    }

    .ace-project-redesign-page .ace-ws-lightbox {
        width: calc(100vw - 24px);
        height: calc(100vh - 24px);
    }

    .ace-project-redesign-page .ace-ws-lightbox figure,
    .ace-project-redesign-page .ace-ws-lightbox img {
        max-width: calc(100vw - 28px);
        max-height: calc(100vh - 132px);
    }

    .ace-project-redesign-page .ace-ws-lightbox__close {
        top: 4px;
        right: 4px;
        width: 44px;
        height: 44px;
    }

    .ace-project-redesign-page .ace-ws-lightbox__nav {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }

    .ace-project-redesign-page .ace-ws-lightbox__nav--prev {
        left: 4px;
    }

    .ace-project-redesign-page .ace-ws-lightbox__nav--next {
        right: 4px;
    }
}

/* Keep production inner-page back-to-top controls visually aligned with the homepage. */
body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top {
    right: 22px;
    bottom: 22px;
    display: inline-flex;
    width: 52px;
    height: 52px;
    padding: 0;
    align-items: center;
    justify-content: center;
    gap: 0;
    overflow: visible;
    border: 1px solid rgba(176, 17, 30, .34);
    border-radius: 50%;
    color: #a80f1d;
    background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(249, 243, 244, .9));
    box-shadow: 0 10px 24px rgba(79, 11, 18, .12), inset 0 0 0 1px rgba(255, 255, 255, .72);
    font-family: var(--ace-sans);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    isolation: isolate;
    transform: translate3d(14px, 0, 0) scale(.96);
    transition:
        opacity .24s ease,
        transform .3s cubic-bezier(.2, .78, .2, 1),
        visibility .24s,
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top::before {
    display: none;
}

body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top::after {
    display: none;
}

body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top.is-visible {
    transform: translate3d(0, 0, 0) scale(1);
}

body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top.is-visible:focus-visible {
    border-color: rgba(168, 15, 29, .82);
    color: #fff;
    background: linear-gradient(135deg, #bd1121, #9e0b18);
    box-shadow: 0 12px 28px rgba(125, 9, 21, .24), 0 0 0 4px rgba(181, 17, 31, .08);
    outline: none;
    transform: translate3d(0, -2px, 0) scale(1.02);
}

@media (hover: hover) and (pointer: fine) {
    body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top.is-visible:hover {
        border-color: rgba(168, 15, 29, .82);
        color: #fff;
        background: linear-gradient(135deg, #bd1121, #9e0b18);
        box-shadow: 0 12px 28px rgba(125, 9, 21, .24), 0 0 0 4px rgba(181, 17, 31, .08);
        outline: none;
        transform: translate3d(0, -2px, 0) scale(1.02);
    }
}

@media (hover: none), (pointer: coarse) {
    body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top.is-visible:active {
        border-color: rgba(168, 15, 29, .82);
        color: #fff;
        background: linear-gradient(135deg, #bd1121, #9e0b18);
        box-shadow: 0 8px 20px rgba(125, 9, 21, .2), 0 0 0 4px rgba(181, 17, 31, .08);
        transform: translate3d(0, 0, 0) scale(.97);
    }
}

@media (max-width: 720px) {
    body.ace-v2-page:not(.ace-index-ip-intro):not(.ace-index2-lab) .ace-back-top {
        right: 12px;
        bottom: 14px;
        width: 44px;
        height: 44px;
        padding: 0;
        gap: 0;
        border-radius: 50%;
        font-size: 17px;
    }

}

/* About page: use the same small radius on all requested content panels and cards. */
.ace-about-refresh #about-overview .ace-about-overview__image--map,
.ace-about-refresh #about-overview .ace-about-overview__overlay,
.ace-about-refresh #about-overview .ace-about-numbers,
.ace-about-refresh #about-honors .ace-about-honor-card,
.ace-about-refresh #about-honors .ace-about-honor-media,
.ace-about-refresh #about-responsibility .ace-about-stories,
.ace-about-refresh #about-responsibility .ace-about-story-card,
.ace-about-refresh #about-responsibility .ace-about-story-card__media,
.ace-about-refresh #about-responsibility .ace-about-story-card__copy,
.ace-about-refresh #about-partners .ace-partner-gallery__layout,
.ace-about-refresh #about-partners .ace-partner-card figure,
.ace-about-refresh #about-investors .ace-about-investor,
.ace-about-refresh #about-investors .ace-about-investor figure {
    border-radius: 8px;
}

/* Shared title banners: center copy in the area below the header. */
.ace-light-banner-page .ace-inner-hero,
.ace-about-refresh.ace-light-banner-page .ace-about-hero {
    box-sizing: border-box;
    height: 680px;
    min-height: 680px;
    padding: 88px 0 0;
    align-items: center;
}

.ace-light-banner-page .ace-inner-hero .ace-shell,
.ace-about-refresh .ace-about-hero__inner {
    padding-bottom: 0;
}

.ace-light-banner-page .ace-inner-hero::after,
.ace-about-refresh.ace-light-banner-page .ace-about-hero::after {
    display: none;
}

@media (max-width: 980px) {
    .ace-light-banner-page .ace-inner-hero,
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 560px;
        min-height: 560px;
        padding-top: 72px;
    }
}

@media (max-width: 760px) {
    .ace-light-banner-page .ace-inner-hero,
    .ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 500px;
        min-height: 500px;
    }
}

/* News index: improve the small supporting copy identified in the current layout. */
.ace-news-index-page .ace-news-lead time span {
    font-size: 13px;
}

.ace-news-index-page .ace-news-lead__copy small {
    font-size: 12px;
}

.ace-news-index-page .ace-news-lead__action {
    font-size: 14px;
}

.ace-news-index-page .ace-news-directory__heading p {
    font-size: 12px;
}

.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date span {
    font-size: 11px;
}

.ace-news-index-page .ace-news-filter__actions > span {
    font-size: 13px;
}

.ace-news-index-page .ace-news-record time span {
    font-size: 11px;
}

/* News index filter: keep all controls on one desktop row. */
.ace-news-index-page .ace-news-search--v2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
}

.ace-news-index-page .ace-news-filter__actions {
    min-height: 52px;
    margin-top: 0;
    justify-content: flex-end;
}

@media (max-width: 720px) {
    .ace-news-index-page .ace-news-search--v2 {
        display: block;
    }

    .ace-news-index-page .ace-news-filter__actions {
        min-height: 38px;
        margin-top: 10px;
    }
}

/* News index dates: center date columns and compact the desktop filters. */
.ace-news-index-page .ace-news-lead time,
.ace-news-index-page .ace-news-record time {
    align-items: center;
    text-align: center;
}

@media (min-width: 721px) {
    .ace-news-index-page .ace-news-search__field,
    .ace-news-index-page .ace-news-search--v2 .ace-news-filter__date {
        box-sizing: border-box;
        min-height: 42px;
        height: 42px;
    }

    .ace-news-index-page .ace-news-search__field {
        padding-top: 0;
        padding-bottom: 0;
    }

    .ace-news-index-page .ace-news-search__field input {
        box-sizing: border-box;
        min-height: 0;
        height: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }

    .ace-news-index-page .ace-news-search--v2 .ace-news-filter__date {
        padding: 0 12px;
        grid-template-columns: auto minmax(0, 1fr);
        align-content: normal;
        align-items: center;
        gap: 10px;
    }

    .ace-news-index-page .ace-news-search--v2 .ace-news-filter__date span {
        font-size: 14px;
        white-space: nowrap;
    }

    .ace-news-index-page .ace-news-search--v2 .ace-news-filter__date input {
        min-height: 0;
        padding: 0;
        font-size: 14px;
    }

    .ace-news-index-page .ace-news-filter__actions {
        min-height: 42px;
    }

    .ace-news-index-page .ace-news-search--v2 button {
        min-height: 42px;
        height: 42px;
    }
}

/* Enterprise services: keep the three journey titles on one baseline. */
.ace-service-page .ace-service-overview .ace-service-journey p {
    min-height: calc(1.82em * 2);
}

/* News detail: keep the article section label on one line. */
.ace-news-detail-page .ace-article__lead strong {
    white-space: nowrap;
}

/* News detail: refine the annotated date, rule and search treatments. */
.ace-news-detail-page.ace-v2-page .ace-article-hero::after {
    display: none;
}

@media (min-width: 721px) {
    .ace-news-detail-page.ace-v2-page .ace-article-hero__date {
        align-items: center;
    }
}

.ace-news-detail-page.ace-v2-page .ace-article__latest time {
    position: relative;
    border-right: 0;
    text-align: right;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest time::after {
    position: absolute;
    top: 0;
    right: -9px;
    bottom: 0;
    width: 1px;
    content: "";
    background: rgba(163, 15, 25, .22);
}

.ace-news-detail-page.ace-v2-page .ace-article-hero__date span,
.ace-news-detail-page.ace-v2-page .ace-article__lead span {
    font-size: 14px;
}

.ace-news-detail-page.ace-v2-page .ace-article__latest time span,
.ace-news-detail-page.ace-v2-page .ace-article__search label {
    font-size: 11px;
}

.ace-news-detail-page.ace-v2-page .ace-article__all {
    margin-top: 0;
}

/* News detail: let the center navigation item fill its grid track. */
.ace-news-detail-page.ace-v2-page .ace-article-nav__home {
    box-sizing: border-box;
    width: 100%;
}

/* Formal inner-page banners: use the requested bilingual font stack. */
.ace-v2-page:not(.ace-index2-lab) .ace-inner-hero h1,
.ace-v2-page:not(.ace-index2-lab) .ace-inner-hero p,
.ace-about-page .ace-about-hero h1,
.ace-about-page .ace-about-hero p {
    font-family: var(--ace-sans);
}

/* Wangshan project detail: requested media corners, type and location refinements. */
.ace-project-redesign-page .ace-ws-overview__lead,
.ace-project-redesign-page .ace-ws-product__media,
.ace-project-redesign-page .ace-ws-industries__card,
.ace-project-redesign-page .ace-ws-gallery__item,
.ace-project-redesign-page .ace-ws-location__map-stage {
    border-radius: 8px;
}

.ace-project-redesign-page .ace-ws-overview__contact a,
.ace-project-redesign-page .ace-ws-overview__contact a small,
.ace-project-redesign-page .ace-ws-overview__contact a strong,
.ace-project-redesign-page .ace-ws-location__panel > span {
    font-family: var(--ace-sans);
}

.ace-project-redesign-page .ace-ws-overview__contact strong {
    font-weight: 700;
}

.ace-project-redesign-page .ace-ws-overview__contact small {
    font-size: 14px;
}

.ace-project-redesign-page .ace-ws-location__panel > span {
    font-size: 16px;
}

.ace-project-redesign-page .ace-ws-location__panel p {
    font-size: 14px;
}

.ace-project-redesign-page .ace-ws-location__panel a {
    font-size: 16px;
}

.ace-project-redesign-page .ace-ws-heading__link,
.ace-project-redesign-page .ace-ws-related__list span,
.ace-project-redesign-page .ace-ws-related__list small {
    font-size: 16px;
}

.ace-project-redesign-page .ace-ws-industries__card::after {
    background: linear-gradient(to top, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .42) 28%, transparent 62%);
}

.ace-project-redesign-page .ace-ws-industries__card strong {
    font-size: 24px;
}

.ace-project-redesign-page .ace-ws-related__list span {
    font-family: inherit;
}

.ace-project-redesign-page .ace-ws-gallery__controls > span {
    font-family: inherit;
}

@media (min-width: 761px) {
    .ace-project-redesign-page .ace-ws-gallery__item {
        width: clamp(336px, 26.4vw, 468px);
        min-width: clamp(336px, 26.4vw, 468px);
    }
}

.ace-project-redesign-page .ace-ws-product__types span {
    font-size: 16px;
}

.ace-project-redesign-page .ace-ws-product li b {
    font-family: inherit;
    font-size: 16px;
    line-height: 1.75;
}

/* Shared project detail variants: optional text industries, legacy video and center-only banner viewing. */
.ace-project-shared-page .ace-ws-hero h1 {
    max-width: 1120px;
    line-height: 1;
    white-space: normal;
}

.ace-project-shared-page .ace-ws-overview__phone small,
.ace-project-shared-page .ace-ws-overview__phone strong {
    font-family: var(--ace-sans);
}

.ace-project-shared-page .ace-ws-hero__image[data-ace-project-center-crop] {
    right: auto;
    left: 50%;
    width: 166.96%;
    max-width: none;
    transform: translateX(-50%);
}

.ace-project-shared-page .ace-ws-overview__lead > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.ace-project-shared-page .ace-ws-overview__lead > a > img:first-child {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ace-project-shared-page .ace-ws-overview__lead .ace-project-video-trigger__icon {
    --ace-project-video-trigger-size: clamp(54px, 3.5vw, 60px);
    position: absolute;
    top: calc(50% - (var(--ace-project-video-trigger-size) / 2));
    left: calc(50% - (var(--ace-project-video-trigger-size) / 2));
    display: grid;
    width: var(--ace-project-video-trigger-size);
    height: var(--ace-project-video-trigger-size);
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
    box-shadow: 0 10px 30px rgba(10, 18, 24, .2);
    margin: 0;
    transform: none;
    transition: transform .25s ease, background .25s ease;
}

.ace-project-shared-page .ace-project-video-trigger__icon::before {
    width: 0;
    height: 0;
    margin-left: 4px;
    content: "";
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 14px solid rgba(255, 255, 255, .98);
    filter: drop-shadow(0 2px 6px rgba(10, 18, 24, .22));
}

.ace-project-shared-page .ace-project-video-trigger__icon img {
    display: none;
}

.ace-project-shared-page .ace-ws-overview__lead > a:hover .ace-project-video-trigger__icon,
.ace-project-shared-page .ace-ws-overview__lead > a:focus-visible .ace-project-video-trigger__icon {
    background: rgba(255, 255, 255, .25);
    transform: scale(1.06);
}

.ace-project-shared-page .ace-ws-industries__cards--text {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ace-project-shared-page .ace-ws-industries__card--text {
    display: flex;
    min-height: 220px;
    align-items: flex-end;
    padding: 28px;
    border-color: rgba(136, 26, 34, .12);
    background:
        radial-gradient(circle at 82% 14%, rgba(169, 21, 33, .12), transparent 34%),
        linear-gradient(145deg, #fff 0%, #f4f7f9 100%);
}

.ace-project-shared-page .ace-ws-industries__card--text::before {
    position: absolute;
    top: 28px;
    left: 28px;
    width: 38px;
    height: 2px;
    content: "";
    background: var(--ace-red);
}

.ace-project-shared-page .ace-ws-industries__card--text::after {
    background: linear-gradient(to top, rgba(19, 32, 41, .1), transparent 58%);
}

.ace-project-shared-page .ace-ws-industries__card--text figcaption {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    color: var(--ace-ink);
}

.ace-project-shared-page .ace-ws-industries__card--text strong {
    font-size: 24px;
}

.ace-project-shared-page .ace-ws-gallery.is-single .ace-ws-gallery__controls button,
.ace-project-shared-page .ace-ws-lightbox__nav[hidden] {
    display: none;
}

@media (max-width: 760px) {
    .ace-project-shared-page .ace-ws-gallery.is-scrollable .ace-ws-gallery__controls button {
        display: none;
    }

    .ace-project-shared-page .ace-ws-gallery__controls > span {
        min-width: 0;
        margin-right: 0;
        margin-left: auto;
    }
}

.ace-project-shared-page .ace-ws-lightbox figure.is-center-crop {
    width: min(calc((100vh - 72px) * 1.9167), calc(100vw - 176px));
    overflow: hidden;
    aspect-ratio: 1150 / 600;
}

.ace-project-shared-page .ace-ws-lightbox figure.is-center-crop img {
    position: absolute;
    top: 0;
    left: 50%;
    width: 166.96%;
    max-width: none;
    height: 100%;
    max-height: none;
    object-fit: cover;
    transform: translateX(-50%);
}

.ace-project-video {
    width: min(1120px, calc(100vw - 48px), calc((100vh - 72px) * 1.7778));
    max-width: none;
    max-height: none;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
}

.ace-project-video[open] {
    display: block;
}

.ace-project-video::backdrop {
    background: rgba(5, 8, 10, .88);
    backdrop-filter: blur(7px);
}

.ace-project-video__frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
    background: #050709;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .42);
}

.ace-project-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #050709;
}

html.ace-project-video-open,
body.ace-project-video-open {
    overflow: hidden;
}

.ace-project-video > button {
    position: absolute;
    z-index: 2;
    top: -18px;
    right: -18px;
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    color: var(--ace-ink);
    background: #fff;
    font-size: 28px;
}

@media (max-width: 760px) {
    .ace-project-shared-page .ace-ws-hero h1 {
        max-width: calc(100vw - (var(--ace-gutter) * 2));
        line-height: 1;
    }

    .ace-project-shared-page .ace-ws-industries__cards--text {
        grid-template-columns: none;
    }

    .ace-project-shared-page .ace-ws-industries__card--text {
        min-height: 190px;
    }

    .ace-project-shared-page .ace-ws-lightbox figure.is-center-crop {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
    }

    .ace-project-video {
        width: min(calc(100vw - 24px), calc((100vh - 64px) * 1.7778));
    }

    .ace-project-video > button {
        top: 8px;
        right: 8px;
        width: 42px;
        height: 42px;
        color: #fff;
        border-color: rgba(255, 255, 255, .46);
        background: rgba(5, 7, 9, .7);
    }

    .ace-project-shared-page .ace-ws-overview__lead .ace-project-video-trigger__icon {
        --ace-project-video-trigger-size: 48px;
    }
}

/* Enterprise services: top heading, left orbit and fixed right platform detail. */
.ace-service-page .ace-service-ecosystem .ace-service-orbit {
    --ace-service-orbit-size: clamp(490px, 36vw, 530px);
    display: block;
    margin-top: 48px;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row {
    display: grid;
    min-height: 0;
    padding: 0;
    overflow: visible;
    grid-template-columns: minmax(310px, .88fr) minmax(420px, 1.12fr);
    align-items: end;
    gap: clamp(56px, 8vw, 128px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row::after {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row > div,
.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
    width: auto;
    max-width: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 {
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: normal;
    white-space: normal;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
    margin: 0 0 5px;
    padding: 0 0 0 clamp(24px, 3vw, 44px);
    border: 0;
    border-left: 1px solid rgba(90, 101, 108, .18);
    color: #747b80;
    font-size: 14px;
    line-height: 1.9;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
    position: relative;
    display: grid;
    min-height: 660px;
    margin-top: clamp(42px, 5vw, 68px);
    overflow: hidden;
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, 1fr);
    border: 1px solid rgba(116, 128, 136, .18);
    border-radius: 78px 18px 78px 18px;
    background:
        radial-gradient(circle at 25% 50%, rgba(255, 255, 255, .88), transparent 31%),
        linear-gradient(132deg, #f8fafb 0%, #eef2f4 52%, #e7ecef 100%);
    box-shadow: 0 30px 80px rgba(69, 80, 87, .1), inset 0 1px rgba(255, 255, 255, .92);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas::after {
    position: absolute;
    right: -9%;
    bottom: -24%;
    width: 44%;
    aspect-ratio: 1.45;
    content: "";
    border: 1px solid rgba(168, 16, 27, .08);
    border-radius: 50%;
    pointer-events: none;
    transform: rotate(-12deg);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
    min-width: 0;
    min-height: 660px;
    padding: 0;
    overflow: hidden;
    grid-column: 1;
    grid-row: 1;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage::before {
    background-size: 38px 38px;
    opacity: .74;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage::after {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
    top: 50%;
    width: clamp(405px, 32vw, 470px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
    top: 50%;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__rays i {
    width: clamp(205px, 16vw, 238px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__track {
    width: var(--ace-service-orbit-size);
    height: var(--ace-service-orbit-size);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__track::before {
    width: clamp(400px, 31vw, 465px);
    height: clamp(400px, 31vw, 465px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__track::after {
    transform: translate(-50%, clamp(-232px, -16vw, -200px));
}

.ace-service-page .ace-service-ecosystem .ace-service-node,
.ace-service-page .ace-service-ecosystem .ace-service-node:hover,
.ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
    width: 150px;
    min-width: 150px;
    min-height: 50px;
}

.ace-service-page .ace-service-ecosystem .ace-service-node__counter {
    min-height: 50px;
    padding: 7px 11px 7px 7px;
}

.ace-service-page .ace-service-ecosystem .ace-service-node b {
    font-size: 13px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
    position: relative;
    z-index: 8;
    display: grid;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 660px;
    margin: 0;
    padding: clamp(58px, 5.2vw, 82px) clamp(34px, 3.8vw, 58px) clamp(48px, 4.5vw, 68px);
    grid-column: 2;
    grid-row: 1;
    grid-template-rows: minmax(0, 1fr) auto;
    border-left: 1px solid rgba(98, 109, 116, .16);
    background: rgba(248, 250, 251, .38);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__panels {
    display: grid;
    min-height: 0;
    align-items: center;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
    position: relative;
    display: flex;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: visible;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article::after {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article[hidden] {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small {
    display: block;
    margin: 0 0 24px;
    color: #9b1b27;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .22em;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
    margin: 0;
    color: #25292c;
    font-size: clamp(34px, 3.2vw, 48px);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -.03em;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__accent {
    display: block;
    width: 42px;
    height: 2px;
    margin-top: 24px;
    background: var(--ace-red);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
    width: 100%;
    max-width: 430px;
    margin: 30px 0 0;
    padding: 0;
    color: #687177;
    border: 0;
    font-size: 14px;
    line-height: 1.9;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__tags {
    display: flex;
    margin: 34px 0 0;
    padding: 0;
    flex-wrap: wrap;
    gap: 9px;
    list-style: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__tags li {
    padding: 8px 13px;
    color: #6c7479;
    border: 1px solid rgba(97, 108, 115, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .42);
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    margin-top: 46px;
    align-items: center;
    justify-content: flex-start;
    gap: 13px;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress i {
    display: block;
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: rgba(72, 82, 88, .22);
    transition: width .3s ease, border-radius .3s ease, background .3s ease;
}

.ace-service-page .ace-service-ecosystem [data-active="incubation"] .ace-service-orbit__progress i:nth-child(1),
.ace-service-page .ace-service-ecosystem [data-active="property"] .ace-service-orbit__progress i:nth-child(2),
.ace-service-page .ace-service-ecosystem [data-active="business"] .ace-service-orbit__progress i:nth-child(3),
.ace-service-page .ace-service-ecosystem [data-active="finance"] .ace-service-orbit__progress i:nth-child(4),
.ace-service-page .ace-service-ecosystem [data-active="government"] .ace-service-orbit__progress i:nth-child(5),
.ace-service-page .ace-service-ecosystem [data-active="industry"] .ace-service-orbit__progress i:nth-child(6),
.ace-service-page .ace-service-ecosystem [data-active="technology"] .ace-service-orbit__progress i:nth-child(7),
.ace-service-page .ace-service-ecosystem [data-active="training"] .ace-service-orbit__progress i:nth-child(8) {
    width: 24px;
    border-radius: 99px;
    background: var(--ace-red);
}

@media (max-width: 1100px) {
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
        gap: 38px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
        grid-template-columns: minmax(0, 1fr);
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        min-height: 620px;
        grid-column: 1;
        grid-row: 1;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 360px;
        padding: 52px clamp(34px, 6vw, 66px) 46px;
        grid-column: 1;
        grid-row: 2;
        border-top: 1px solid rgba(98, 109, 116, .16);
        border-left: 0;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
        max-width: 660px;
    }
}

@media (max-width: 1000px) {
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 24px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
        margin: 0;
        padding: 0 0 0 20px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        min-height: 0;
        padding: 280px 22px 24px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 134px;
        width: 242px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 134px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__track {
        width: auto;
        height: auto;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 340px;
    }
}

@media (max-width: 720px) {
    .ace-service-page .ace-service-ecosystem .ace-service-orbit {
        margin-top: 28px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--row > p {
        padding-left: 16px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
        margin-top: 30px;
        border-radius: 42px 12px 42px 12px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        padding: 232px 12px 16px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 108px;
        width: 196px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 108px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 0;
        padding: 38px 25px 34px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article {
        min-height: 0;
        padding: 0;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small {
        margin-bottom: 18px;
        font-size: 9px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
        font-size: 30px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__accent {
        margin-top: 20px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__details article p {
        margin-top: 22px;
        font-size: 14px;
        line-height: 1.78;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__tags {
        margin-top: 26px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__progress {
        margin-top: 36px;
        gap: 11px;
    }
}

@media (max-width: 760px) {
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row h2 {
        font-size: 26px;
        line-height: 36.4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-service-page .ace-service-ecosystem .ace-service-orbit__progress i {
        transition: none;
    }
}

/* Enterprise services: keep all title-and-intro pairs aligned and consistent. */
.ace-service-page .ace-service-overview .ace-service-heading--split,
.ace-service-page .ace-service-ecosystem .ace-service-heading--row,
.ace-service-page .ace-service-operator .ace-service-heading--row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
    align-items: start;
    gap: clamp(44px, 6vw, 96px);
}

.ace-service-page .ace-service-overview .ace-service-heading--split > p,
.ace-service-page .ace-service-ecosystem .ace-service-heading--row > p,
.ace-service-page .ace-service-operator .ace-service-heading--row > p {
    box-sizing: border-box;
    width: 100%;
    max-width: 400px;
    margin: 0;
    padding: 0 0 0 28px;
    justify-self: end;
    color: #747b80;
    border: 0;
    border-left: 2px solid var(--ace-red);
    background: transparent;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: normal;
}

@media (max-width: 1000px) {
    .ace-service-page .ace-service-overview .ace-service-heading--split,
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row,
    .ace-service-page .ace-service-operator .ace-service-heading--row {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .ace-service-page .ace-service-overview .ace-service-heading--split > p,
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row > p,
    .ace-service-page .ace-service-operator .ace-service-heading--row > p {
        justify-self: start;
        padding-left: 20px;
    }
}

@media (max-width: 760px) {
    .ace-service-page .ace-service-overview .ace-service-heading--split > p,
    .ace-service-page .ace-service-ecosystem .ace-service-heading--row > p,
    .ace-service-page .ace-service-operator .ace-service-heading--row > p {
        padding-left: 16px;
        font-size: 14px;
        line-height: 1.8;
    }
}

/* Enterprise services: stack the platform introduction below its title. */
@media (min-width: 1001px) {
    .ace-service-page .ace-service-layout {
        padding-top: 96px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit {
        margin-top: 0;
    }
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 28px;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked h2 {
    padding-bottom: 0;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked h2::after {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked > p {
    max-width: none;
    margin: 0;
    padding-left: 24px;
    font-size: 16px;
    justify-self: stretch;
}

.ace-service-page .ace-service-operator .ace-service-story__panels p {
    font-size: 16px;
}

.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked + .ace-service-orbit__canvas {
    margin-top: clamp(30px, 3.5vw, 44px);
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
    border-radius: 32px;
}

@media (max-width: 760px) {
    .ace-service-page .ace-service-ecosystem .ace-service-heading--stacked {
        gap: 22px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--stacked > p {
        padding-left: 16px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-heading--stacked + .ace-service-orbit__canvas {
        margin-top: 28px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
        border-radius: 24px;
    }
}

/* Enterprise services orbit: remove the marked decorations and refine the centered core. */
.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh i:nth-child(2),
.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh i:nth-child(4) {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__track::after {
    display: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
    gap: 0;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core img {
    transform: translateY(-8px);
    transform-origin: center;
}

.ace-service-page .ace-service-ecosystem .ace-service-orbit__core strong {
    margin-top: -2px;
    line-height: 1.1;
    transform: none;
}

.ace-service-page .ace-service-ecosystem .ace-service-node b {
    font-size: 14px;
}

/* Enterprise services orbit: hold four horizontal label pairs in a static desktop layout. */
@media (min-width: 1001px) {
    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 50%;
        left: 50%;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__core img {
        width: 54px;
        height: 54px;
    }

    .ace-service-page .ace-service-ecosystem .ace-service-orbit__track {
        animation: none;
        transform: translate(-50%, -50%);
    }

    .ace-service-page .ace-service-ecosystem .ace-service-node__counter {
        animation: none;
    }

    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(1) { --node-x: 32%; --node-y: 10%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(2) { --node-x: 68%; --node-y: 10%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(3) { --node-x: 89%; --node-y: 35%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(4) { --node-x: 89%; --node-y: 65%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(5) { --node-x: 68%; --node-y: 90%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(6) { --node-x: 32%; --node-y: 90%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(7) { --node-x: 11%; --node-y: 65%; }
    .ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(8) { --node-x: 11%; --node-y: 35%; }
}

/* Project index: keep the white canvas and add restrained architectural ornaments. */
.ace-project-index {
    position: relative;
    isolation: isolate;
    overflow: clip;
    background: #fff;
}

.ace-project-index > .ace-shell {
    position: relative;
    z-index: 2;
}

.ace-project-index::before,
.ace-project-index::after {
    position: absolute;
    z-index: 1;
    aspect-ratio: 1;
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.ace-project-index::before {
    top: clamp(76px, 7vw, 118px);
    right: clamp(-360px, -22vw, -250px);
    width: clamp(560px, 44vw, 780px);
    background:
        radial-gradient(circle at 50% 50%, rgba(163, 15, 25, .42) 0 1.5px, transparent 2px),
        linear-gradient(rgba(99, 107, 112, .075), rgba(99, 107, 112, .075)) 50% 50% / 1px 62px no-repeat,
        linear-gradient(90deg, rgba(99, 107, 112, .075), rgba(99, 107, 112, .075)) 50% 50% / 62px 1px no-repeat,
        repeating-radial-gradient(circle at 50% 50%, transparent 0 72px, rgba(99, 107, 112, .052) 73px 74px, transparent 75px 108px);
}

.ace-project-index::after {
    top: clamp(510px, 38vw, 690px);
    left: clamp(-380px, -23vw, -270px);
    width: clamp(590px, 47vw, 840px);
    background:
        radial-gradient(circle at 50% 50%, rgba(163, 15, 25, .34) 0 1.5px, transparent 2px),
        linear-gradient(58deg, transparent 0 49.86%, rgba(99, 107, 112, .055) 49.95% 50.05%, transparent 50.14%),
        linear-gradient(32deg, transparent 0 49.86%, rgba(99, 107, 112, .042) 49.95% 50.05%, transparent 50.14%),
        linear-gradient(rgba(99, 107, 112, .055), rgba(99, 107, 112, .055)) 50% 50% / 1px 76px no-repeat,
        linear-gradient(90deg, rgba(99, 107, 112, .055), rgba(99, 107, 112, .055)) 50% 50% / 76px 1px no-repeat,
        repeating-radial-gradient(circle at 50% 50%, transparent 0 104px, rgba(99, 107, 112, .042) 105px 106px, transparent 107px 148px);
    transform: rotate(-11deg);
}

@media (max-width: 980px) {
    .ace-project-index::before {
        top: 104px;
        right: -270px;
        width: 540px;
        opacity: .72;
    }

    .ace-project-index::after {
        top: 540px;
        left: -310px;
        width: 590px;
        opacity: .58;
    }
}

@media (max-width: 720px) {
    .ace-project-index::before {
        top: 86px;
        right: -236px;
        width: 420px;
        opacity: .5;
    }

    .ace-project-index::after {
        display: none;
    }
}

/* Project index ornaments end. */

/* Project industries: square exhibition cards; desktop uses one or two rows without horizontal scrolling. */
.ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls {
    display: none;
}

.ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__controls {
    display: flex;
}

.ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls button:disabled {
    opacity: .32;
    pointer-events: none;
}

.ace-project-redesign-page .ace-ws-industries__cards--rail {
    --ace-industry-rail-gap: 24px;
    display: flex;
    overflow-x: auto;
    justify-content: flex-start;
    gap: var(--ace-industry-rail-gap);
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    cursor: grab;
    overscroll-behavior-inline: contain;
}

.ace-project-redesign-page .ace-ws-industries__cards--rail::-webkit-scrollbar {
    display: none;
}

.ace-project-redesign-page .ace-ws-industries__cards--rail.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
}

.ace-project-redesign-page .ace-ws-industries__cards--rail > .ace-ws-industries__card {
    width: calc(25% - 18px);
    min-width: calc(25% - 18px);
    flex: 0 0 calc(25% - 18px);
    scroll-snap-align: start;
}

.ace-project-redesign-page [data-ace-industries-carousel].is-ready:not(.is-scrollable) .ace-ws-industries__cards--rail {
    overflow-x: hidden;
    justify-content: center;
    cursor: default;
}

.ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--rail > .ace-ws-industries__card {
    width: calc(25% - 30px);
    min-width: calc(25% - 30px);
    flex-basis: calc(25% - 30px);
}

@media (max-width: 980px) {
    .ace-project-redesign-page .ace-ws-industries__cards--rail,
    .ace-project-redesign-page [data-ace-industries-carousel].is-ready:not(.is-scrollable) .ace-ws-industries__cards--rail {
        margin-right: calc(var(--ace-gutter) * -1);
        overflow-x: auto;
        justify-content: flex-start;
        padding-right: var(--ace-gutter);
    }

    .ace-project-redesign-page .ace-ws-industries__cards--rail > .ace-ws-industries__card,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--rail > .ace-ws-industries__card {
        width: min(330px, 72vw);
        min-width: min(330px, 72vw);
        flex-basis: min(330px, 72vw);
    }
}

@media (max-width: 760px) {
    .ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls {
        gap: 7px;
    }

    .ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls > span {
        min-width: 72px;
    }

    .ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls button {
        width: 42px;
        height: 42px;
    }

    .ace-project-redesign-page .ace-ws-industries__cards--rail {
        --ace-industry-rail-gap: 16px;
    }

    .ace-project-redesign-page .ace-ws-industries__cards--rail > .ace-ws-industries__card,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--rail > .ace-ws-industries__card {
        width: min(290px, 80vw);
        min-width: min(290px, 80vw);
        flex-basis: min(290px, 80vw);
    }
}

/* Project industries: unified portrait cards with adaptive image captions. */
.ace-project-redesign-page .ace-ws-industries__card {
    container-type: inline-size;
    border: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: transform .45s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-industries__card::after {
    display: none;
}

.ace-project-redesign-page .ace-ws-industries__card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
    box-shadow: 0 12px 28px rgba(46, 65, 78, .09);
    transform: none;
    transition: transform .55s var(--ace-ease), filter .55s var(--ace-ease), box-shadow .55s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-industries__card:hover img {
    transform: none;
}

.ace-project-redesign-page .ace-ws-industries__card figcaption {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: 60px;
    padding: 14px 18px;
    box-sizing: border-box;
    color: #111;
    border-top: 1px solid rgba(17, 17, 17, .08);
    border-radius: 0 0 4px 4px;
    background: rgba(255, 255, 255, .82);
    text-align: center;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background-color .35s ease;
}

.ace-project-redesign-page .ace-ws-industries__card strong {
    display: block;
    min-width: 0;
    color: #111;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
    transition: color .35s ease, transform .4s var(--ace-ease);
}

.ace-project-redesign-page .ace-ws-industries__card figcaption::before {
    display: none;
}

@media (hover: hover) and (pointer: fine) {
    .ace-project-redesign-page .ace-ws-industries__card:hover {
        transform: none;
    }

    .ace-project-redesign-page .ace-ws-industries__card:hover img {
        filter: none;
        transform: none;
    }

    .ace-project-redesign-page .ace-ws-industries__card:hover figcaption {
        background: rgba(255, 255, 255, .92);
    }

    .ace-project-redesign-page .ace-ws-industries__card:hover strong {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ace-project-redesign-page .ace-ws-industries__card,
    .ace-project-redesign-page .ace-ws-industries__card img,
    .ace-project-redesign-page .ace-ws-industries__card figcaption,
    .ace-project-redesign-page .ace-ws-industries__card figcaption::before,
    .ace-project-redesign-page .ace-ws-industries__card strong {
        transition: none;
    }
}

@media (min-width: 981px) {
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__controls {
        display: none;
    }

    .ace-project-redesign-page .ace-ws-industries__cards--rail,
    .ace-project-redesign-page [data-ace-industries-carousel].is-ready:not(.is-scrollable) .ace-ws-industries__cards--rail,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--rail {
        width: 100%;
        max-width: none;
        margin-right: auto;
        margin-left: auto;
        overflow-x: visible;
        justify-content: center;
        gap: 30px;
        flex-wrap: wrap;
        scroll-snap-type: none;
        cursor: default;
    }

    .ace-project-redesign-page .ace-ws-industries__cards--count-1 > .ace-ws-industries__card {
        width: 100%;
        min-width: 100%;
        flex-basis: 100%;
    }

    .ace-project-redesign-page .ace-ws-industries__cards--count-2 > .ace-ws-industries__card {
        width: calc(50% - 15px);
        min-width: calc(50% - 15px);
        flex-basis: calc(50% - 15px);
    }

    .ace-project-redesign-page .ace-ws-industries__cards--count-3 > .ace-ws-industries__card,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--count-3 > .ace-ws-industries__card {
        width: calc(33.333333% - 20px);
        min-width: calc(33.333333% - 20px);
        flex-basis: calc(33.333333% - 20px);
    }

    .ace-project-redesign-page .ace-ws-industries__cards--count-4 > .ace-ws-industries__card,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--count-4 > .ace-ws-industries__card {
        width: calc(25% - 22.5px);
        min-width: calc(25% - 22.5px);
        flex-basis: calc(25% - 22.5px);
    }

    .ace-project-redesign-page .ace-ws-industries__cards--count-5 > .ace-ws-industries__card,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--count-5 > .ace-ws-industries__card {
        width: calc(33.333333% - 20px);
        min-width: calc(33.333333% - 20px);
        flex-basis: calc(33.333333% - 20px);
    }

    .ace-project-redesign-page .ace-ws-industries__cards--count-6 > .ace-ws-industries__card,
    .ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--count-6 > .ace-ws-industries__card {
        width: calc(33.333333% - 20px);
        min-width: calc(33.333333% - 20px);
        flex-basis: calc(33.333333% - 20px);
    }
}

/* Project details: keep the legacy product images uncropped at their intrinsic ratio. */
.ace-project-redesign-page .ace-ws-product__stage {
    min-height: 0;
    align-items: center;
}

.ace-project-redesign-page .ace-ws-product__media {
    align-self: center;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
}

.ace-project-redesign-page .ace-ws-product__media img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
    transform: none;
}

.ace-project-redesign-page .ace-ws-product__stage:hover .ace-ws-product__media img {
    transform: none;
}

.ace-project-redesign-page .ace-ws-location__panel h3 {
    font-size: 35px;
}

/* Cooperation page typography standard: scoped to contact.html only. */
.ace-cooperation-page .ace-cooperation-hero h1 {
    font-size: 52px;
}

.ace-cooperation-page .ace-cooperation-heading h2 {
    font-size: 38px;
}

.ace-cooperation-page .ace-fund-panels article > span {
    font-size: clamp(76px, 7vw, 96px);
}

.ace-cooperation-page .ace-career-invite h3 {
    font-size: clamp(42px, 3.65vw, 52px);
    line-height: 1.15;
}

@media (max-width: 980px) {
    .ace-cooperation-page .ace-cooperation-hero h1 {
        font-size: 42px;
    }

    .ace-cooperation-page .ace-cooperation-heading h2 {
        font-size: 32px;
    }
}

@media (max-width: 760px) {
    .ace-cooperation-page .ace-cooperation-hero h1 {
        font-size: 34px;
    }

    .ace-cooperation-page .ace-cooperation-heading h2 {
        font-size: 26px;
    }

    .ace-cooperation-page .ace-fund-panels article > span {
        font-size: 64px;
    }

    .ace-cooperation-page .ace-career-invite h3 {
        font-size: 34px;
    }

    .ace-cooperation-page .ace-coop-path__head > small em,
    .ace-cooperation-page .ace-footer__brand span {
        font-size: 12px;
    }
}
/* ACE Park typography system v1.0: shared semantic scale for formal V2 pages. */
:root {
    --ace-type-page-title: 52px;
    --ace-type-section-title: 38px;
    --ace-type-subsection-title: 28px;
    --ace-type-card-title: 22px;
    --ace-type-lead: 18px;
    --ace-type-body: 16px;
    --ace-type-body-small: 14px;
    --ace-type-meta: 13px;
    --ace-type-micro: 12px;
    --ace-type-project-name: 52px;
    --ace-type-news-detail-title: 48px;
    --ace-type-news-lead-title: 32px;
    --ace-type-data: 56px;
    --ace-type-sequence: 96px;
    --ace-leading-title: 1.15;
    --ace-leading-section: 1.22;
    --ace-leading-body: 1.75;
    --ace-leading-small: 1.65;
    --ace-leading-news: 1.85;
}

body.ace-v2-page {
    font-family: var(--ace-sans);
    font-size: var(--ace-type-body);
}

body.ace-v2-page :where(button, input, textarea, select) {
    font-family: inherit;
}

.ace-light-banner-page .ace-inner-hero h1,
.ace-about-page.ace-light-banner-page .ace-about-hero h1,
.ace-cooperation-page .ace-cooperation-hero h1 {
    font-size: var(--ace-type-page-title);
    font-weight: 600;
    line-height: var(--ace-leading-title);
    letter-spacing: -.045em;
}

.ace-light-banner-page .ace-inner-hero p,
.ace-about-page.ace-light-banner-page .ace-about-hero p,
.ace-cooperation-page .ace-cooperation-hero p {
    font-size: var(--ace-type-lead);
    line-height: 1.65;
}

.ace-section__heading h2,
.ace-stats__heading h2,
.ace-about-heading h2,
.ace-service-heading h2,
.ace-cooperation-page .ace-cooperation-heading h2,
.ace-project-redesign-page .ace-ws-heading h2,
.ace-project-redesign-page .ace-ws-product__content h2,
.ace-project-redesign-page .ace-ws-apply h2 {
    font-size: var(--ace-type-section-title);
    font-weight: 600;
    line-height: var(--ace-leading-section);
    letter-spacing: -.035em;
}

.ace-project-grid h3,
.ace-news__body h3,
.ace-news-record__copy h3,
.ace-news-detail-page .ace-article__latest h3 {
    font-size: var(--ace-type-card-title);
    font-weight: 600;
    line-height: 1.35;
}

.ace-about-overview__overlay p,
.ace-about-refresh .ace-about-investor p,
.ace-project-index__summary,
.ace-project-redesign-page .ace-ws-overview__copy > p,
.ace-project-redesign-page .ace-ws-location__panel p,
.ace-cooperation-page .ace-capital-story__copy p {
    font-size: var(--ace-type-body);
    line-height: var(--ace-leading-body);
}

.ace-project-search input,
.ace-project-industry__search input,
.ace-news-search input,
.ace-news-detail-page .ace-article__search input,
.ace-cooperation-page input,
.ace-cooperation-page textarea,
.ace-cooperation-page select {
    font-size: var(--ace-type-body);
}

.ace-project-redesign-page .ace-ws-hero h1 {
    font-size: var(--ace-type-project-name);
    font-weight: 600;
    line-height: var(--ace-leading-title);
    letter-spacing: -.045em;
}

.ace-project-redesign-page .ace-ws-location__panel h3 {
    font-size: var(--ace-type-subsection-title);
    font-weight: 600;
    line-height: 1.3;
}

.ace-project-redesign-page .ace-ws-industries__card strong {
    font-size: var(--ace-type-card-title);
    font-weight: 600;
    line-height: 1.35;
}

.ace-core__metric strong,
.ace-core__value strong,
.ace-about-numbers strong {
    font-size: var(--ace-type-data);
}

.ace-news-index-page .ace-news-lead time strong,
.ace-news-detail-page .ace-article-hero__date strong {
    font-size: 72px;
}

.ace-news-index-page .ace-news-lead__copy h3 {
    font-size: var(--ace-type-news-lead-title);
    font-weight: 600;
    line-height: 1.35;
}

.ace-news-index-page .ace-news-lead__copy p {
    font-size: var(--ace-type-body);
    line-height: var(--ace-leading-body);
}

.ace-news-index-page .ace-news-directory__heading h2 {
    font-size: var(--ace-type-subsection-title);
    font-weight: 600;
    line-height: 1.3;
}

.ace-news-detail-page .ace-article-hero h1 {
    font-size: var(--ace-type-news-detail-title);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.035em;
}

.ace-news-detail-page .ace-article-meta {
    font-size: var(--ace-type-meta);
    line-height: 1.5;
}

.ace-news-detail-page .ace-article__aside-head h2 {
    font-size: var(--ace-type-subsection-title);
    font-weight: 600;
    line-height: 1.3;
}

.ace-news-detail-page .ace-article__source {
    color: #33302e;
    font-size: 17px;
    line-height: var(--ace-leading-news);
}

.ace-news-detail-page .ace-article__source :where(p, li) {
    font-size: 17px !important;
    line-height: var(--ace-leading-news) !important;
}

.ace-news-detail-page .ace-article__source :where(p, li) span {
    font-size: inherit !important;
    line-height: inherit !important;
}

.ace-news-detail-page .ace-article__source h2 {
    font-size: var(--ace-type-subsection-title) !important;
    line-height: 1.3 !important;
}

.ace-news-detail-page .ace-article__source h3 {
    font-size: var(--ace-type-card-title) !important;
    line-height: 1.35 !important;
}

/* User-readable supporting copy must never fall below 12px. */
body.ace-v2-page .ace-booking__panel label small,
body.ace-v2-page .ace-booking__project-options small,
body.ace-v2-page .ace-news__body time small,
body.ace-v2-page .ace-map__national-icon,
body.ace-v2-page .ace-map__zoom-value,
body.ace-v2-page .ace-map__inset-title,
body.ace-v2-page .ace-map__marker small,
body.ace-v2-page .ace-map__caption,
body.ace-v2-page .ace-core-honors__rail button > span,
body.ace-v2-page .ace-project-search > span,
body.ace-v2-page .ace-project-filter-row__label,
body.ace-v2-page .ace-service-orbit__core > span,
body.ace-v2-page .ace-service-orbit__details article small,
body.ace-v2-page .ace-service-orbit__panels article > small,
body.ace-v2-page .ace-service-story__tabs button > span,
body.ace-v2-page .ace-service-story__tabs button > small,
body.ace-v2-page .ace-service-story__panels article > span,
body.ace-v2-page .ace-service-story__panels article > small,
body.ace-v2-page .ace-service-certifications small,
body.ace-v2-page .ace-service-cta .ace-shell > span,
body.ace-v2-page .ace-news-directory__heading p,
body.ace-v2-page .ace-news-filter__actions a,
body.ace-v2-page .ace-news-lead time span,
body.ace-v2-page .ace-news-lead__copy small,
body.ace-v2-page .ace-news-lead__controls > span,
body.ace-v2-page .ace-news-lead__controls > span > i,
body.ace-v2-page .ace-news-record time > span,
body.ace-v2-page .ace-news-empty > span,
body.ace-v2-page .ace-coop-path__head small em,
body.ace-v2-page .ace-article__lead span,
body.ace-v2-page .ace-article__latest time > span,
body.ace-v2-page .ace-article__search > label,
body.ace-v2-page .ace-article-nav small,
body.ace-v2-page .ace-article-nav__home > span,
body.ace-v2-page .ace-about-stories::after,
body.ace-v2-page .ace-back-top::after,
body.ace-v2-page .ace-footer__brand span,
body.ace-v2-page .ace-article__source [style*="font-size: 10px"],
body.ace-v2-page .ace-article__source [style*="font-size:10px"] {
    font-size: var(--ace-type-micro) !important;
    line-height: 1.45 !important;
}

body.ace-v2-page .ace-map__region-label {
    font-size: 12px !important;
}

.ace-news-detail-page .ace-article__source section[style*="font-size: 10px"] :where(p, span),
.ace-news-detail-page .ace-article__source section[style*="font-size:10px"] :where(p, span) {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
    :root {
        --ace-type-page-title: 42px;
        --ace-type-section-title: 32px;
        --ace-type-subsection-title: 25px;
        --ace-type-card-title: 20px;
        --ace-type-lead: 17px;
        --ace-type-project-name: 42px;
        --ace-type-news-detail-title: 40px;
        --ace-type-news-lead-title: 28px;
        --ace-type-data: 48px;
        --ace-type-sequence: 72px;
    }
}

@media (max-width: 767px) {
    :root {
        --ace-type-page-title: 34px;
        --ace-type-section-title: 26px;
        --ace-type-subsection-title: 22px;
        --ace-type-card-title: 18px;
        --ace-type-lead: 17px;
        --ace-type-meta: 12px;
        --ace-type-project-name: 34px;
        --ace-type-news-detail-title: 34px;
        --ace-type-news-lead-title: 24px;
        --ace-type-data: 40px;
        --ace-type-sequence: 64px;
    }

    .ace-project-redesign-page .ace-ws-hero h1 {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .ace-news-index-page .ace-news-lead time strong,
    .ace-news-detail-page .ace-article-hero__date strong {
        font-size: 44px;
    }

    .ace-news-detail-page .ace-article__source,
    .ace-news-detail-page .ace-article__source :where(p, li) {
        font-size: 16px !important;
        line-height: 1.8 !important;
    }

    .ace-about-overview__overlay p,
    .ace-about-refresh .ace-about-investor p,
    .ace-project-redesign-page .ace-ws-overview__copy > p,
    .ace-project-redesign-page .ace-ws-location__panel p,
    .ace-cooperation-page .ace-capital-story__copy p {
        font-size: 16px;
    }
}
/* Typography system specificity bridge for existing high-specificity page components. */
body.ace-v2-page .ace-section__heading h2,
body.ace-v2-page .ace-stats__heading h2,
body.ace-about-page .ace-about-heading h2,
body.ace-service-page .ace-service-heading h2,
body.ace-cooperation-page .ace-cooperation-heading h2,
body.ace-project-redesign-page .ace-ws-heading h2,
body.ace-project-redesign-page .ace-ws-product__content h2,
body.ace-project-redesign-page .ace-ws-apply h2 {
    font-size: var(--ace-type-section-title) !important;
}

body.ace-news-detail-page.ace-v2-page .ace-article-hero h1 {
    font-size: var(--ace-type-news-detail-title) !important;
}

body.ace-news-detail-page.ace-v2-page .ace-article__aside-head h2,
body.ace-v2-page .ace-footer__cta-copy h2 {
    font-size: var(--ace-type-subsection-title) !important;
}

body.ace-v2-page:not(.ace-index2-lab) .ace-map__region-label,
body.ace-v2-page .ace-map__legend span,
body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date span {
    font-size: 12px !important;
}

/* Oversized module headings: restore hierarchy below page and section titles. */
body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3,
body.ace-service-page .ace-service-story__panels h3 {
    font-size: var(--ace-type-subsection-title) !important;
    line-height: 1.3;
}

body.ace-cooperation-page .ace-capital-story__copy h3 {
    font-size: 32px !important;
    line-height: 1.3;
}

body.ace-cooperation-page .ace-fund-panels h4,
body.ace-cooperation-page .ace-career-form__head h3 {
    font-size: var(--ace-type-subsection-title) !important;
    line-height: 1.3;
}

body.ace-cooperation-page .ace-career-invite h3 {
    font-size: 38px !important;
    line-height: 1.2;
}

@media (min-width: 768px) and (max-width: 1023px) {
    body.ace-cooperation-page .ace-capital-story__copy h3 {
        font-size: 28px !important;
    }

    body.ace-cooperation-page .ace-career-invite h3 {
        font-size: 32px !important;
    }
}

@media (max-width: 767px) {
    body.ace-cooperation-page .ace-capital-story__copy h3 {
        font-size: 24px !important;
    }

    body.ace-cooperation-page .ace-career-invite h3 {
        font-size: 28px !important;
    }
}

/* Cooperation page: compact the vertical rhythm between major content blocks. */
body.ace-cooperation-page .ace-cooperation-layout {
    padding-top: 84px;
    padding-bottom: 96px;
}

body.ace-cooperation-page .ace-cooperation-section:not(:last-child) {
    padding-bottom: 88px;
}

body.ace-cooperation-page .ace-cooperation-heading {
    margin-bottom: 44px;
}

body.ace-cooperation-page .ace-coop-pathways {
    margin-top: 64px;
}

body.ace-cooperation-page .ace-capital-story {
    margin-bottom: 88px;
}

body.ace-cooperation-page .ace-portfolio-explorer {
    margin-top: 88px;
}

body.ace-cooperation-page .ace-fund-contact-line,
body.ace-cooperation-page .ace-career-open {
    margin-top: 72px;
}

@media (max-width: 980px) {
    body.ace-cooperation-page .ace-cooperation-layout {
        padding-top: 0;
        padding-bottom: 78px;
    }

    body.ace-cooperation-page .ace-cooperation-nav {
        margin-bottom: 56px;
    }

    body.ace-cooperation-page .ace-cooperation-section:not(:last-child) {
        padding-bottom: 72px;
    }

    body.ace-cooperation-page .ace-cooperation-heading {
        margin-bottom: 40px;
    }

    body.ace-cooperation-page .ace-coop-pathways {
        margin-top: 50px;
    }

    body.ace-cooperation-page .ace-capital-story {
        margin-top: 0;
        margin-bottom: 64px;
    }

    body.ace-cooperation-page .ace-portfolio-explorer,
    body.ace-cooperation-page .ace-fund-contact-line,
    body.ace-cooperation-page .ace-career-open {
        margin-top: 64px;
    }
}

@media (max-width: 520px) {
    body.ace-cooperation-page .ace-cooperation-layout {
        padding-bottom: 60px;
    }

    body.ace-cooperation-page .ace-cooperation-nav {
        margin-bottom: 44px;
    }

    body.ace-cooperation-page .ace-cooperation-section:not(:last-child) {
        padding-bottom: 60px;
    }

    body.ace-cooperation-page .ace-cooperation-heading {
        margin-bottom: 24px;
    }

    body.ace-cooperation-page .ace-coop-pathways {
        margin-top: 42px;
    }

    body.ace-cooperation-page .ace-capital-story {
        margin-bottom: 56px;
    }

    body.ace-cooperation-page .ace-portfolio-explorer,
    body.ace-cooperation-page .ace-fund-contact-line,
    body.ace-cooperation-page .ace-career-open {
        margin-top: 52px;
    }
}

/* Mobile navigation usability: keep the close control visible above the dark drawer. */
@media (max-width: 980px) {
    body.ace-v2-page .ace-header__brand {
        position: relative;
        z-index: 2;
    }

    body.ace-v2-page.is-menu-open .ace-header.is-fixed {
        color: #fff;
        background: transparent;
        border-bottom-color: rgba(255, 255, 255, .18);
        box-shadow: none;
        backdrop-filter: none;
    }

    body.ace-v2-page.is-menu-open .ace-header__nav {
        z-index: 1;
    }

    body.ace-v2-page .ace-header__menu {
        position: relative;
        z-index: 2;
    }

    body.ace-v2-page .ace-header__menu span {
        transition: opacity .2s ease, transform .25s ease, background-color .2s ease;
    }

    body.ace-v2-page.is-menu-open .ace-header__menu {
        color: #fff;
    }

    body.ace-v2-page.is-menu-open .ace-header__search {
        position: relative;
        z-index: 2;
        color: #fff;
    }

    body.ace-v2-page.is-menu-open .ace-header__brand .ace-header__logo--white {
        display: block;
    }

    body.ace-v2-page.is-menu-open .ace-header__brand .ace-header__logo--color {
        display: none;
    }

    body.ace-v2-page.is-menu-open .ace-header__menu span:first-child {
        transform: translateY(6px) rotate(45deg);
    }

    body.ace-v2-page.is-menu-open .ace-header__menu span:nth-child(2) {
        opacity: 0;
    }

    body.ace-v2-page.is-menu-open .ace-header__menu span:last-child {
        transform: translateY(-6px) rotate(-45deg);
    }
}

/* Mobile header: keep search available on tablet and desktop only. */
@media (max-width: 767px) {
    body.ace-v2-page .ace-header__search {
        display: none;
    }

    body.ace-inner-page.ace-light-banner-page:not(.ace-news-detail-page):not(.is-menu-open) .ace-header:not(.is-fixed),
    body.ace-about-refresh.ace-light-banner-page:not(.is-menu-open) .ace-header:not(.is-fixed) {
        background: #fff;
        border-bottom: 0;
    }
}

/* Mobile inner-page banners: keep the wide artwork complete, tall and flush with the following section. */
@media (max-width: 767px) {
    body.ace-inner-page.ace-light-banner-page .ace-inner-hero,
    body.ace-about-refresh.ace-light-banner-page .ace-about-hero {
        height: 360px;
        min-height: 360px;
        padding-top: 72px;
        background-position: 62% bottom;
        background-size: auto calc(100% - 72px);
        background-repeat: no-repeat;
    }

    body.ace-inner-page.ace-light-banner-page .ace-inner-hero p,
    body.ace-about-refresh.ace-light-banner-page .ace-about-hero p {
        max-width: 195px;
    }

    body.ace-inner-page.ace-light-banner-page.ace-service-page .ace-inner-hero.ace-service-hero,
    body.ace-inner-page.ace-light-banner-page.ace-cooperation-page .ace-inner-hero.ace-cooperation-hero {
        background-position: 70% bottom;
    }

    body.ace-inner-page.ace-light-banner-page.ace-service-page .ace-inner-hero.ace-service-hero p,
    body.ace-inner-page.ace-light-banner-page.ace-cooperation-page .ace-inner-hero.ace-cooperation-hero p {
        max-width: 170px;
    }
}

/* About page mobile sample: shorter sticky stack, clear swipe cue and tighter first-screen rhythm. */
@media (max-width: 720px) {
    body.ace-about-refresh .ace-about-nav {
        margin-bottom: 48px;
    }

    body.ace-about-refresh .ace-about-nav::after {
        position: absolute;
        z-index: 2;
        top: 0;
        right: 0;
        bottom: 0;
        display: flex;
        width: 38px;
        padding-right: 8px;
        align-items: center;
        justify-content: flex-end;
        color: rgba(163, 15, 25, .82);
        content: "\203A";
        background: linear-gradient(90deg, rgba(245, 242, 236, 0), rgba(245, 242, 236, .98) 58%);
        font-size: 24px;
        line-height: 1;
        pointer-events: none;
    }

    body.ace-about-refresh .ace-about-nav nav {
        padding-right: 28px;
    }

    body.ace-about-refresh .ace-about-nav a,
    body.ace-about-refresh .ace-about-nav a.is-active,
    body.ace-about-refresh .ace-about-nav a:hover {
        display: inline-flex;
        min-height: 48px;
        padding-top: 0;
        padding-bottom: 0;
        align-items: center;
    }
}

/* Production homepage mobile map: integrate overview, city filters and map. */
.ace-map__mobile-city-heading,
.ace-map__national-mobile {
    display: none;
}

@media (max-width: 720px) {
    body.ace-index-production .ace-map__heading {
        margin-bottom: 0;
        gap: 18px;
    }

    body.ace-index-production .ace-map__intro {
        display: block;
    }

    body.ace-index-production .ace-map__summary {
        display: grid;
        width: 100%;
        padding: 18px 12px 17px;
        overflow: hidden;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-bottom: 1px solid rgba(222, 224, 225, .86);
        border-radius: 14px 14px 0 0;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -10px 32px rgba(38, 40, 42, .035);
    }

    body.ace-index-production .ace-map__summary > span {
        width: auto;
        min-width: 0;
        min-height: 58px;
        padding: 0 22px;
        align-items: flex-start;
        justify-content: center;
        text-align: left;
        font-size: 12px;
        letter-spacing: .02em;
    }

    body.ace-index-production .ace-map__summary > span + span {
        border-left-color: rgba(218, 220, 221, .9);
    }

    body.ace-index-production .ace-map__summary b {
        margin-bottom: 6px;
        justify-content: flex-start;
    }

    body.ace-index-production .ace-map__summary strong {
        font-size: 34px;
        letter-spacing: -.035em;
    }

    body.ace-index-production .ace-map__summary b small {
        margin-top: 4px;
        font-size: 12px;
    }

    body.ace-index-production .ace-map__grid {
        overflow: hidden;
        border-radius: 0 0 14px 14px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 22px 62px rgba(37, 39, 41, .075);
    }

    body.ace-index-production .ace-map__copy {
        display: grid;
        padding: 16px 14px 14px;
        overflow: hidden;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 12px 8px;
        background: rgba(255, 255, 255, .98);
    }

    body.ace-index-production .ace-map__mobile-city-heading {
        display: flex;
        min-height: 20px;
        align-items: center;
        justify-content: space-between;
        grid-column: 1 / -1;
    }

    body.ace-index-production .ace-map__mobile-city-heading strong {
        color: #252627;
        font-size: 15px;
        font-weight: 600;
    }

    body.ace-index-production .ace-map__mobile-city-heading span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: #9a9c9e;
        font-size: 11px;
    }

    body.ace-index-production .ace-map__mobile-city-heading i {
        color: var(--ace-red);
        font-size: 16px;
        font-style: normal;
        line-height: 1;
    }

    body.ace-index-production .ace-map__national {
        width: auto;
        min-width: 82px;
        min-height: 40px;
        height: 40px;
        padding: 0 13px;
        justify-content: center;
        gap: 0;
        color: #66686a;
        border: 1px solid rgba(218, 220, 221, .92);
        border-radius: 8px;
        background: #f6f6f5;
    }

    body.ace-index-production .ace-map__national.is-active,
    body.ace-index-production .ace-map__national.is-active:hover {
        color: #fff;
        border-color: var(--ace-red);
        background: var(--ace-red);
        transform: none;
    }

    body.ace-index-production .ace-map__national-icon,
    body.ace-index-production .ace-map__national > i,
    body.ace-index-production .ace-map__national-desktop {
        display: none;
    }

    body.ace-index-production .ace-map__national-mobile {
        display: block;
        color: inherit;
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
    }

    body.ace-index-production .ace-map__city-group {
        min-width: 0;
        padding: 0;
        grid-column: 1 / -1;
    }

    body.ace-index-production .ace-map__cities {
        display: flex;
        height: 40px;
        padding: 0;
        gap: 8px;
        overflow-x: auto;
        scroll-padding-right: 10px;
    }

    body.ace-index-production .ace-map__cities button {
        width: auto;
        min-width: 72px;
        height: 40px;
        padding: 0 12px;
        flex: 0 0 auto;
        color: #66686a;
        border: 1px solid rgba(218, 220, 221, .92);
        border-radius: 8px;
        background: #f6f6f5;
    }

    body.ace-index-production .ace-map__cities button:hover,
    body.ace-index-production .ace-map__cities button.is-preview,
    body.ace-index-production .ace-map__cities button.is-active,
    body.ace-index-production .ace-map__cities button.is-active:hover {
        color: #fff;
        border-color: var(--ace-red);
        background: var(--ace-red);
    }

    body.ace-index-production .ace-map__cities button small,
    body.ace-index-production .ace-map__cities button:hover small,
    body.ace-index-production .ace-map__cities button.is-preview small,
    body.ace-index-production .ace-map__cities button.is-active small {
        color: inherit;
    }

    body.ace-index-production .ace-map__visual {
        border-radius: 0 0 14px 14px;
    }
}

/* Production homepage portrait tablets: desktop heading, compact mobile-style map filters. */
@media (min-width: 721px) and (max-width: 1024px) and (orientation: portrait) {
    body.ace-index-production .ace-hero {
        height: clamp(410px, 54vw, 520px);
    }

    body.ace-index-production .ace-hero__control-arrow {
        display: none;
    }

    body.ace-index-production .ace-map__heading {
        margin-bottom: 34px;
        align-items: flex-end;
        flex-direction: row;
        gap: 32px;
    }

    body.ace-index-production .ace-map__heading > div:first-child {
        min-width: 0;
        flex: 1 1 auto;
    }

    body.ace-index-production .ace-map__heading #ace-map-title {
        white-space: nowrap;
    }

    body.ace-index-production .ace-map__intro {
        display: block;
        width: auto;
        max-width: none;
        flex: 0 0 auto;
    }

    body.ace-index-production .ace-map__summary {
        display: flex;
        width: auto;
        gap: 0;
    }

    body.ace-index-production .ace-map__summary > span {
        width: 84px;
        min-width: 84px;
        padding: 0 10px;
        font-size: 12px;
    }

    body.ace-index-production .ace-map__summary strong {
        font-size: 38px;
    }

    body.ace-index-production .ace-map__grid {
        min-height: 0;
        overflow: hidden;
        grid-template-columns: minmax(0, 1fr);
        border-radius: 20px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 22px 62px rgba(37, 39, 41, .075);
    }

    body.ace-index-production .ace-map__copy {
        display: grid;
        padding: 18px 20px 16px;
        overflow: hidden;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 12px 10px;
        background: rgba(255, 255, 255, .98);
    }

    body.ace-index-production .ace-map__copy::after {
        top: auto;
        right: 20px;
        bottom: 0;
        left: 20px;
        width: auto;
        height: 1px;
        background: linear-gradient(90deg, transparent 0%, rgba(224, 226, 227, .96) 8%, rgba(224, 226, 227, .96) 92%, transparent 100%);
        box-shadow: 0 7px 16px rgba(39, 42, 45, .06);
    }

    body.ace-index-production .ace-map__mobile-city-heading {
        display: flex;
        min-height: 20px;
        align-items: center;
        justify-content: space-between;
        grid-column: 1 / -1;
    }

    body.ace-index-production .ace-map__mobile-city-heading strong {
        color: #252627;
        font-size: 15px;
        font-weight: 600;
    }

    body.ace-index-production .ace-map__mobile-city-heading span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: #9a9c9e;
        font-size: 11px;
    }

    body.ace-index-production .ace-map__mobile-city-heading i {
        color: var(--ace-red);
        font-size: 16px;
        font-style: normal;
        line-height: 1;
    }

    body.ace-index-production .ace-map__national {
        width: auto;
        min-width: 82px;
        min-height: 44px;
        height: 44px;
        padding: 0 13px;
        justify-content: center;
        gap: 0;
        color: #66686a;
        border: 1px solid rgba(218, 220, 221, .92);
        border-radius: 8px;
        background: #f6f6f5;
    }

    body.ace-index-production .ace-map__national.is-active,
    body.ace-index-production .ace-map__national.is-active:hover {
        color: #fff;
        border-color: var(--ace-red);
        background: var(--ace-red);
        box-shadow: none;
        transform: none;
    }

    body.ace-index-production .ace-map__national-icon,
    body.ace-index-production .ace-map__national > i,
    body.ace-index-production .ace-map__national-desktop {
        display: none;
    }

    body.ace-index-production .ace-map__national-mobile {
        display: block;
        color: inherit;
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
    }

    body.ace-index-production .ace-map__city-group {
        min-width: 0;
        padding: 0;
    }

    body.ace-index-production .ace-map__cities {
        display: flex;
        width: 100%;
        height: 44px;
        padding: 0;
        overflow-x: auto;
        overflow-y: hidden;
        grid-template-columns: none;
        gap: 8px;
        overscroll-behavior-x: contain;
        scroll-padding-right: 10px;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    body.ace-index-production .ace-map__cities::-webkit-scrollbar {
        display: none;
    }

    body.ace-index-production .ace-map__cities button {
        width: auto;
        min-width: 76px;
        height: 44px;
        padding: 0 13px;
        flex: 0 0 auto;
        justify-content: center;
        gap: 5px;
        color: #66686a;
        border: 1px solid rgba(218, 220, 221, .92);
        border-radius: 8px;
        background: #f6f6f5;
        font-size: 13px;
        scroll-snap-align: start;
    }

    body.ace-index-production .ace-map__cities button::before {
        display: none;
    }

    body.ace-index-production .ace-map__cities button:hover,
    body.ace-index-production .ace-map__cities button.is-preview,
    body.ace-index-production .ace-map__cities button.is-active,
    body.ace-index-production .ace-map__cities button.is-active:hover {
        color: #fff;
        border-color: var(--ace-red);
        background: var(--ace-red);
        transform: none;
    }

    body.ace-index-production .ace-map__cities button small,
    body.ace-index-production .ace-map__cities button:hover small,
    body.ace-index-production .ace-map__cities button.is-preview small,
    body.ace-index-production .ace-map__cities button.is-active small {
        color: inherit;
    }

    body.ace-index-production .ace-map__all-link {
        display: none;
    }

    body.ace-index-production .ace-map__visual {
        min-height: 520px;
        border-radius: 0 0 20px 20px;
    }

    body.ace-index-production .ace-map__visual .ace-map__canvas {
        height: 520px;
    }
}

@media (max-width: 720px) and (hover: hover) {
    body.ace-index-production .ace-map__national:hover {
        color: #fff;
        border-color: var(--ace-red);
        background: var(--ace-red);
        transform: none;
    }
}

/* Mobile horizontal controls: shared overflow cues, snapping and touch sizing. */
@media (max-width: 720px) {
    .ace-mobile-rail {
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-padding-inline: 20px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .ace-mobile-rail::-webkit-scrollbar {
        display: none;
    }

    .ace-mobile-rail--nav,
    .ace-mobile-rail--chips,
    .ace-mobile-rail--tabs {
        scroll-snap-type: x proximity;
    }

    .ace-mobile-rail--nav > a,
    .ace-mobile-rail--nav > button,
    .ace-mobile-rail--nav > .ace-shell > a,
    .ace-mobile-rail--chips > a,
    .ace-mobile-rail--chips > button,
    .ace-mobile-rail--tabs > button {
        scroll-snap-align: start;
    }

    .ace-mobile-rail.has-right-overflow:not(.has-left-overflow) {
        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 30px), transparent 100%);
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 30px), transparent 100%);
    }

    .ace-mobile-rail.has-left-overflow:not(.has-right-overflow) {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30px, #000 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 30px, #000 100%);
    }

    .ace-mobile-rail.has-left-overflow.has-right-overflow {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30px, #000 calc(100% - 30px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 30px, #000 calc(100% - 30px), transparent 100%);
    }

    body.ace-about-refresh .ace-about-nav::after,
    .ace-project-redesign-page .ace-ws-jump::before,
    .ace-project-redesign-page .ace-ws-jump::after {
        display: none;
    }

    .ace-project-redesign-page .ace-ws-jump a.is-active {
        color: var(--ace-red);
        background: rgba(163, 15, 25, .045);
    }

    .ace-project-redesign-page .ace-ws-jump a.is-active::after {
        right: 0;
        left: 0;
    }

    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="1"] .ace-shell,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="2"] .ace-shell,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="3"] .ace-shell {
        width: 100%;
        min-width: 100%;
        justify-content: stretch;
    }

    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="1"] a,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="2"] a,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="3"] a {
        min-width: 0;
        padding-right: 10px;
        padding-left: 10px;
        flex: 1 1 0;
        justify-content: center;
    }

    body.ace-cooperation-page .ace-cooperation-nav nav {
        width: 100%;
        min-width: 0;
    }

    body.ace-cooperation-page .ace-cooperation-nav a {
        min-width: 0;
        flex: 1 1 0;
        justify-content: center;
    }

    .ace-map__cities button,
    .ace-project-city-list button {
        min-height: 44px;
    }

    body.ace-index-production .ace-map__national,
    body.ace-index-production .ace-map__cities,
    body.ace-index-production .ace-map__cities button {
        height: 44px;
        min-height: 44px;
    }

    body.ace-index-ip-intro:not(.ace-index-production) .ace-map__mobile-city-heading {
        display: flex;
        min-height: 20px;
        margin-bottom: 10px;
        align-items: center;
        justify-content: space-between;
    }

    body.ace-index-ip-intro:not(.ace-index-production) .ace-map__mobile-city-heading strong {
        color: #252627;
        font-size: 15px;
        font-weight: 600;
    }

    body.ace-index-ip-intro:not(.ace-index-production) .ace-map__mobile-city-heading span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: #9a9c9e;
        font-size: 12px;
        transition: opacity .2s ease, visibility .2s ease;
    }

    .ace-map__mobile-city-heading span.is-hidden {
        visibility: hidden;
        opacity: 0;
    }

    body.ace-index-ip-intro:not(.ace-index-production) .ace-map__mobile-city-heading i {
        color: var(--ace-red);
        font-size: 16px;
        font-style: normal;
        line-height: 1;
    }
}

/* Mobile type hierarchy: keep supporting content clearly below section titles. */
@media (max-width: 720px) {
    :root {
        --ace-type-page-title: 32px;
        --ace-type-section-title: 24px;
        --ace-type-subsection-title: 20px;
        --ace-type-card-title: 18px;
        --ace-type-lead: 16px;
        --ace-type-body: 15px;
        --ace-type-project-name: 30px;
        --ace-type-news-detail-title: 30px;
        --ace-type-news-lead-title: 20px;
        --ace-type-data: 36px;
        --ace-type-sequence: 44px;
    }

    body.ace-v2-page {
        font-size: var(--ace-type-body);
        line-height: 1.7;
    }

    body.ace-about-refresh .ace-about-numbers strong {
        font-size: 26px;
    }

    body.ace-about-refresh .ace-about-investor h3 {
        font-size: var(--ace-type-subsection-title);
        line-height: 1.3;
    }

    body.ace-service-page .ace-service-operator__visual figcaption strong {
        font-size: 21px;
        line-height: 1.35;
    }

    body.ace-service-page .ace-service-operator__numbers strong {
        font-size: 20px;
    }

    body.ace-cooperation-page .ace-coop-visual figcaption strong {
        font-size: 18px;
        line-height: 1.5;
    }

    body.ace-cooperation-page .ace-coop-path__head > b {
        font-size: 18px;
    }

    body.ace-cooperation-page .ace-coop-path__head > small strong {
        font-size: 17px;
    }

    body.ace-cooperation-page .ace-capital-story__copy h3,
    body.ace-cooperation-page .ace-fund-explorer__head h3 {
        font-size: 21px !important;
        line-height: 1.35;
    }

    body.ace-cooperation-page .ace-fund-panels article > span {
        display: none;
    }

    body.ace-cooperation-page .ace-portfolio-focus h4,
    body.ace-cooperation-page .ace-career-form__head h3 {
        font-size: 20px !important;
        line-height: 1.35;
    }

    body.ace-cooperation-page .ace-career-invite h3 {
        font-size: 22px !important;
        line-height: 1.3;
    }

    body.ace-news-index-page .ace-news-lead time strong {
        font-size: 36px;
    }

    body.ace-news-index-page .ace-news-lead__copy h3 {
        font-size: var(--ace-type-news-lead-title);
        line-height: 1.4;
    }

    body.ace-news-index-page .ace-news-directory__heading h2 {
        font-size: var(--ace-type-subsection-title);
    }

    body.ace-news-index-page .ace-news-record time strong {
        font-size: 22px;
    }

    body.ace-project-redesign-page .ace-ws-location__panel h3,
body.ace-v2-page .ace-footer__cta-copy h2 {
        font-size: var(--ace-type-subsection-title) !important;
    }
}

/* About page mobile: compact overview data, readable honor copy and lean partner controls. */
@media (max-width: 720px) {
    body.ace-about-refresh .ace-about-numbers strong {
        font-size: 20px;
    }

    body.ace-about-refresh .ace-about-honor-award {
        padding: 9px 6px 2px;
    }

    body.ace-about-refresh .ace-about-honor-award h3 {
        display: flex;
        width: 100%;
        min-height: 40px;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        line-height: 1.4;
        letter-spacing: -.01em;
        text-wrap: balance;
        white-space: normal;
    }

    body.ace-about-refresh .ace-about-honor-award strong,
    body.ace-about-refresh .ace-about-honor-award strong > span {
        font-size: 14px;
        line-height: 1.4;
        letter-spacing: .01em;
        white-space: nowrap;
    }

    body.ace-about-refresh .ace-partner-gallery__header {
        display: flex;
        min-height: 60px;
        padding: 12px 4px 10px;
        align-items: center;
    }

    body.ace-about-refresh .ace-partner-gallery__copy {
        display: none;
    }

    body.ace-about-refresh .ace-partner-gallery__controls {
        width: 100%;
    }
}

/* Mobile inner-page section nav: follow the About page interaction and visual rhythm. */
@media (max-width: 720px) {
    body.ace-service-page .ace-service-layout {
        padding-top: 0;
    }

    body.ace-service-page .ace-service-nav {
        z-index: 20;
    }

    body.ace-service-page .ace-service-nav,
    body.ace-cooperation-page .ace-cooperation-nav {
        top: 72px;
        margin: 0 calc(var(--ace-gutter) * -1) 48px;
        padding: 0 var(--ace-gutter);
        overflow: hidden;
        border-bottom: 1px solid var(--ace-line);
        background: rgba(244, 246, 247, .94);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }

    body.ace-service-page .ace-service-nav nav,
    body.ace-cooperation-page .ace-cooperation-nav nav {
        display: flex;
        width: 100%;
        min-width: 0;
        overflow-x: auto;
        flex-direction: row;
        scrollbar-width: none;
    }

    body.ace-service-page .ace-service-nav nav::-webkit-scrollbar,
    body.ace-cooperation-page .ace-cooperation-nav nav::-webkit-scrollbar {
        display: none;
    }

    body.ace-service-page .ace-service-nav a,
    body.ace-service-page .ace-service-nav a:hover,
    body.ace-service-page .ace-service-nav a:focus-visible,
    body.ace-service-page .ace-service-nav a.is-active,
    body.ace-cooperation-page .ace-cooperation-nav a,
    body.ace-cooperation-page .ace-cooperation-nav a:hover,
    body.ace-cooperation-page .ace-cooperation-nav a:focus-visible,
    body.ace-cooperation-page .ace-cooperation-nav a.is-active {
        display: inline-flex;
        min-width: 0;
        min-height: 48px;
        padding: 0 14px;
        flex: 1 1 0;
        align-items: center;
        justify-content: center;
        color: #8a857f;
        border: 0;
        border-bottom: 2px solid transparent;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.7;
        text-align: center;
        white-space: nowrap;
    }

    body.ace-service-page .ace-service-nav a:hover,
    body.ace-service-page .ace-service-nav a:focus-visible,
    body.ace-service-page .ace-service-nav a.is-active,
    body.ace-cooperation-page .ace-cooperation-nav a:hover,
    body.ace-cooperation-page .ace-cooperation-nav a:focus-visible,
    body.ace-cooperation-page .ace-cooperation-nav a.is-active {
        color: var(--ace-red);
        border-bottom-color: var(--ace-red);
    }

    body.ace-service-page .ace-service-nav a::after,
    body.ace-cooperation-page .ace-cooperation-nav a::after {
        display: none;
    }
}

/* Enterprise services mobile: expose all eight platforms without a hidden horizontal rail. */
body.ace-service-page .ace-service-platforms__head {
    display: none;
}

@media (max-width: 720px) {
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        padding: 18px 12px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh,
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        display: none;
    }

    body.ace-service-page .ace-service-platforms__head {
        display: flex;
        min-height: 28px;
        margin: 0 2px 12px;
        align-items: center;
        justify-content: space-between;
    }

    body.ace-service-page .ace-service-platforms__head strong {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #303438;
        font-size: 13px;
        font-weight: 650;
    }

    body.ace-service-page .ace-service-platforms__head strong::before {
        width: 16px;
        height: 2px;
        content: "";
        background: var(--ace-red);
    }

    body.ace-service-page .ace-service-platforms__head span {
        color: #8a9094;
        font-size: 11px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__track {
        display: grid;
        width: 100%;
        height: auto;
        padding: 0;
        overflow: visible;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        scroll-snap-type: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-node,
    body.ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    body.ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        flex-basis: auto;
        scroll-snap-align: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-node__counter {
        min-height: 52px;
        padding: 6px 8px 6px 6px;
        gap: 7px;
        border-color: rgba(103, 113, 120, .16);
        border-radius: 14px;
        background: rgba(255, 255, 255, .78);
        box-shadow: 0 8px 20px rgba(68, 75, 80, .055);
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-node.is-active .ace-service-node__counter {
        border-color: var(--ace-red);
        background: linear-gradient(135deg, #be1020, #a30f19);
        box-shadow: 0 12px 28px rgba(168, 16, 27, .18);
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-node b {
        font-size: 12px;
        font-weight: 600;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 340px;
        padding: 32px 25px 28px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small {
        margin-bottom: 15px;
        font-size: 0 !important;
        line-height: 1 !important;
        letter-spacing: 0;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article small::before {
        content: "当前平台";
        font-size: 10px;
        line-height: 1.45;
        letter-spacing: .16em;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details article h3 {
        font-size: 26px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress {
        display: block;
        width: auto;
        margin-top: 28px;
        color: #8b9195;
        font-size: 11px;
        font-weight: 650;
        letter-spacing: .12em;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress i {
        display: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress::before {
        content: "01 / 08";
    }

    body.ace-service-page .ace-service-ecosystem [data-active="property"] .ace-service-orbit__progress::before { content: "02 / 08"; }
    body.ace-service-page .ace-service-ecosystem [data-active="business"] .ace-service-orbit__progress::before { content: "03 / 08"; }
    body.ace-service-page .ace-service-ecosystem [data-active="finance"] .ace-service-orbit__progress::before { content: "04 / 08"; }
    body.ace-service-page .ace-service-ecosystem [data-active="government"] .ace-service-orbit__progress::before { content: "05 / 08"; }
    body.ace-service-page .ace-service-ecosystem [data-active="industry"] .ace-service-orbit__progress::before { content: "06 / 08"; }
    body.ace-service-page .ace-service-ecosystem [data-active="technology"] .ace-service-orbit__progress::before { content: "07 / 08"; }
    body.ace-service-page .ace-service-ecosystem [data-active="training"] .ace-service-orbit__progress::before { content: "08 / 08"; }
}

/* About page mobile: show all responsibility stories as complete stacked cards. */
@media (max-width: 720px) {
    body.ace-about-refresh #about-responsibility .ace-about-stories {
        display: grid;
        min-height: 0;
        margin-right: 0;
        padding: 0;
        overflow: visible;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        scroll-snap-type: none;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-featured,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-active,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-left,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-right {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        display: flex;
        width: 100%;
        min-height: 378px;
        overflow: hidden;
        flex: none;
        flex-direction: column;
        border-radius: 8px;
        background: #fff;
        box-shadow: none;
        cursor: default;
        scroll-snap-align: none;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card__media {
        position: relative;
        height: 190px;
        flex: 0 0 190px;
        border-radius: 0;
        inset: auto;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card__media::after {
        background: linear-gradient(0deg, rgba(22, 21, 20, .2), transparent 48%);
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card__media img,
    body.ace-about-refresh #about-responsibility .ace-about-story-card:first-child .ace-about-story-card__media img,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-featured .ace-about-story-card__media img,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-active .ace-about-story-card__media img {
        filter: saturate(.88) brightness(.94);
        transform: scale(1.01);
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card__copy,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-featured .ace-about-story-card__copy,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-active .ace-about-story-card__copy {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        display: flex;
        min-height: 188px;
        padding: 19px 20px 21px;
        flex: 1 1 auto;
        justify-content: center;
        flex-direction: column;
        color: #292624;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card p,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-featured p,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-active p {
        display: block;
        max-height: none;
        margin-top: 11px;
        padding-top: 11px;
        border-top: 1px solid rgba(72, 67, 62, .17);
        opacity: 1;
    }
}

/* About mobile polish: clearer browsing cues and a tighter vertical rhythm. */
.ace-about-honor-mobile-meta {
    display: none;
}

@media (max-width: 720px) {
    body.ace-about-refresh .ace-about-honor-mobile-meta {
        display: flex;
        min-width: 0;
        margin-right: auto;
        flex-direction: column;
        gap: 2px;
    }

    body.ace-about-refresh .ace-about-honor-mobile-meta b {
        color: var(--ace-red);
        font-family: var(--ace-sans);
        font-size: 12px;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: .06em;
    }

    body.ace-about-refresh .ace-about-honor-mobile-meta small {
        color: #8a8783;
        font-size: 11px;
        line-height: 1.35;
        white-space: nowrap;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-featured,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-active,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-left,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-right {
        min-height: 356px;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card__media {
        height: 178px;
        flex-basis: 178px;
    }

    body.ace-about-refresh #about-responsibility .ace-about-story-card__copy,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-featured .ace-about-story-card__copy,
    body.ace-about-refresh #about-responsibility .ace-about-story-card.is-active .ace-about-story-card__copy {
        min-height: 178px;
        padding: 17px 20px 19px;
    }

    body.ace-about-refresh .ace-about-investors {
        gap: 34px;
    }

    body.ace-about-refresh .ace-about-investor > div,
    body.ace-about-refresh .ace-about-investor--gaoke > div {
        padding: 25px 23px 27px;
    }

    body.ace-about-refresh .ace-about-investor p {
        font-size: 15px;
        line-height: 1.75;
    }

    body.ace-about-refresh .ace-footer__cta {
        padding-top: 32px;
        padding-bottom: 34px;
        gap: 22px;
    }

    body.ace-about-refresh .ace-footer__main {
        padding-top: 36px;
        padding-bottom: 32px;
        gap: 30px;
    }

    body.ace-about-refresh .ace-footer__group button {
        min-height: 52px;
    }

    body.ace-about-refresh .ace-footer__codes {
        margin-top: 20px;
    }

    body.ace-about-refresh .ace-footer__bottom {
        padding-top: 20px;
        padding-bottom: 22px;
    }

    body.ace-about-refresh .ace-back-top {
        opacity: .72;
    }

    body.ace-about-refresh .ace-back-top:hover,
    body.ace-about-refresh .ace-back-top:focus-visible {
        opacity: 1;
    }
}

/* Enterprise services mobile polish: denser platform details and clearer navigation cues. */
@media (max-width: 720px) {
    body.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked h2 br {
        display: block;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-heading--stacked > p {
        font-size: 15px;
        line-height: 1.75;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
        position: static;
        display: block;
        height: auto;
        min-height: 0;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas::after {
        display: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-node b {
        font-size: 13px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        min-height: 0;
        padding: 28px 25px 24px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress {
        margin-top: 22px;
    }

    body.ace-service-page .ace-service-operator__visual {
        min-height: 560px;
    }

    body.ace-service-page .ace-service-story__tabs.has-right-overflow {
        -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 34px), transparent 100%);
        mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 34px), transparent 100%);
    }

    body.ace-service-page .ace-service-story__tabs.has-left-overflow:not(.has-right-overflow) {
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34px, #000 100%);
        mask-image: linear-gradient(90deg, transparent 0%, #000 34px, #000 100%);
    }

    body.ace-service-page .ace-service-story__tabs.has-left-overflow.has-right-overflow {
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34px, #000 calc(100% - 34px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0%, #000 34px, #000 calc(100% - 34px), transparent 100%);
    }

    body.ace-service-page .ace-footer__cta {
        padding-top: 32px;
        padding-bottom: 34px;
        gap: 22px;
    }

    body.ace-service-page .ace-footer__main {
        padding-top: 36px;
        padding-bottom: 32px;
        gap: 30px;
    }

    body.ace-service-page .ace-footer__group button {
        min-height: 52px;
    }

    body.ace-service-page .ace-footer__codes {
        margin-top: 20px;
    }

    body.ace-service-page .ace-footer__bottom {
        padding-top: 20px;
        padding-bottom: 22px;
    }
}

/* Cooperation mobile final cascade: compact fund, portfolio and form presentation. */
@media (max-width: 520px) {
    body.ace-cooperation-page .ace-coop-visual--capital .ace-coop-visual__media {
        height: 232px;
    }

    body.ace-cooperation-page .ace-capital-story {
        margin-bottom: 48px;
    }

    body.ace-cooperation-page .ace-capital-story__copy {
        width: 100%;
        margin: -42px 0 0;
        padding: 30px 20px 0;
    }

    body.ace-cooperation-page .ace-capital-story__copy p {
        text-align: justify;
        text-align-last: left;
    }

    body.ace-cooperation-page .ace-coop-path {
        padding: 22px 22px 24px;
    }

    body.ace-cooperation-page .ace-coop-path__head > small {
        margin-top: 18px;
    }

    body.ace-cooperation-page .ace-coop-path__detail,
    body.ace-cooperation-page .ace-coop-path.is-active .ace-coop-path__detail {
        margin-top: 18px;
        padding-left: 42px;
    }

    body.ace-cooperation-page .ace-coop-path__detail p {
        margin-bottom: 14px;
        line-height: 1.75;
    }

    body.ace-cooperation-page .ace-coop-path__detail a {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
    }

    body.ace-cooperation-page .ace-fund-explorer__body {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    body.ace-cooperation-page .ace-fund-tabs,
    body.ace-cooperation-page .ace-fund-panels {
        display: contents;
    }

    body.ace-cooperation-page .ace-fund-tabs button {
        min-height: 82px;
        padding: 12px 14px;
        border-top: 1px solid rgba(64, 59, 55, .16);
        border-bottom: 1px solid rgba(64, 59, 55, .16);
        grid-template-columns: 52px minmax(0, 1fr) 18px;
        gap: 12px;
    }

    body.ace-cooperation-page .ace-fund-tabs button:first-child {
        grid-row: 1;
    }

    body.ace-cooperation-page .ace-fund-tabs button:nth-child(2) {
        grid-row: 3;
    }

    body.ace-cooperation-page .ace-fund-tabs button b,
    body.ace-cooperation-page .ace-fund-tabs button:nth-child(2) b {
        font-size: 17px;
        white-space: nowrap;
    }

    body.ace-cooperation-page .ace-fund-tabs img {
        width: 52px;
        height: 52px;
        padding: 7px;
    }

    body.ace-cooperation-page .ace-fund-tabs button.is-active {
        border-bottom-color: transparent;
        border-radius: 20px 20px 0 0;
        background: rgba(255, 255, 255, .68);
    }

    body.ace-cooperation-page .ace-fund-tabs button.is-active i {
        transform: rotate(45deg);
    }

    body.ace-cooperation-page .ace-fund-panels article {
        margin: 0 0 14px;
        padding: 24px 22px 28px;
        border-radius: 0 0 28px 28px;
        background:
            radial-gradient(circle at 100% 0%, rgba(168, 16, 27, .08), transparent 34%),
            rgba(255, 255, 255, .68);
    }

    body.ace-cooperation-page #ace-fund-julz {
        grid-row: 2;
    }

    body.ace-cooperation-page #ace-fund-taicang {
        grid-row: 4;
    }

    body.ace-cooperation-page .ace-fund-panels h4 {
        display: none;
    }

    body.ace-cooperation-page .ace-fund-panels p {
        line-height: 1.8;
    }

    body.ace-cooperation-page .ace-portfolio-stage {
        display: flex;
        flex-direction: column;
    }

    body.ace-cooperation-page .ace-portfolio-rail {
        order: 1;
        margin: 0 -8px;
        padding: 18px 8px 24px;
        border-bottom: 1px solid rgba(64, 59, 55, .2);
        grid-template-columns: repeat(8, 64px);
        gap: 10px;
        scroll-padding-inline: 8px;
        scroll-snap-type: x proximity;
    }

    body.ace-cooperation-page .ace-portfolio-rail button {
        scroll-snap-align: center;
    }

    body.ace-cooperation-page .ace-portfolio-focus {
        display: block;
        order: 2;
        width: 100%;
        height: auto;
        min-height: 400px;
        padding: 28px 0 0;
        overflow: visible;
    }

    body.ace-cooperation-page .ace-portfolio-focus > img,
    body.ace-cooperation-page .ace-portfolio-arrow {
        display: none;
    }

    body.ace-cooperation-page .ace-portfolio-focus > div {
        display: block;
        width: 100%;
    }

    body.ace-cooperation-page .ace-portfolio-focus h4 {
        margin: 0 0 14px;
    }

    body.ace-cooperation-page .ace-fund-contact-line b {
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: -.02em;
        white-space: nowrap;
    }

    body.ace-cooperation-page .ace-career-open {
        gap: 34px;
    }

    body.ace-cooperation-page .ace-career-form--open {
        padding-top: 32px;
    }

    body.ace-cooperation-page .ace-career-form__fields {
        margin-top: 30px;
        gap: 20px;
    }

    body.ace-cooperation-page .ace-career-upload {
        margin-top: 26px;
    }

    body.ace-cooperation-page .ace-career-upload > label {
        min-height: 82px;
        padding: 16px 18px;
    }

    body.ace-cooperation-page .ace-career-form__submit {
        margin-top: 26px;
    }
}

.ace-career-email-arrow {
    display: none;
}

/* Cooperation mobile detail tuning: contacts, fund tabs, portfolio and careers. */
@media (max-width: 520px) {
    body.ace-cooperation-page .ace-coop-path__head > span {
        padding-top: 4px;
        color: var(--ace-red);
        font-size: 14px;
        font-weight: 700;
    }

    body.ace-cooperation-page .ace-coop-path__head > small em {
        margin-bottom: 8px;
        color: #6f6862;
        font-size: 12px;
        font-weight: 700;
    }

    body.ace-cooperation-page .ace-coop-path__head > small strong {
        font-size: 20px;
        line-height: 1.2;
    }

    body.ace-cooperation-page .ace-fund-tabs {
        border-top: 0;
    }

    body.ace-cooperation-page .ace-fund-tabs button {
        border: 0;
        border-radius: 16px;
        background: rgba(255, 255, 255, .46);
    }

    body.ace-cooperation-page .ace-fund-tabs button.is-active {
        border-radius: 20px 20px 0 0;
        background: rgba(255, 255, 255, .76);
    }

    body.ace-cooperation-page .ace-fund-tabs button:nth-child(2) {
        margin-top: 12px;
    }

    body.ace-cooperation-page .ace-fund-panels article {
        margin: 0;
        border-radius: 0 0 20px 20px;
    }

    body.ace-cooperation-page .ace-portfolio-rail {
        margin: 0;
        padding-right: 16px;
        padding-left: 16px;
        scroll-padding-inline: 16px;
    }

    body.ace-cooperation-page .ace-portfolio-rail button {
        border: 1px solid transparent;
        transition: border-color .25s ease, background .25s ease;
    }

    body.ace-cooperation-page .ace-portfolio-rail button:hover,
    body.ace-cooperation-page .ace-portfolio-rail button:focus-visible,
    body.ace-cooperation-page .ace-portfolio-rail button.is-active {
        background: #fff;
        box-shadow: none;
        transform: none;
    }

    body.ace-cooperation-page .ace-portfolio-rail button.is-active {
        border-color: var(--ace-red);
    }

    body.ace-cooperation-page .ace-portfolio-rail button::after {
        display: none;
    }

    body.ace-cooperation-page .ace-portfolio-focus {
        min-height: 0;
        padding-bottom: 28px;
    }

    body.ace-cooperation-page .ace-career-story__actions a i {
        display: inline;
        margin-left: auto;
        color: var(--ace-red);
    }

    body.ace-cooperation-page .ace-career-form--open .ace-career-form__submit {
        width: 100%;
        max-width: none;
    }
}

/* Project detail: shared compact section rhythm and responsive content layout. */
.ace-project-redesign-page .ace-ws-section {
    padding-block: 56px;
}

@media (max-width: 720px) {
    .ace-project-redesign-page .ace-ws-section {
        padding-block: 32px;
    }

    .ace-project-redesign-page .ace-ws-jump {
        background: rgba(244, 246, 247, .94);
    }

    .ace-project-redesign-page .ace-ws-jump .ace-shell {
        padding-right: var(--ace-gutter);
        padding-left: var(--ace-gutter);
        justify-content: flex-start;
    }

    .ace-project-redesign-page .ace-ws-jump a,
    .ace-project-redesign-page .ace-ws-jump a.is-active {
        min-width: max-content;
        min-height: 48px;
        padding: 0 14px;
        flex: 0 0 auto;
        color: #77736e;
        background: transparent;
        font-size: 14px;
    }

    .ace-project-redesign-page .ace-ws-jump a.is-active {
        color: var(--ace-red);
    }

    .ace-project-redesign-page .ace-ws-jump a + a {
        border-left: 0;
    }

    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="1"] .ace-shell,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="2"] .ace-shell,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="3"] .ace-shell,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="4"] .ace-shell {
        width: 100%;
        min-width: 100%;
        justify-content: stretch;
    }

    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="1"] a,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="2"] a,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="3"] a,
    .ace-project-redesign-page .ace-ws-jump__scroll[data-ace-rail-count="4"] a {
        min-width: 0;
        padding-right: 8px;
        padding-left: 8px;
        flex: 1 1 0;
        justify-content: center;
    }

    .ace-project-redesign-page .ace-ws-related .ace-ws-heading--row,
    .ace-project-redesign-page .ace-ws-gallery .ace-ws-heading--row,
    .ace-project-redesign-page .ace-ws-industries .ace-ws-heading--row {
        align-items: center;
        flex-direction: row;
        gap: 12px;
    }

    .ace-project-redesign-page .ace-ws-heading__link,
    .ace-project-redesign-page .ace-ws-gallery__controls,
    .ace-project-redesign-page .ace-ws-industries__controls {
        width: auto;
        margin-left: auto;
        flex: 0 0 auto;
    }

    body.ace-project-redesign-page .ace-ws-gallery__controls,
    body.ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls {
        gap: 6px;
    }

    body.ace-project-redesign-page .ace-ws-gallery__controls > span,
    body.ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls > span {
        min-width: 48px;
        margin: 0;
        white-space: nowrap;
    }

    .ace-project-redesign-page .ace-ws-gallery__rail {
        gap: var(--ace-gutter);
    }

    body.ace-project-redesign-page .ace-ws-gallery.is-scrollable .ace-ws-gallery__controls button,
    body.ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls button {
        display: grid;
        width: 36px;
        height: 36px;
    }

    .ace-project-redesign-page .ace-ws-product__types {
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px 18px;
    }

    .ace-project-redesign-page .ace-ws-product__types span {
        white-space: nowrap;
    }

    .ace-project-redesign-page .ace-ws-product__types span + span {
        margin-left: 0;
    }

    .ace-project-redesign-page .ace-ws-location__map-stage {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }

    .ace-project-redesign-page .ace-ws-location__map {
        position: relative;
        width: 100%;
        height: 360px;
        flex: 0 0 360px;
        inset: auto;
    }

    .ace-project-redesign-page .ace-ws-location__panel {
        position: relative;
        width: 100%;
        padding: 22px 20px 24px;
        clip-path: none;
        border-radius: 0;
        box-shadow: none;
    }

    .ace-project-redesign-page .ace-ws-location__panel > span {
        margin-bottom: 10px;
    }

    .ace-project-redesign-page .ace-ws-location__panel h3 {
        font-size: 20px;
    }

    .ace-project-redesign-page .ace-ws-location__panel p {
        margin: 14px 0 18px;
        line-height: 1.75;
    }
}

/* News index: tablet-safe filters and readable mobile result controls. */
body.ace-news-index-page .ace-news-search--v2 input[type="search"],
body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date input {
    font-size: 16px;
}

body.ace-news-index-page .ace-news-filter__submit--mobile {
    display: none;
}

@media (min-width: 721px) and (max-width: 900px),
       (min-width: 901px) and (max-width: 1024px) and (orientation: portrait) {
    body.ace-news-index-page .ace-news-directory__head {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 16px;
    }

    body.ace-news-index-page .ace-news-directory__heading {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 16px;
    }

    body.ace-news-index-page .ace-news-directory__heading p {
        margin: 0;
        flex: 0 0 auto;
        text-align: right;
    }
}

@media (max-width: 720px) {
    body.ace-news-index-page .ace-news-directory__heading {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 16px;
    }

    body.ace-news-index-page .ace-news-directory__heading p {
        margin: 0;
        flex: 0 0 auto;
        text-align: right;
    }

    body.ace-news-index-page .ace-news-filter__fields {
        grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr) 56px;
        gap: 8px;
    }

    body.ace-news-index-page .ace-news-search__field {
        grid-column: 1 / -1;
    }

    body.ace-news-index-page .ace-news-search__field,
    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date {
        box-sizing: border-box;
        min-height: 56px;
        height: 56px;
    }

    body.ace-news-index-page .ace-news-search__field {
        padding-top: 0;
        padding-bottom: 0;
    }

    body.ace-news-index-page .ace-news-search__field input {
        height: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }

    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date input {
        font-size: 15px;
    }

    body.ace-news-index-page .ace-news-record__copy h3 {
        -webkit-line-clamp: 4;
    }

    body.ace-news-index-page .ace-news-search--v2 button {
        min-width: 64px;
        width: auto;
        min-height: 44px;
        height: 44px;
        white-space: nowrap;
    }

    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__submit--mobile {
        display: inline-flex;
        grid-column: 4;
        align-items: center;
        justify-content: center;
        min-width: 56px;
        width: 56px;
        min-height: 56px;
        height: 56px;
        padding: 0;
    }

    body.ace-news-index-page .ace-news-filter__submit--desktop {
        display: none;
    }

    body.ace-news-index-page .ace-news-filter__actions {
        min-height: 0;
        margin-top: 0;
    }

    body.ace-news-index-page .ace-news-filter__actions > div {
        justify-content: flex-end;
        width: 100%;
    }

    body.ace-news-index-page .ace-news-filter__actions a {
        margin-top: 8px;
    }

    body.ace-news-index-page .ace-news-lead__slide > a {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 16px;
    }

    body.ace-news-index-page .ace-news-lead time {
        min-height: 58px;
        padding-right: 12px;
    }

    body.ace-news-index-page .ace-news-lead time strong {
        font-size: 34px;
        line-height: 1;
    }

    body.ace-news-index-page .ace-news-lead time span {
        margin-top: 6px;
        font-size: 11px;
    }

    body.ace-news-index-page .ace-news-lead__controls button {
        min-width: 44px;
        width: 44px;
        min-height: 44px;
        height: 44px;
    }

    body.ace-news-index-page .ace-news-pagination__pages > a,
    body.ace-news-index-page .ace-news-pagination__pages > strong {
        width: 36px;
        height: 36px;
    }

    body.ace-news-index-page .ace-news-pagination {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        align-items: center;
        gap: 8px;
    }

    body.ace-news-index-page .ace-news-pagination__pages {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        gap: 0;
    }

    body.ace-news-index-page .ace-news-pagination .ace-news-pagination__direction {
        display: grid;
        grid-row: 1;
        place-items: center;
        min-width: 44px;
        width: 44px;
        min-height: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(19, 22, 24, 0.14);
        border-radius: 50%;
    }

    body.ace-news-index-page .ace-news-pagination .ace-news-pagination__direction:first-child {
        grid-column: 1;
    }

    body.ace-news-index-page .ace-news-pagination .ace-news-pagination__direction:last-child {
        grid-column: 3;
    }

    body.ace-news-index-page .ace-news-pagination .ace-news-pagination__direction b {
        display: none;
    }

    body.ace-news-index-page .ace-news-pagination .ace-news-pagination__direction > span {
        font-size: 16px;
    }

    body.ace-news-index-page .ace-news-pagination .ace-news-pagination__pages > span {
        width: 18px;
    }
}

/* News detail: compact mobile-only supporting modules without touching CMS article content. */
@keyframes ace-news-detail-reading-progress {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@media (max-width: 720px) {
    body.ace-news-detail-page.ace-v2-page #ace-main::before {
        position: fixed;
        z-index: 1002;
        top: 72px;
        right: 0;
        left: 0;
        height: 2px;
        content: "";
        background: var(--ace-red);
        transform: scaleX(0);
        transform-origin: left center;
        animation: ace-news-detail-reading-progress linear both;
        animation-timeline: scroll(root block);
        pointer-events: none;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__aside-head {
        padding: 24px 26px 18px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__aside-head h2 {
        margin-top: 0;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__latest article > a {
        min-height: 100px;
        padding-top: 18px;
        padding-bottom: 18px;
        gap: 14px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__latest h3 {
        margin-top: -2px;
        font-size: 16px;
        line-height: 1.55;
        -webkit-line-clamp: 2;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__search {
        padding: 16px 26px 18px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__search label {
        margin-bottom: 6px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__search div {
        grid-template-columns: minmax(0, 1fr) 44px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__search input,
    body.ace-news-detail-page.ace-v2-page .ace-article__search button {
        height: 44px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__search input {
        font-size: 16px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__all {
        min-height: 56px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article-nav {
        padding-bottom: 52px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article-nav .ace-shell {
        gap: 0;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article-nav__prev,
    body.ace-news-detail-page.ace-v2-page .ace-article-nav__next,
    body.ace-news-detail-page.ace-v2-page .ace-article-nav__empty,
    body.ace-news-detail-page.ace-v2-page .ace-article-nav__empty--next {
        min-height: 96px;
        padding: 16px 50px 16px 20px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article-nav small {
        margin-bottom: 8px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article-nav strong {
        font-size: 16px;
        line-height: 1.55;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article-nav__home {
        min-height: 52px;
        padding: 12px 20px;
        gap: 10px;
    }
}

@media (max-width: 720px) and (prefers-reduced-motion: reduce) {
    body.ace-news-detail-page.ace-v2-page #ace-main::before {
        display: none;
    }
}

/* Creator tablet: match the full-width section navigation used by About and Cooperation. */
@media (min-width: 721px) and (max-width: 1000px) {
    body.ace-service-page .ace-service-layout {
        padding-top: 0;
    }

    body.ace-service-page .ace-service-nav {
        width: auto;
        max-width: none;
        margin: 0 calc(var(--ace-gutter) * -1) 56px;
        padding: 0 var(--ace-gutter);
        overflow: hidden;
        border-bottom: 1px solid rgba(75, 71, 67, .14);
        background: rgba(242, 245, 246, .94);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    body.ace-service-page .ace-service-nav nav {
        width: 100%;
        min-width: 0;
        overflow-x: auto;
        border-bottom: 0;
        background: transparent;
        scrollbar-width: none;
    }

    body.ace-service-page .ace-service-nav nav::-webkit-scrollbar {
        display: none;
    }

    body.ace-service-page .ace-service-nav a,
    body.ace-service-page .ace-service-nav a:hover,
    body.ace-service-page .ace-service-nav a:focus-visible,
    body.ace-service-page .ace-service-nav a.is-active {
        width: auto;
        min-width: max-content;
        min-height: 0;
        padding: 18px 17px;
        flex: 0 1 auto;
        border-bottom: 2px solid transparent;
        font-size: 16px;
        text-align: left;
    }

    body.ace-service-page .ace-service-nav a.is-active {
        border-bottom-color: var(--ace-red);
    }

    body.ace-service-page .ace-service-nav a::after {
        display: none;
    }
}

/* Creator tablet: keep the complete service orbit above its active detail panel. */
@media (min-width: 721px) and (max-width: 1280px) {
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__canvas {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__stage {
        --ace-service-tablet-orbit-size: clamp(500px, calc(100vw - 240px), 620px);
        display: block;
        min-height: calc(var(--ace-service-tablet-orbit-size) + 96px);
        padding: 0;
        overflow: hidden;
        grid-column: 1;
        grid-row: 1;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-platforms__head {
        display: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__mesh {
        top: 50%;
        left: 50%;
        display: block;
        width: calc(var(--ace-service-tablet-orbit-size) - 90px);
        max-width: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__core {
        top: 50%;
        left: 50%;
        display: flex;
        width: 148px;
        height: 148px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__core img {
        width: 58px;
        height: 58px;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__rays {
        top: 50%;
        left: 50%;
        display: block;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__rays i {
        width: calc((var(--ace-service-tablet-orbit-size) - 90px) / 2);
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__track {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: var(--ace-service-tablet-orbit-size);
        height: var(--ace-service-tablet-orbit-size);
        padding: 0;
        overflow: visible;
        gap: 0;
        animation: none;
        scroll-snap-type: none;
        transform: translate(-50%, -50%);
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__track::before {
        display: block;
        width: calc(var(--ace-service-tablet-orbit-size) - 90px);
        height: calc(var(--ace-service-tablet-orbit-size) - 90px);
    }

    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(1) { --node-x: 50%; --node-y: 10%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(2) { --node-x: 78%; --node-y: 22%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(3) { --node-x: 90%; --node-y: 50%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(4) { --node-x: 78%; --node-y: 78%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(5) { --node-x: 50%; --node-y: 90%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(6) { --node-x: 22%; --node-y: 78%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(7) { --node-x: 10%; --node-y: 50%; }
    body.ace-service-page .ace-service-orbit__track .ace-service-node:nth-child(8) { --node-x: 22%; --node-y: 22%; }

    body.ace-service-page .ace-service-ecosystem .ace-service-node,
    body.ace-service-page .ace-service-ecosystem .ace-service-node:hover,
    body.ace-service-page .ace-service-ecosystem .ace-service-node:focus-visible {
        position: absolute;
        top: var(--node-y);
        left: var(--node-x);
        width: clamp(138px, 18vw, 156px);
        min-width: clamp(138px, 18vw, 156px);
        min-height: 52px;
        flex: none;
        transform: translate(-50%, -50%);
        scroll-snap-align: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-node__counter {
        min-height: 52px;
        animation: none;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__details {
        width: 100%;
        min-height: 340px;
        margin: 0;
        grid-column: 1;
        grid-row: 2;
    }
}

@media (min-width: 1281px) {
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit {
        --ace-service-orbit-size: clamp(480px, 36vw, 530px);
    }
}

/* Tablet content flow: stack dense copy/forms and expose project content without overlays or rails. */
@media (min-width: 721px) and (max-width: 1024px) {
    body.ace-cooperation-page .ace-career-open {
        grid-template-columns: minmax(0, 1fr);
        gap: 44px;
    }

    body.ace-cooperation-page .ace-career-invite {
        padding-top: 0;
    }

    body.ace-cooperation-page .ace-career-invite p,
    body.ace-cooperation-page .ace-career-invite .ace-career-story__actions a {
        max-width: none;
    }

    body.ace-cooperation-page .ace-career-form--open {
        width: 100%;
        padding: 46px 0 0;
        border-top: 1px solid rgba(64, 59, 55, .2);
        border-left: 0;
    }

    body.ace-cooperation-page .ace-career-form--open .ace-career-form__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ace-cooperation-page .ace-career-form--open .ace-career-form__wide {
        grid-column: 1 / -1;
    }

    body.ace-project-redesign-page .ace-ws-location__map-stage {
        display: flex;
        min-height: 0;
        overflow: hidden;
        flex-direction: column;
    }

    body.ace-project-redesign-page .ace-ws-location__map {
        position: relative;
        width: 100%;
        height: clamp(400px, 54vw, 540px);
        flex: 0 0 clamp(400px, 54vw, 540px);
        inset: auto;
    }

    body.ace-project-redesign-page .ace-ws-location__panel {
        position: relative;
        width: 100%;
        padding: 36px clamp(32px, 5vw, 52px) 40px;
        clip-path: none;
        border-top: 1px solid rgba(23, 23, 22, .1);
        border-radius: 0;
        box-shadow: none;
    }

    body.ace-project-redesign-page [data-ace-industries-carousel] .ace-ws-industries__controls {
        display: none;
    }

    body.ace-project-redesign-page .ace-ws-industries__cards--rail,
    body.ace-project-redesign-page [data-ace-industries-carousel].is-ready:not(.is-scrollable) .ace-ws-industries__cards--rail,
    body.ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--rail {
        display: grid;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        overflow: visible;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row;
        gap: 24px;
        scroll-snap-type: none;
        cursor: default;
    }

    body.ace-project-redesign-page .ace-ws-industries__cards--rail > .ace-ws-industries__card,
    body.ace-project-redesign-page [data-ace-industries-carousel].is-scrollable .ace-ws-industries__cards--rail > .ace-ws-industries__card {
        width: auto;
        min-width: 0;
        flex: none;
        scroll-snap-align: none;
    }

    body.ace-project-redesign-page .ace-ws-industries__cards--count-3 > .ace-ws-industries__card:last-child,
    body.ace-project-redesign-page .ace-ws-industries__cards--count-5 > .ace-ws-industries__card:last-child {
        width: calc(50% - 12px);
        grid-column: 1 / -1;
        justify-self: center;
    }
}

/* Tablet footer CTA: keep the single-column copy while using the full action row. */
@media (min-width: 721px) and (max-width: 980px) {
    .ace-footer__cta-actions {
        justify-content: space-between;
    }
}

/* About tablet metrics: restore cell breathing room and keep only the internal row divider. */
@media (min-width: 721px) and (max-width: 980px) {
    body.ace-about-refresh .ace-about-numbers {
        padding: 0;
    }

    body.ace-about-refresh .ace-about-numbers div,
    body.ace-about-refresh .ace-about-numbers div:first-child {
        padding: 24px clamp(20px, 3vw, 30px);
    }

    body.ace-about-refresh .ace-about-numbers div:nth-child(3),
    body.ace-about-refresh .ace-about-numbers div:nth-child(4) {
        border-bottom: 0;
    }
}

/* Service platform progress: accessible direct-selection buttons at every viewport. */
body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 2px;
}

body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button {
    position: relative;
    display: inline-flex;
    width: 22px;
    height: 32px;
    padding: 0;
    flex: 0 0 22px;
    align-items: center;
    justify-content: center;
    color: inherit;
    border: 0;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    appearance: none;
    transition: width .3s ease, flex-basis .3s ease, background .2s ease;
}

body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button::before {
    width: 6px;
    height: 6px;
    content: "";
    border-radius: 50%;
    background: rgba(72, 82, 88, .22);
    transition: width .3s ease, border-radius .3s ease, background .3s ease, transform .2s ease;
}

body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button:hover::before {
    background: rgba(72, 82, 88, .48);
    transform: scale(1.2);
}

body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button:focus-visible {
    outline: 2px solid rgba(168, 16, 27, .48);
    outline-offset: 1px;
}

body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button.is-active {
    width: 40px;
    flex-basis: 40px;
}

body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button.is-active::before {
    width: 24px;
    border-radius: 99px;
    background: var(--ace-red);
    transform: none;
}

@media (max-width: 720px) {
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress {
        width: 100%;
        flex-wrap: nowrap;
        font-size: 0;
    }

    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress::before {
        margin-right: 10px;
        flex: 0 0 auto;
        font-size: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button,
    body.ace-service-page .ace-service-ecosystem .ace-service-orbit__progress button::before {
        transition: none;
    }
}

/* About mobile banner: reflow the supporting copy away from the artwork. */
.ace-about-hero__mobile-break {
    display: none;
}

@media (max-width: 767px) {
    body.ace-about-refresh.ace-light-banner-page .ace-about-hero p {
        max-width: 180px;
    }

    .ace-about-hero__mobile-break {
        display: inline;
    }
}

/* Cooperation portrait-tablet funds: selectors share a row; detail stays full-width below. */
@media (min-width: 721px) and (max-width: 980px) {
    body.ace-cooperation-page .ace-fund-explorer__body {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    body.ace-cooperation-page .ace-fund-tabs {
        display: grid;
        border-top: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    body.ace-cooperation-page .ace-fund-tabs button {
        min-height: 104px;
        padding: 16px clamp(14px, 2vw, 20px);
        border: 1px solid rgba(64, 59, 55, .16);
        border-radius: 18px;
        background: rgba(255, 255, 255, .46);
        grid-template-columns: 56px minmax(0, 1fr) 16px;
        gap: 12px;
    }

    body.ace-cooperation-page .ace-fund-tabs img {
        width: 56px;
        height: 56px;
        padding: 7px;
    }

    body.ace-cooperation-page .ace-fund-tabs button b,
    body.ace-cooperation-page .ace-fund-tabs button:nth-child(2) b {
        font-size: clamp(15px, 2vw, 17px);
        line-height: 1.35;
        white-space: normal;
    }

    body.ace-cooperation-page .ace-fund-tabs button.is-active {
        border-color: rgba(168, 16, 27, .32);
        background: rgba(255, 255, 255, .78);
        box-shadow: 0 12px 28px rgba(78, 39, 39, .07);
    }
}

/* Project index tablet: stack the intro and wrap cities instead of showing a native horizontal rail. */
@media (min-width: 761px) and (max-width: 979px) {
    body.ace-v2-page .ace-project-index .ace-section__heading h2::after {
        display: none;
    }

    body.ace-v2-page .ace-project-index .ace-section__heading--row {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    body.ace-v2-page .ace-project-index__summary {
        width: 100%;
        max-width: none;
        padding-left: 18px;
    }

    body.ace-v2-page .ace-project-filter-row--city {
        align-items: start;
        padding: 15px 0;
    }

    body.ace-v2-page .ace-project-filter-row--city > .ace-project-filter-row__label {
        padding-top: 8px;
    }

    body.ace-v2-page .ace-project-city-list {
        padding: 0 2px;
        overflow: visible;
        flex-wrap: wrap;
        gap: 6px 22px;
        scrollbar-width: none;
    }

    body.ace-v2-page .ace-project-city-list::-webkit-scrollbar {
        display: none;
    }
}

/* Cooperation careers: the desktop ambient oval becomes a clipped side strip in stacked layouts. */
@media (max-width: 1024px) {
    body.ace-cooperation-page .ace-career-open::before {
        content: none;
    }

    body.ace-cooperation-page .ace-career-invite > p,
    body.ace-cooperation-page .ace-career-invite .ace-career-story__actions a {
        max-width: none;
    }
}

/* Project detail mobile title: preserve the approved full name and fit it to one line. */
@media (max-width: 760px) {
    body.ace-project-redesign-page .ace-ws-hero h1 {
        max-width: 100%;
        font-size: var(--ace-project-title-fit-size, var(--ace-type-project-name));
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: keep-all;
    }
}

/* Homepage news: give portrait tablets a readable bridge between phone and desktop. */
@media (min-width: 721px) and (max-width: 1100px) {
    body.ace-index-home-service .ace-news__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    body.ace-index-home-service .ace-news__card-link,
    body.ace-index-home-service .ace-news__body {
        min-height: 122px;
    }

    body.ace-index-home-service .ace-news__body {
        padding: 18px;
        grid-template-columns: 68px minmax(0, 1fr) 20px;
        grid-template-rows: auto;
        align-items: center;
        gap: 14px;
    }

    body.ace-index-home-service .ace-news__body time {
        display: grid;
        min-height: 54px;
        padding: 0 10px 0 0;
        grid-template-columns: 30px minmax(0, 1fr);
        align-items: center;
        gap: 2px;
        grid-column: auto;
        grid-row: auto;
        border: 0;
    }

    body.ace-index-home-service .ace-news__body time strong {
        font-size: 25px;
    }

    body.ace-index-home-service .ace-news__body h3 {
        padding-top: 0;
        grid-column: auto;
        grid-row: auto;
        -webkit-line-clamp: 2;
    }

    body.ace-index-home-service .ace-news__read {
        align-items: center;
        grid-column: auto;
        grid-row: auto;
    }

}

@media (min-width: 721px) and (max-width: 900px) {
    body.ace-index-home-service .ace-news__heading {
        display: grid;
        align-items: start;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 16px;
        row-gap: 10px;
    }

    body.ace-index-home-service .ace-news__heading > div:first-child {
        grid-column: 1;
        grid-row: 1;
    }

    body.ace-index-home-service .ace-news__heading-side {
        display: contents;
        width: auto;
        padding-left: 0;
        border-left: 0;
    }

    body.ace-index-home-service .ace-news__heading-link {
        margin: 0 0 15px;
        align-self: end;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        white-space: nowrap;
    }

    body.ace-index-home-service .ace-news__heading-side p {
        margin: 0;
        padding: 0;
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

/* Homepage news date: keep day above month at every viewport width. */
body.ace-index-home-service .ace-news__body {
    grid-template-columns: 52px minmax(0, 1fr) 20px;
}

body.ace-index-home-service .ace-news__body time {
    padding-right: 10px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    justify-items: center;
    gap: 4px;
}

body.ace-index-home-service .ace-news__body time strong {
    grid-row: auto;
}

/* News filter: stack labels above native dates where inline controls would clip. */
@media (min-width: 721px) and (max-width: 1100px) {
    body.ace-news-index-page .ace-news-search__field,
    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date {
        min-height: 56px;
        height: 56px;
    }

    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date {
        padding: 6px 12px 5px;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
        align-content: center;
        align-items: center;
        gap: 0;
    }

    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date span {
        font-size: 11px;
    }

    body.ace-news-index-page .ace-news-search--v2 .ace-news-filter__date input {
        width: 100%;
        font-size: 15px;
    }

    body.ace-news-index-page .ace-news-search--v2 button {
        min-height: 56px;
        height: 56px;
    }
}

/* Homepage map: keep the compact desktop city heading on one line. */
@media (min-width: 781px) and (max-width: 1180px) {
    body.ace-index-production .ace-map__national {
        gap: 8px;
    }

    body.ace-index-production .ace-map__national-desktop {
        font-size: 18px;
        white-space: nowrap;
    }
}

/* News detail tablet: give dates and complete headlines separate rows. */
@media (min-width: 721px) and (max-width: 1200px) {
    body.ace-news-detail-page.ace-v2-page .ace-article__latest article > a {
        min-height: 190px;
        padding: 26px 24px 28px;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
        align-content: start;
        align-items: start;
        gap: 16px;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__latest time {
        display: flex;
        width: 100%;
        min-height: 0;
        padding: 0 0 14px;
        align-items: baseline;
        justify-content: flex-start;
        flex-direction: row;
        gap: 10px;
        border-bottom: 1px solid rgba(163, 15, 25, .22);
        text-align: left;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__latest time::after {
        display: none;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__latest time span {
        margin-top: 0;
        white-space: nowrap;
    }

    body.ace-news-detail-page.ace-v2-page .ace-article__latest h3 {
        display: block;
        overflow: visible;
        margin: 0;
        font-size: 16px;
        line-height: 1.62;
        -webkit-line-clamp: unset;
    }
}

/* Homepage map: project cards must always cover map markers. */
body.ace-index-production .ace-map__project-panel {
    z-index: 12;
}

/* Project index mobile: remove the short red rule below the intro heading. */
@media (max-width: 760px) {
    body.ace-v2-page .ace-project-index .ace-section__heading h2::after {
        display: none;
    }
}
