.page-home {
    --framework-red: var(--brand-red, #b3212d);
}

.home-framework {
    --framework-red: #c92a2a;
    --framework-ink: #211f1f;
    --framework-muted: #777171;
    background: #fff;
    color: var(--framework-ink);
}

@media screen and (max-width: 1300px) and (min-width: 981px) {
    .page-home {
        overflow-x: clip;
    }

    .page-home .banner.home_lunbo,
    .page-home .banner.home_lunbo .swiper-container,
    .page-home .banner.home_lunbo .swiper-wrapper,
    .page-home .banner.home_lunbo .swiper-slide {
        min-width: 0;
        width: 100%;
    }

    .page-home .z_footer_top,
    .page-home .z_footer_btm {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }

    .page-home .news-quicknav-section .w1200 {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }

    .page-home .news-card {
        display: block !important;
        width: 100% !important;
    }

    .page-home .news-main {
        width: 100% !important;
        border-right: 0;
        padding-right: 0;
    }

    .page-home .news-sidebar {
        width: 100% !important;
        margin-top: 24px;
    }

    .page-home .sidebar-list {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.home-framework__section {
    padding: 78px 0;
    scroll-margin-top: 90px;
}

.home-framework__honors {
    background: #faf7f8;
}

.home-framework__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 34px;
}

.home-framework__heading > div {
    position: relative;
    padding-left: 0;
}

.home-framework__heading > div > span {
    display: none;
}

.home-framework__heading p {
    margin: 0 0 5px;
    color: #9b9292;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
}

.home-framework__heading h2 {
    margin: 0;
    color: #aa202b;
    font-size: 32px;
    font-weight: 750;
    line-height: 1.2;
}

.home-framework__heading > a {
    color: var(--framework-red);
    font-size: 14px;
}

.page-home .test-tools-section .section-title h2 {
    color: #aa202b !important;
}

/* Open typographic treatment for the first visual; the image remains primary. */
.home-banner-copy {
    position: absolute;
    z-index: 12;
    top: 50%;
    left: 50%;
    width: min(980px, calc(100% - 48px));
    max-width: none;
    color: #fff;
    pointer-events: none;
    text-align: center;
    transform: translate(-50%, -50%);
    text-shadow: 0 4px 26px rgba(0, 0, 0, .64);
}

.home-banner-copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(46px, 5.2vw, 86px);
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1.12;
}

.home-banner-copy h1 strong {
    color: #e64b55;
    font-weight: inherit;
}

.home-banner-copy p {
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(19px, 1.8vw, 28px);
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1.5;
}

.home_lunbo .swiper-slide::before {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 8, 14, .28) 0%, rgba(5, 8, 14, .56) 100%);
    content: '';
    pointer-events: none;
}

.home-framework__mentor-rail,
.home-framework__tab-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

/* The new mentor rail lives inside .home-framework__mentor-nav as a flex
   thumbnail strip. The rules below intentionally opt out of the grid
   treatment that the original (now-removed) mentor-card grid relied on. */
.home-framework__mentor-nav .home-framework__mentor-rail {
    display: flex;
    grid-template-columns: none;
    grid-auto-flow: initial;
    grid-auto-columns: auto;
    gap: 28px;
}

.home-framework__mentor-rail {
    overflow-x: auto;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 1fr);
    grid-template-columns: none;
    padding-bottom: 10px;
    scroll-snap-type: x proximity;
    scrollbar-color: rgba(159, 31, 36, .42) #eeeae6;
    scrollbar-width: thin;
}

/* The new showcase rail is a flex strip, not a horizontal scroll-snap grid. */
.home-framework__mentor-nav .home-framework__mentor-rail {
    overflow-x: auto;
    grid-auto-flow: initial;
    grid-auto-columns: auto;
    grid-template-columns: none;
    padding-bottom: 12px;
    scroll-snap-type: none;
    scrollbar-color: rgba(167, 34, 43, .32) transparent;
}

.home-framework__mentor-card {
    scroll-snap-align: start;
}

.home-framework__mentor-card,
.home-framework__honor-card,
.home-framework__person-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #ebe7e3;
    border-radius: 18px;
    background: #fff;
}

.home-framework__mentor-card figure {
    height: 290px;
    margin: 0;
    overflow: hidden;
    background: #f0ece8;
}

.home-framework__mentor-card figure img,
.home-framework__person-card > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.home-framework__mentor-card > div,
.home-framework__honor-card > div,
.home-framework__person-card > div {
    padding: 20px;
}

.home-framework__mentor-card small,
.home-framework__honor-card small,
.home-framework__person-card small {
    color: var(--framework-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.home-framework__mentor-card h3,
.home-framework__honor-card h3,
.home-framework__person-card h3 {
    margin: 8px 0 7px;
    font-size: 20px;
}

.home-framework__mentor-card p,
.home-framework__person-card p {
    min-height: 42px;
    margin: 0;
    color: var(--framework-muted);
    font-size: 14px;
    line-height: 1.6;
}

.home-framework__tabs {
    display: flex;
    gap: 30px;
    margin-bottom: 28px;
    border-bottom: 1px solid #ddd7d2;
}

.home-framework__tabs button {
    position: relative;
    padding: 0 2px 14px;
    border: 0;
    background: transparent;
    color: #877f7f;
    cursor: pointer;
    font: inherit;
}

.home-framework__tabs button.is-active {
    color: var(--framework-red);
    font-weight: 700;
}

.home-framework__tabs button.is-active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: var(--framework-red);
    content: '';
}

.home-framework__tab-panel[hidden] {
    display: none;
}

.home-framework__tab-panel[data-framework-panel="people"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-framework__honor-card > img {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: contain;
    background: #f5f2ed;
}

.home-framework__person-card {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 210px;
}

.home-framework__person-card > img {
    background: #f0ece8;
}

.home-framework__story-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.home-framework__story-grid article {
    min-width: 0;
}

.home-framework__story-cover,
.home-framework__company-video video,
.home-framework__company-video img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    background: #eee;
    object-fit: cover;
}

.home-framework__story-cover {
    position: relative;
    overflow: hidden;
    padding: 0;
    border: 0;
    cursor: pointer;
}

.home-framework__story-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.home-framework__story-cover span,
.student-stories__cover span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: rgba(159, 31, 36, .92);
    box-shadow: 0 10px 26px rgba(74, 17, 20, .22);
    color: #fff;
    font-size: 17px;
    place-items: center;
    transform: translate(-50%, -50%);
}

.home-framework__story-cover:hover img {
    transform: scale(1.025);
}

.home-framework__story-grid h3 {
    margin: 14px 0 0;
    font-size: 17px;
    line-height: 1.55;
}

.home-framework__story-grid .home-framework__story-description {
    display: -webkit-box;
    margin: 7px 0 0;
    overflow: hidden;
    color: #756f6b;
    font-size: 13px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-framework__company-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: 64px;
}

.home-framework__company-copy p {
    margin: 0;
    font-size: 19px;
    line-height: 2;
}

