/* roulang page: index */
:root{
            --blue:#2168d4;
            --blue-dark:#174b9a;
            --blue-soft:#edf5ff;
            --orange:#f2a532;
            --ink:#17243d;
            --muted:#65738a;
            --line:#dce6f2;
            --bg:#f7faff;
            --white:#fff;
            --radius:18px;
            --shadow:0 14px 38px rgba(33,76,132,.10);
            --shadow-hover:0 18px 42px rgba(33,76,132,.17);
        }
        *,*:before,*:after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;background:var(--bg);color:var(--ink);
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
            font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none;transition:.22s ease}
        img{max-width:100%;display:block}
        button,input,textarea{font:inherit}
        .container{max-width:1200px}
        .site-header{
            position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);
            border-bottom:1px solid rgba(220,230,242,.9);backdrop-filter:blur(12px);
        }
        .navbar{padding:13px 0}
        .brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;color:var(--blue-dark);white-space:nowrap}
        .brand-mark{width:34px;height:34px;border-radius:11px;background:var(--blue);position:relative;box-shadow:0 7px 16px rgba(33,104,212,.24)}
        .brand-mark:after{content:"";position:absolute;left:13px;top:9px;border-left:10px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
        .navbar-nav{gap:8px}
        .nav-link{padding:10px 14px!important;border-radius:10px;color:#52627b!important;font-weight:600;font-size:14px}
        .nav-link:hover,.nav-link.active{background:var(--blue-soft);color:var(--blue)!important}
        .nav-action,.btn-primary-custom,.btn-outline-custom,.btn-warm{
            display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 19px;
            border-radius:11px;font-weight:700;border:1px solid transparent;transition:.22s ease;
        }
        .nav-action,.btn-primary-custom{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(33,104,212,.18)}
        .nav-action:hover,.btn-primary-custom:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px)}
        .btn-outline-custom{border-color:#b8cce6;color:var(--blue);background:#fff}
        .btn-outline-custom:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark);transform:translateY(-2px)}
        .btn-warm{background:var(--orange);color:#39270d}
        .btn-warm:hover{background:#e79621;color:#2e200b;transform:translateY(-2px)}
        :focus-visible{outline:3px solid rgba(242,165,50,.65);outline-offset:3px}
        .hero{padding:78px 0 72px;background:linear-gradient(135deg,#f8fbff 0%,#edf5ff 58%,#fffaf0 100%);overflow:hidden}
        .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:800;font-size:13px;letter-spacing:.08em}
        .eyebrow:before,.section-kicker:before{content:"";width:23px;height:3px;border-radius:5px;background:var(--orange)}
        .hero h1{font-size:clamp(32px,4.5vw,58px);line-height:1.18;letter-spacing:-.04em;font-weight:800;margin:18px 0 22px;max-width:700px}
        .hero-copy{font-size:18px;color:#53637a;max-width:690px;margin-bottom:28px}
        .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
        .hero-panel{position:relative;min-height:390px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#dbeaff}
        .hero-panel img{width:100%;height:390px;object-fit:cover}
        .hero-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,38,82,.72))}
        .hero-caption{position:absolute;z-index:1;bottom:24px;left:25px;right:25px;color:#fff}
        .hero-caption strong{display:block;font-size:24px;line-height:1.3;margin:8px 0}
        .status-chip,.tag{display:inline-flex;align-items:center;border-radius:30px;padding:4px 10px;font-size:12px;font-weight:700}
        .status-chip{background:#fff;color:var(--blue-dark)}
        .tag{background:var(--blue-soft);color:var(--blue)}
        section{padding:92px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}
        .section-head h2{font-size:clamp(26px,3vw,38px);line-height:1.3;margin:10px 0 0;font-weight:800;letter-spacing:-.025em}
        .section-desc{max-width:650px;color:var(--muted);margin:12px 0 0}
        .section-link{color:var(--blue);font-weight:700;white-space:nowrap}
        .section-link:hover{color:var(--blue-dark)}
        .content-section{background:#fff}
        .matrix-feature{min-height:410px;position:relative;border-radius:var(--radius);overflow:hidden;color:#fff;box-shadow:var(--shadow)}
        .matrix-feature img{width:100%;height:410px;object-fit:cover}
        .matrix-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,35,71,.82),rgba(12,35,71,.05) 65%)}
        .feature-copy{position:absolute;z-index:1;bottom:25px;left:28px;right:28px}
        .feature-copy h3{font-size:27px;margin:12px 0 8px}
        .matrix-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}
        .info-card,.topic-card,.partner-box,.faq-wrap,.signal-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(31,72,125,.06)}
        .info-card{padding:24px;min-height:195px}
        .info-card:hover,.topic-card:hover,.partner-box:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
        .icon-box{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--blue-soft);color:var(--blue);font-size:20px;font-weight:800}
        .info-card h3,.topic-card h3{font-size:19px;margin:16px 0 8px}
        .card-text{font-size:14px;color:var(--muted);margin:0}
        .card-entry{display:inline-block;margin-top:14px;color:var(--blue);font-weight:700;font-size:14px}
        .signal-section{background:#f1f7ff}
        .signal-panel{padding:31px}
        .signal-item{padding:20px 0;border-bottom:1px solid var(--line)}
        .signal-item:last-child{border-bottom:0;padding-bottom:0}
        .signal-label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:9px}
        .signal-label span:last-child{color:var(--blue);font-size:14px}
        .progress{height:8px;border-radius:20px;background:#e5edf7}
        .progress-bar{background:var(--blue);border-radius:20px}
        .signal-note{color:var(--muted);font-size:14px;margin:24px 0 0}
        .stat-board{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:16px}
        .stat-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}
        .stat-box b{font-size:30px;color:var(--blue-dark);display:block;line-height:1.2}
        .stat-box span{font-size:14px;color:var(--muted);display:block;margin-top:8px}
        .process-section{background:#fff}
        .process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
        .process-step{padding:30px 25px;position:relative;border-right:1px solid var(--line)}
        .process-step:last-child{border-right:0}
        .step-num{color:var(--orange);font-size:14px;font-weight:800}
        .process-step h3{font-size:19px;margin:20px 0 8px}
        .process-step p{color:var(--muted);font-size:14px;margin:0}
        .topic-section{background:#f8fbff}
        .topic-card{overflow:hidden;transition:.22s ease}
        .topic-card img{width:100%;height:190px;object-fit:cover}
        .topic-copy{padding:20px 21px 23px}
        .topic-copy h3{margin-top:12px}
        .topic-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}
        .topic-grid .topic-card:first-child{grid-row:span 2}
        .topic-grid .topic-card:first-child img{height:100%;min-height:430px}
        .topic-grid .topic-card:first-child .topic-copy{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,rgba(10,29,59,.9));padding-top:65px}
        .topic-card:first-child{position:relative}
        .topic-grid .topic-card:first-child .tag{background:rgba(255,255,255,.9)}
        .topic-grid .topic-card:first-child .card-text{color:#e9f1ff}
        .news-section{background:#fff}
        .news-list{border-top:1px solid var(--line)}
        .news-item{display:grid;grid-template-columns:105px 100px 1fr;gap:18px;align-items:start;padding:21px 0;border-bottom:1px solid var(--line)}
        .news-date{font-weight:700;color:var(--blue-dark);font-size:14px}
        .news-title{font-size:17px;font-weight:700;margin:0 0 4px}
        .news-summary{font-size:14px;color:var(--muted);margin:0}
        .featured-news{height:100%;border-radius:20px;padding:28px;background:var(--blue-dark);color:#fff;position:relative;overflow:hidden}
        .featured-news:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);right:-50px;top:-50px}
        .featured-news h3{font-size:24px;line-height:1.4;position:relative;z-index:1}
        .featured-news p{color:#d8e7ff;font-size:14px;position:relative;z-index:1}
        .partner-section{background:#f8fbff}
        .partner-box{padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
        .partner-labels{display:flex;flex-wrap:wrap;gap:12px}
        .partner-label{padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#455673;font-weight:700;font-size:14px}
        .partner-note{max-width:410px;color:var(--muted);font-size:14px;margin:0}
        .faq-section{background:#fff}
        .faq-wrap{padding:12px 25px}
        .accordion-item{border:0;border-bottom:1px solid var(--line)!important}
        .accordion-item:last-child{border-bottom:0!important}
        .accordion-button{font-weight:700;color:var(--ink);padding:22px 4px;background:#fff;box-shadow:none!important}
        .accordion-button:not(.collapsed){color:var(--blue);background:#fff}
        .accordion-body{color:var(--muted);padding:0 4px 22px;font-size:15px}
        .assure-section{padding:35px 0;background:#eaf3ff;border-top:1px solid #d8e8fb;border-bottom:1px solid #d8e8fb}
        .assurance{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
        .assurance-item{display:flex;gap:13px;align-items:flex-start}
        .assurance-item strong{display:block;font-size:15px}
        .assurance-item span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
        .assure-icon{width:35px;height:35px;border-radius:10px;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:800;flex:none}
        .cta-section{padding:80px 0}
        .cta-panel{border-radius:24px;background:linear-gradient(110deg,#174b9a,#2475de);padding:48px 54px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}
        .cta-panel h2{font-size:34px;line-height:1.3;margin:0 0 12px}
        .cta-panel p{color:#dceaff;max-width:650px;margin:0}
        .cta-panel .btn-warm{min-width:150px}
        .site-footer{background:#132746;color:#c6d4e8;padding:48px 0 24px}
        .footer-brand{color:#fff;font-size:19px;font-weight:800}
        .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.14)}
        .footer-text{font-size:14px;color:#9eb2ce;max-width:350px;margin:15px 0 0}
        .footer-title{color:#fff;font-weight:700;margin-bottom:13px}
        .footer-links{display:flex;flex-direction:column;gap:8px;font-size:14px}
        .footer-links a:hover{color:#fff}
        .copyright{font-size:13px;color:#91a5c0;padding-top:20px;display:flex;justify-content:space-between;gap:20px}
        @media (max-width:991px){
            .navbar-collapse{padding:15px 0}
            .nav-action{display:inline-flex;margin-top:8px}
            .hero{padding:55px 0}
            .matrix-feature{margin-bottom:18px}
            .topic-grid{grid-template-columns:1fr 1fr}
            .topic-grid .topic-card:first-child{grid-row:auto;grid-column:span 2}
            .topic-grid .topic-card:first-child img{height:260px;min-height:0}
            .assurance{grid-template-columns:1fr 1fr}
            .cta-panel{padding:38px}
        }
        @media (max-width:767px){
            section{padding:65px 0}
            .section-head{display:block;margin-bottom:26px}
            .section-link{display:inline-block;margin-top:15px}
            .hero h1{font-size:35px}
            .hero-copy{font-size:16px}
            .hero-panel,.hero-panel img{min-height:300px;height:300px}
            .matrix-side{grid-template-columns:1fr}
            .stat-board{margin-top:20px}
            .process-list{grid-template-columns:1fr}
            .process-step{border-right:0;border-bottom:1px solid var(--line)}
            .process-step:last-child{border-bottom:0}
            .topic-grid{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
            .topic-grid .topic-card,.topic-grid .topic-card:first-child{min-width:82%;scroll-snap-align:start}
            .topic-grid .topic-card:first-child img{height:230px}
            .news-item{grid-template-columns:85px 1fr;gap:10px}
            .news-item .tag{grid-column:2;grid-row:1}
            .news-item .news-content{grid-column:1 / -1}
            .partner-box{display:block}
            .partner-note{margin-top:20px}
            .assurance{grid-template-columns:1fr}
            .cta-panel{display:block;padding:32px 25px}
            .cta-panel h2{font-size:28px}
            .cta-panel .btn-warm{margin-top:25px}
            .footer-grid{grid-template-columns:1fr;gap:28px}
            .copyright{display:block}
            .copyright span{display:block;margin-top:8px}
        }
        @media (max-width:520px){
            .brand{font-size:16px}
            .brand-mark{width:30px;height:30px}
            .hero-actions a{width:100%}
            .stat-box{padding:19px}
            .stat-box b{font-size:25px}
            .faq-wrap{padding:8px 17px}
        }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
