:root {
    --home-ink: #2f2a25;
    --home-muted: #746c63;
    --home-paper: #f7f2e9;
    --home-cream: #eee5d8;
    --home-line: rgba(81, 64, 47, .16);
    --home-red: #9f2f25;
    --home-green: #385346;
    --home-green-dark: #243d33;
    --home-gold: #b18b55;
}

.page-home { background: var(--home-paper); color: var(--home-ink); }
.page-home > .container { width: 100%; margin-right: 0; margin-left: 0; }
.page-home .main { padding: 0; }
.page-home .main > .container { width: 100%; }
.page-home .footer { margin-top: 0; }
.home-2026, .home-2026 * { box-sizing: border-box; }
.home-2026 {
    overflow: hidden;
    color: var(--home-ink);
    font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
    background: radial-gradient(circle at 12% 14%, rgba(177, 139, 85, .11), transparent 24rem), var(--home-paper);
}
.home-2026 a { color: inherit; text-decoration: none; }
.home-2026 a:hover { color: var(--home-red); text-decoration: none; }
.home-2026 img { display: block; width: 100%; }
.home-2026-shell { width: min(1200px, calc(100% - 48px)); margin: 0 auto; }
.home-2026-hero { padding: 28px 0 0; }

.home-2026-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.62fr) minmax(330px, .88fr);
    height: 500px;
    overflow: hidden;
    border: 1px solid var(--home-line);
    background: #fffaf2;
    box-shadow: 0 22px 70px rgba(61, 45, 28, .10);
}
.home-2026-hero__visual { min-width: 0; height: 100%; overflow: hidden; background: var(--home-green-dark); }
.home-2026-carousel { margin-bottom: 0; }
.home-2026-carousel, .home-2026-carousel .carousel-inner, .home-2026-carousel .item { height: 100%; min-height: 0; }
.home-2026-carousel .item { position: relative; overflow: hidden; }
.home-2026-carousel .item > img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform 8s ease; }
.home-2026-carousel .item.active > img { transform: scale(1.035); }
.home-2026-carousel__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(18,28,23,.82), rgba(18,28,23,.48) 52%, rgba(18,28,23,.08) 78%), linear-gradient(0deg, rgba(13,18,15,.68), transparent 58%);
}
.home-2026-carousel__caption {
    right: auto;
    bottom: 62px;
    left: 52px;
    width: min(560px, calc(100% - 104px));
    padding: 0;
    color: #fff;
    background: transparent;
    text-align: left;
    text-shadow: 0 2px 16px rgba(0,0,0,.7), 0 1px 2px rgba(0,0,0,.9);
}
.home-2026-carousel__caption h1 { max-width: 550px; margin: 12px 0 14px; font-size: clamp(30px, 2.6vw, 42px); font-weight: 700; line-height: 1.28; letter-spacing: .02em; }
.home-2026-carousel__caption p { max-width: 520px; margin: 0; color: rgba(255,255,255,.9); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 15px; line-height: 1.9; }
.home-2026-read-more { display: inline-flex; gap: 14px; align-items: center; margin-top: 18px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.65); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; }
.home-2026-eyebrow { display: block; color: var(--home-red); font-family: Georgia, serif; font-size: 12px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.home-2026-eyebrow--light { color: #e2c08a; }
.home-2026-carousel .carousel-control { top: auto; bottom: 28px; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(13,18,15,.24); font-size: 28px; line-height: 34px; opacity: 1; }
.home-2026-carousel .carousel-control.left { right: 70px; left: auto; }
.home-2026-carousel .carousel-control.right { right: 24px; }
.home-2026-carousel__count { position: absolute; z-index: 4; right: 134px; bottom: 31px; display: flex; gap: 9px; align-items: center; color: rgba(255,255,255,.75); font-family: Georgia, serif; font-size: 12px; }
.home-2026-carousel__count i { width: 38px; height: 1px; background: rgba(255,255,255,.5); }
.home-2026-carousel__count .home-2026-carousel__current { color: #fff; font-size: 17px; }
.home-2026-hero__brief { height: 100%; overflow: hidden; padding: 30px 32px 22px; border-left: 1px solid var(--home-line); background: linear-gradient(145deg, #fffdf8, #f3eadc); }

.home-2026 .home-2026-carousel .carousel-inner > .item > img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
}

.home-2026-section-head { display: flex; align-items: flex-end; gap: 28px; margin-bottom: 30px; }
.home-2026-section-head > div { flex: 1; }
.home-2026-section-head h2 { margin: 8px 0 0; color: var(--home-ink); font-size: 34px; font-weight: 700; line-height: 1.25; }
.home-2026-section-head p { margin: 0 auto 3px 0; color: var(--home-muted); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; }
.home-2026-section-head > a { padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--home-red); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 13px; }
.home-2026-section-head--compact { display: block; margin-bottom: 18px; }
.home-2026-section-head--compact h2 { font-size: 27px; }
.home-2026-section-head--compact > a { display: inline-block; margin-top: 12px; }
.home-2026-brief-lead { display: block; padding: 17px 0 18px; border-top: 3px solid var(--home-ink); }
.home-2026-brief-lead strong { display: block; font-size: 20px; line-height: 1.5; }
.home-2026-brief-lead span { display: block; margin-top: 10px; color: var(--home-muted); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 13px; line-height: 1.75; }
.home-2026-brief-list > a { display: grid; grid-template-columns: 32px 1fr; gap: 12px; padding: 11px 0; border-top: 1px solid var(--home-line); }
.home-2026-brief-list span { color: var(--home-gold); font-family: Georgia, serif; font-size: 12px; }
.home-2026-brief-list strong { font-size: 15px; font-weight: 600; line-height: 1.55; }

.home-2026-services { display: grid; grid-template-columns: repeat(6, 1fr); border-right: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); border-left: 1px solid var(--home-line); background: #fffaf2; }
.home-2026-services a { position: relative; min-width: 0; padding: 21px 16px 20px 54px; border-right: 1px solid var(--home-line); transition: background .25s ease, color .25s ease, transform .25s ease; }
.home-2026-services a:last-child { border-right: 0; }
.home-2026-services a:hover { z-index: 1; color: #fff; background: var(--home-red); transform: translateY(-3px); }
.home-2026-services a > span { position: absolute; top: 23px; left: 20px; color: var(--home-red); font-size: 24px; }
.home-2026-services a:hover > span { color: #fff; }
.home-2026-services strong { display: block; font-size: 16px; line-height: 1.2; }
.home-2026-services small { display: block; margin-top: 7px; color: var(--home-muted); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 11px; }
.home-2026-services a:hover small { color: rgba(255,255,255,.75); }

.home-2026-section { padding: 78px 0; }
.home-2026-section--news { background: #f8f4ed; }
.home-2026-news-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(480px,1fr); gap: 48px; align-items: stretch; }
.home-2026-news-feature__image { display: block; height: 300px; overflow: hidden; background: var(--home-cream); }
.home-2026-news-feature__image img { height: 100%; object-fit: cover; transition: transform .55s ease; }
.home-2026-news-feature:hover img { transform: scale(1.035); }
.home-2026-news-feature__copy { position: relative; width: 100%; margin: -44px 0 0; padding: 24px 0 4px; background: #f8f4ed; }
.home-2026-news-feature__copy > span { color: var(--home-red); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 12px; }
.home-2026-news-feature__copy > a { display: -webkit-box; margin-top: 9px; overflow: hidden; font-size: 25px; font-weight: 700; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.home-2026-news-feature__copy p { margin: 11px 0 0; color: var(--home-muted); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 13px; line-height: 1.8; }
.home-2026-news-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.home-2026-list-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 2px solid var(--home-ink); }
.home-2026-list-head h3 { margin: 0; font-size: 20px; line-height: 1.3; }
.home-2026-list-head > a { color: var(--home-muted); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 12px; }
.home-2026-editorial-list a { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; min-height: 72px; padding: 12px 0; border-bottom: 1px solid var(--home-line); }
.home-2026-editorial-list span { color: var(--home-gold); font-family: Georgia, serif; font-size: 11px; }
.home-2026-editorial-list strong { display: -webkit-box; overflow: hidden; font-size: 15px; font-weight: 600; line-height: 1.55; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.home-2026-topic-strip { display: flex; align-items: stretch; margin-top: 54px; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.home-2026-topic-strip > span { flex: 0 0 auto; padding: 18px 24px; color: #fff; background: var(--home-red); font-size: 14px; font-weight: 700; }
.home-2026-topic-strip a { flex: 1; min-width: 0; padding: 18px 22px; overflow: hidden; border-right: 1px solid var(--home-line); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }

.home-2026-section--knowledge { background: #e9e0d2; }
.home-2026-knowledge-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 54px; align-items: stretch; }
.home-2026-policy-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 48px; }
.home-2026-policy-list a { display: grid; grid-template-columns: 34px 1fr 20px; gap: 10px; align-items: center; min-height: 72px; padding: 12px 0; border-bottom: 1px solid var(--home-line); }
.home-2026-policy-list span { color: var(--home-gold); font-family: Georgia, serif; font-size: 11px; }
.home-2026-policy-list strong { display: -webkit-box; overflow: hidden; font-size: 15px; font-weight: 600; line-height: 1.55; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.home-2026-policy-list i { color: var(--home-red); font-style: normal; }
.home-2026-case-list a { display: grid; grid-template-columns: 90px 1fr; gap: 16px; align-items: center; min-height: 108px; padding: 14px 0; border-bottom: 1px solid var(--home-line); }
.home-2026-case-list img { width: 90px; height: 64px; object-fit: cover; }
.home-2026-case-list small { display: block; margin-bottom: 5px; color: var(--home-red); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10px; }
.home-2026-case-list strong { display: block; font-size: 14px; line-height: 1.5; }
.home-2026-question-panel { padding: 45px 38px 38px; color: #fff; background: var(--home-green); box-shadow: 0 25px 60px rgba(36,61,51,.22); }
.home-2026-question-panel h2 { margin: 14px 0 12px; color: #fff; font-size: 28px; line-height: 1.45; }
.home-2026-question-panel > p { margin: 0 0 24px; color: rgba(255,255,255,.7); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 13px; line-height: 1.8; }
.home-2026-question-list a { display: grid; grid-template-columns: 27px 1fr; gap: 10px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.9); font-size: 14px; line-height: 1.55; }
.home-2026-question-list a:hover { color: #f0cf9b; }
.home-2026-question-list span { color: #e2c08a; font-family: Georgia, serif; font-weight: 700; }
.home-2026-question-more { display: inline-flex; gap: 14px; margin-top: 22px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.55); color: #fff; font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 13px; }

.home-2026-section--market { color: #fff; background: var(--home-green-dark); }
.home-2026-section-head--light h2 { color: #fff; }
.home-2026-section-head--light p { color: rgba(255,255,255,.65); }
.home-2026-market-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.75fr); gap: 52px; align-items: start; }
.home-2026-section--market .home-2026-list-head { border-color: rgba(255,255,255,.5); }
.home-2026-section--market .home-2026-list-head h3 { color: #fff; }
.home-2026-section--market .home-2026-list-head a { color: rgba(255,255,255,.65); }
.home-2026-land-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-top: 24px; }
.home-2026-land-grid__image { display: block; overflow: hidden; margin-bottom: 14px; aspect-ratio: 4 / 3; background: #314c40; }
.home-2026-land-grid img { height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-2026-land-grid a:hover img { transform: scale(1.045); }
.home-2026-land-grid strong { display: block; color: #fff; font-size: 14px; line-height: 1.55; }
.home-2026-land-grid small { display: block; margin-top: 7px; color: #e0bd86; font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 12px; }
.home-2026-demand-list { margin-top: 12px; }
.home-2026-demand-list a { display: grid; grid-template-columns: 34px 1fr 18px; gap: 10px; align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.9); }
.home-2026-demand-list span { color: #d6b47e; font-family: Georgia, serif; font-size: 11px; }
.home-2026-demand-list strong { font-size: 14px; font-weight: 600; line-height: 1.55; }
.home-2026-demand-list i { color: #d6b47e; font-style: normal; }

.home-2026-section--library { background: #faf7f1; }
.home-2026-library-grid { display: grid; grid-template-columns: 1.18fr repeat(3,1fr); gap: 24px; align-items: start; }
.home-2026-library-grid article { min-width: 0; }
.home-2026-library-card__image { display: block; height: 190px; overflow: hidden; margin-bottom: 18px; background: var(--home-cream); }
.home-2026-library-card__image img { height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-2026-library-grid article:hover img { transform: scale(1.04); }
.home-2026-library-grid article > span { color: var(--home-red); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 11px; }
.home-2026-library-card__title { display: block; margin-top: 8px; font-size: 17px; font-weight: 700; line-height: 1.55; }
.home-2026-library-card--large .home-2026-library-card__title { font-size: 20px; }

[data-home-reveal] { opacity: 1; }

@media (max-width: 1100px) {
    .home-2026-hero__grid { grid-template-columns: minmax(0,1.4fr) minmax(300px,.8fr); height: 480px; }
    .home-2026-carousel__caption { left: 44px; width: calc(100% - 88px); }
    .home-2026-services { grid-template-columns: repeat(3,1fr); }
    .home-2026-services a:nth-child(3) { border-right: 0; }
    .home-2026-services a:nth-child(-n+3) { border-bottom: 1px solid var(--home-line); }
    .home-2026-news-grid, .home-2026-knowledge-layout, .home-2026-market-grid { grid-template-columns: 1fr; }
    .home-2026-question-panel { display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px 40px; }
    .home-2026-question-panel > .home-2026-eyebrow, .home-2026-question-panel > h2, .home-2026-question-panel > p, .home-2026-question-panel > .home-2026-question-more { grid-column: 1; }
    .home-2026-question-list { grid-column: 2; grid-row: 1 / span 5; }
}

@media (max-width: 767px) {
    body.page-home { padding-right: 0; padding-left: 0; }
    .page-home > .container { width: 100%; padding-right: 0; padding-left: 0; }
    .page-home .site-topbar {
        width: 100%;
        height: 42px;
        min-height: 42px;
        margin: 0;
        padding: 0 16px;
    }
    .page-home .site-topbar .container,
    .page-home .site-topbar .row {
        width: 100%;
        margin: 0;
    }
    .page-home .site-topbar-left,
    .page-home .site-topbar-right {
        width: auto;
        min-height: 42px;
        margin: 0;
        line-height: 42px;
    }
    .page-home .site-topbar-left { float: left; }
    .page-home .site-topbar-right { float: right; }
    .page-home .site-topbar-text,
    .page-home .site-topbar-right .collect { display: none; }
    .page-home .site-topbar-service { margin: 0; font-size: 12px; }
    .page-home .site-hero { width: 100%; margin: 0; }
    .page-home .site-branding { width: calc(100% - 28px); }
    .page-home .site-main-gap { width: 100%; margin: 0; }
    .home-2026-shell { width: calc(100% - 28px); }
    .home-2026-hero { padding-top: 14px; }
    .home-2026-hero__grid { display: block; height: auto; min-height: 0; }
    .home-2026-hero__visual, .home-2026-carousel, .home-2026-carousel .carousel-inner, .home-2026-carousel .item, .home-2026-carousel .item > img { min-height: 0; height: 320px; }
    .home-2026-carousel__shade { background: linear-gradient(0deg, rgba(15,23,19,.92), rgba(15,23,19,.42) 62%, rgba(15,23,19,.08)); }
    .home-2026 .home-2026-carousel .carousel-inner > .item > .home-2026-carousel__caption { position: absolute; right: auto; bottom: 58px; left: 22px; width: calc(100% - 44px); }
    .home-2026-carousel__caption h1 { display: -webkit-box; margin: 8px 0 10px; overflow: hidden; font-size: 25px; line-height: 1.32; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
    .home-2026-carousel__caption p { display: none; }
    .home-2026-read-more { margin-top: 12px; }
    .home-2026-carousel__count { right: auto; bottom: 26px; left: 24px; }
    .home-2026-carousel .carousel-control { bottom: 18px; }
    .home-2026-hero__brief { height: auto; overflow: visible; padding: 23px 22px 18px; border-top: 1px solid var(--home-line); border-left: 0; }
    .home-2026-hero__brief .home-2026-section-head { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 12px; }
    .home-2026-hero__brief .home-2026-section-head h2 { font-size: 22px; }
    .home-2026-hero__brief .home-2026-section-head > a { white-space: nowrap; }
    .home-2026-hero__brief .home-2026-brief-lead { padding: 13px 0 14px; }
    .home-2026-hero__brief .home-2026-brief-lead strong { display: -webkit-box; overflow: hidden; font-size: 17px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .home-2026-hero__brief .home-2026-brief-lead span { display: none; }
    .home-2026-hero__brief .home-2026-brief-list > a { min-height: 58px; padding: 10px 0; }
    .home-2026-hero__brief .home-2026-brief-list > a:nth-child(n+3) { display: none; }
    .home-2026-section-head--compact h2 { font-size: 24px; }
    .home-2026-brief-lead strong { font-size: 19px; }
    .home-2026-services { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
    .home-2026-services::-webkit-scrollbar { display: none; }
    .home-2026-services a { flex: 0 0 44%; padding: 22px 16px 20px 50px; border-bottom: 0 !important; scroll-snap-align: start; }
    .home-2026-services a:nth-child(3) { border-right: 1px solid var(--home-line); }
    .home-2026-services a > span { top: 23px; left: 17px; }
    .home-2026-section { padding: 54px 0; }
    .home-2026-section-head { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-bottom: 28px; }
    .home-2026-section-head h2 { font-size: 28px; }
    .home-2026-section-head p { grid-column: 1 / -1; grid-row: 2; }
    .home-2026-news-grid { gap: 38px; }
    .home-2026-news-feature__image { height: 200px; }
    .home-2026-news-feature__copy { width: 100%; margin-top: -32px; padding: 21px 0 0; }
    .home-2026-news-feature__copy > a { font-size: 22px; }
    .home-2026-news-columns, .home-2026-policy-grid { display: block; }
    .home-2026-news-columns article + article, .home-2026-policy-grid > article + article { margin-top: 40px; }
    .home-2026-editorial-list a:nth-child(n+4), .home-2026-policy-list a:nth-child(n+5), .home-2026-case-list a:nth-child(n+4) { display: none; }
    .home-2026-topic-strip { overflow-x: auto; }
    .home-2026-topic-strip > span, .home-2026-topic-strip a { flex: 0 0 auto; }
    .home-2026-topic-strip a { max-width: 230px; }
    .home-2026-question-panel { display: block; padding: 34px 26px; }
    .home-2026-question-panel h2 { font-size: 24px; }
    .home-2026-land-grid { grid-template-columns: 1fr 1fr; gap: 22px 14px; }
    .home-2026-land-grid__image { height: 112px; aspect-ratio: auto; }
    .home-2026-market-grid { gap: 46px; }
    .home-2026-library-grid { grid-template-columns: 1fr 1fr; gap: 32px 14px; }
    .home-2026-library-card--large { grid-column: 1 / -1; }
    .home-2026-library-card__image { height: 128px; }
    .home-2026-library-card--large .home-2026-library-card__image { height: 200px; }
    .home-2026-library-grid article:last-child { display: none; }
    .home-2026-library-card--large .home-2026-library-card__title { font-size: 22px; }
}

@media (max-width: 420px) {
    .home-2026-hero__visual, .home-2026-carousel, .home-2026-carousel .carousel-inner, .home-2026-carousel .item, .home-2026-carousel .item > img { min-height: 0; height: 310px; }
    .home-2026-services a { flex-basis: 53%; }
    .home-2026-case-list a { grid-template-columns: 82px 1fr; }
    .home-2026-case-list img { width: 82px; height: 60px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-2026-carousel .item > img, .home-2026 img { transition: none !important; }
}