.home-framework__metrics {
    padding: 50px 0;
    background: linear-gradient(100deg, #8f1822 0%, #b3212d 55%, #8f1822 100%);
    color: #fff;
    scroll-margin-top: 90px;
}

.home-framework__story-cover:focus-visible,
.home-framework__tabs button:focus-visible,
.story-video-modal__bar button:focus-visible {
    outline: 3px solid rgba(159, 31, 36, .35);
    outline-offset: 4px;
}

.home-framework__metrics .w1200 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.home-framework__metrics .w1200 > div {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    padding-left: 28px;
}

.home-framework__metrics .w1200 > div::before {
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 0;
    width: 1px;
    background: rgba(255, 255, 255, .24);
    content: '';
}

.home-framework__metrics strong {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    color: #fff;
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.home-framework__metrics strong [data-home-counter] {
    color: inherit;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

.home-framework__metrics strong small {
    padding-bottom: 5px;
    color: rgba(255, 255, 255, .92);
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
}

.home-framework__metrics .w1200 > div > span:last-child {
    color: rgba(255, 255, 255, .86);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.story-video-modal[hidden] {
    display: none;
}

.story-video-modal {
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: grid;
    padding: 24px;
    background: rgba(20, 18, 18, .74);
    place-items: center;
}

.story-video-modal__dialog {
    width: min(960px, 100%);
    overflow: hidden;
    border-radius: 18px;
    background: #111;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .35);
}

.story-video-modal__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 18px;
    background: #fff;
}

.story-video-modal__bar strong {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.story-video-modal__bar button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #555;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

.story-video-modal video {
    display: block;
    width: 100%;
    max-height: 76vh;
    background: #000;
}

/* Vertical (9:16) playback: narrow phone-style dialog instead of the wide
   960px editorial frame, so portrait footage isn't letterboxed. */
.story-video-modal--vertical .story-video-modal__dialog {
    width: auto;
    max-width: min(420px, 100%);
}

.story-video-modal--vertical video {
    width: auto;
    max-width: 100%;
    height: min(82vh, 760px);
    max-height: 82vh;
    aspect-ratio: 9 / 16;
    margin: 0 auto;
    object-fit: cover;
}

body.story-video-open {
    overflow: hidden;
}

@media screen and (max-width: 980px) {
    .home-framework__section {
        padding: 56px 0;
    }

    .home-framework__tab-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-framework__tab-panel[data-framework-panel="people"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-framework__story-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-framework__company-grid {
        gap: 36px;
    }
}

@media screen and (max-width: 1240px) {
    .page-home .home-framework .w1200,
    .page-home .home-framework__metrics .w1200 {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }
}

@media screen and (max-width: 768px) {
    .home-framework__section {
        padding: 44px 0;
    }

    .home-framework__heading {
        align-items: flex-start;
        margin-bottom: 26px;
    }

    .home-framework__heading > div {
        padding-left: 0;
    }

    .home-framework__heading h2 {
        font-size: 25px;
    }

    .home-framework__heading > a {
        padding-top: 22px;
        font-size: 12px;
        white-space: nowrap;
    }

    .home-framework__mentor-rail {
        grid-auto-columns: 74vw;
    }

    .home-framework__mentor-card figure {
        height: 250px;
    }

    .home-framework__tab-panel,
    .home-framework__company-grid {
        grid-template-columns: 1fr;
    }

    .home-framework__tab-panel[data-framework-panel="people"] {
        grid-template-columns: 1fr;
    }

    .home-framework__story-grid {
        gap: 24px;
    }

    .home-framework__company-grid {
        gap: 24px;
    }

    .home-framework__company-copy p {
        font-size: 16px;
        line-height: 1.85;
    }

    .home-framework__metrics .w1200 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }

    .home-framework__metrics strong {
        font-size: 34px;
    }

    .home-framework__metrics strong small {
        padding-bottom: 3px;
        font-size: 15px;
    }

    .home-framework__metrics .w1200 > div {
        gap: 9px;
        padding-left: 18px;
    }

    .home-framework__metrics .w1200 > div > span:last-child {
        font-size: 14px;
    }
}

/* Homepage polish: keep the fixed navigation clear of the first visual. */
.page-home .banner.home_lunbo {
    margin-top: 80px;
}

/* Media资讯: title on the left, quiet category controls on the right, and
   four editorial cards per category. */
.news-quicknav-section {
    padding: 62px 0 72px !important;
    background: #f7f4f3 !important;
}

.news-quicknav-section > .w1200 {
    width: min(1200px, calc(100% - 48px)) !important;
    max-width: 1200px !important;
    padding: 0 !important;
}

.news-tab-bar {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 30px;
    margin-bottom: 30px !important;
    padding: 0 !important;
}

.news-main-title {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin: 0 !important;
    color: var(--framework-red) !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

.news-main-title-wrap { position: relative; padding-top: 18px; }
.news-main-title-wrap::before { content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 3px; background: var(--framework-red); }
.news-eyebrow { margin: 0 0 6px; color: var(--framework-red); font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }

.news-main-title strong {
    color: var(--framework-red) !important;
    font-weight: 800;
}

.news-main-title span {
    color: #777176;
    font-size: 19px;
    font-weight: 400;
}

.news-main-title::after {
    display: none !important;
}

.news-tab-actions {
    min-width: 0;
}

.news-tabs {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    max-width: 730px;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    scrollbar-width: none;
}

.news-tabs::-webkit-scrollbar {
    display: none;
}

.news-tab-item {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 0 !important;
    border: 0 !important;
    border-radius: 20px;
    background: transparent !important;
    color: #a0a4ab !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.2;
    cursor: pointer;
    transition: color .25s ease, background .25s ease, padding .25s ease;
}

.news-tab-item:hover,
.news-tab-item:focus-visible {
    color: var(--framework-red) !important;
}

.news-tab-item.active {
    padding: 8px 18px !important;
    background: var(--framework-red) !important;
    color: #fff !important;
    font-weight: 600 !important;
}

.news-tab-item.active::after {
    display: none !important;
}

.news-content {
    display: none !important;
    flex-direction: column;
}

.news-content.active {
    display: flex !important;
}

.news-content[hidden] {
    display: none !important;
}

.news-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px !important;
    width: 100% !important;
}

.news-item {
    display: block !important;
    min-width: 0;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #e7e2e0 !important;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(60, 38, 32, .055);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.news-image {
    display: block;
    width: 100%;
    aspect-ratio: 1.85;
    overflow: hidden;
    background: #e6e9ee;
}

.news-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.news-image span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #8b929c;
    font-size: 14px;
}

.news-item:hover .news-image img {
    transform: scale(1.035);
}

.news-item:hover {
    border-color: rgba(179, 33, 45, .34) !important;
    box-shadow: 0 16px 30px rgba(60, 38, 32, .11);
    transform: translateY(-5px);
}

.news-item__body {
    min-height: 112px;
    padding: 12px 14px 13px;
}

.news-item .news-title {
    display: -webkit-box !important;
    overflow: hidden !important;
    max-width: none !important;
    margin: 0 !important;
    color: #262a30 !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
    text-decoration: none;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.news-item .news-title:hover {
    color: var(--framework-red) !important;
}

.news-item__body p {
    display: -webkit-box;
    overflow: hidden;
    margin: 9px 0 0;
    color: #8a9098;
    font-size: 13px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.news-content .news-more-link {
    align-self: flex-end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    margin-right: 92px;
    padding: 0 0 6px;
    border: 0;
    border-bottom: 1px solid rgba(179, 33, 45, .5);
    border-radius: 0;
    color: var(--framework-red) !important;
    font-size: 13px !important;
    line-height: 1.2;
    text-decoration: none;
}

.news-content .news-more-link::after {
    content: '→' !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    transform: none !important;
    font-size: 16px !important;
    line-height: 1 !important;
    vertical-align: 0;
}

.news-content .news-more-link:hover {
    border-color: var(--framework-red);
    color: var(--framework-red) !important;
}

/* Brand credentials: a stepped certificate rail, with one clear control. */
.home-framework__honor-panel:not([hidden]) {
    display: block !important;
}

.home-framework__honor-stage {
    position: relative;
    height: 420px;
    margin: 0 46px;
    overflow: hidden;
}

.home-framework__honor-card {
    position: absolute;
    top: 18px;
    left: 50%;
    display: block;
    width: min(360px, 42%);
    min-height: 350px;
    border: 1px solid #e1e4e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(37, 43, 52, .12);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) scale(.62);
    transition: left .42s ease, opacity .42s ease, transform .42s ease, filter .42s ease;
}

.home-framework__honor-card > img {
    width: 100%;
    height: 260px;
    border-radius: 10px 10px 0 0;
    object-fit: contain;
    background: #f4f5f6;
}

.home-framework__honor-card > div {
    padding: 15px 18px 17px;
}

.home-framework__honor-card small {
    color: var(--framework-red);
    font-size: 10px;
    letter-spacing: .12em;
}

.home-framework__honor-card h3 {
    margin: 6px 0 0;
    color: #33383e;
    font-size: 15px;
    line-height: 1.45;
}

.home-framework__honor-card.is-active {
    z-index: 5;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) scale(1);
}

.home-framework__honor-card.is-prev,
.home-framework__honor-card.is-next {
    z-index: 3;
    opacity: .7;
    pointer-events: auto;
    filter: saturate(.82);
    transform: translateX(-50%) scale(.78);
}

.home-framework__honor-card.is-prev { left: 22%; }
.home-framework__honor-card.is-next { left: 78%; }

.home-framework__honor-card.is-far-prev,
.home-framework__honor-card.is-far-next {
    z-index: 1;
    opacity: .38;
    transform: translateX(-50%) scale(.62);
}

.home-framework__honor-card.is-far-prev { left: 4%; }
.home-framework__honor-card.is-far-next { left: 96%; }

.home-framework__honor-arrow {
    position: absolute;
    z-index: 8;
    top: 50%;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid #d8dde3;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #646d78;
    cursor: pointer;
    font-size: 23px;
    line-height: 1;
    transform: translateY(-50%);
    transition: border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.home-framework__honor-arrow:hover,
.home-framework__honor-arrow:focus-visible {
    border-color: var(--framework-red);
    color: var(--framework-red);
    box-shadow: 0 7px 18px rgba(33, 38, 45, .12);
}

.home-framework__honor-arrow.is-prev { left: 0; }
.home-framework__honor-arrow.is-next { right: 0; }

@media screen and (max-width: 980px) {
    .page-home .banner.home_lunbo {
        margin-top: 55px;
    }

    .news-quicknav-section {
        padding: 48px 0 58px !important;
    }

    .news-tab-bar {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 18px;
    }

    .news-tab-actions {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .news-tabs {
        justify-content: flex-start !important;
        max-width: 100%;
        width: 100%;
    }

    .news-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-framework__honor-stage {
        height: 390px;
        margin: 0 40px;
    }

    .home-framework__honor-card {
        width: min(330px, 58%);
    }

    .home-framework__honor-card.is-prev { left: 15%; }
    .home-framework__honor-card.is-next { left: 85%; }
}

@media screen and (max-width: 620px) {
    .news-main-title {
        font-size: 25px !important;
    }

    .news-main-title span {
        font-size: 16px;
    }

    .news-list {
        grid-template-columns: 1fr;
        gap: 14px !important;
    }

    .news-item {
        display: grid !important;
        grid-template-columns: 136px minmax(0, 1fr);
    }

    .news-image {
        aspect-ratio: auto;
        min-height: 126px;
        height: 100%;
    }

    .news-item__body {
        min-height: 0;
        padding: 14px;
    }

    .home-banner-copy {
        width: calc(100% - 32px);
    }

    .home-banner-copy h1 {
        font-size: clamp(34px, 9vw, 48px);
    }

    .home-banner-copy p {
        margin-top: 12px;
        font-size: 16px;
        letter-spacing: .04em;
    }

    .news-content .news-more-link {
        margin-right: 58px;
    }

    .home-framework__honor-stage {
        height: 350px;
        margin: 0 10px;
    }

    .home-framework__honor-card {
        top: 8px;
        width: 82%;
        min-height: 300px;
    }

    .home-framework__honor-card > img {
        height: 210px;
    }

    .home-framework__honor-card > div {
        padding: 12px 14px;
    }

    .home-framework__honor-card.is-prev { left: 8%; }
    .home-framework__honor-card.is-next { left: 92%; }

    .home-framework__honor-arrow {
        width: 38px;
        height: 38px;
        font-size: 19px;
    }
}

/* Mentor showcase: a single large card with a thumbnail rail underneath.
   The pattern is adapted from the design reference at
   /Users/hope/Desktop/app/src/sections/MentorShowcase.tsx and tuned to the
   houbo123 warm-paper visual system. All colors come from existing tokens. */

.home-framework__mentor-stage {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    isolation: isolate;
}

/* Soft atmospheric gradient behind the showcase.
   Avoids the red bg-mentor.jpg from the reference because the existing site
   uses a warm paper surface; this gradient preserves that. */
.home-framework__mentor-stage::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -34px -8px 0;
    background: transparent;
    border-radius: 24px;
    pointer-events: none;
}

/* The featured card: photo on the left, info on the right. */
.home-framework__mentor-card {
    position: relative;
    display: grid;
    grid-template-columns: 36% minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    max-width: 1040px;
    height: 410px;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: var(--home-paper);
    box-shadow: 0 16px 40px rgba(74, 47, 36, .09);
    transition: box-shadow .35s ease, border-color .35s ease, transform .35s ease;
}

.home-framework__mentor-card.is-fading {
    opacity: 0;
    transform: translateY(8px);
}

.home-framework__mentor-card:hover {
    border-color: rgba(199, 58, 55, .28);
    box-shadow: 0 30px 60px rgba(109, 38, 34, .16);
}

.page-home .home-framework__mentor-stage { padding: 0; background: transparent; }
.page-home .home-framework__mentor-card { max-width: 1040px; }
.page-home .home-framework__mentor-photo { background: #f7f4f0; }
.page-home .home-framework__mentor-info { padding: 40px 36px; }
.page-home .home-framework__mentor-name { font-size: 34px; }
.page-home .home-framework__mentor-intro { font-size: 15px; line-height: 1.55; }

.home-framework__mentor-photo {
    position: relative;
    overflow: hidden;
    min-height: 0;
    min-width: 0;
    background:
        linear-gradient(160deg, rgba(167, 34, 43, .05), rgba(216, 162, 94, .08)),
        #f3eee7;
}

.home-framework__mentor-photo img {
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    width: auto;
    height: 82%;
    max-width: 92%;
    object-fit: contain;
    object-position: center bottom;
    transform: translateX(-50%);
    transform-origin: center bottom;
    transition: transform .55s ease;
}

.home-framework__mentor-photo img[hidden] {
    display: none !important;
}

.home-framework__mentor-card:hover .home-framework__mentor-photo img {
    transform: translateX(-50%);
}

.home-framework__mentor-photo .home-framework__mentor-photo-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #c2a99c;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: .35em;
    background: linear-gradient(160deg, #f3eee7 0%, #e7dccd 100%);
}

.home-framework__mentor-photo .home-framework__mentor-photo-fallback[hidden] {
    display: none;
}

.home-framework__mentor-watermark {
    position: absolute;
    z-index: 1;
    top: 18px;
    right: 26px;
    color: rgba(199, 58, 55, .22);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 110px;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
    user-select: none;
    letter-spacing: -2px;
}

.home-framework__mentor-info {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    min-height: 0;
    padding: 44px 38px;
}

.home-framework__mentor-label {
    margin: 0;
    min-height: 0;
    color: var(--home-red-bright);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .35em;
    text-transform: uppercase;
}

.home-framework__mentor-card .home-framework__mentor-label {
    min-height: 0;
}

.home-framework__mentor-name {
    margin: 2px 0 4px;
    color: var(--home-ink);
    font-size: 38px;
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: .02em;
}

.home-framework__mentor-info .home-framework__mentor-name {
    margin: 2px 0 4px;
}

.home-framework__mentor-card .home-framework__mentor-title {
    display: block;
    max-width: 100%;
    min-height: 0;
    margin: -1px 0 3px;
    color: var(--home-red);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .02em;
}

.home-framework__mentor-card .home-framework__mentor-title[hidden] {
    display: none;
}

.home-framework__mentor-badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    max-width: 100%;
    padding: 7px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--home-red) 0%, var(--home-red-bright) 100%);
    box-shadow: 0 8px 18px rgba(167, 34, 43, .18);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-framework__mentor-divider {
    width: 44px;
    height: 3px;
    margin: 6px 0 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, #d8a25e 0%, rgba(216, 162, 94, 0) 100%);
}

.home-framework__mentor-intro {
    margin: 0;
    color: #564e51;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 0;
    align-content: start;
    white-space: pre-line;
    overflow: visible;
    min-width: 0;
    min-height: 0;
}

.home-framework__mentor-card .home-framework__mentor-intro {
    min-height: 0;
    height: auto;
    max-height: 100%;
}

.home-framework__mentor-intro .mentor-intro-item {
    display: block;
    position: relative;
    padding-left: 16px;
    margin-bottom: 4px;
    min-width: 0;
}

.home-framework__mentor-intro .mentor-intro-item:last-child {
    margin-bottom: 0;
}

.home-framework__mentor-intro .mentor-intro-item--book {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px;
    column-gap: 6px;
    align-items: start;
    min-height: 62px;
    padding-right: 0;
}

.home-framework__mentor-intro .mentor-book-stack {
    position: absolute;
    z-index: 1;
    right: -8px;
    bottom: -3px;
    display: block;
    width: 72px;
    height: 88px;
    pointer-events: none;
}

.home-framework__mentor-intro .mentor-intro-copy {
    min-width: 0;
}

.home-framework__mentor-intro .mentor-book-thumb {
    position: absolute;
    display: block;
    object-fit: contain;
    object-position: center bottom;
    transform-origin: 75% 100%;
    pointer-events: none;
}

.home-framework__mentor-intro .mentor-book-thumb--back {
    right: 10px;
    bottom: 6px;
    width: 56px;
    height: 74px;
    opacity: .32;
    filter: saturate(.8) drop-shadow(0 4px 6px rgba(112, 54, 48, .12));
    transform: rotate(-9deg);
}

.home-framework__mentor-intro .mentor-book-thumb--front {
    right: 0;
    bottom: 0;
    width: 60px;
    height: 80px;
    filter: drop-shadow(0 6px 8px rgba(112, 54, 48, .18));
    transform: rotate(5deg);
}

.home-framework__mentor-intro .mentor-intro-item--nowrap {
    white-space: nowrap;
}

.home-framework__mentor-intro .mentor-intro-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: .65em;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: var(--home-red);
}

/* Bottom navigation: prev arrow, thumbnail rail, next arrow. */
.home-framework__mentor-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    max-width: 900px;
}

.home-framework__mentor-rail {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 22px;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    padding: 4px 8px 8px;
    scrollbar-width: thin;
    scrollbar-color: rgba(167, 34, 43, .32) transparent;
    -webkit-overflow-scrolling: touch;
}

.home-framework__mentor-rail::-webkit-scrollbar {
    height: 6px;
}

.home-framework__mentor-rail::-webkit-scrollbar-thumb {
    background: rgba(167, 34, 43, .28);
    border-radius: 3px;
}

.home-framework__mentor-rail::-webkit-scrollbar-track {
    background: transparent;
}

.home-framework__mentor-thumb {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 76px;
    padding: 4px 6px 5px;
    border: 0;
    background: transparent;
    color: #8d8486;
    cursor: pointer;
    font: inherit;
    transition: color .25s ease, transform .25s ease;
    background: transparent !important;
}

.home-framework__mentor-thumb-frame {
    display: block;
    width: 58px;
    height: 58px;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.home-framework__mentor-thumb-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.home-framework__mentor-thumb-name {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .04em;
    white-space: nowrap;
    transition: color .25s ease, font-weight .25s ease;
}

.home-framework__mentor-thumb:hover .home-framework__mentor-thumb-frame {
    border-color: rgba(199, 58, 55, .45);
    transform: translateY(-2px);
}

.home-framework__mentor-thumb:hover .home-framework__mentor-thumb-name {
    color: #4f4950;
}

.home-framework__mentor-thumb.is-active .home-framework__mentor-thumb-frame {
    border-color: var(--home-red-bright);
    box-shadow: none;
    transform: scale(1.08);
}

.home-framework__mentor-thumb.is-active .home-framework__mentor-thumb-name {
    color: var(--home-red);
    font-weight: 700;
}

.home-framework__mentor-thumb:focus-visible {
    outline: none;
}

.home-framework__mentor-thumb:focus-visible .home-framework__mentor-thumb-frame {
    outline: 3px solid rgba(199, 58, 55, .35);
    outline-offset: 3px;
}

.home-framework__mentor-arrow {
    flex: 0 0 auto;
    display: grid;
    width: 44px;
    height: 44px;
    margin-top: 8px;
    place-items: center;
    border: 1px solid #ddd7d2;
    border-radius: 50%;
    background: rgba(255, 253, 249, .92);
    color: #877f7f;
    cursor: pointer;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    transition: border-color .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.home-framework__mentor-arrow:hover,
.home-framework__mentor-arrow:focus-visible {
    border-color: var(--home-red-bright);
    color: var(--home-red);
    background: #fff;
    box-shadow: 0 8px 18px rgba(74, 47, 36, .14);
    transform: translateY(-1px);
}

.home-framework__mentor-arrow:focus-visible {
    outline: 3px solid rgba(199, 58, 55, .35);
    outline-offset: 2px;
}

.home-framework__mentor-arrow:disabled {
    cursor: not-allowed;
    opacity: .35;
    box-shadow: none;
    transform: none;
}

.home-framework__mentor-arrow.is-prev::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
    transform: rotate(-45deg) translate(2px, 2px);
}

.home-framework__mentor-arrow.is-next::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg) translate(-2px, 2px);
}

.home-framework__mentor-fallback {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 64px 0;
    text-align: center;
    color: #8d8486;
    font-size: 15px;
}

/* Entrance animation for the showcase card when content switches. */
@keyframes home-framework-mentor-card-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.home-framework__mentor-card.mentor-card-in {
    animation: home-framework-mentor-card-in .42s ease both;
}

/* Reduced motion: disable transform-based animations but keep color/visibility. */
@media (prefers-reduced-motion: reduce) {
    .home-framework__mentor-card,
    .home-framework__mentor-thumb-frame,
    .home-framework__mentor-arrow,
    .home-framework__mentor-photo img {
        transition: none !important;
    }

    .home-framework__mentor-card.mentor-card-in {
        animation: none !important;
    }
}

/* Homepage student-story cards use the managed material title as their visible heading. */
.page-home #home-stories .home-framework__story-grid h3 {
    margin-top: 12px;
    color: var(--home-ink, #262224);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
    text-align: center;
}

/* Responsive: stack to single column under 980px, compress under 768px. */
@media screen and (max-width: 980px) {
    .home-framework__mentor-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        max-width: 640px;
        height: auto;
    }

    .home-framework__mentor-intro .mentor-intro-item--nowrap {
        white-space: normal;
    }

    .home-framework__mentor-photo {
        min-height: 280px;
        max-height: 320px;
    }

    .home-framework__mentor-info {
        min-height: 0;
        padding: 32px 30px 36px;
    }

    .home-framework__mentor-intro {
        grid-template-columns: 1fr;
        max-height: 230px;
    }

    .home-framework__mentor-name {
        font-size: 30px;
    }

    .home-framework__mentor-watermark {
        top: 10px;
        right: 18px;
        font-size: 78px;
    }

    .home-framework__mentor-nav {
        gap: 14px;
    }

    .home-framework__mentor-rail {
        gap: 18px;
    }

    .home-framework__mentor-arrow {
        width: 38px;
        height: 38px;
        font-size: 17px;
    }
}

