/* roulang page: index */
:root{
            --ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;
            --graphite:#182120;--line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;
            --orange:#f29b55;--danger:#dd6b58;--radius:14px;--btn:9px;
            --shadow:0 12px 34px rgba(20,36,31,.08);--max:1180px;--space:96px;
        }
        *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none;transition:.25s}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.45);outline-offset:3px}.container{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:20px}.mainnav{background:rgba(245,247,243,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navbar{padding:15px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}.nav-link{font-size:14px;font-weight:600;color:#53605d!important;margin:0 5px;padding:9px 11px!important;border-radius:7px}.nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}.btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}.btn-acid:hover{background:#dbff83;transform:translateY(-2px)}.hero{min-height:650px;position:relative;background:var(--graphite);color:#fff;overflow:hidden}.hero .carousel-item{min-height:650px;background-size:cover;background-position:center}.hero .carousel-item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,26,.94) 8%,rgba(17,28,26,.66) 47%,rgba(17,28,26,.15));}.hero-content{position:relative;z-index:2;padding-top:125px;max-width:650px}.eyebrow,.section-kicker{color:#73827b;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}.hero .eyebrow{color:var(--acid)}h1{font-size:clamp(38px,5vw,68px);line-height:1.15;letter-spacing:-.06em;margin:18px 0 22px;font-weight:900}.hero p{font-size:17px;color:#d4dfd8;max-width:610px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero .carousel-indicators{z-index:3;justify-content:flex-start;margin-left:calc((100% - var(--max))/2 + 22px);bottom:28px}.hero .carousel-control-prev,.hero .carousel-control-next{z-index:3;width:8%;}.hero-tag{position:absolute;right:9%;bottom:74px;z-index:3;border:1px solid rgba(201,239,87,.65);padding:13px 16px;color:var(--acid);font-size:12px;background:rgba(24,33,32,.65)}section{padding:var(--space) 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.section-head h2{font-size:clamp(27px,3.2vw,43px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 0;font-weight:850}.section-head p{max-width:550px;color:var(--muted);margin:0}.overview{background:#fff}.route-map{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center}.route-copy p{color:var(--muted);font-size:16px}.route-line{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative}.route-line:before{content:"";position:absolute;top:34px;left:10%;right:10%;height:2px;background:var(--cyan)}.route-node{position:relative;z-index:1;text-align:center}.route-node b{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:var(--graphite);border:6px solid var(--paper);color:var(--acid);font-size:18px}.route-node span{display:block;font-size:13px;font-weight:800}.category-links{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:35px}.category-links a{padding:17px 12px;background:#edf2ed;border:1px solid var(--line);font-size:13px;font-weight:750;min-height:82px}.category-links a:hover{background:var(--acid);border-color:var(--acid);transform:translateY(-3px)}.matrix{background:#eef2ed}.matrix-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:1fr 1fr;gap:14px}.matrix-item{background:#fff;border:1px solid var(--line);padding:25px;min-height:150px}.matrix-item:nth-child(1){grid-row:span 2;background:var(--graphite);color:#fff}.matrix-item:nth-child(1) p{color:#c8d4cd}.matrix-item h3{font-size:20px;margin:10px 0 8px}.matrix-item p{font-size:14px;color:var(--muted);margin:0}.tag{display:inline-block;background:#e7eee6;padding:4px 9px;border-radius:4px;font-size:11px;font-weight:800;color:#52605a}.matrix-item:nth-child(1) .tag{background:var(--acid);color:var(--ink)}.stats{background:var(--acid);padding:48px 0}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat{border-left:1px solid rgba(23,32,31,.25);padding-left:22px}.stat strong{font-size:38px;line-height:1;display:block;letter-spacing:-.06em}.stat span{font-size:13px;font-weight:700;display:block;margin-top:10px}.flow{background:#fff}.flow-list{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flow-step{padding:25px 15px;border-right:1px solid var(--line);min-height:190px}.flow-step:last-child{border:0}.flow-step b{font-size:12px;color:var(--orange)}.flow-step h3{font-size:16px;margin:18px 0 8px}.flow-step p{font-size:13px;color:var(--muted);margin:0}.scenes{background:#e8ede8}.scene-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:stretch}.scene-image{min-height:390px;background:url('/assets/images/backpic/back-4.webp') center/cover;position:relative}.scene-image:after{content:"车载视觉算法工具 · 场景回放";position:absolute;bottom:20px;left:20px;background:var(--acid);color:var(--ink);padding:8px 13px;font-weight:800;font-size:13px}.scene-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scene-card{background:#fff;padding:21px;border:1px solid var(--line)}.scene-card h3{font-size:17px;margin:0 0 8px}.scene-card p{font-size:13px;color:var(--muted);margin:0}.cases{background:var(--graphite);color:#fff}.cases .section-kicker{color:var(--acid)}.cases .section-head p{color:#b8c6be}.case-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.case{padding:30px;background:#263330;border:1px solid #3c4c46;min-height:200px}.case:first-child{background:url('/assets/images/coverpic/cover-9.webp') center/cover;position:relative}.case:first-child:after{content:"";position:absolute;inset:0;background:rgba(22,34,31,.7)}.case:first-child>*{position:relative;z-index:1}.case h3{font-size:23px;margin:18px 0 8px}.case p{color:#c4d0c9;font-size:14px}.news{background:#fff}.news-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:40px}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:100px 1fr 80px;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.news-item time{font-size:12px;color:var(--orange);font-weight:800}.news-item h3{font-size:16px;margin:0}.news-item p{font-size:13px;color:var(--muted);margin:3px 0 0}.news-item em{font-style:normal;text-align:right;font-size:12px;color:#7a8581}.news-feature{background:#edf2ed;padding:28px;border-left:5px solid var(--cyan)}.news-feature h3{font-size:24px;margin:12px 0}.news-feature p{font-size:14px;color:var(--muted)}.ecosystem{background:#f0f3ee}.eco-grid{display:flex;flex-wrap:wrap;gap:10px}.eco-pill{border:1px solid #cbd6ce;padding:17px 22px;background:#fff;font-weight:750}.eco-pill:nth-child(2n){background:var(--graphite);color:#fff;border-color:var(--graphite)}.faq{background:#fff}.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}.accordion-button:not(.collapsed){color:#147e78!important}.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}.support{background:var(--acid);padding:28px 0}.support-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.support-list{display:flex;gap:25px;flex-wrap:wrap}.support-list span{font-size:13px;font-weight:800}.contact{background:var(--graphite);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact h2{font-size:42px;line-height:1.2;letter-spacing:-.05em}.contact p{color:#bfccc4}.contact-info{margin-top:35px;color:#dce7df;font-size:14px}.form-control,.form-select{background:#25332f;border:1px solid #41534c;color:#fff;border-radius:7px;padding:12px 14px}.form-control::placeholder{color:#8e9e96}.form-control:focus,.form-select:focus{background:#293934;color:#fff;border-color:var(--cyan);box-shadow:none}.form-label{font-size:13px;color:#cdd8d1;font-weight:700}.footer{background:var(--graphite);color:#aebdb4;border-top:1px solid #34433e;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}.footer .brand{color:#fff;margin-bottom:15px}.footer p{font-size:13px;line-height:1.8;margin:0;color:#aebdb4}.footer h3{font-size:14px;color:#fff;margin:0 0 15px}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0;font-size:13px}.footer li a:hover{color:var(--acid)}.footer-bottom{border-top:1px solid #34433e;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:18px;font-size:12px}.footer-bottom a{margin-left:18px}.footer-bottom a:hover{color:var(--acid)}.dropdown-menu{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:8px}.dropdown-item{font-size:13px;padding:9px 12px;border-radius:5px}.dropdown-item:hover,.dropdown-item:focus{background:var(--acid);color:var(--ink)}.text-acid{color:var(--acid)}@media(max-width:1024px){:root{--space:75px}.category-links{grid-template-columns:repeat(4,1fr)}.flow-list{grid-template-columns:repeat(4,1fr)}.flow-step:nth-child(4){border-right:0}.flow-step:nth-child(-n+4){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:first-child{grid-column:span 3}.hero-content{padding-top:105px}}@media(max-width:768px){.topbar .container{display:block;text-align:center}.topbar .container span+span{display:none}.navbar-collapse{padding-top:15px}.nav-cta{display:inline-block;margin-top:8px}.hero,.hero .carousel-item{min-height:570px}.hero-content{padding-top:85px}.hero-tag{right:22px;bottom:58px}.route-map,.scene-layout,.news-layout,.contact-grid,.case-grid{grid-template-columns:1fr;gap:28px}.matrix-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.matrix-item:nth-child(1){grid-row:auto;grid-column:span 2}.stat-row{grid-template-columns:repeat(2,1fr);gap:25px}.flow-list{grid-template-columns:repeat(2,1fr)}.flow-step:nth-child(2n){border-right:0}.flow-step:nth-child(5),.flow-step:nth-child(6){border-bottom:1px solid var(--line)}.contact-grid{gap:38px}.contact h2{font-size:34px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom a{margin:10px 15px 0 0;display:inline-block}}@media(max-width:520px){.container{padding-left:17px;padding-right:17px}section{padding:62px 0}.section-head{display:block;margin-bottom:27px}.section-head p{margin-top:15px}.hero-content{padding-top:68px}.hero h1{font-size:39px}.hero p{font-size:15px}.hero-actions a{width:100%;text-align:center}.hero-tag{display:none}.category-links{grid-template-columns:repeat(2,1fr)}.category-links a{min-height:70px}.route-line{grid-template-columns:repeat(2,1fr);gap:22px}.route-line:before{display:none}.matrix-grid{display:block}.matrix-item{margin-bottom:12px;min-height:0}.matrix-item:nth-child(1){padding:24px}.stat-row{grid-template-columns:1fr 1fr}.stat strong{font-size:30px}.flow-list{display:block}.flow-step{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:0;padding:20px 4px}.flow-step:last-child{border-bottom:0!important}.scene-list{grid-template-columns:1fr}.scene-image{min-height:260px}.case{min-height:0;padding:23px}.news-item{grid-template-columns:70px 1fr;gap:10px}.news-item em{display:none}.news-item h3{font-size:14px}.news-item p{font-size:12px}.support-row{display:block}.support-list{margin-top:15px;gap:12px 20px}.contact h2{font-size:31px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom a{margin-left:0;margin-right:14px}.brand{font-size:16px}.brand-mark{width:25px;height:25px;font-size:13px}}

/* roulang page: category1 */
:root{
            --ink:#17201f;
            --muted:#64706d;
            --paper:#f5f7f3;
            --white:#fff;
            --graphite:#182120;
            --line:#dce3de;
            --acid:#c9ef57;
            --cyan:#42d5c7;
            --orange:#f29b55;
            --danger:#dd6b58;
            --success:#77bd75;
            --radius:14px;
            --btn:9px;
            --shadow:0 12px 34px rgba(20,36,31,.08);
            --max:1180px;
            --space:76px;
        }
        *,*::before,*::after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75;overflow-x:hidden}
        a{color:inherit;text-decoration:none;transition:.25s ease}
        a:hover{color:inherit}
        img{max-width:100%;display:block}
        button,input,select,textarea{font:inherit}
        button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.45);outline-offset:3px}
        .container{max-width:var(--max);margin:0 auto;padding-left:22px;padding-right:22px}
        .topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}
        .topbar .container{display:flex;justify-content:space-between;gap:20px}
        .mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
        .navbar{padding:15px 0}
        .brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}
        .brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px;flex:none}
        .nav-link{font-size:14px;font-weight:600;color:#53605d!important;margin:0 4px;padding:9px 11px!important;border-radius:7px}
        .nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}
        .nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}
        .nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}
        .btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}
        .btn-acid:hover{background:#dbff83;transform:translateY(-2px)}
        .navbar-toggler{border:1px solid var(--line);padding:8px 10px}
        .navbar-toggler:focus{box-shadow:0 0 0 3px rgba(66,213,199,.25)}
        .navbar-toggler-icon{background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));background-size:100% 2px,100% 2px,100% 2px;background-position:0 20%,0 50%,0 80%;background-repeat:no-repeat}
        .dropdown-menu{border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:var(--shadow);background:var(--white)}
        .dropdown-item{font-size:13px;padding:9px 12px;border-radius:6px}
        .dropdown-item:hover,.dropdown-item:focus{background:#e9eee8;color:var(--ink)}
        .page-banner{position:relative;min-height:430px;background:var(--graphite);color:#fff;overflow:hidden;display:flex;align-items:center}
        .page-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,26,.96) 13%,rgba(17,28,26,.72) 54%,rgba(17,28,26,.25)),url("/assets/images/backpic/back-2.webp") center/cover}
        .page-banner:after{content:"";position:absolute;right:7%;bottom:-70px;width:320px;height:220px;border:1px solid rgba(201,239,87,.4);transform:skewX(-25deg) rotate(-8deg)}
        .banner-content{position:relative;z-index:2;max-width:720px;padding:76px 0}
        .eyebrow,.section-kicker{color:#71817a;letter-spacing:.13em;font-size:12px;font-weight:800}
        .page-banner .eyebrow{color:var(--acid)}
        h1,h2,h3{letter-spacing:-.045em}
        h1{font-size:clamp(36px,5vw,64px);line-height:1.12;margin:14px 0 20px;font-weight:900}
        h2{font-size:clamp(27px,3.2vw,43px);line-height:1.2;margin:8px 0 0;font-weight:850}
        h3{font-weight:800}
        .banner-content p{font-size:17px;color:#d4dfd8;max-width:650px;margin:0}
        .banner-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
        .badge-line,.tag{display:inline-block;padding:5px 10px;border-radius:4px;background:#e7eee6;color:#52605a;font-size:11px;font-weight:800}
        .page-banner .badge-line{background:rgba(201,239,87,.13);border:1px solid rgba(201,239,87,.5);color:var(--acid)}
        section{padding:var(--space) 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
        .section-head p{max-width:560px;color:var(--muted);margin:0}
        .filter-bar{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:30px}
        .filter-bar span{padding:9px 15px;border:1px solid var(--line);background:#fff;border-radius:6px;font-size:13px;font-weight:700}
        .filter-bar span.active{background:var(--acid);border-color:var(--acid)}
        .tool-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
        .tool-feature{background:var(--graphite);color:#fff;padding:34px;min-height:340px;position:relative;overflow:hidden}
        .tool-feature:after{content:"感知 / FUSION";position:absolute;right:25px;bottom:20px;color:rgba(201,239,87,.5);font-size:12px;letter-spacing:.16em}
        .tool-feature h3{font-size:30px;margin:18px 0 12px}
        .tool-feature p{color:#c8d4cd;max-width:500px}
        .tool-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
        .tool-card{background:#fff;border:1px solid var(--line);padding:22px;transition:.25s}
        .tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--cyan)}
        .tool-card h3{font-size:18px;margin:12px 0 8px}
        .tool-card p{font-size:13px;color:var(--muted);margin:0}
        .tool-index{font-size:12px;color:var(--orange);font-weight:900}
        .scene-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:14px}
        .scene-panel{min-height:240px;padding:26px;background:#fff;border:1px solid var(--line)}
        .scene-panel:nth-child(2){background:#e9f0e8;transform:translateY(24px)}
        .scene-panel:nth-child(3){background:#f0e7d9}
        .scene-panel h3{font-size:21px;margin:15px 0 9px}
        .scene-panel p{font-size:14px;color:var(--muted);margin:0}
        .data-strip{background:#e8eee8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
        .metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
        .metric{padding:25px 20px;border-right:1px solid #cfdad2}
        .metric:last-child{border-right:0}
        .metric strong{display:block;font-size:30px;line-height:1.2;color:#147e78}
        .metric span{display:block;font-size:13px;color:var(--muted);margin-top:6px}
        .spec-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}
        .spec-image{position:relative}
        .spec-image img{width:100%;height:330px;object-fit:cover}
        .image-caption{position:absolute;bottom:16px;left:16px;background:var(--graphite);color:var(--acid);padding:8px 12px;font-size:12px}
        .spec-table{border-top:1px solid var(--line)}
        .spec-row{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}
        .spec-row strong{font-weight:800}
        .spec-row span{color:var(--muted)}
        .flow{background:#fff}
        .flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
        .flow-step{padding:24px 18px;border-right:1px solid var(--line);min-height:190px}
        .flow-step:last-child{border-right:0}
        .flow-step b{font-size:30px;color:var(--acid);-webkit-text-stroke:1px var(--ink)}
        .flow-step h3{font-size:17px;margin:12px 0 7px}
        .flow-step p{font-size:13px;color:var(--muted);margin:0}
        .faq{background:#fff}
        .accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
        .accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}
        .accordion-button:not(.collapsed){color:#147e78!important}
        .accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}
        .cta-band{background:var(--graphite);color:#fff;padding:52px 0}
        .cta-layout{display:flex;justify-content:space-between;align-items:center;gap:30px}
        .cta-band h2{font-size:32px}
        .cta-band p{color:#c8d4cd;margin:10px 0 0}
        .footer{background:#111a19;color:#c9d4ce;padding:58px 0 24px}
        .footer .brand{color:#fff;margin-bottom:16px}
        .footer p{font-size:13px;color:#99a9a0;max-width:250px}
        .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:30px}
        .footer h3{font-size:14px;color:var(--acid);margin:4px 0 15px}
        .footer ul{list-style:none;padding:0;margin:0}
        .footer li{font-size:13px;color:#aab8b1;margin:8px 0}
        .footer li a:hover,.footer-bottom a:hover{color:var(--acid)}
        .footer-bottom{border-top:1px solid #30403a;margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#82928a}
        .footer-bottom a{margin-left:18px}
        @media(max-width:992px){
            .navbar-nav{padding-top:16px}
            .tool-layout,.spec-layout{grid-template-columns:1fr}
            .scene-grid{grid-template-columns:1fr 1fr}
            .scene-panel:nth-child(2){transform:none}
            .flow-grid{grid-template-columns:repeat(3,1fr)}
            .flow-step:nth-child(3){border-right:0}
            .flow-step:nth-child(-n+3){border-bottom:1px solid var(--line)}
            .footer-grid{grid-template-columns:1fr 1fr}
        }
        @media(max-width:768px){
            :root{--space:58px}
            .topbar .container{display:block;text-align:center}
            .topbar .container span:last-child{display:none}
            .page-banner{min-height:420px}
            .banner-content{padding:68px 0}
            .section-head,.cta-layout{display:block}
            .section-head p{margin-top:15px}
            .metric-grid{grid-template-columns:1fr 1fr}
            .metric:nth-child(2){border-right:0}
            .metric:nth-child(-n+2){border-bottom:1px solid #cfdad2}
            .scene-grid{grid-template-columns:1fr}
            .tool-list{grid-template-columns:1fr}
            .flow-grid{grid-template-columns:1fr 1fr}
            .flow-step:nth-child(3){border-right:1px solid var(--line)}
            .flow-step:nth-child(2n){border-right:0}
            .flow-step:nth-child(n){border-bottom:1px solid var(--line)}
            .flow-step:last-child{border-bottom:0}
            .cta-band h2{font-size:27px;margin-bottom:20px}
            .footer-bottom{display:block}
            .footer-bottom span:last-child{display:block;margin-top:12px}
            .footer-bottom a:first-child{margin-left:0}
        }
        @media(max-width:520px){
            .container{padding-left:17px;padding-right:17px}
            h1{font-size:38px}
            .metric strong{font-size:25px}
            .metric{padding:20px 12px}
            .spec-row{grid-template-columns:1fr;gap:3px}
            .flow-grid{grid-template-columns:1fr}
            .flow-step,.flow-step:nth-child(3){border-right:0}
            .footer-grid{grid-template-columns:1fr}
            .footer-bottom a{display:inline-block;margin:5px 14px 0 0}
        }

/* roulang page: category2 */
:root{--ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;--graphite:#182120;--line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;--orange:#f29b55;--danger:#dd6b58;--radius:14px;--btn:9px;--shadow:0 12px 34px rgba(20,36,31,.08);--max:1180px;--space:82px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none;transition:.25s}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.5);outline-offset:3px}.container{max-width:var(--max);margin:auto;padding:0 22px}.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:20px}.mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navbar{padding:15px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}.nav-link{font-size:14px;font-weight:600;color:#53605d!important;margin:0 4px;padding:9px 11px!important;border-radius:7px}.nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}.btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}.btn-acid:hover{background:#dbff83;transform:translateY(-2px)}.dropdown-menu{border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:var(--shadow);background:#fff}.dropdown-item{font-size:14px;border-radius:6px;padding:9px 12px}.dropdown-item:hover,.dropdown-item:focus{background:#edf2ed;color:var(--ink)}.page-hero{position:relative;min-height:430px;background:var(--graphite) url('/assets/images/backpic/back-2.webp') center/cover;color:#fff;display:flex;align-items:center;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,26,.96),rgba(17,28,26,.68) 58%,rgba(17,28,26,.2))}.page-hero .container{position:relative;z-index:1}.eyebrow,.section-kicker{color:#73827b;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}.page-hero .eyebrow{color:var(--acid)}h1{font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:-.055em;margin:13px 0 18px;font-weight:900}.page-hero p{color:#d4dfd8;font-size:17px;max-width:680px;margin:0}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.tag{display:inline-block;background:#e7eee6;padding:4px 9px;border-radius:4px;font-size:11px;font-weight:800;color:#52605a}.page-hero .tag{background:rgba(201,239,87,.14);border:1px solid rgba(201,239,87,.55);color:var(--acid)}section{padding:var(--space) 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-head h2{font-size:clamp(27px,3.2vw,43px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 0;font-weight:850}.section-head p{max-width:550px;color:var(--muted);margin:0}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.intro-grid img{width:100%;height:330px;object-fit:cover}.intro-copy p{color:var(--muted)}.signal-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.signal{padding:24px 20px;border-right:1px solid var(--line)}.signal:last-child{border:0}.signal strong{display:block;font-size:25px;margin-bottom:5px}.signal span{font-size:13px;color:var(--muted)}.tool-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.tool-list{background:#fff;border:1px solid var(--line)}.tool-item{display:grid;grid-template-columns:58px 1fr auto;gap:18px;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}.tool-item:last-child{border:0}.tool-number{font-size:25px;font-weight:900;color:#a7b5ad}.tool-item h3{font-size:19px;margin:0 0 5px}.tool-item p{font-size:13px;color:var(--muted);margin:0}.status{font-size:11px;font-weight:800;color:#147e78;background:#def5ed;padding:5px 8px;border-radius:4px;white-space:nowrap}.side-panel{background:var(--graphite);color:#fff;padding:29px}.side-panel h3{font-size:23px;margin:12px 0}.side-panel p{color:#c8d4cd;font-size:14px}.side-panel ul{padding:0;margin:22px 0 0;list-style:none}.side-panel li{padding:11px 0;border-top:1px solid #3b4b45;font-size:13px}.scene-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:14px}.scene-card{background:#fff;border:1px solid var(--line);min-height:210px;padding:24px}.scene-card:first-child{grid-row:span 2;background:#eaf1e9}.scene-card img{height:125px;width:100%;object-fit:cover;margin:-24px -24px 18px;width:calc(100% + 48px)}.scene-card h3{font-size:18px;margin:0 0 8px}.scene-card p{font-size:13px;color:var(--muted);margin:0}.spec-section{background:#edf2ed}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.spec-list{border-top:1px solid #cbd6ce}.spec-row{display:grid;grid-template-columns:145px 1fr;padding:15px 0;border-bottom:1px solid #cbd6ce;font-size:14px}.spec-row b{font-weight:800}.spec-row span{color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.step{padding:25px 20px 10px;border-right:1px solid var(--line);position:relative}.step:last-child{border:0}.step i{font-style:normal;color:var(--orange);font-size:12px;font-weight:900}.step h3{font-size:18px;margin:9px 0 7px}.step p{font-size:13px;color:var(--muted);margin:0}.faq{background:#fff}.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}.accordion-button:not(.collapsed){color:#147e78!important}.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}.cta{background:var(--graphite);color:#fff}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.cta p{color:#c8d4cd}.form-control,.form-select{background:#25332f;border:1px solid #41534c;color:#fff;border-radius:7px;padding:12px 14px}.form-control::placeholder{color:#8e9e96}.form-control:focus,.form-select:focus{background:#293934;color:#fff;border-color:var(--cyan);box-shadow:none}.footer{background:#111a19;color:#dce8df;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px}.footer .brand{color:#fff}.footer p{color:#9eaca5;font-size:13px;margin-top:20px}.footer h3{font-size:14px;color:var(--acid);margin:0 0 14px}.footer ul{list-style:none;padding:0;margin:0}.footer li{font-size:13px;color:#9eaca5;margin:8px 0}.footer li a:hover,.footer-bottom a:hover{color:var(--acid)}.footer-bottom{border-top:1px solid #34423d;margin-top:38px;padding-top:18px;color:#84938b;font-size:12px;display:flex;justify-content:space-between;gap:15px}.footer-bottom a{margin-left:18px}@media(max-width:900px){.intro-grid,.tool-layout,.cta-grid,.spec-grid{grid-template-columns:1fr}.scene-grid{grid-template-columns:1fr 1fr}.scene-card:first-child{grid-row:auto}.footer-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr}.signal-strip{grid-template-columns:1fr 1fr}.signal:nth-child(2){border-right:0}}@media(max-width:576px){:root{--space:60px}.topbar .container{display:block}.topbar .container span:last-child{display:none}.brand{font-size:16px}.navbar{padding:11px 0}.navbar-toggler{border-color:#aebbb3}.navbar-toggler-icon{filter:brightness(.35)}.nav-link{margin:3px 0}.page-hero{min-height:500px}.page-hero p{font-size:15px}.section-head{display:block}.section-head p{margin-top:16px}.signal-strip,.scene-grid,.timeline,.footer-grid{grid-template-columns:1fr}.signal{border-right:0;border-bottom:1px solid var(--line)}.tool-item{grid-template-columns:38px 1fr;gap:12px;padding:20px 16px}.tool-item .status{grid-column:2;justify-self:start}.side-panel{padding:24px}.spec-row{grid-template-columns:115px 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.footer-bottom a{margin:0 16px 0 0}}

/* roulang page: category3 */
:root{
 --ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;
 --graphite:#182120;--line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;
 --orange:#f29b55;--danger:#dd6b58;--success:#79bd68;--radius:14px;--btn:9px;
 --shadow:0 12px 34px rgba(20,36,31,.08);--max:1180px;--space:84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.25s ease}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.5);outline-offset:3px}
.container{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}
.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.navbar{padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}
.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}
.nav-link{font-size:14px;font-weight:600;color:#53605d!important;margin:0 4px;padding:9px 11px!important;border-radius:7px}
.nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}
.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}
.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}
.btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}
.btn-acid:hover{background:#dcff86;transform:translateY(-2px)}
.dropdown-menu{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--white);box-shadow:var(--shadow)}
.dropdown-item{padding:9px 12px;border-radius:6px;font-size:13px;color:var(--ink)}
.dropdown-item:hover,.dropdown-item:focus{background:#edf2ed;color:var(--ink)}
.navbar-toggler{border:1px solid var(--line);padding:8px 10px}
.navbar-toggler:focus{box-shadow:0 0 0 3px rgba(66,213,199,.25)}
.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg)}
.page-banner{position:relative;min-height:430px;background:var(--graphite) url('/assets/images/backpic/back-4.webp') center/cover;color:#fff;overflow:hidden}
.page-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,26,.96),rgba(17,28,26,.66) 55%,rgba(17,28,26,.25))}
.banner-content{position:relative;z-index:1;padding:105px 0 78px;max-width:760px}
.eyebrow,.section-kicker{color:#73827b;letter-spacing:.13em;font-size:12px;font-weight:800}
.page-banner .eyebrow{color:var(--acid)}
h1,h2,h3{font-weight:850;letter-spacing:-.045em}
h1{font-size:clamp(36px,5vw,68px);line-height:1.12;margin:13px 0 20px}
.banner-content p{font-size:17px;color:#d5e0d8;max-width:710px;margin:0}
.banner-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.status-tag,.tag{display:inline-block;padding:5px 10px;border-radius:4px;font-size:11px;font-weight:800;background:#e7eee6;color:#52605a}
.status-tag{background:rgba(201,239,87,.14);border:1px solid rgba(201,239,87,.58);color:var(--acid)}
section{padding:var(--space) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
.section-head h2{font-size:clamp(28px,3.5vw,44px);line-height:1.2;margin:8px 0 0}
.section-head p{max-width:570px;color:var(--muted);margin:0}
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:#e9efe9;border:1px solid var(--line);margin-bottom:28px}
.filter-bar span{padding:9px 15px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:13px;font-weight:700}
.filter-bar span.active{background:var(--ink);border-color:var(--ink);color:var(--acid)}
.tool-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.tool-panel{background:#fff;border:1px solid var(--line);padding:30px;min-height:260px}
.tool-panel.dark{background:var(--graphite);color:#fff}
.tool-panel.dark p,.tool-panel.dark li{color:#c5d2ca}
.tool-panel h3{font-size:25px;margin:13px 0 10px}
.tool-panel p{color:var(--muted);font-size:14px}
.tool-list{display:grid;gap:12px;margin-top:22px}
.tool-row{display:grid;grid-template-columns:42px 1fr auto;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:14px}
.tool-row:first-child{border-top:0;padding-top:0}
.tool-index{width:34px;height:34px;display:grid;place-items:center;background:#edf2ed;font-weight:850;color:#147e78}
.tool-row strong{display:block;font-size:15px}
.tool-row small{color:var(--muted);font-size:12px}
.tool-state{font-size:11px;color:#147e78;font-weight:800;white-space:nowrap}
.image-panel{position:relative;min-height:300px;overflow:hidden;background:var(--graphite)}
.image-panel img{width:100%;height:100%;object-fit:cover;opacity:.86}
.image-panel .image-caption{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;background:rgba(24,33,32,.82);padding:15px 17px;border-left:4px solid var(--acid)}
.scene-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.scene-card{background:#fff;border:1px solid var(--line);padding:25px}
.scene-card.featured{background:#edf2ed;min-height:265px}
.scene-card h3{font-size:21px;margin:12px 0 8px}
.scene-card p{font-size:14px;color:var(--muted);margin:0}
.scene-card ul{padding-left:18px;color:var(--muted);font-size:13px;margin:16px 0 0}
.scene-stack{display:grid;gap:16px}
.spec-section{background:#eef3ee}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.spec-card{background:#fff;border:1px solid var(--line);padding:21px;min-height:135px}
.spec-card strong{display:block;font-size:25px;letter-spacing:-.04em;margin:7px 0}
.spec-card span{font-size:13px;color:var(--muted)}
.flow-track{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow-step{padding:23px 16px;border-right:1px solid var(--line);min-height:178px}
.flow-step:last-child{border-right:0}
.flow-step b{color:#147e78;font-size:12px;letter-spacing:.08em}
.flow-step h3{font-size:17px;margin:12px 0 7px}
.flow-step p{font-size:12px;color:var(--muted);margin:0}
.faq{background:#fff}
.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}
.accordion-button:not(.collapsed){color:#147e78!important}
.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}
.cta-section{background:var(--graphite);color:#fff}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.cta-section p{color:#c8d4cd}
.cta-section h2{font-size:clamp(28px,4vw,46px);line-height:1.2}
.contact-form{display:grid;gap:12px}
.form-control,.form-select{background:#25332f;border:1px solid #41534c;color:#fff;border-radius:7px;padding:12px 14px}
.form-control::placeholder{color:#8e9e96}
.form-control:focus,.form-select:focus{background:#293934;color:#fff;border-color:var(--cyan);box-shadow:none}
.form-note{font-size:12px;color:#8e9e96}
.footer{background:#101817;color:#dce8df;padding:58px 0 20px}
.footer .brand{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr 1fr;gap:34px}
.footer p{color:#9caaa3;font-size:13px;max-width:260px;margin-top:18px}
.footer h3{font-size:14px;color:var(--acid);letter-spacing:0;margin:0 0 13px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;color:#9caaa3;font-size:13px}
.footer li a:hover{color:var(--acid)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2c3a35;margin-top:42px;padding-top:18px;color:#899790;font-size:12px}
.footer-bottom span:last-child{display:flex;gap:18px}
.footer-bottom a:hover{color:var(--acid)}
@media(max-width:992px){
 .navbar-collapse{padding-top:15px}
 .tool-layout,.scene-grid,.cta-grid{grid-template-columns:1fr}
 .spec-grid{grid-template-columns:repeat(2,1fr)}
 .flow-track{grid-template-columns:repeat(3,1fr)}
 .flow-step:nth-child(3){border-right:0}
 .flow-step:nth-child(n+4){border-top:1px solid var(--line)}
 .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 :root{--space:62px}
 .topbar .container{display:block;font-size:12px}
 .topbar .container span:last-child{display:none}
 .page-banner{min-height:480px}
 .banner-content{padding:86px 0 65px}
 h1{font-size:39px}
 .section-head{display:block}
 .section-head p{margin-top:15px}
 .spec-grid,.flow-track{grid-template-columns:1fr}
 .flow-step{border-right:0;border-bottom:1px solid var(--line);min-height:auto}
 .flow-step:last-child{border-bottom:0}
 .tool-row{grid-template-columns:36px 1fr}
 .tool-state{grid-column:2}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{display:block}
 .footer-bottom span:last-child{margin-top:12px;flex-wrap:wrap}
 .container{padding-left:18px;padding-right:18px}
}

/* roulang page: category4 */
:root{
 --ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;
 --graphite:#182120;--line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;
 --orange:#f29b55;--danger:#dd6b58;--success:#72c48c;
 --radius:14px;--btn:9px;--shadow:0 12px 34px rgba(20,36,31,.08);
 --max:1180px;--space:86px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.25s}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.5);outline-offset:3px}
.container{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}
.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.navbar{padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px;white-space:nowrap}
.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}
.nav-link{font-size:14px;font-weight:650;color:#53605d!important;margin:0 4px;padding:9px 11px!important;border-radius:7px}
.nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}
.dropdown-menu{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;box-shadow:var(--shadow)}
.dropdown-item{font-size:13px;padding:9px 12px;border-radius:6px}
.dropdown-item:hover{background:#edf2ed;color:var(--ink)}
.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}
.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}
.btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}
.btn-acid:hover{background:#dbff83;transform:translateY(-2px)}
.page-hero{position:relative;overflow:hidden;background:var(--graphite);color:#fff;padding:100px 0 88px;background-image:linear-gradient(90deg,rgba(17,28,26,.96) 12%,rgba(17,28,26,.72) 58%,rgba(17,28,26,.28)),url('/assets/images/backpic/back-4.webp');background-size:cover;background-position:center}
.page-hero:before{content:"";position:absolute;inset:0;opacity:.17;background-image:linear-gradient(rgba(201,239,87,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(201,239,87,.3) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.page-hero .container{position:relative;z-index:1}
.eyebrow,.section-kicker{color:#73827b;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}
.page-hero .eyebrow{color:var(--acid)}
.page-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.15;letter-spacing:-.055em;margin:16px 0 20px;max-width:780px;font-weight:850}
.page-hero p{color:#d4dfd8;font-size:17px;max-width:700px;margin:0}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.meta-chip,.tag{display:inline-block;padding:5px 10px;border-radius:4px;font-size:11px;font-weight:800}
.meta-chip{border:1px solid rgba(201,239,87,.55);color:var(--acid)}
.tag{background:#e7eee6;color:#52605a}
section{padding:var(--space) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
.section-head h2{font-size:clamp(27px,3.2vw,42px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 0;font-weight:850}
.section-head p{max-width:570px;color:var(--muted);margin:0}
.filterbar{display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}
.filterbar button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:6px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer}
.filterbar button:hover,.filterbar button.active{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.tool-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.tool-list{display:grid;gap:12px}
.tool-item{background:#fff;border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:55px 1fr auto;gap:18px;align-items:start;transition:.25s}
.tool-item:hover{transform:translateX(4px);box-shadow:var(--shadow);border-color:#b8cbc0}
.tool-no{font-size:25px;font-weight:850;color:var(--cyan);line-height:1}
.tool-item h3{font-size:20px;margin:0 0 7px}
.tool-item p{font-size:14px;color:var(--muted);margin:0}
.status{font-size:11px;font-weight:800;color:#337a55;background:#e6f4e9;padding:5px 8px;border-radius:4px;white-space:nowrap}
.visual-card{background:var(--graphite);color:#fff;min-height:100%;padding:28px;position:relative;overflow:hidden}
.visual-card:after{content:"VISION";position:absolute;right:-18px;bottom:18px;font-size:62px;font-weight:900;color:rgba(201,239,87,.08);letter-spacing:-.08em;transform:rotate(-9deg)}
.visual-card img{width:100%;height:245px;object-fit:cover;opacity:.75;margin-bottom:22px}
.visual-card h3{font-size:25px;line-height:1.3;margin:0 0 12px}
.visual-card p{color:#c8d4cd;font-size:14px;margin:0}
.signal-list{margin:25px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.15)}
.signal-list li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px;color:#d7e2db}
.signal-list b{color:var(--acid);font-weight:800}
.feature-band{background:#edf2ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.feature-cell{padding:26px 28px;border-right:1px solid var(--line)}
.feature-cell:last-child{border-right:0}
.feature-cell strong{display:block;font-size:30px;line-height:1.1;color:var(--ink);margin-bottom:6px}
.feature-cell span{font-size:13px;color:var(--muted)}
.scene-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:stretch}
.scene-intro{background:var(--acid);padding:32px}
.scene-intro h3{font-size:28px;line-height:1.3;margin:13px 0}
.scene-intro p{font-size:14px;margin:0;color:#354139}
.scene-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.scene-card{background:#fff;border:1px solid var(--line);padding:22px;min-height:155px}
.scene-card:nth-child(2){background:#e9f4f0}
.scene-card:nth-child(3){background:var(--graphite);color:#fff}
.scene-card:nth-child(3) p{color:#c8d4cd}
.scene-card h3{font-size:17px;line-height:1.4;margin:12px 0 7px}
.scene-card p{font-size:13px;color:var(--muted);margin:0}
.spec-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.spec-panel{background:#fff;border:1px solid var(--line);padding:27px}
.spec-panel h3{font-size:20px;margin:0 0 20px}
.spec-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.spec-row:last-child{border-bottom:0}
.spec-row span{color:var(--muted)}
.spec-row b{text-align:right;font-weight:750}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.timeline-step{padding:23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:185px;background:#fff}
.timeline-step:nth-child(2n){background:#edf2ed}
.step-number{color:var(--orange);font-size:13px;font-weight:900;letter-spacing:.08em}
.timeline-step h3{font-size:18px;margin:11px 0 7px}
.timeline-step p{font-size:13px;color:var(--muted);margin:0}
.image-row{display:grid;grid-template-columns:1fr 1.1fr;gap:18px;align-items:center}
.image-row img{width:100%;height:340px;object-fit:cover}
.image-copy{padding:12px 24px}
.image-copy h2{font-size:34px;line-height:1.25;letter-spacing:-.04em;margin:13px 0}
.image-copy p{color:var(--muted);font-size:15px}
.check-list{list-style:none;margin:22px 0 0;padding:0}
.check-list li{position:relative;padding:10px 0 10px 25px;border-bottom:1px solid var(--line);font-size:14px}
.check-list li:before{content:"";position:absolute;left:0;top:18px;width:9px;height:9px;background:var(--cyan);border-radius:2px}
.faq{background:#fff}
.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}
.accordion-button:not(.collapsed){color:#147e78!important}
.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}
.cta-section{background:var(--graphite);color:#fff}
.cta-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}
.cta-section h2{font-size:clamp(30px,4vw,48px);line-height:1.2;letter-spacing:-.05em;margin:12px 0 18px}
.cta-section p{color:#c8d4cd}
.form-label{font-size:13px;color:#cddbd2;margin-bottom:6px}
.form-control,.form-select{background:#25332f;border:1px solid #41534c;color:#fff;border-radius:7px;padding:12px 14px}
.form-control::placeholder{color:#8e9e96}
.form-control:focus,.form-select:focus{background:#293934;color:#fff;border-color:var(--cyan);box-shadow:none}
.form-select option{color:#17201f}
.footer{background:#111b19;color:#d5e0d9;padding:58px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr;gap:35px}
.footer .brand{color:#fff;margin-bottom:16px}
.footer p{color:#9eaea5;font-size:13px;max-width:250px}
.footer h3{font-size:14px;color:var(--acid);margin:4px 0 15px}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{font-size:13px;color:#aab9b1;margin:8px 0}
.footer li a:hover,.footer-bottom a:hover{color:var(--acid)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:18px;color:#83938a;font-size:12px}
.footer-bottom a{margin-left:18px}
@media(max-width:992px){
 .navbar-collapse{padding-top:15px}
 .nav-link{margin:2px 0}
 .tool-layout,.scene-layout,.image-row,.cta-grid{grid-template-columns:1fr}
 .timeline{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
 :root{--space:65px}
 .topbar .container{display:block;text-align:center}
 .topbar .container span:last-child{display:none}
 .page-hero{padding:75px 0 70px}
 .page-hero h1{font-size:42px}
 .section-head{display:block}
 .section-head p{margin-top:15px}
 .feature-grid{grid-template-columns:1fr}
 .feature-cell{border-right:0;border-bottom:1px solid var(--line)}
 .feature-cell:last-child{border-bottom:0}
 .spec-wrap{grid-template-columns:1fr}
}
@media(max-width:520px){
 .container{padding-left:17px;padding-right:17px}
 .brand{font-size:16px}
 .brand-mark{width:26px;height:26px}
 .page-hero h1{font-size:34px}
 .page-hero p{font-size:15px}
 .tool-item{grid-template-columns:38px 1fr;gap:12px;padding:19px}
 .tool-item .status{grid-column:2;justify-self:start}
 .scene-grid,.timeline{grid-template-columns:1fr}
 .image-row img{height:230px}
 .image-copy{padding:8px 0}
 .image-copy h2{font-size:29px}
 .footer-grid{grid-template-columns:1fr;gap:25px}
 .footer-bottom{display:block}
 .footer-bottom span{display:block;margin-bottom:12px}
 .footer-bottom a{margin:0 15px 0 0}
}

/* roulang page: category5 */
:root{
 --ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;
 --graphite:#182120;--line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;
 --orange:#f29b55;--danger:#dd6b58;--success:#65b982;
 --radius:14px;--btn:9px;--shadow:0 12px 34px rgba(20,36,31,.08);
 --shadow-deep:0 18px 44px rgba(20,36,31,.15);--max:1180px;--space:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.25s ease}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(66,213,199,.5);outline-offset:3px}
.container{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}
.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.navbar{padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}
.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}
.nav-link{font-size:14px;font-weight:600;color:#53605d!important;margin:0 3px;padding:9px 11px!important;border-radius:7px}
.nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}
.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}
.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}
.navbar-toggler{border:1px solid var(--line);padding:8px 10px}
.navbar-toggler-icon{filter:brightness(.3)}
.dropdown-menu{border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:8px;background:var(--white)}
.dropdown-item{font-size:13px;padding:9px 12px;border-radius:6px}
.dropdown-item:hover,.dropdown-item:focus{background:#e9eee8;color:var(--ink)}
.btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}
.btn-acid:hover{background:#ddff85;transform:translateY(-2px)}
.page-banner{position:relative;min-height:425px;background:var(--graphite) url('/assets/images/backpic/back-5.webp') center/cover no-repeat;color:#fff;display:flex;align-items:center;overflow:hidden}
.page-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,26,.95),rgba(17,28,26,.7) 58%,rgba(17,28,26,.28))}
.banner-content{position:relative;z-index:1;max-width:760px;padding:74px 0}
.eyebrow,.section-kicker{color:#74827b;letter-spacing:.13em;text-transform:uppercase;font-size:12px;font-weight:800}
.page-banner .eyebrow{color:var(--acid)}
.page-banner h1{font-size:clamp(34px,5vw,62px);line-height:1.15;letter-spacing:-.055em;margin:13px 0 18px;font-weight:850}
.page-banner p{color:#d5e0d9;font-size:17px;max-width:690px;margin:0}
.banner-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.banner-meta span,.tag{display:inline-block;background:#e7eee6;color:#52605a;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:800}
.banner-meta span{background:rgba(201,239,87,.14);color:var(--acid);border:1px solid rgba(201,239,87,.4)}
section{padding:var(--space) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}
.section-head h2{font-size:clamp(27px,3.1vw,42px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 0;font-weight:850}
.section-head p{max-width:560px;color:var(--muted);margin:0}
.filter-bar{display:flex;flex-wrap:wrap;gap:9px;border-bottom:1px solid var(--line);padding-bottom:18px}
.filter-bar span{padding:9px 15px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:700;border-radius:6px}
.filter-bar span.active{background:var(--acid);border-color:var(--acid)}
.tool-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
.tool-list{display:grid;gap:12px}
.tool-item{background:#fff;border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:48px 1fr auto;gap:17px;align-items:start;transition:.25s}
.tool-item:hover{transform:translateX(4px);box-shadow:var(--shadow);border-color:#b8c9bd}
.tool-icon{width:42px;height:42px;background:var(--graphite);color:var(--acid);display:grid;place-items:center;border-radius:8px;font-weight:900}
.tool-item h3{font-size:19px;margin:0 0 5px}
.tool-item p{font-size:14px;color:var(--muted);margin:0}
.status{font-size:11px;color:#38865b;font-weight:800;white-space:nowrap}
.feature-panel{background:var(--graphite);color:#fff;padding:30px;min-height:100%;position:relative;overflow:hidden}
.feature-panel img{height:185px;width:100%;object-fit:cover;opacity:.82;margin-bottom:24px}
.feature-panel h3{font-size:25px;line-height:1.3;margin:0 0 12px}
.feature-panel p{color:#c9d6ce;font-size:14px}
.feature-panel ul{list-style:none;padding:0;margin:22px 0 0}
.feature-panel li{border-top:1px solid #3c4b45;padding:12px 0;font-size:13px}
.feature-panel li:before{content:"↗";color:var(--acid);margin-right:10px}
.scene-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}
.scene{background:#fff;border:1px solid var(--line);min-height:175px;padding:23px}
.scene:nth-child(1){grid-row:span 2;background:#e8f0e8}
.scene img{width:100%;height:118px;object-fit:cover;margin-bottom:16px}
.scene h3{font-size:18px;margin:0 0 8px}
.scene p{font-size:13px;color:var(--muted);margin:0}
.spec-section{background:#edf2ed}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.spec-card{background:#fff;border:1px solid var(--line);padding:27px}
.spec-card h3{font-size:20px;margin:0 0 19px}
.spec-row{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:12px 0;font-size:14px}
.spec-row span:last-child{color:var(--muted);text-align:right}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{padding:22px 17px;border-right:1px solid var(--line);min-height:165px}
.step:last-child{border-right:0}
.step b{color:var(--orange);font-size:13px}
.step h3{font-size:17px;margin:13px 0 8px}
.step p{font-size:13px;color:var(--muted);margin:0}
.faq{background:#fff}
.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}
.accordion-button:not(.collapsed){color:#147e78!important}
.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}
.cta-panel{background:var(--graphite);color:#fff;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.cta-panel h2{font-size:clamp(27px,3vw,40px);margin:0 0 10px;line-height:1.25}
.cta-panel p{color:#c8d5cd;margin:0;max-width:650px}
.footer{background:#111a19;color:#cbd7d0;padding:62px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr;gap:35px}
.footer .brand{color:#fff;margin-bottom:17px}
.footer p{color:#97a69e;font-size:13px;max-width:235px}
.footer h3{font-size:14px;color:var(--acid);margin:4px 0 17px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{font-size:13px;color:#9eada5;margin:9px 0}
.footer li a:hover,.footer-bottom a:hover{color:var(--acid)}
.footer-bottom{border-top:1px solid #33413b;margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#83928a}
.footer-bottom a{margin-left:18px}
@media(max-width:992px){
 .tool-layout,.spec-grid{grid-template-columns:1fr}
 .scene-grid{grid-template-columns:1fr 1fr}
 .scene:nth-child(1){grid-row:auto}
 .timeline{grid-template-columns:repeat(3,1fr)}
 .step:nth-child(3){border-right:0}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
 :root{--space:58px}
 .topbar .container{display:block;text-align:center}
 .topbar .container span+span{display:block}
 .navbar-collapse{padding-top:14px}
 .nav-link{margin:2px 0}
 .nav-cta{display:inline-block;margin-top:8px}
 .page-banner{min-height:500px}
 .banner-content{padding:65px 0}
 .section-head{display:block}
 .section-head p{margin-top:15px}
 .tool-item{grid-template-columns:40px 1fr}
 .status{grid-column:2}
 .scene-grid{grid-template-columns:1fr}
 .timeline{grid-template-columns:1fr}
 .step{border-right:0;border-bottom:1px solid var(--line)}
 .step:last-child{border-bottom:0}
 .cta-panel{display:block;padding:32px 25px}
 .cta-panel .btn-acid{margin-top:22px}
 .footer-bottom{display:block}
 .footer-bottom span{display:block;margin-top:10px}
 .footer-bottom a{margin:0 15px 0 0}
}
@media(max-width:520px){
 .container{padding-left:16px;padding-right:16px}
 .brand{font-size:16px}
 .brand-mark{width:26px;height:26px}
 .page-banner h1{font-size:35px}
 .page-banner p{font-size:15px}
 .footer-grid{grid-template-columns:1fr}
 .spec-row{display:block}
 .spec-row span:last-child{display:block;text-align:left;margin-top:4px}
}

/* roulang page: category6 */
:root{
 --ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;--graphite:#182120;
 --line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;--orange:#f29b55;--danger:#dd6b58;
 --radius:14px;--btn:9px;--shadow:0 12px 34px rgba(20,36,31,.08);--max:1180px;--space:75px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.25s}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.45);outline-offset:3px}
.container{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}
.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.navbar{padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}
.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}
.nav-link{font-size:14px;font-weight:600;color:#53605d!important;margin:0 3px;padding:9px 11px!important;border-radius:7px}
.nav-link:hover,.nav-link.active{background:#e9eee8;color:var(--ink)!important}
.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}
.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}
.btn-acid{background:var(--acid);color:var(--ink);border:1px solid var(--acid);border-radius:var(--btn);padding:12px 20px;font-weight:800;display:inline-block}
.btn-acid:hover{background:#dbff83;transform:translateY(-2px)}
.navbar-toggler{border-color:var(--line);padding:8px 10px}
.navbar-toggler-icon{filter:invert(20%) sepia(8%) saturate(700%)}
.page-hero{position:relative;overflow:hidden;background:var(--graphite);color:#fff;padding:96px 0 88px}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(24,33,32,.95),rgba(24,33,32,.72)),url('/assets/images/backpic/back-6.webp') center/cover}
.page-hero .container{position:relative;z-index:1}
.eyebrow,.section-kicker{color:#73827b;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}
.page-hero .eyebrow{color:var(--acid)}
.page-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.15;letter-spacing:-.055em;max-width:760px;margin:14px 0 20px;font-weight:850}
.page-hero p{color:#d5e0d9;font-size:17px;max-width:720px;margin:0}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-meta span,.tag{display:inline-block;background:#e7eee6;padding:5px 10px;border-radius:4px;font-size:11px;font-weight:800;color:#52605a}
.hero-meta span{background:rgba(201,239,87,.13);border:1px solid rgba(201,239,87,.45);color:var(--acid)}
section{padding:var(--space) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
.section-head h2{font-size:clamp(27px,3.2vw,42px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 0;font-weight:850}
.section-head p{max-width:560px;color:var(--muted);margin:0}
.tool-layout{display:grid;grid-template-columns:290px 1fr;gap:28px}
.filter-panel{background:var(--graphite);color:#fff;padding:25px;height:max-content}
.filter-panel h3{font-size:18px;margin:0 0 18px;color:var(--acid)}
.filter-panel p{font-size:13px;color:#c7d4cc}
.filter-list{list-style:none;padding:0;margin:22px 0 0}
.filter-list li{border-top:1px solid #405049;padding:13px 0;color:#dbe7df;font-size:14px}
.filter-list li strong{color:var(--acid);margin-right:8px}
.tool-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tool-card{background:#fff;border:1px solid var(--line);padding:24px;min-height:205px;transition:.25s}
.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--cyan)}
.tool-card h3{font-size:20px;margin:15px 0 8px}
.tool-card p{font-size:14px;color:var(--muted);margin:0}
.tool-card .status{float:right;font-size:11px;color:#147e78;font-weight:800}
.scene-band{background:#edf2ed}
.scene-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:stretch}
.scene-image{min-height:330px;background:url('/assets/images/coverpic/cover-18.webp') center/cover;position:relative}
.scene-image:after{content:"测试场景 / 06";position:absolute;left:20px;bottom:20px;background:var(--acid);padding:6px 10px;font-size:12px;font-weight:800}
.scene-copy{background:#fff;padding:34px;border:1px solid var(--line)}
.scene-copy h3{font-size:27px;margin:0 0 12px}
.scene-copy p{color:var(--muted);font-size:14px}
.check-list{list-style:none;padding:0;margin:22px 0 0}
.check-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.check-list li:before{content:"✓";color:#147e78;font-weight:900;margin-right:10px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metric{padding:24px 20px;border-left:4px solid var(--cyan);background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric b{display:block;font-size:30px;line-height:1.2;letter-spacing:-.04em}
.metric span{color:var(--muted);font-size:13px}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{padding:23px 18px;border-right:1px solid var(--line);min-height:175px}
.step:last-child{border-right:0}
.step-no{color:var(--orange);font-size:13px;font-weight:900}
.step h3{font-size:17px;margin:14px 0 7px}
.step p{font-size:13px;color:var(--muted);margin:0}
.dark-case{background:var(--graphite);color:#fff}
.case-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.case-card{border:1px solid #405049;padding:28px;min-height:180px}
.case-card.large{background:linear-gradient(135deg,rgba(66,213,199,.12),transparent);min-height:260px}
.case-card h3{font-size:24px;margin:15px 0 8px}
.case-card p{color:#bdcbc3;font-size:14px;margin:0}
.case-card .tag{background:var(--acid);color:var(--ink)}
.spec-table{background:#fff;border:1px solid var(--line)}
.spec-row{display:grid;grid-template-columns:1fr 2fr;padding:16px 22px;border-bottom:1px solid var(--line);gap:20px}
.spec-row:last-child{border-bottom:0}
.spec-row strong{font-size:14px}.spec-row span{font-size:14px;color:var(--muted)}
.faq{background:#fff}
.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}
.accordion-button:not(.collapsed){color:#147e78!important}
.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}
.cta{background:var(--acid);padding:52px 0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{font-size:clamp(26px,3vw,38px);margin:0 0 8px;letter-spacing:-.04em}
.cta p{margin:0;color:#425047}
.footer{background:var(--graphite);color:#dce8df;padding:60px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px}
.footer .brand{color:#fff;margin-bottom:18px}
.footer p{color:#aabbb1;font-size:14px}
.footer h3{font-size:14px;color:var(--acid);margin:4px 0 15px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{font-size:13px;color:#aabbb1;margin:8px 0}
.footer li a:hover,.footer-bottom a:hover{color:var(--acid)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #3b4b44;margin-top:38px;padding-top:20px;color:#91a198;font-size:12px}
.footer-bottom a{margin-left:18px}
@media(max-width:1024px){.tool-layout{grid-template-columns:230px 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){:root{--space:58px}.topbar .container{display:block}.topbar .container span:last-child{display:none}.tool-layout,.scene-grid,.case-grid{grid-template-columns:1fr}.tool-list{grid-template-columns:1fr}.pipeline{grid-template-columns:1fr 1fr}.step:nth-child(2n){border-right:0}.step{border-bottom:1px solid var(--line)}.cta-inner{display:block}.cta .btn-main{margin-top:22px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.footer-bottom a{margin:0 16px 0 0}}
@media(max-width:520px){.container{padding-left:17px;padding-right:17px}.page-hero{padding:70px 0 64px}.page-hero h1{font-size:37px}.section-head{display:block}.section-head p{margin-top:15px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:18px 13px}.metric b{font-size:25px}.pipeline{grid-template-columns:1fr}.step{border-right:0;padding:18px}.footer-grid{grid-template-columns:1fr}.brand{font-size:16px}.nav-cta{display:inline-block;margin-top:8px}.spec-row{grid-template-columns:1fr;gap:3px}.scene-image{min-height:230px}}

/* roulang page: category7 */
:root{
 --ink:#17201f;--muted:#64706d;--paper:#f5f7f3;--white:#fff;
 --graphite:#182120;--line:#dce3de;--acid:#c9ef57;--cyan:#42d5c7;
 --orange:#f29b55;--danger:#dd6b58;--success:#75c98d;
 --radius:14px;--btn:9px;--shadow:0 12px 34px rgba(20,36,31,.08);
 --max:1180px;--space:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.25s}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(66,213,199,.5);outline-offset:3px}
.container{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}
.topbar{background:var(--graphite);color:#dce8df;font-size:13px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.mainnav{background:rgba(245,247,243,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.navbar{padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:19px}
.brand-mark{width:28px;height:28px;background:var(--acid);display:grid;place-items:center;color:var(--graphite);font-weight:900;border-radius:7px}
.nav-link,.dropdown-toggle{font-size:14px;font-weight:600;color:#53605d!important;margin:0 4px;padding:9px 11px!important;border-radius:7px}
.nav-link:hover,.nav-link.active,.dropdown-toggle:hover,.dropdown-toggle.active{background:#e9eee8;color:var(--ink)!important}
.nav-cta,.btn-main{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--btn);padding:11px 18px;font-weight:700;display:inline-block}
.nav-cta:hover,.btn-main:hover{background:#364442;color:var(--acid);transform:translateY(-2px)}
.dropdown-menu{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;box-shadow:var(--shadow)}
.dropdown-item{font-size:13px;padding:9px 12px;border-radius:6px}
.dropdown-item:hover,.dropdown-item:focus{background:#edf2ed;color:var(--ink)}
.inner-hero{background:var(--graphite);color:#fff;position:relative;overflow:hidden;padding:82px 0 78px}
.inner-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,33,32,.96),rgba(24,33,32,.68)),url('/assets/images/backpic/back-7.webp') center/cover}
.inner-hero .container{position:relative;z-index:1}
.eyebrow,.section-kicker{color:#73827b;letter-spacing:.13em;font-size:12px;font-weight:800}
.inner-hero .eyebrow{color:var(--acid)}
h1{font-size:clamp(34px,5vw,62px);line-height:1.15;letter-spacing:-.055em;font-weight:900;margin:13px 0 20px;max-width:760px}
.inner-hero p{max-width:700px;color:#d4dfd8;font-size:17px;margin:0}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-meta span,.tag{display:inline-block;background:#e7eee6;padding:4px 9px;border-radius:4px;font-size:11px;font-weight:800;color:#52605a}
.hero-meta span{background:rgba(201,239,87,.14);border:1px solid rgba(201,239,87,.45);color:var(--acid)}
section{padding:var(--space) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}
.section-head h2{font-size:clamp(27px,3.2vw,42px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 0;font-weight:850}
.section-head p{max-width:560px;color:var(--muted);margin:0}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.filter-bar span{padding:8px 15px;border:1px solid var(--line);background:#fff;border-radius:6px;font-size:13px;font-weight:700}
.filter-bar span:first-child{background:var(--acid);border-color:var(--acid)}
.tool-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
.tool-list{display:grid;gap:12px}
.tool-card{background:#fff;border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:start;transition:.25s}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b8cbc0}
.tool-icon{width:48px;height:48px;background:var(--graphite);color:var(--acid);display:grid;place-items:center;border-radius:8px;font-weight:900}
.tool-card h3{font-size:19px;margin:0 0 6px}
.tool-card p{font-size:14px;color:var(--muted);margin:0}
.status{font-size:11px;color:#197b69;background:#e0f3e9;padding:4px 8px;border-radius:4px;font-weight:800}
.tool-image{min-height:390px;background:#dfe8df;position:relative;overflow:hidden}
.tool-image img{width:100%;height:100%;object-fit:cover}
.image-note{position:absolute;left:20px;bottom:20px;background:var(--graphite);color:#fff;padding:15px 18px;border-left:4px solid var(--acid);font-size:13px}
.scene-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}
.scene{min-height:190px;padding:24px;background:#fff;border:1px solid var(--line)}
.scene:first-child{background:var(--cyan);border-color:var(--cyan)}
.scene h3{font-size:20px;margin:28px 0 8px}
.scene p{color:var(--muted);font-size:14px;margin:0}
.scene:first-child p{color:#174e49}
.spec-panel{background:var(--graphite);color:#fff;padding:34px}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#42504b;margin-top:25px}
.spec{background:var(--graphite);padding:20px}
.spec strong{display:block;color:var(--acid);font-size:25px;margin-bottom:5px}
.spec span{font-size:13px;color:#c1cec6}
.integration{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.integration img{height:330px;width:100%;object-fit:cover}
.steps{border-left:2px solid var(--cyan);padding-left:28px}
.step{position:relative;margin-bottom:25px}
.step:before{content:"";position:absolute;left:-39px;top:7px;width:18px;height:18px;border:4px solid var(--paper);background:var(--acid);border-radius:50%}
.step b{font-size:16px}
.step p{margin:4px 0 0;color:var(--muted);font-size:14px}
.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:800;padding:21px 0}
.accordion-button:not(.collapsed){color:#147e78!important}
.accordion-body{padding:0 35px 22px 0;color:var(--muted);font-size:14px}
.cta-band{background:var(--acid);padding:42px 0}
.cta-flex{display:flex;justify-content:space-between;align-items:center;gap:25px}
.cta-band h2{font-size:30px;letter-spacing:-.04em;margin:0 0 8px}
.cta-band p{margin:0;color:#40503d}
.footer{background:var(--graphite);color:#dce8df;padding:65px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:35px}
.footer .brand{color:#fff}
.footer p{color:#aebdb4;font-size:14px;margin-top:18px}
.footer h3{font-size:14px;color:var(--acid);margin:0 0 15px}
.footer ul{padding:0;margin:0;list-style:none}
.footer li{font-size:13px;color:#aebdb4;margin:8px 0}
.footer li a:hover,.footer-bottom a:hover{color:var(--acid)}
.footer-bottom{border-top:1px solid #3a4943;margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#8f9f96;font-size:12px}
.footer-bottom a{margin-left:18px}
@media(max-width:992px){.navbar-nav{padding-top:15px}.nav-cta{display:inline-block;margin-top:8px}.tool-layout,.integration{grid-template-columns:1fr}.scene-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){:root{--space:62px}.topbar .container{display:block}.topbar span+span{display:none}.container{padding-left:18px;padding-right:18px}.inner-hero{padding:66px 0}.section-head{display:block}.section-head p{margin-top:15px}.tool-card{grid-template-columns:42px 1fr}.tool-card .status{grid-column:2}.tool-icon{width:40px;height:40px;font-size:13px}.scene-grid{grid-template-columns:1fr}.scene:first-child{min-height:170px}.spec-grid{grid-template-columns:1fr 1fr}.integration img{height:245px}.cta-flex{display:block}.cta-flex .btn-main{margin-top:22px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:12px}.footer-bottom a{margin:0 14px 0 0}}

/* 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}
