:root{
    --bg:#f6f3ee;
    --surface:#ffffff;
    --text:#1d2d2a;
    --sub:#5f6e6a;
    --green:#1f5c4b;
    --gold:#b78a52;
    --line:#e8e2d8;
    --shadow:0 8px 24px rgba(23, 42, 36, 0.08);
    --kv-image:url("/res/images/login_bj.png");
}
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    background:var(--bg);
    color:var(--text);
}
.page{
    max-width:750px;
    margin:0 auto;
    min-height:100vh;
    padding-bottom:54px;
    background:linear-gradient(180deg,#edf3ef 0%,#f6f3ee 30%,#f6f3ee 100%);
}
.section{
    margin:0 14px 12px;
    background:var(--surface);
    border-radius:14px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
.section-body{padding:16px 14px}
.title{
    font-size:18px;
    font-weight:700;
    letter-spacing:.5px;
    margin:0 0 10px;
    color:#173e35;
}
.desc{
    margin:0;
    color:var(--sub);
    line-height:1.72;
    font-size:14px;
}

.kv{
    margin:0 0 15px 0;
    border-radius:0;
    box-shadow:none;
    color:#fff;
    position:relative;
    overflow:hidden;
    /* 原 ::before / ::after 叠层合并到本体，避免部分 WebView 伪元素全幅背景不绘制 */
    background-color:#1a4038;
    background-image:
        radial-gradient(circle at 86% 18%,rgba(255,218,164,.24),transparent 38%),
        radial-gradient(circle at 12% 92%,rgba(191,147,95,.30),transparent 44%),
        linear-gradient(to bottom,rgba(255,255,255,.05),transparent 30%),
        linear-gradient(to top,rgba(4,11,9,.28),transparent 36%),
        linear-gradient(to bottom,rgba(9,24,20,.42),rgba(8,19,16,.70)),
        var(--kv-image) center center / cover no-repeat;
    background-repeat:no-repeat;
    background-size:auto,auto,auto,auto,auto,cover;
}
.kv-inner{
    position:relative;
    z-index:1;
    padding:24px 16px 22px;
}
.brand-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:12px;
    letter-spacing:.6px;
    color:rgba(255,255,255,.96);
    text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.brand-pill{
    border:1px solid rgba(255,255,255,.72);
    border-radius:16px;
    padding:5px 12px;
    background:rgba(42,64,58,.45);
    color:#fff8ec;
    backdrop-filter:blur(3px);
}
.brand-top span:last-child{
    padding:5px 12px;
    border-radius:16px;
    background:rgba(36,58,53,.42);
    border:1px solid rgba(255,230,196,.35);
    color:rgba(255,241,218,.95);
}
.brand-name{
    margin:26px 0 8px;
    font-size:46px;
    line-height:1.04;
    font-weight:700;
    letter-spacing:3px;
    color:#fff8ec;
    text-shadow:0 8px 24px rgba(6,16,13,.52);
}
.brand-en{
    margin:0;
    color:rgba(255,244,227,.92);
    font-size:15px;
    letter-spacing:4px;
    text-shadow:0 4px 12px rgba(9,23,19,.34);
}
.brand-slogan{
    margin:14px 0 16px;
    font-size:17px;
    line-height:1.7;
    color:#fff5e6;
    font-weight:500;
    text-shadow:0 4px 12px rgba(9,23,19,.34);
    max-width:92%;
}
.kv-hero{
    height:176px;
    border-radius:12px;
    border:1px solid rgba(255,240,216,.32);
    background:
        linear-gradient(120deg,rgba(255,243,223,.20),rgba(255,255,255,.04)),
        repeating-linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.10) 8px,rgba(255,255,255,.02) 8px,rgba(255,255,255,.02) 16px);
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,247,233,.92);
    font-size:13px;
    letter-spacing:1px;
    backdrop-filter:blur(1px);
}
.kv-note{
    margin-top:8px;
    font-size:12px;
    color:rgba(255,242,223,.85);
    text-shadow:0 2px 8px rgba(5,14,12,.4);
}

.overview-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-gap:10px;
    gap:10px;
    margin-top:10px;
}
.overview-item{
    border:1px solid var(--line);
    border-radius:10px;
    padding:12px 10px;
    background:#fffcf8;
}
.overview-item .k{
    font-size:12px;
    color:#7a867f;
}
.overview-item .v{
    margin-top:6px;
    color:#21493f;
    font-size:18px;
    font-weight:700;
}

.chip-row{
    display:flex;
    flex-wrap:wrap;
    margin:-4px;
}
.chip-row .chip{
    margin:4px;
}
.chip{
    padding:6px 10px;
    border-radius:999px;
    border:1px solid #d7c8b3;
    color:#6a4d2a;
    background:#fff9f1;
    font-size:12px;
}

.media{
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
}
.media img{width: 100%;}
.dual{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-gap:10px;
    gap:10px;
    margin-top:10px;
}
.card{
    border:1px solid var(--line);
    border-radius:10px;
    padding:10px;
    background:#fff;
}
.card h4{
    margin:0 0 6px;
    font-size:14px;
    color:#244d42;
}
.card p{
    margin:0;
    color:#667670;
    font-size:12px;
    line-height:1.6;
}

.timeline{
    position:relative;
    margin-top:8px;
    padding-left:14px;
    border-left:2px solid #d8e3dd;
}
.timeline-item{
    position:relative;
    padding:0 0 12px 8px;
}
.timeline-item::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--green);
    position:absolute;
    left:-19px;
    top:6px;
}
.timeline-item .year{
    font-size:13px;
    font-weight:700;
    color:#204c40;
}
.timeline-item .txt{
    margin-top:4px;
    font-size:13px;
    line-height:1.68;
    color:#5f6e6a;
}