@media screen and (max-width: 768px) {
    .home-framework__mentor-stage {
        gap: 20px;
    }

    .home-framework__mentor-stage::before {
        inset: -18px -4px 0;
        border-radius: 18px;
    }

    .home-framework__mentor-card {
        border-radius: 10px;
    }

    .home-framework__mentor-photo {
        min-height: 240px;
        max-height: 280px;
    }

    .home-framework__mentor-info {
        gap: 10px;
        padding: 24px 22px 28px;
    }

    .home-framework__mentor-label {
        font-size: 11px;
        letter-spacing: .28em;
    }

    .home-framework__mentor-name {
        font-size: 24px;
    }

    .home-framework__mentor-card .home-framework__mentor-title {
        font-size: 12px;
    }

    .home-framework__mentor-badge {
        font-size: 12px;
        padding: 6px 14px;
    }

    .home-framework__mentor-intro {
        font-size: 14px;
        line-height: 1.6;
        max-height: 210px;
    }

    .home-framework__mentor-intro .mentor-intro-item--book {
        grid-template-columns: minmax(0, 1fr) 58px;
        min-height: 58px;
        padding-right: 0;
    }

    .home-framework__mentor-intro .mentor-book-stack {
        width: 66px;
        height: 80px;
    }

    .home-framework__mentor-intro .mentor-book-thumb--back {
        width: 50px;
        height: 66px;
    }

    .home-framework__mentor-intro .mentor-book-thumb--front {
        width: 54px;
        height: 72px;
    }

    .home-framework__mentor-watermark {
        font-size: 56px;
        top: 6px;
        right: 12px;
    }

    .home-framework__mentor-nav {
        gap: 8px;
    }

    .home-framework__mentor-rail {
        gap: 12px;
        padding: 4px 0 10px;
    }

    .home-framework__mentor-thumb-frame {
        width: 54px;
        height: 54px;
        border-width: 2px;
    }

    .home-framework__mentor-thumb-name {
        font-size: 12px;
    }

    .home-framework__mentor-arrow {
        width: 34px;
        height: 34px;
        margin-top: 10px;
    }
}

@media screen and (max-width: 620px) {
    .home-framework__mentor-stage {
        gap: 22px;
    }

    .home-framework__mentor-card {
        max-width: 100%;
    }

    .home-framework__mentor-photo {
        min-height: 220px;
    }

    .home-framework__mentor-name {
        font-size: 22px;
    }

    .home-framework__mentor-intro {
        font-size: 13px;
        max-height: 188px;
    }

    .home-framework__mentor-intro .mentor-intro-item--book {
        grid-template-columns: minmax(0, 1fr) 52px;
        min-height: 54px;
        padding-right: 0;
    }

    .home-framework__mentor-intro .mentor-book-stack {
        width: 60px;
        height: 73px;
    }

    .home-framework__mentor-intro .mentor-book-thumb--back {
        width: 45px;
        height: 59px;
    }

    .home-framework__mentor-intro .mentor-book-thumb--front {
        width: 49px;
        height: 65px;
    }

    .home-framework__mentor-watermark {
        font-size: 44px;
    }
}

/* Safari-only adjustment: prevent the rail from being clipped by the
   parent overflow in older WebKit builds. */
@supports (-webkit-touch-callout: none) {
    .home-framework__mentor-rail {
        padding-bottom: 14px;
    }
}
.page-home {
    --home-surface: #f8f4ee;
    --home-paper: #fffdf9;
    --home-ink: #292326;
    --home-muted: #777078;
    --home-red: #a7222b;
    --home-red-bright: #c73a37;
    --home-line: #e8ddd3;
    background-color: var(--home-surface) !important;
    color: var(--home-ink);
}

.page-home .home-framework {
    background: transparent;
    color: var(--home-ink);
}

.page-home .home-framework__section,
.page-home .news-quicknav-section {
    position: relative;
    isolation: isolate;
    background-color: var(--home-surface) !important;
}

.page-home .news-quicknav-section {
    background-image:
        linear-gradient(rgba(167, 34, 43, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(167, 34, 43, .035) 1px, transparent 1px) !important;
    background-size: 34px 34px !important;
}

.page-home .home-framework__honors {
    background: var(--home-paper) !important;
    border-top: 1px solid rgba(167, 34, 43, .08);
    border-bottom: 1px solid rgba(167, 34, 43, .08);
}

.page-home .home-framework__heading {
    position: relative;
    margin-bottom: 30px;
}

.page-home .home-framework__heading > div::before {
    position: absolute;
    top: 3px;
    left: -18px;
    width: 4px;
    height: 43px;
    border-radius: 4px;
    background: var(--home-red-bright);
    content: '';
}

.page-home .home-framework__heading p {
    color: #9a8580;
    letter-spacing: .19em;
}

.page-home .home-framework__heading h2,
.page-home .news-main-title,
.page-home .news-main-title strong {
    color: var(--home-red) !important;
}

.page-home .home-framework__heading > a,
.page-home .news-content .news-more-link {
    color: var(--home-red) !important;
}

.page-home .home-framework__mentor-card,
.page-home .home-framework__honor-card,
.page-home .news-item {
    border-color: var(--home-line) !important;
    background: var(--home-paper);
    box-shadow: 0 14px 30px rgba(74, 47, 36, .08);
}

.page-home .home-framework__mentor-card,
.page-home .home-framework__honor-card {
    border-radius: 12px;
}

.page-home .home-framework__mentor-card figure {
    background: #eee8e0;
}

.page-home .home-framework__mentor-card figure img {
    object-position: center bottom;
}

.page-home .home-framework__mentor-card:hover,
.page-home .home-framework__honor-card.is-active {
    border-color: rgba(199, 58, 55, .46) !important;
    box-shadow: 0 20px 38px rgba(109, 38, 34, .14);
}

.page-home .home-framework__mentor-card small,
.page-home .home-framework__honor-card small {
    color: var(--home-red-bright);
}

.page-home .home-framework__company-copy p {
    color: #3d3537;
}

.page-home .home-framework__company-video video,
.page-home .home-framework__company-video img {
    border: 1px solid var(--home-line);
    border-radius: 12px;
    box-shadow: 0 18px 34px rgba(60, 42, 32, .13);
}

.page-home .home-framework__metrics {
    background: var(--brand-red-deep, #8f1822);
}

@media screen and (min-width: 981px) {
    .page-home .home-framework__mentor-rail:not(.home-framework__mentor-nav .home-framework__mentor-rail) {
        display: grid;
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        overflow: visible;
    }
}

@media screen and (max-width: 768px) {
    .page-home .home-framework__heading > div::before {
        left: -12px;
        height: 35px;
    }

    .page-home .home-framework__mentor-rail:not(.home-framework__mentor-nav .home-framework__mentor-rail) {
        margin-right: -24px;
        padding-right: 24px;
    }

    .page-home .home-framework__heading h2 {
        font-size: 26px;
    }
}

/* 2026-08 visual consolidation
   Keep the page on one continuous warm-neutral canvas. Red is reserved for
   hierarchy and actions instead of being used as a different section wall. */
.page-home {
    --home-canvas: var(--brand-cream, #fff9f5);
    --home-soft: #fff1ee;
    --home-white: var(--brand-paper, #fffdfb);
    --home-ink: var(--brand-ink, #262224);
    --home-muted: var(--brand-muted, #716a6d);
    --home-red: var(--brand-red, #b12632);
    --home-red-bright: var(--brand-red-bright, #d2474f);
    --home-line: var(--brand-line, #ebe3df);
    background: var(--home-canvas) !important;
}

.page-home .home-framework {
    background-color: var(--home-canvas) !important;
    background-image:
        radial-gradient(circle at 8% 18%, rgba(210, 71, 79, .045), transparent 28%),
        radial-gradient(circle at 92% 42%, rgba(239, 113, 95, .055), transparent 25%);
}

.page-home .news-quicknav-section,
.page-home .home-framework__mentors,
.page-home .home-framework__company,
.page-home .home-framework__honors,
.page-home .home-framework__stories {
    background: var(--home-canvas) !important;
    background-image: none !important;
}

.page-home .home-framework__section + .home-framework__section {
    border-top: 1px solid rgba(177, 38, 50, .05);
}

.page-home .home-framework__section {
    padding: 88px 0;
}

.page-home .home-framework__heading {
    align-items: flex-end;
    margin-bottom: 38px;
}

.page-home .home-framework__heading > div {
    padding-top: 15px;
}

.page-home .home-framework__heading > div::before {
    top: 0;
    left: 0;
    width: 32px;
    height: 3px;
    border-radius: 0;
    background: var(--home-red-bright);
}

.page-home .home-framework__heading p {
    margin-bottom: 7px;
    color: var(--home-red-bright);
    font-size: 11px;
    letter-spacing: .16em;
}

.page-home .home-framework__heading h2 {
    color: var(--home-ink) !important;
    font-size: 34px;
    font-weight: 760;
}

.page-home .home-framework__heading > a {
    padding-bottom: 5px;
    color: #8e343b !important;
    font-size: 13px;
    text-decoration: none;
}

/* Hero: one fixed readable message over every banner image/video. */
.page-home .home-banner-copy {
    top: 56%;
    left: max(48px, calc((100% - 1200px) / 2));
    width: min(720px, calc(100% - 96px));
    text-align: left;
    transform: translateY(-50%);
    text-shadow: 0 4px 28px rgba(0, 0, 0, .72);
}

.page-home .home-banner-copy h1 {
    font-size: clamp(52px, 5vw, 80px);
    line-height: 1.06;
}

.page-home .home-banner-copy h1 strong {
    color: #f05b62;
}

.page-home .home-banner-copy p {
    margin-top: 18px;
    color: rgba(255, 255, 255, .96);
    font-size: clamp(20px, 1.7vw, 27px);
    letter-spacing: 0;
}

.page-home .home_lunbo .swiper-slide::before {
    background: linear-gradient(90deg, rgba(10, 10, 12, .62) 0%, rgba(10, 10, 12, .25) 52%, rgba(10, 10, 12, .08) 100%);
}

/* News: remove the graph-paper wall and let content carry the section. */
.page-home .news-quicknav-section {
    padding: 82px 0 88px !important;
}

.page-home .news-tab-bar {
    margin-bottom: 34px !important;
}

.page-home .news-main-title {
    position: relative;
    padding-top: 15px;
    color: var(--home-red) !important;
    font-size: 30px !important;
}

.page-home .news-main-title::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block !important;
    width: 32px;
    height: 3px;
    background: var(--home-red-bright);
    content: '';
}

.page-home .news-main-title strong {
    color: var(--home-red) !important;
}

.page-home .news-tabs {
    gap: 20px !important;
}

.page-home .news-tab-item {
    border-radius: 6px;
    color: #8b8688 !important;
}

.page-home .news-tab-item.active {
    padding: 8px 16px !important;
    border-radius: 6px;
    background: var(--home-red) !important;
    color: #fff !important;
}

.page-home .news-item {
    border: 1px solid var(--home-line) !important;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(45, 37, 35, .055);
}

.page-home .news-item:hover {
    border-color: rgba(169, 31, 43, .32) !important;
    box-shadow: 0 14px 30px rgba(45, 37, 35, .1);
    transform: translateY(-4px);
}

.page-home .news-item__body {
    min-height: 108px;
    padding: 14px 15px 15px;
}

.page-home .news-item .news-title {
    color: var(--home-ink) !important;
    font-size: 15px !important;
}

.page-home .news-item__body p {
    color: #888386;
    font-size: 12px;
}

.page-home .news-content .news-more-link {
    margin-top: 24px;
    margin-right: 0;
}

/* Mentor: keep the rich interaction on the same white canvas. */
.page-home .home-framework__mentor-stage::before {
    inset: 0;
    border: 0;
    background: transparent;
}

.page-home .home-framework__mentor-card {
    max-width: 1040px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(45, 37, 35, .09);
}

.page-home .home-framework__mentor-photo {
    background: linear-gradient(145deg, #fff5f0 0%, #f7e8e4 100%);
}

.page-home .home-framework__mentor-info {
    padding: 44px 36px;
}

.page-home .home-framework__mentor-name {
    color: var(--home-ink);
}

.page-home .home-framework__mentor-arrow,
.page-home .home-framework__honor-arrow {
    background: #fff;
    box-shadow: 0 6px 16px rgba(45, 37, 35, .07);
}

/* Credentials and stories share one continuous band. */
.page-home .home-framework__tabs {
    border-color: #ded9d4;
}

.page-home .home-framework__tabs button {
    color: #7b7678;
}

.page-home .home-framework__honor-card {
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(45, 37, 35, .09);
}

.page-home .home-framework__honor-stage {
    padding: 12px 0 8px;
}

.page-home .home-framework__honor-card > img {
    border-radius: 8px 8px 0 0;
    background: #f0efec;
}

.page-home .home-framework__honor-card small {
    color: var(--home-red-bright);
    font-size: 10px;
    letter-spacing: .08em;
}

.page-home .home-framework__honor-card h3 {
    color: var(--home-ink);
    font-size: 16px;
    font-weight: 700;
}

.page-home .home-framework__honor-card small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-home .home-framework__story-grid article {
    padding-bottom: 5px;
}

.page-home .home-framework__story-cover {
    border-radius: 8px;
    background: #edeae6;
    box-shadow: 0 10px 24px rgba(45, 37, 35, .08);
}

.page-home .home-framework__story-cover span {
    width: 48px;
    height: 48px;
    background: rgba(169, 31, 43, .94);
}

.page-home .home-framework__story-grid h3 {
    color: var(--home-ink);
    font-size: 16px;
    font-weight: 650;
}

.page-home .home-framework__story-grid .home-framework__story-description {
    color: #766e6a;
    font-size: 13px;
    line-height: 1.65;
}

/* Company: editorial copy + a portrait poster card matching the managed cover. */
.page-home .home-framework__company-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 56px;
    align-items: center;
}

.page-home .home-framework__company-copy {
    position: relative;
    padding-left: 24px;
}

.page-home .home-framework__company-copy::before {
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 0;
    width: 2px;
    background: rgba(169, 31, 43, .34);
    content: '';
}

.page-home .home-framework__company-copy p {
    color: #3f3a3b;
    font-size: 18px;
    line-height: 2;
}

.page-home .home-framework__company-copy p + p {
    margin-top: 18px;
}

/* The current managed poster is 755 x 1049. Keep that ratio stable. */
.page-home .home-framework__company-video {
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-home .home-framework__company-cover {
    position: relative;
    display: block;
    width: 100%;
    max-width: 300px;
    aspect-ratio: 755 / 1049;
    padding: 0;
    border: 0;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    background: #171515;
    border: 1px solid rgba(177, 38, 50, .1);
    box-shadow:
        0 22px 44px -20px rgba(60, 20, 25, .38),
        0 10px 20px -10px rgba(177, 38, 50, .2);
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
    isolation: isolate;
}

.page-home .home-framework__company-cover:hover {
    transform: translateY(-4px);
    box-shadow:
        0 30px 60px -24px rgba(60, 20, 25, .48),
        0 14px 28px -10px rgba(177, 38, 50, .26);
}

.page-home .home-framework__company-cover::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(17,13,14,.08) 0%, transparent 30%, transparent 55%, rgba(17,13,14,.32) 100%);
    content: '';
    pointer-events: none;
}

.page-home .home-framework__company-cover img {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: #171515;
    object-fit: cover;
    box-shadow: none;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
}

.page-home .home-framework__company-cover:hover img {
    transform: scale(1.03);
}

.page-home .home-framework__company-cover__tag {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 5px 11px;
    background: rgba(177, 38, 50, .92);
    color: #fff;
    font-size: 11px;
    letter-spacing: 1.2px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
}

.page-home .home-framework__company-cover__badge {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: grid;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(177, 38, 50, .9);
    box-shadow: 0 10px 24px rgba(74, 17, 20, .25);
    color: #fff;
    place-items: center;
    transform: translate(-50%, -50%);
    transition: transform .35s cubic-bezier(.4,0,.2,1), background-color .25s ease;
}

.page-home .home-framework__company-cover__badge svg {
    width: 22px;
    height: 22px;
    margin-left: 2px;
}

.page-home .home-framework__company-cover:hover .home-framework__company-cover__badge {
    transform: translate(-50%, -50%) scale(1.08);
    background: rgba(210, 71, 79, .96);
}

.page-home .home-framework__company-video > img {
    display: block;
    max-width: 100%;
    border: 1px solid #e3dfda;
    border-radius: 10px;
    background: #171515;
    box-shadow: 0 16px 36px rgba(45, 37, 35, .12);
}

.page-home .home-framework__company-cover:focus-visible {
    outline: 3px solid rgba(159, 31, 36, .35);
    outline-offset: 4px;
}

@media screen and (max-width: 980px) {
    .page-home .home-framework__company-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        gap: 40px;
    }

    .page-home .home-framework__company-cover {
        max-width: 250px;
    }
}

@media screen and (max-width: 768px) {
    .page-home .home-framework__company-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .page-home .home-framework__company-cover {
        max-width: 230px;
        margin: 0 auto;
    }
}

.page-home .home-framework__metrics {
    background: #971d27;
}

@media screen and (min-width: 981px) {
    .page-home .news-quicknav-section {
        padding-bottom: 64px !important;
    }

    .page-home .home-framework__mentors {
        padding-top: 68px;
    }
}

@media screen and (max-width: 980px) {
    .page-home .home-banner-copy {
        left: 32px;
        width: calc(100% - 64px);
    }

    .page-home .news-tab-bar {
        align-items: flex-start !important;
    }

    .page-home .home-framework__company-grid {
        gap: 38px;
    }

    .page-home .home-framework__mentor-card {
        height: 720px;
        box-sizing: border-box;
        grid-template-rows: 280px minmax(0, 1fr);
    }

    .page-home .home-framework__mentor-photo {
        min-height: 0;
        max-height: none;
    }

    .page-home .home-framework__mentor-info {
        height: auto;
        min-height: 0;
        box-sizing: border-box;
        overflow: hidden;
        padding: 32px 30px 36px;
    }

    .page-home .home-framework__mentor-intro {
        flex: 0 0 230px;
        height: 230px;
        max-height: none;
        overflow: auto;
        scrollbar-width: none;
    }

    .page-home .home-framework__mentor-intro::-webkit-scrollbar {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .page-home .home-framework__section {
        padding: 58px 0;
    }

    .page-home .home-framework__company-grid {
        grid-template-columns: 1fr;
    }

    .page-home .home-banner-copy {
        top: 58%;
        left: 22px;
        width: calc(100% - 44px);
    }

    .page-home .home-banner-copy h1 {
        font-size: clamp(36px, 10vw, 48px);
    }

    .page-home .home-banner-copy p {
        margin-top: 12px;
        font-size: 16px;
    }

    .page-home .news-quicknav-section {
        padding: 56px 0 62px !important;
    }

    .page-home .news-main-title {
        white-space: normal !important;
    }

    .page-home .home-framework__heading {
        margin-bottom: 30px;
    }

    .page-home .home-framework__heading h2 {
        font-size: 27px;
    }

.page-home .home-framework__mentor-stage::before {
        inset: 0;
        background: transparent;
    }

    .page-home .home-framework__mentor-card {
        border-radius: 8px;
        height: 650px;
        box-sizing: border-box;
        grid-template-rows: 260px minmax(0, 1fr);
    }

    .page-home .home-framework__mentor-photo {
        min-height: 0;
        max-height: none;
    }

    .page-home .home-framework__mentor-info {
        height: 390px;
        min-height: 0;
        box-sizing: border-box;
        overflow: hidden;
        padding: 28px 24px 32px;
    }

    .page-home .home-framework__mentor-intro {
        flex: 0 0 188px;
        height: 188px;
        max-height: none;
        overflow: auto;
        scrollbar-width: none;
    }

    .page-home .home-framework__mentor-intro::-webkit-scrollbar {
        display: none;
    }

    .page-home .home-framework__company-grid {
        gap: 28px;
    }

    .page-home .home-framework__honor-card h3 {
        font-size: 15px;
    }

    .page-home .home-framework__company-copy {
        padding-left: 18px;
    }

    .page-home .home-framework__company-copy p {
        font-size: 16px;
        line-height: 1.85;
    }
}

/* Homepage background doodles: a sparse, quiet layer that adds personality
   without introducing another image wall or taking space from the content. */
.page-home .home-framework {
    position: relative;
    overflow: hidden;
}

.page-home .home-background-doodles {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    color: var(--home-red);
    font-family: "Avenir Next Rounded", "Arial Rounded MT Bold", "Helvetica Neue", sans-serif;
}

.page-home .home-framework__section {
    z-index: 1;
    background-color: transparent !important;
    background-image: none !important;
}

.page-home .home-framework__metrics {
    position: relative;
    z-index: 1;
}

.page-home .home-background-doodles .home-doodle {
    position: absolute;
    display: block;
    user-select: none;
}

.page-home .home-doodle--word {
    top: 7%;
    left: 4%;
    color: rgba(177, 38, 50, .075);
    font-size: clamp(38px, 5vw, 72px);
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1;
    transform: rotate(-8deg);
}

.page-home .home-doodle--phrase {
    color: rgba(177, 38, 50, .085);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .18em;
    line-height: 1.2;
    white-space: nowrap;
}

.page-home .home-doodle--phrase-one {
    top: 30%;
    right: 5%;
    transform: rotate(7deg);
}

.page-home .home-doodle--phrase-two {
    top: 61%;
    left: 3%;
    transform: rotate(-4deg);
}

.page-home .home-doodle--letters {
    right: 10%;
    bottom: 12%;
    color: rgba(177, 38, 50, .07);
    font-size: 17px;
    font-weight: 800;
    letter-spacing: .08em;
    transform: rotate(-9deg);
}

.page-home .home-doodle--spark {
    width: 19px;
    height: 19px;
    color: rgba(199, 58, 55, .11);
    font-size: 24px;
    font-weight: 500;
    line-height: 17px;
}

.page-home .home-doodle--spark-one {
    top: 18%;
    right: 26%;
    transform: rotate(15deg);
}

.page-home .home-doodle--spark-two {
    bottom: 24%;
    left: 23%;
    transform: rotate(-12deg);
}

/* Minimal line-drawn graduation cap, kept at the edge of the canvas so it
   reads as a brand accent rather than an extra content illustration. */
.page-home .home-doodle--cap {
    top: 43%;
    right: 9%;
    width: 70px;
    height: 54px;
    color: rgba(177, 38, 50, .09);
    transform: rotate(8deg);
}

.page-home .home-doodle--cap::before {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 51px;
    height: 22px;
    border: 2px solid currentColor;
    border-radius: 4px 7px 3px 7px;
    content: '';
    transform: rotate(-12deg) skewX(-15deg);
}

.page-home .home-doodle--cap::after {
    position: absolute;
    top: 24px;
    left: 39px;
    width: 2px;
    height: 23px;
    background: currentColor;
    content: '';
    transform: rotate(7deg);
    transform-origin: top center;
}

.page-home .home-doodle--cap i {
    position: absolute;
    bottom: 3px;
    left: 17px;
    width: 40px;
    height: 10px;
    border-bottom: 2px solid currentColor;
    border-radius: 50%;
    content: '';
    transform: rotate(-9deg);
}

.page-home .home-doodle--cap b {
    position: absolute;
    top: 43px;
    left: 35px;
    width: 6px;
    height: 6px;
    border: 2px solid currentColor;
    border-radius: 50%;
    content: '';
}

@media screen and (max-width: 768px) {
    .page-home .home-doodle--word {
        top: 6%;
        left: -8%;
        font-size: 38px;
    }

    .page-home .home-doodle--phrase {
        font-size: 9px;
        letter-spacing: .12em;
    }

    .page-home .home-doodle--phrase-one {
        top: 34%;
        right: -8%;
    }

    .page-home .home-doodle--phrase-two {
        top: 66%;
        left: -12%;
    }

    .page-home .home-doodle--letters {
        right: 4%;
        bottom: 13%;
        font-size: 13px;
    }

    .page-home .home-doodle--cap {
        top: 47%;
        right: -2%;
        transform: scale(.78) rotate(8deg);
        transform-origin: right center;
    }

    .page-home .home-doodle--spark-one {
        top: 23%;
        right: 20%;
    }

    .page-home .home-doodle--spark-two {
        bottom: 27%;
        left: 14%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home .home-background-doodles .home-doodle {
        transform: none;
    }
}

/* Brand honors motion polish. Panels share one grid row so a tab change does
   not make the page jump while the outgoing panel fades away. The rail cards
   enter as a group after their eager images have had a chance to settle. */
#home-honors .home-framework__honor-panels {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
}

#home-honors {
    overflow-anchor: none;
}

#home-honors .home-framework__honor-panel {
    grid-area: 1 / 1;
    min-width: 0;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity .48s cubic-bezier(.22, .61, .36, 1), transform .52s cubic-bezier(.22, .61, .36, 1);
    will-change: opacity, transform;
}

#home-honors .home-framework__honor-panel.is-honor-entering {
    opacity: 0;
    pointer-events: none;
    transform: translate3d(24px, 0, 0) scale(.985);
}

#home-honors .home-framework__honor-panel.is-honor-leaving {
    opacity: 0;
    pointer-events: none;
    transform: translate3d(-18px, 0, 0) scale(.985);
}

#home-honors .home-framework__tabs button {
    color: #7b7678;
    transition: color .28s ease, font-weight .28s ease;
}

#home-honors .home-framework__tabs button::after {
    right: 0;
    left: 0;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: opacity .28s ease, transform .36s cubic-bezier(.22, .61, .36, 1);
}

#home-honors .home-framework__tabs button.is-active {
    color: var(--home-red, var(--framework-red));
}

#home-honors .home-framework__tabs button.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

#home-honors .home-framework__honor-stage {
    will-change: contents;
}

#home-honors .home-framework__honor-card {
    will-change: left, opacity, transform, filter;
    transition-duration: .62s;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

#home-honors .home-framework__honor-stage.is-honor-preparing .home-framework__honor-card {
    opacity: 0;
    transform: translate3d(-50%, 14px, 0) scale(.92);
}

#home-honors .home-framework__honor-card > img {
    opacity: 1;
    transform: scale(1);
    transition: transform .62s cubic-bezier(.22, .61, .36, 1), opacity .24s ease;
}

#home-honors .home-framework__honor-stage.is-honor-ready .home-framework__honor-card.is-active > img {
    transform: scale(1.012);
}

#home-honors .home-framework__honor-card:hover > img,
#home-honors .home-framework__honor-card:focus-within > img {
    transform: scale(1.025);
}

@media (prefers-reduced-motion: reduce) {
    #home-honors .home-framework__honor-panel,
    #home-honors .home-framework__honor-card,
    #home-honors .home-framework__honor-card > img {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
