/* roulang page: index */
:root{
            --jade:#087d6d;
            --jade-deep:#075b53;
            --jade-soft:#e5f2ee;
            --orange:#e8893d;
            --orange-deep:#c96d27;
            --ink:#17352f;
            --muted:#6d817b;
            --paper:#f6f5f0;
            --white:#fffefa;
            --line:#dce7e1;
            --shadow:0 16px 40px rgba(28,70,61,.09);
            --shadow-soft:0 8px 24px rgba(28,70,61,.07);
            --radius:16px;
            --radius-lg:24px;
            --container:1220px;
        }
        *{box-sizing:border-box;margin:0;padding:0}
        html{scroll-behavior:smooth}
        body{
            color:var(--ink);
            background:var(--paper);
            font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
            font-size:16px;
            line-height:1.75;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .site-header{
            position:sticky;top:0;z-index:20;
            background:rgba(255,254,250,.94);
            border-bottom:1px solid var(--line);
            backdrop-filter:blur(14px);
        }
        .nav-wrap{height:76px;display:flex;align-items:center;gap:36px}
        .brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-weight:800;letter-spacing:.02em}
        .brand-mark{
            position:relative;width:36px;height:36px;border-radius:11px;
            background:var(--jade);display:grid;place-items:center;color:#fff;
            box-shadow:inset 0 -5px 0 rgba(0,0,0,.12);
        }
        .brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:3px;background:#f8bd70}
        .brand-mark:before{width:8px;height:8px;top:8px;right:8px}
        .brand-mark:after{width:8px;height:8px;bottom:8px;left:8px}
        .brand-name{font-size:17px}
        .main-nav{display:flex;align-items:center;gap:25px;margin-left:auto}
        .main-nav a{
            position:relative;padding:24px 0;color:#60756f;font-size:14px;
            transition:color .2s ease;
        }
        .main-nav a:after{
            content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;
            background:var(--jade);transform:scaleX(0);transform-origin:center;transition:transform .2s ease;
        }
        .main-nav a:hover,.main-nav a.active{color:var(--jade-deep)}
        .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
        .nav-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:10px;
            font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s;
        }
        .nav-action{background:var(--orange);color:#fff;min-height:40px;padding:0 17px}
        .nav-action:hover,.btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 8px 16px rgba(201,109,39,.2)}
        .menu-toggle{display:none;border:0;background:none;color:var(--jade);font-size:25px}
        .hero{position:relative;padding:74px 0 62px;overflow:hidden}
        .hero:before{
            content:"";position:absolute;right:-130px;top:-190px;width:530px;height:530px;
            border:1px solid #cfe1d9;border-radius:50%;box-shadow:0 0 0 30px rgba(207,225,217,.25),0 0 0 60px rgba(207,225,217,.15);
        }
        .hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:74px}
        .eyebrow,.section-kicker{
            display:inline-flex;align-items:center;gap:9px;color:var(--jade);
            font-size:13px;font-weight:800;letter-spacing:.09em;
        }
        .eyebrow:before,.section-kicker:before{content:"";width:25px;height:2px;background:var(--orange)}
        h1{font-size:clamp(36px,4.8vw,62px);line-height:1.18;letter-spacing:-.045em;margin:18px 0 22px;max-width:650px}
        .hero-copy{font-size:18px;color:var(--muted);max-width:580px}
        .hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
        .btn-primary{background:var(--orange);color:#fff}
        .btn-secondary{background:transparent;border-color:#b8d1c8;color:var(--jade-deep)}
        .btn-secondary:hover{background:var(--jade-soft);border-color:var(--jade);transform:translateY(-2px)}
        .btn:active,.nav-action:active{transform:translateY(1px);box-shadow:none}
        .btn:focus-visible,.nav-action:focus-visible,.main-nav a:focus-visible,.faq-question:focus-visible{outline:3px solid rgba(232,137,61,.38);outline-offset:4px}
        .hero-notes{display:flex;gap:25px;margin-top:38px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}
        .hero-note{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
        .hero-note i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--jade)}
        .hero-visual{position:relative;min-height:405px}
        .visual-board{
            position:absolute;inset:23px 0 0 32px;background:var(--jade-deep);border-radius:28px;
            padding:27px;color:#f3fbf7;box-shadow:var(--shadow);overflow:hidden;
        }
        .visual-board:before{
            content:"";position:absolute;inset:0;opacity:.16;
            background-image:radial-gradient(#b9e1d2 1px,transparent 1px);background-size:18px 18px;
        }
        .board-top,.board-content{position:relative;z-index:1}
        .board-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:19px}
        .board-title{font-size:15px;font-weight:700}
        .board-chip{font-size:11px;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:3px 10px}
        .board-content{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px}
        .board-panel{min-height:142px;border-radius:15px;background:rgba(255,255,255,.1);padding:19px;border:1px solid rgba(255,255,255,.12)}
        .board-panel.wide{grid-column:1/-1;min-height:95px;background:#f0f7f2;color:var(--ink)}
        .panel-label{font-size:12px;opacity:.72}.panel-number{font-size:30px;font-weight:800;margin-top:8px}
        .panel-lines{margin-top:15px;display:grid;gap:9px}.panel-lines span{height:7px;border-radius:5px;background:rgba(255,255,255,.3)}
        .wide .panel-lines span{background:#c0ddd2}.wide .panel-lines span:first-child{width:73%}.wide .panel-lines span:last-child{width:45%}
        .orange-tab{position:absolute;right:-5px;top:5px;background:var(--orange);color:#fff;border-radius:11px 0 0 11px;padding:9px 16px;font-size:12px;font-weight:700;z-index:2}
        .section{padding:92px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:33px}
        .section-title{font-size:clamp(26px,3vw,39px);line-height:1.25;letter-spacing:-.03em;margin-top:9px}
        .section-intro{color:var(--muted);max-width:460px}
        .path-section{background:#eef4ef}
        .path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #cbded5;border-bottom:1px solid #cbded5}
        .path-item{position:relative;padding:28px 24px 28px 0;margin-right:25px}
        .path-item:not(:last-child):after{content:"→";position:absolute;right:-4px;top:38px;color:var(--orange);font-size:24px}
        .path-number{color:var(--orange);font-weight:800;font-size:13px}.path-item h3{font-size:19px;margin:9px 0 5px}.path-item p{color:var(--muted);font-size:14px}
        .feature-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
        .feature-lead{background:var(--jade);color:#fff;border-radius:var(--radius-lg);padding:36px;min-height:340px;position:relative;overflow:hidden}
        .feature-lead:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.26);border-radius:50%;right:-65px;bottom:-60px}
        .feature-lead h3{font-size:27px;line-height:1.35;margin:17px 0 14px;position:relative;z-index:1}
        .feature-lead p{color:#d7eee7;position:relative;z-index:1}
        .feature-list{display:grid;gap:0}
        .feature-row{display:grid;grid-template-columns:54px 1fr;gap:19px;padding:23px 0;border-bottom:1px solid var(--line)}
        .feature-row:first-child{padding-top:0}.feature-icon{width:42px;height:42px;border-radius:12px;background:var(--jade-soft);color:var(--jade);display:grid;place-items:center;font-weight:800}
        .feature-row h3{font-size:18px;margin-bottom:4px}.feature-row p{font-size:14px;color:var(--muted)}
        .download-section{padding-top:28px}.download-card{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;background:#dfeee7;border-radius:var(--radius-lg);padding:48px;overflow:hidden}
        .download-card h2{font-size:clamp(27px,3vw,40px);line-height:1.3;margin:12px 0 15px}.download-card p{color:#59736b;max-width:540px}
        .download-meta{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.meta-tag{border:1px solid #bdd6cb;border-radius:8px;color:var(--jade-deep);font-size:13px;padding:5px 10px;background:rgba(255,255,255,.5)}
        .device-area{position:relative;min-height:280px;display:flex;align-items:center;justify-content:center}
        .phone{width:154px;height:276px;border:9px solid #244d44;border-radius:26px;background:#f7fbf6;box-shadow:12px 14px 0 rgba(8,125,109,.12);transform:rotate(8deg);padding:29px 13px 14px;position:relative}
        .phone:before{content:"";position:absolute;top:9px;left:50%;width:42px;height:5px;border-radius:5px;background:#244d44;transform:translateX(-50%)}
        .phone-head{height:47px;border-radius:10px;background:var(--jade);margin-bottom:12px}.phone-line{height:10px;width:72%;background:#b8dcd0;border-radius:5px;margin:10px 0}.phone-card{height:57px;border-radius:9px;background:#f4c083;margin-top:17px}
        .qr-box{position:absolute;right:8%;bottom:18px;background:#fffefa;border:1px solid var(--line);border-radius:15px;padding:14px;text-align:center;box-shadow:var(--shadow-soft)}
        .qr-pattern{width:76px;height:76px;background:repeating-linear-gradient(45deg,#17352f 0 4px,#fffefa 4px 8px);border:6px solid #fffefa;outline:1px solid #b7cbc2;margin:auto}.qr-box span{display:block;font-size:11px;color:var(--muted);margin-top:7px}
        .news-section{background:#fffefa}.news-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}
        .lead-news{border:1px solid var(--line);border-radius:var(--radius-lg);padding:31px;background:linear-gradient(135deg,#f2f7f2,#e8f1eb)}
        .lead-news .news-tag{margin-bottom:25px}.lead-news h3{font-size:26px;line-height:1.4;margin-bottom:12px}.lead-news p{font-size:14px;color:var(--muted);margin-bottom:28px}
        .news-tag{display:inline-flex;background:#f9e5d3;color:#a95a22;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:700}
        .news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:92px 1fr 26px;gap:16px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);transition:padding .2s}
        .news-item:hover{padding-left:8px}.news-date{font-size:12px;color:var(--muted)}.news-item h3{font-size:16px;line-height:1.45}.news-item p{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-arrow{color:var(--jade);font-size:20px}
        .empty-state{padding:30px 0;color:var(--muted);font-size:14px}
        .faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-side p{color:var(--muted);margin-top:14px}.faq-list{border-top:1px solid var(--line)}
        .faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:none;text-align:left;padding:19px 0;color:var(--ink);font-weight:700;display:flex;justify-content:space-between;align-items:center}.faq-question span{font-size:22px;color:var(--jade);font-weight:400;transition:transform .2s}.faq-question[aria-expanded="true"] span{transform:rotate(45deg)}
        .faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 40px 20px 0}.faq-question[aria-expanded="true"] + .faq-answer{display:block}
        .cta{padding:64px 0;background:var(--jade-deep);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:clamp(25px,3vw,37px);line-height:1.35}.cta p{color:#c9e3d9;margin-top:8px}.cta .btn-primary{background:var(--orange)}
        .site-footer{padding:52px 0 25px;background:#17352f;color:#d9ebe3}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding-bottom:38px;border-bottom:1px solid rgba(220,231,225,.17)}.footer-brand{color:#fff}.footer-desc{font-size:13px;color:#a9c5ba;max-width:280px;margin-top:14px}.footer-col h3{font-size:14px;color:#fff;margin-bottom:15px}.footer-col a{display:block;color:#a9c5ba;font-size:13px;margin:8px 0;transition:color .2s}.footer-col a:hover{color:#fff}.copyright{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#8eafa2;font-size:12px}
        @media(max-width:1024px){.hero-grid{gap:35px}.main-nav{gap:15px}.download-card{padding:34px}.feature-layout{gap:35px}.faq-grid{gap:35px}}
        @media(max-width:768px){.container{width:min(100% - 34px,var(--container))}.nav-wrap{height:68px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);padding:12px 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow-soft)}.main-nav.open{display:flex}.main-nav a{padding:11px 0}.main-nav a:after{bottom:5px}.nav-action{display:none}.hero{padding:54px 0 45px}.hero-grid,.feature-layout,.download-card,.news-layout,.faq-grid{grid-template-columns:1fr}.hero-visual{min-height:330px}.visual-board{inset:18px 0 0}.path-grid{grid-template-columns:1fr 1fr}.path-item{margin:0;padding:22px 18px 22px 0}.path-item:nth-child(2):after{display:none}.section{padding:66px 0}.section-head{display:block}.section-intro{margin-top:12px}.download-card{padding:30px}.device-area{min-height:290px}.cta-inner{display:block}.cta .btn{margin-top:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid .footer-brand{grid-column:1/-1}}
        @media(max-width:520px){h1{font-size:37px}.hero-copy{font-size:16px}.hero-actions .btn{width:100%}.hero-notes{gap:12px;display:grid;grid-template-columns:1fr 1fr}.hero-visual{min-height:285px}.visual-board{padding:20px;border-radius:20px}.board-panel{min-height:104px;padding:13px}.board-panel.wide{min-height:74px}.panel-number{font-size:23px}.orange-tab{top:0}.path-grid{grid-template-columns:1fr}.path-item{border-bottom:1px solid #cbded5}.path-item:after{display:none!important}.news-item{grid-template-columns:70px 1fr 20px;gap:10px}.news-item p{display:none}.lead-news{padding:24px}.download-card{padding:25px}.qr-box{right:0}.phone{transform:rotate(5deg) scale(.88)}.footer-grid{grid-template-columns:1fr}.footer-grid .footer-brand{grid-column:auto}.copyright{display:block}.copyright span{display:block;margin-top:6px}}

/* roulang page: index */
:root{
            --jade:#12695f;
            --jade-deep:#0c4e48;
            --jade-soft:#e4f0eb;
            --orange:#e78a3a;
            --orange-deep:#c96d22;
            --ink:#17312d;
            --muted:#6d817b;
            --paper:#f6f4ef;
            --white:#fffdfa;
            --line:#dce5df;
            --shadow:0 18px 45px rgba(21,65,57,.10);
            --soft-shadow:0 8px 24px rgba(21,65,57,.08);
            --radius:16px;
            --container:1240px;
        }
        *{box-sizing:border-box;margin:0;padding:0}
        html{scroll-behavior:smooth}
        body{font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.75;font-size:15px}
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button{font:inherit;border:0;cursor:pointer}
        :focus-visible{outline:3px solid rgba(231,138,58,.55);outline-offset:3px}
        .container{width:min(calc(100% - 48px),var(--container));margin:auto}
        .site-header{height:78px;background:rgba(255,253,250,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
        .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
        .brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
        .brand-mark{width:38px;height:38px;background:var(--jade);border-radius:11px;display:grid;place-items:center;position:relative;box-shadow:inset 0 -5px 0 rgba(0,0,0,.12)}
        .brand-mark:before,.brand-mark:after{content:"";position:absolute;border:2px solid #b8ded2;border-radius:4px}
        .brand-mark:before{width:16px;height:16px;transform:rotate(45deg)}
        .brand-mark:after{width:7px;height:7px;background:var(--orange);border:0;right:6px;top:6px;border-radius:2px}
        .brand-text{font-size:17px}
        .nav{display:flex;align-items:center;gap:5px}
        .nav a{padding:10px 14px;color:var(--muted);font-size:14px;border-radius:9px;transition:.2s ease}
        .nav a:hover{color:var(--jade);background:var(--jade-soft)}
        .nav a.active{color:var(--jade-deep);font-weight:700;position:relative}
        .nav a.active:after{content:"";height:3px;width:22px;background:var(--orange);position:absolute;bottom:3px;left:50%;transform:translateX(-50%);border-radius:5px}
        .nav-action,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:12px 19px;font-weight:700;transition:.2s ease}
        .nav-action{background:var(--orange);color:#fff;box-shadow:0 5px 0 var(--orange-deep)}
        .nav-action:hover,.btn-orange:hover{background:#ef9c4b;transform:translateY(-2px);box-shadow:0 7px 0 var(--orange-deep)}
        .menu-toggle{display:none;background:var(--jade-soft);color:var(--jade);padding:8px 11px;border-radius:8px}
        .hero{padding:82px 0 60px;position:relative;overflow:hidden}
        .hero:before{content:"";position:absolute;right:-150px;top:-180px;width:520px;height:520px;border:1px solid #c9ded5;border-radius:50%;box-shadow:0 0 0 38px rgba(228,240,235,.5),0 0 0 76px rgba(228,240,235,.28)}
        .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center;position:relative}
        .eyebrow,.section-kicker{color:var(--jade);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
        .eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px}
        .eyebrow:before{content:"";width:28px;height:2px;background:var(--orange)}
        h1{font-size:clamp(38px,5vw,64px);line-height:1.16;letter-spacing:-.055em;margin-bottom:22px;max-width:690px}
        .hero-copy{font-size:18px;color:var(--muted);max-width:590px}
        .hero-actions{display:flex;gap:13px;margin:32px 0 30px;flex-wrap:wrap}
        .btn{background:var(--jade);color:#fff;box-shadow:0 5px 0 var(--jade-deep)}
        .btn:hover{background:#187a6e;transform:translateY(-2px);box-shadow:0 7px 0 var(--jade-deep)}
        .btn-secondary{background:transparent;color:var(--jade);border:1px solid #a9c9bf;box-shadow:none}
        .btn-secondary:hover{background:var(--jade-soft);box-shadow:none}
        .hero-notes{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}
        .hero-notes span{display:flex;align-items:center;gap:7px}
        .hero-notes i{width:7px;height:7px;background:var(--orange);border-radius:50%}
        .visual-board{background:var(--jade);border-radius:26px;padding:22px;min-height:390px;position:relative;box-shadow:var(--shadow);overflow:hidden}
        .visual-board:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1px);background-size:17px 17px;opacity:.35}
        .board-top{display:flex;justify-content:space-between;color:#d2ebe2;font-size:12px;position:relative;z-index:1}
        .status-dot{display:inline-flex;align-items:center;gap:6px}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#f3ad62}
        .screen-stack{position:relative;height:305px;margin-top:22px;z-index:1}
        .screen{position:absolute;background:var(--white);border-radius:18px;padding:20px;color:var(--ink);box-shadow:0 13px 25px rgba(4,44,38,.22)}
        .screen.main{width:76%;height:235px;left:3%;top:20px}
        .screen.side{width:42%;height:176px;right:0;bottom:2px;background:#f3c58e;transform:rotate(4deg)}
        .screen-label{font-size:12px;color:var(--muted);margin-bottom:14px}
        .screen h3{font-size:24px;line-height:1.3;margin-bottom:17px}
        .mini-lines{display:grid;gap:10px}.mini-lines b{height:9px;background:#d8e7e1;border-radius:4px;display:block}.mini-lines b:nth-child(2){width:72%}.mini-lines b:nth-child(3){width:54%}
        .screen-badge{display:inline-block;background:var(--jade-soft);color:var(--jade);font-size:12px;padding:5px 9px;border-radius:6px;margin-bottom:12px}
        .section{padding:92px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head h2{font-size:34px;line-height:1.25;letter-spacing:-.04em;margin-top:8px}.section-head p{color:var(--muted);max-width:430px}
        .path{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
        .path-item{padding:25px 25px 20px 0;border-right:1px solid var(--line);margin-right:25px;min-height:160px}.path-item:last-child{border:0;margin:0}
        .number{color:var(--orange);font-weight:800;font-size:13px;margin-bottom:17px}.path h3{font-size:19px;margin-bottom:7px}.path p{color:var(--muted);font-size:14px}
        .feature-band{background:var(--jade-deep);color:#fff;border-radius:24px;padding:48px 54px;display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center;position:relative;overflow:hidden}
        .feature-band:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-65px;bottom:-160px;box-shadow:0 0 0 28px rgba(255,255,255,.05),0 0 0 56px rgba(255,255,255,.04)}
        .feature-band h2{font-size:32px;line-height:1.35;margin:9px 0 14px;position:relative;z-index:1}.feature-band p{color:#c4ded5;max-width:560px;position:relative;z-index:1}
        .feature-list{display:grid;gap:13px;position:relative;z-index:1}.feature-list li{list-style:none;border-bottom:1px solid rgba(255,255,255,.15);padding:10px 0;color:#e5f2ed}.feature-list li:before{content:"✓";color:#f3ad62;font-weight:800;margin-right:12px}
        .download{background:#f1e5d5;border-radius:24px;padding:48px 54px;display:grid;grid-template-columns:1fr .9fr;gap:45px;align-items:center}.download h2{font-size:32px;line-height:1.3;margin:9px 0 14px}.download p{color:var(--muted)}.download-meta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.meta-pill{border:1px solid #dbcbb8;background:#fff8ef;padding:8px 12px;border-radius:8px;font-size:12px;color:#756a5d}
        .device-area{display:flex;justify-content:center;align-items:center;gap:17px;min-height:250px}.device{width:142px;height:245px;border:7px solid var(--ink);background:#e1eee8;border-radius:24px;padding:20px 12px;box-shadow:9px 12px 0 rgba(18,105,95,.18);transform:rotate(-7deg)}.device.back{width:115px;height:190px;transform:rotate(8deg);background:var(--jade);border-color:var(--jade-deep);box-shadow:none}.device-bar{height:7px;width:45px;background:var(--ink);border-radius:5px;margin:-10px auto 25px}.device.back .device-bar{background:#d9eee7}.device-block{height:54px;border-radius:9px;background:var(--jade);margin-bottom:11px}.device-block.small{height:27px;background:#f0b06f}
        .news-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px}.lead-news,.news-list{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.lead-news{padding:30px;min-height:280px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(145deg,#e4f0eb,#fffdfa 62%)}.tag{display:inline-flex;width:max-content;background:var(--jade-soft);color:var(--jade);font-size:12px;padding:5px 9px;border-radius:6px;font-weight:700}.lead-news h3{font-size:25px;line-height:1.4;margin:14px 0 9px}.lead-news p,.news-item p{color:var(--muted);font-size:14px}.news-date{font-size:12px;color:#84938d;margin-top:17px}.news-list{padding:8px 25px}.news-item{display:grid;grid-template-columns:86px 1fr auto;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border-bottom:0}.news-item time{color:var(--orange-deep);font-size:12px;font-weight:700}.news-item h3{font-size:16px;margin-bottom:2px}.news-item p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrow{color:var(--jade);font-size:20px;transition:.2s}.news-item:hover .arrow{transform:translateX(4px)}
        .faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.faq-grid h2{font-size:32px;line-height:1.35}.faq-intro{color:var(--muted);margin-top:14px}.faq-list{display:grid;gap:11px}.faq-list details{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0 20px}.faq-list details[open]{border-color:#a9c9bf;box-shadow:var(--soft-shadow)}.faq-list summary{cursor:pointer;list-style:none;padding:17px 25px 17px 0;font-weight:700;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;color:var(--jade);font-size:21px;font-weight:400}.faq-list details[open] summary:after{content:"−"}.answer{border-top:1px solid var(--line);padding:13px 0 18px;color:var(--muted);font-size:14px}
        .cta{background:var(--orange);border-radius:22px;padding:39px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}.cta h2{font-size:29px;line-height:1.35}.cta p{color:#fff2e2;margin-top:5px}.cta .btn{background:#fff;color:var(--jade-deep);box-shadow:0 5px 0 #b96527}.cta .btn:hover{background:#fffaf4;box-shadow:0 7px 0 #b96527}
        footer{background:#113f39;color:#c5dad2;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px;padding-bottom:40px}.footer-brand{color:#fff}.footer-brand p{color:#9fbdb4;max-width:270px;margin-top:15px;font-size:13px}.footer-col h3{font-size:14px;color:#fff;margin-bottom:13px}.footer-col a{display:block;color:#9fbdb4;font-size:13px;padding:4px 0;transition:.2s}.footer-col a:hover{color:#f3ad62}.copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;color:#8eaea5;font-size:12px;display:flex;justify-content:space-between;gap:20px}
        @media(max-width:1024px){.hero-grid{gap:35px}.feature-band,.download{padding:38px}.section{padding:72px 0}.nav{gap:0}.nav a{padding:9px 9px}.footer-grid{grid-template-columns:1.3fr repeat(3,1fr)}}
        @media(max-width:768px){.container{width:min(calc(100% - 34px),var(--container))}.site-header,.nav-wrap{height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:17px;right:17px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:9px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:12px}.nav-action{display:none}.hero{padding:58px 0 40px}.hero-grid,.feature-band,.download,.faq-grid,.news-grid{grid-template-columns:1fr}.visual-board{min-height:340px}.path{grid-template-columns:repeat(2,1fr);border-top:0;gap:20px}.path-item{border:1px solid var(--line);border-radius:12px;padding:20px;margin:0;min-height:145px;background:var(--white)}.section-head{display:block}.section-head p{margin-top:12px}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-top:8px}}
        @media(max-width:520px){h1{font-size:38px}.hero-copy{font-size:16px}.hero-actions,.hero-actions .btn{width:100%}.hero-actions .btn{padding:14px}.visual-board{padding:16px;min-height:300px}.screen.main{width:82%;height:205px}.screen.side{width:44%;height:140px}.screen h3{font-size:19px}.feature-band,.download{padding:29px 23px;border-radius:18px}.feature-band h2,.download h2,.faq-grid h2{font-size:26px}.device-area{min-height:220px}.device{transform:scale(.83) rotate(-7deg);margin-right:-17px}.device.back{transform:scale(.72) rotate(8deg);margin-left:-18px}.news-list{padding:5px 16px}.news-item{grid-template-columns:1fr auto;gap:3px 10px}.news-item time{grid-column:1}.news-item p{grid-column:1}.news-item .arrow{grid-column:2;grid-row:1/3}.cta{display:block;padding:30px 24px}.cta .btn{margin-top:22px;width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:27px}.footer-brand{grid-column:1/-1}}

/* roulang page: article */
:root{
            --jade:#087d6d;
            --jade-deep:#075b53;
            --jade-soft:#e5f2ee;
            --orange:#e8893d;
            --orange-deep:#c96d27;
            --ink:#17352f;
            --muted:#6d817b;
            --paper:#f6f5f0;
            --white:#fffefa;
            --line:#dce7e1;
            --shadow:0 16px 40px rgba(28,70,61,.09);
            --shadow-soft:0 8px 24px rgba(28,70,61,.07);
            --radius:16px;
            --radius-lg:24px;
            --container:1220px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;color:var(--ink);background:var(--paper);
            font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
            font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased
        }
        a{color:inherit;text-decoration:none}
        a:hover{color:var(--jade)}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .site-header{
            position:sticky;top:0;z-index:20;background:rgba(255,254,250,.95);
            border-bottom:1px solid var(--line);backdrop-filter:blur(14px)
        }
        .nav-wrap{height:76px;display:flex;align-items:center;gap:36px}
        .brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-weight:800;letter-spacing:.02em}
        .brand-mark{
            position:relative;width:36px;height:36px;border-radius:11px;background:var(--jade);
            display:grid;place-items:center;color:#fff;box-shadow:inset 0 -5px 0 rgba(0,0,0,.12)
        }
        .brand-mark:before,.brand-mark:after{
            content:"";position:absolute;border-radius:3px;background:#f8bd70;width:8px;height:8px
        }
        .brand-mark:before{top:8px;right:8px}.brand-mark:after{bottom:8px;left:8px}
        .brand-text{font-size:17px}
        .nav{display:flex;align-items:center;gap:25px;margin-left:auto}
        .nav a{
            position:relative;padding:24px 0;color:#60756f;font-size:14px;
            transition:color .2s ease
        }
        .nav a:after{
            content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;
            background:var(--jade);transform:scaleX(0);transition:transform .2s ease
        }
        .nav a:hover,.nav a.active{color:var(--jade-deep)}
        .nav a:hover:after,.nav a.active:after{transform:scaleX(1)}
        .nav-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:10px;
            font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s
        }
        .nav-action{background:var(--orange);color:#fff;min-height:40px;padding:0 17px}
        .nav-action:hover,.btn-primary:hover{
            color:#fff;background:var(--orange-deep);transform:translateY(-2px);
            box-shadow:0 8px 16px rgba(201,109,39,.2)
        }
        .menu-toggle{display:none;border:0;background:none;color:var(--jade);font-size:25px}
        .btn-primary{background:var(--orange);color:#fff}
        .btn-secondary{background:transparent;border-color:#b8d1c8;color:var(--jade-deep)}
        .btn-secondary:hover{background:var(--jade-soft);border-color:var(--jade);transform:translateY(-2px)}
        .btn:active,.nav-action:active{transform:translateY(1px);box-shadow:none}
        .btn:focus-visible,.nav-action:focus-visible,.nav a:focus-visible{
            outline:3px solid rgba(232,137,61,.38);outline-offset:4px
        }
        .article-hero{
            padding:64px 0 48px;background:#eef4ef;border-bottom:1px solid var(--line);
            position:relative;overflow:hidden
        }
        .article-hero:after{
            content:"";position:absolute;right:-100px;top:-160px;width:430px;height:430px;
            border:1px solid #c9ded5;border-radius:50%;
            box-shadow:0 0 0 28px rgba(201,222,213,.28),0 0 0 56px rgba(201,222,213,.16)
        }
        .breadcrumb{
            position:relative;z-index:1;display:flex;align-items:center;gap:10px;
            color:var(--muted);font-size:13px;margin-bottom:23px
        }
        .breadcrumb span{color:#a4b4ae}
        .article-hero-inner{position:relative;z-index:1;max-width:900px}
        .eyebrow,.section-kicker{
            display:inline-flex;align-items:center;gap:9px;color:var(--jade);
            font-size:13px;font-weight:800;letter-spacing:.08em
        }
        .eyebrow:before,.section-kicker:before{content:"";width:25px;height:2px;background:var(--orange)}
        .article-hero h1{
            font-size:clamp(31px,4.5vw,56px);line-height:1.22;letter-spacing:-.04em;
            margin:14px 0 18px;max-width:880px
        }
        .article-summary{max-width:760px;color:var(--muted);font-size:18px;margin:0}
        .article-meta{display:flex;flex-wrap:wrap;gap:14px 25px;color:var(--muted);font-size:13px;margin-top:25px}
        .meta-item{display:inline-flex;align-items:center;gap:7px}
        .meta-dot{width:7px;height:7px;background:var(--orange);border-radius:50%}
        .tag{
            display:inline-flex;align-items:center;padding:4px 11px;border-radius:30px;
            color:var(--jade-deep);background:var(--jade-soft);font-size:12px;font-weight:700
        }
        .article-layout{
            display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:64px;
            align-items:start;padding:70px 0 88px
        }
        .article-card{
            background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
            box-shadow:var(--shadow-soft);padding:clamp(25px,4vw,52px)
        }
        .article-content{font-size:17px;color:#38534c}
        .article-content>*:first-child{margin-top:0}
        .article-content h2{
            color:var(--ink);font-size:28px;line-height:1.35;margin:38px 0 15px;
            padding-left:16px;border-left:4px solid var(--orange)
        }
        .article-content h3{color:var(--jade-deep);font-size:21px;margin:30px 0 10px}
        .article-content p{margin:0 0 19px}
        .article-content ul,.article-content ol{padding-left:24px;margin:15px 0 23px}
        .article-content li{margin:7px 0}
        .article-content blockquote{
            margin:27px 0;padding:18px 22px;border-left:4px solid var(--jade);
            background:var(--jade-soft);color:var(--jade-deep);border-radius:0 12px 12px 0
        }
        .article-content img{border-radius:14px;margin:25px auto}
        .article-content table{width:100%;border-collapse:collapse;margin:25px 0;background:#fff}
        .article-content th,.article-content td{padding:11px 13px;border:1px solid var(--line);text-align:left}
        .article-content th{background:var(--jade-soft);color:var(--jade-deep)}
        .article-content hr{border:0;border-top:1px solid var(--line);margin:34px 0}
        .side-stack{display:grid;gap:18px;position:sticky;top:100px}
        .side-card{
            background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
            padding:24px;box-shadow:var(--shadow-soft)
        }
        .side-card h2{font-size:18px;margin:0 0 15px}
        .side-card p{color:var(--muted);font-size:14px;margin:0 0 18px}
        .side-list{list-style:none;padding:0;margin:0}
        .side-list li{border-top:1px solid var(--line);padding:12px 0}
        .side-list li:first-child{border-top:0;padding-top:0}
        .side-list a{display:flex;gap:10px;align-items:flex-start;color:#45645c;font-size:14px}
        .side-list b{color:var(--orange);font-size:12px;line-height:1.8}
        .download-mini{background:var(--jade);color:#fff;border:0}
        .download-mini p{color:rgba(255,255,255,.76)}
        .download-mini .btn{background:#f5b36e;color:#4e2b12}
        .download-mini .btn:hover{background:#ffc486}
        .article-bottom{
            display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);
            margin-top:45px;padding-top:24px;color:var(--jade-deep);font-size:14px
        }
        .article-bottom a{padding:10px 14px;border:1px solid var(--line);border-radius:10px}
        .article-bottom a:hover{background:var(--jade-soft);border-color:#acd0c4}
        .not-found{text-align:center;padding:44px 20px}
        .not-found h2{font-size:28px;margin:0 0 10px}
        .not-found p{color:var(--muted);margin:0 0 23px}
        .cta{padding:66px 0;background:var(--jade-deep);color:#fff}
        .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
        .cta h2{font-size:clamp(25px,3vw,37px);line-height:1.3;margin:0 0 8px}
        .cta p{color:rgba(255,255,255,.74);margin:0}
        .cta .btn{background:var(--orange);color:#fff}
        .cta .btn:hover{background:#f19d53}
        footer{background:#123d37;color:#d7e5df;padding:55px 0 24px}
        .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}
        .footer-brand p{color:#9cb7ae;font-size:14px;max-width:280px;margin:17px 0 0}
        footer .brand{color:#fff}
        .footer-col{display:flex;flex-direction:column;gap:8px}
        .footer-col h3{color:#fff;font-size:15px;margin:0 0 9px}
        .footer-col a{color:#a9c1b9;font-size:14px}
        .footer-col a:hover{color:#f4b16e}
        .copyright{
            display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.13);
            margin-top:42px;padding-top:19px;color:#8eaaa1;font-size:12px
        }
        @media (max-width:1024px){
            .nav-wrap{gap:20px}.nav{gap:16px}.nav a{font-size:13px}
            .article-layout{gap:30px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}
            .footer-grid .footer-col:last-child{display:none}
        }
        @media (max-width:768px){
            .container{width:min(var(--container),calc(100% - 34px))}
            .nav-wrap{height:68px}.nav{display:none;position:absolute;left:17px;right:17px;top:66px;padding:10px 18px;
                flex-direction:column;align-items:stretch;gap:0;background:var(--white);border:1px solid var(--line);
                border-radius:14px;box-shadow:var(--shadow)}
            .nav.open{display:flex}.nav a{padding:11px 0;border-bottom:1px solid var(--line)}
            .nav a:last-child{border-bottom:0}.nav a:after{display:none}
            .menu-toggle{display:block;margin-left:auto}.nav-action{display:none}
            .article-hero{padding:43px 0 38px}.article-hero h1{font-size:34px}
            .article-summary{font-size:16px}.article-layout{display:block;padding:42px 0 60px}
            .side-stack{position:static;margin-top:25px;grid-template-columns:1fr 1fr}
            .article-card{padding:25px 20px}.article-content{font-size:16px}
            .cta-inner{display:block}.cta .btn{margin-top:22px}
            .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}
        }
        @media (max-width:520px){
            .brand-text{font-size:15px}.article-hero h1{font-size:29px}
            .breadcrumb{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
            .article-meta{gap:8px 15px}.side-stack{grid-template-columns:1fr}
            .article-bottom{display:grid;grid-template-columns:1fr}
            .footer-grid{grid-template-columns:1fr}.footer-grid .footer-col:last-child{display:flex}
            .copyright{display:block}.copyright span{display:block;margin-top:6px}
        }

/* roulang page: category1 */
:root{
        --jade:#087d6d;
        --jade-deep:#075b53;
        --jade-soft:#e5f2ee;
        --orange:#e8893d;
        --orange-deep:#c96d27;
        --ink:#17352f;
        --muted:#6d817b;
        --paper:#f6f5f0;
        --white:#fffefa;
        --line:#dce7e1;
        --shadow:0 16px 40px rgba(28,70,61,.09);
        --shadow-soft:0 8px 24px rgba(28,70,61,.07);
        --radius:16px;
        --radius-lg:24px;
        --container:1220px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
        margin:0;color:var(--ink);background:var(--paper);
        font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
        font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    a:hover{color:var(--jade)}
    img{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
    .site-header{
        position:sticky;top:0;z-index:20;background:rgba(255,254,250,.95);
        border-bottom:1px solid var(--line);backdrop-filter:blur(14px)
    }
    .nav-wrap{height:76px;display:flex;align-items:center;gap:36px}
    .brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-weight:800;letter-spacing:.02em}
    .brand-mark{
        position:relative;width:36px;height:36px;border-radius:11px;background:var(--jade);
        display:grid;place-items:center;color:#fff;box-shadow:inset 0 -5px 0 rgba(0,0,0,.12)
    }
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:3px;background:#f8bd70}
    .brand-mark:before{width:8px;height:8px;top:8px;right:8px}
    .brand-mark:after{width:8px;height:8px;bottom:8px;left:8px}
    .brand-text{font-size:17px}
    .nav{display:flex;align-items:center;gap:25px;margin-left:auto}
    .nav a{
        position:relative;padding:24px 0;color:#60756f;font-size:14px;transition:color .2s ease
    }
    .nav a:after{
        content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;background:var(--jade);
        transform:scaleX(0);transform-origin:center;transition:transform .2s ease
    }
    .nav a:hover,.nav a.active{color:var(--jade-deep)}
    .nav a:hover:after,.nav a.active:after{transform:scaleX(1)}
    .nav-action,.btn{
        display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
        padding:0 20px;border:1px solid transparent;border-radius:10px;font-weight:700;font-size:14px;
        transition:transform .2s,box-shadow .2s,background .2s
    }
    .nav-action{background:var(--orange);color:#fff;min-height:40px;padding:0 17px}
    .nav-action:hover,.btn-primary:hover{background:var(--orange-deep);color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px rgba(201,109,39,.2)}
    .menu-toggle{display:none;border:0;background:none;color:var(--jade);font-size:25px}
    .btn-primary{background:var(--orange);color:#fff}
    .btn-secondary{background:transparent;border-color:#b8d1c8;color:var(--jade-deep)}
    .btn-secondary:hover{background:var(--jade-soft);border-color:var(--jade);transform:translateY(-2px)}
    .btn:active,.nav-action:active{transform:translateY(1px);box-shadow:none}
    .btn:focus-visible,.nav-action:focus-visible,.nav a:focus-visible,.faq-question:focus-visible{
        outline:3px solid rgba(232,137,61,.38);outline-offset:4px
    }
    .page-hero{padding:64px 0 48px;background:#edf4ef;border-bottom:1px solid var(--line)}
    .breadcrumb{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:25px}
    .breadcrumb a{color:var(--jade)}
    .breadcrumb span{color:#a2b2ac}
    .hero-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
    .eyebrow,.section-kicker{
        display:inline-flex;align-items:center;gap:9px;color:var(--jade);
        font-size:13px;font-weight:800;letter-spacing:.09em
    }
    .eyebrow:before,.section-kicker:before{content:"";width:25px;height:2px;background:var(--orange)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(35px,5vw,62px);line-height:1.18;letter-spacing:-.045em;margin:13px 0 21px}
    .hero-copy{font-size:18px;color:var(--muted);max-width:720px;margin-bottom:0}
    .hero-panel{
        background:var(--jade);color:#fff;border-radius:var(--radius-lg);padding:26px;
        box-shadow:var(--shadow);position:relative;overflow:hidden
    }
    .hero-panel:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.25);border-radius:50%;right:-55px;bottom:-70px}
    .panel-label{font-size:12px;letter-spacing:.08em;color:#bfe1d7}
    .panel-title{font-size:25px;font-weight:800;margin:8px 0 20px}
    .panel-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.18);font-size:14px}
    .panel-row strong{color:#ffd09c;font-size:15px}
    .section{padding:88px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
    .section-title{font-size:clamp(27px,3vw,40px);line-height:1.25;letter-spacing:-.03em;margin:9px 0 0}
    .section-intro{color:var(--muted);max-width:500px;margin:0}
    .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .feature-card{
        background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:27px;
        min-height:220px;transition:transform .2s,box-shadow .2s,border-color .2s
    }
    .feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:#b7d4c9}
    .icon-box{
        width:44px;height:44px;border-radius:13px;background:var(--jade-soft);color:var(--jade);
        display:grid;place-items:center;font-weight:800;font-size:18px;margin-bottom:20px
    }
    .feature-card h3{font-size:20px;margin-bottom:9px}
    .feature-card p{font-size:14px;color:var(--muted);margin-bottom:0}
    .guide-section{background:#fffefa}
    .guide-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px;align-items:start}
    .guide-aside{position:sticky;top:105px}
    .guide-aside h2{font-size:34px;line-height:1.3;margin:10px 0 16px}
    .guide-aside p{color:var(--muted)}
    .mini-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
    .tag{display:inline-flex;padding:6px 11px;border-radius:30px;background:var(--jade-soft);color:var(--jade-deep);font-size:12px;font-weight:700}
    .steps{border-top:1px solid var(--line)}
    .step{
        display:grid;grid-template-columns:58px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)
    }
    .step-number{
        width:42px;height:42px;border-radius:50%;background:var(--jade);color:#fff;
        display:grid;place-items:center;font-weight:800
    }
    .step h3{font-size:20px;margin:0 0 5px}
    .step p{color:var(--muted);font-size:14px;margin:0;max-width:620px}
    .entry-section{padding-top:0}
    .entry-card{
        display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center;
        background:var(--jade);color:#fff;border-radius:var(--radius-lg);padding:42px 48px;overflow:hidden;position:relative
    }
    .entry-card:before{content:"";position:absolute;left:-100px;bottom:-120px;width:300px;height:300px;border:1px solid rgba(255,255,255,.2);border-radius:50%}
    .entry-card h2{font-size:32px;line-height:1.3;margin:10px 0 14px;position:relative}
    .entry-card p{color:#cce5de;max-width:560px;position:relative}
    .entry-list{position:relative;display:grid;gap:10px}
    .entry-list div{display:flex;justify-content:space-between;gap:20px;padding:14px 17px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(255,255,255,.08);font-size:14px}
    .entry-list span{color:#a9d4c9}.entry-list strong{color:#fff}
    .faq-section{background:#edf4ef}
    .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
    .faq-intro p{color:var(--muted)}
    .faq-list{display:grid;gap:10px}
    .faq-item{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}
    .faq-question{
        width:100%;border:0;background:transparent;color:var(--ink);text-align:left;
        padding:18px 21px;font-weight:700;display:flex;justify-content:space-between;gap:20px
    }
    .faq-question:after{content:"＋";color:var(--jade);font-size:20px;line-height:1}
    .faq-answer{display:none;padding:0 21px 19px;color:var(--muted);font-size:14px}
    .faq-item.open{border-color:#a8cec1}.faq-item.open .faq-question{color:var(--jade-deep)}
    .faq-item.open .faq-question:after{content:"－"}.faq-item.open .faq-answer{display:block}
    .cta-section{padding:72px 0}
    .cta-box{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#f8eadc;border:1px solid #efd5b9;border-radius:var(--radius-lg);padding:34px 40px}
    .cta-box h2{font-size:28px;margin:0 0 6px}.cta-box p{margin:0;color:var(--muted);font-size:14px}
    footer{background:#17352f;color:#d7e5df;padding:58px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;padding-bottom:42px}
    .footer-brand p{color:#9db5ad;font-size:14px;max-width:280px;margin-top:17px}
    footer .brand{color:#fff}.footer-col{display:flex;flex-direction:column;gap:9px}
    .footer-col h3{font-size:15px;color:#fff;margin-bottom:9px}.footer-col a{font-size:13px;color:#a9c0b8}
    .footer-col a:hover{color:#f4b16e}
    .copyright{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;color:#88a59b;font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
    @media(max-width:1024px){
        .nav-wrap{gap:20px}.nav{gap:15px}.hero-layout,.guide-grid,.faq-grid{gap:38px}
        .entry-card{padding:34px}.feature-grid{gap:13px}
    }
    @media(max-width:768px){
        .container{width:min(var(--container),calc(100% - 34px))}
        .nav-wrap{height:68px}.menu-toggle{display:block;margin-left:auto}
        .nav{display:none;position:absolute;left:17px;right:17px;top:68px;background:var(--white);border:1px solid var(--line);border-radius:0 0 15px 15px;padding:10px 18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}
        .nav.open{display:flex}.nav a{padding:11px 0}.nav a:after{bottom:4px;right:auto;width:35px}
        .nav-action{display:none}.hero-layout,.guide-grid,.faq-grid,.entry-card{grid-template-columns:1fr}
        .page-hero{padding:43px 0 35px}.hero-panel{margin-top:5px}
        .section{padding:64px 0}.section-head{display:block;margin-bottom:25px}.section-intro{margin-top:14px}
        .feature-grid{grid-template-columns:1fr}.feature-card{min-height:0}
        .guide-aside{position:static}.entry-card{gap:25px}.cta-box{display:block;padding:28px}.cta-box .btn{margin-top:20px}
        .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
    }
    @media(max-width:520px){
        h1{font-size:38px}.hero-copy{font-size:16px}.hero-panel{padding:22px}
        .guide-aside h2{font-size:29px}.entry-card{padding:28px 22px}.entry-card h2{font-size:27px}
        .step{grid-template-columns:44px 1fr;gap:14px}.step-number{width:36px;height:36px;font-size:13px}
        .footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-bottom:5px}
    }

/* roulang page: category3 */
:root{
            --jade:#087d6d;
            --jade-deep:#075b53;
            --jade-soft:#e5f2ee;
            --orange:#e8893d;
            --orange-deep:#c96d27;
            --ink:#17352f;
            --muted:#6d817b;
            --paper:#f6f5f0;
            --white:#fffefa;
            --line:#dce7e1;
            --shadow:0 16px 40px rgba(28,70,61,.09);
            --shadow-soft:0 8px 24px rgba(28,70,61,.07);
            --radius:16px;
            --radius-lg:24px;
            --container:1220px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:var(--paper);
            font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
            font-size:16px;
            line-height:1.75;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .site-header{
            position:sticky;top:0;z-index:30;
            background:rgba(255,254,250,.95);
            border-bottom:1px solid var(--line);
            backdrop-filter:blur(14px);
        }
        .nav-wrap{height:76px;display:flex;align-items:center;gap:36px}
        .brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-weight:800;letter-spacing:.02em}
        .brand-mark{
            position:relative;width:36px;height:36px;border-radius:11px;
            background:var(--jade);display:grid;place-items:center;color:#fff;
            box-shadow:inset 0 -5px 0 rgba(0,0,0,.12);
        }
        .brand-mark:before,.brand-mark:after{
            content:"";position:absolute;border-radius:3px;background:#f8bd70;
        }
        .brand-mark:before{width:8px;height:8px;top:8px;right:8px}
        .brand-mark:after{width:8px;height:8px;bottom:8px;left:8px}
        .brand-text{font-size:17px}
        .nav{
            display:flex;align-items:center;gap:25px;margin-left:auto;
        }
        .nav a{
            position:relative;padding:24px 0;color:#60756f;font-size:14px;
            transition:color .2s ease;
        }
        .nav a:after{
            content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;
            background:var(--jade);transform:scaleX(0);
            transform-origin:center;transition:transform .2s ease;
        }
        .nav a:hover,.nav a.active{color:var(--jade-deep)}
        .nav a:hover:after,.nav a.active:after{transform:scaleX(1)}
        .nav-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            min-height:44px;padding:0 20px;border:1px solid transparent;
            border-radius:10px;font-weight:700;font-size:14px;
            transition:transform .2s,box-shadow .2s,background .2s;
        }
        .nav-action{background:var(--orange);color:#fff;min-height:40px;padding:0 17px}
        .nav-action:hover,.btn-primary:hover{
            background:var(--orange-deep);transform:translateY(-2px);
            box-shadow:0 8px 16px rgba(201,109,39,.2);
        }
        .menu-toggle{
            display:none;border:0;background:none;color:var(--jade);
            font-size:25px;padding:5px;
        }
        .btn-primary{background:var(--orange);color:#fff}
        .btn-secondary{background:transparent;border-color:#b8d1c8;color:var(--jade-deep)}
        .btn-secondary:hover{background:var(--jade-soft);border-color:var(--jade);transform:translateY(-2px)}
        .btn:active,.nav-action:active{transform:translateY(1px);box-shadow:none}
        .btn:focus-visible,.nav-action:focus-visible,.nav a:focus-visible,
        .faq-question:focus-visible{outline:3px solid rgba(232,137,61,.38);outline-offset:4px}
        .hero{
            position:relative;padding:70px 0 76px;overflow:hidden;
            background:#eef4ef;border-bottom:1px solid var(--line);
        }
        .hero:before{
            content:"";position:absolute;right:-130px;top:-230px;width:610px;height:610px;
            border:1px solid #cfe1d9;border-radius:50%;
            box-shadow:0 0 0 30px rgba(207,225,217,.25),0 0 0 70px rgba(207,225,217,.14);
        }
        .breadcrumb{font-size:13px;color:var(--muted);margin-bottom:22px}
        .breadcrumb a{color:var(--jade);font-weight:700}
        .hero-grid{
            position:relative;display:grid;grid-template-columns:1fr .9fr;
            gap:70px;align-items:center;
        }
        .eyebrow,.section-kicker{
            display:inline-flex;align-items:center;gap:9px;color:var(--jade);
            font-size:13px;font-weight:800;letter-spacing:.09em;
        }
        .eyebrow:before,.section-kicker:before{
            content:"";width:25px;height:2px;background:var(--orange);
        }
        h1,h2,h3,p{margin-top:0}
        h1{
            max-width:700px;margin:15px 0 20px;font-size:clamp(34px,5vw,62px);
            line-height:1.15;letter-spacing:-.045em;
        }
        .hero-copy{max-width:620px;color:var(--muted);font-size:18px}
        .hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
        .hero-notes{
            display:flex;gap:24px;margin-top:35px;padding-top:21px;
            border-top:1px solid #cbded5;flex-wrap:wrap;
        }
        .hero-note{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
        .hero-note i{width:8px;height:8px;border-radius:50%;background:var(--jade)}
        .device-stage{
            position:relative;min-height:360px;display:flex;justify-content:center;align-items:center;
        }
        .device{
            position:relative;width:220px;height:365px;border:8px solid #17352f;
            border-radius:31px;background:#f9fbf7;
            box-shadow:18px 22px 0 rgba(8,125,109,.12),var(--shadow);
            transform:rotate(5deg);z-index:2;overflow:hidden;
        }
        .device:before{
            content:"";position:absolute;top:9px;left:50%;width:64px;height:7px;
            transform:translateX(-50%);border-radius:10px;background:#17352f;
        }
        .device-top{height:95px;background:var(--jade);padding:30px 17px 12px;color:#fff}
        .device-top strong{display:block;font-size:17px}
        .device-top span{font-size:11px;opacity:.8}
        .device-body{padding:18px 15px}
        .device-line{height:11px;background:#dbeae4;border-radius:10px;margin-bottom:12px}
        .device-line.short{width:61%}
        .device-card{height:72px;border-radius:12px;background:var(--jade-soft);margin:18px 0;padding:12px}
        .device-card b{font-size:12px;color:var(--jade-deep)}
        .device-card em{display:block;width:55%;height:8px;background:#a9cfc4;border-radius:8px;margin-top:9px}
        .device-nav{position:absolute;bottom:13px;left:15px;right:15px;height:38px;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding-top:10px;color:var(--jade)}
        .download-badge{
            position:absolute;right:3%;bottom:18px;width:170px;padding:18px;
            border-radius:16px;background:var(--orange);color:#fff;z-index:3;
            box-shadow:var(--shadow-soft);transform:rotate(-4deg);
        }
        .download-badge strong{display:block;font-size:18px}
        .download-badge span{font-size:12px;opacity:.9}
        .section{padding:88px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
        .section-title{font-size:clamp(27px,3.4vw,42px);line-height:1.25;letter-spacing:-.035em;margin:9px 0 0}
        .section-intro{color:var(--muted);max-width:480px}
        .download-panel{
            display:grid;grid-template-columns:1fr .85fr;gap:55px;align-items:center;
            padding:47px;border-radius:var(--radius-lg);background:var(--jade);color:#fff;
            box-shadow:var(--shadow);
        }
        .download-panel .section-kicker{color:#d3eee7}
        .download-panel h2{font-size:clamp(27px,3.5vw,43px);line-height:1.25;margin:12px 0 16px}
        .download-panel p{color:#d3e8e1;max-width:580px}
        .download-meta{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0}
        .meta-item{
            padding:8px 13px;border:1px solid rgba(255,255,255,.25);
            border-radius:9px;color:#edf8f4;font-size:13px;
        }
        .download-panel .btn-primary{background:var(--orange)}
        .qr-area{
            min-height:250px;background:#f8fbf6;border-radius:18px;color:var(--ink);
            display:flex;align-items:center;justify-content:center;gap:22px;padding:25px;
        }
        .qr-box{
            width:136px;height:136px;padding:9px;background:#fff;border:1px solid #d4e1da;
            display:grid;grid-template-columns:repeat(9,1fr);gap:3px;
        }
        .qr-box i{background:var(--jade);display:block}
        .qr-box i:nth-child(3n),.qr-box i:nth-child(7n){background:var(--orange)}
        .qr-text{max-width:130px;font-size:13px;color:var(--muted)}
        .qr-text strong{display:block;color:var(--ink);font-size:16px;margin-bottom:5px}
        .steps{
            display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
        }
        .step{padding:28px 25px 26px 0;border-right:1px solid var(--line);margin-right:25px}
        .step:last-child{border-right:0}
        .step-num{color:var(--orange);font-size:13px;font-weight:800;letter-spacing:.08em}
        .step h3{font-size:19px;margin:8px 0 5px}
        .step p{color:var(--muted);font-size:14px;margin-bottom:0}
        .feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
        .feature-card{
            padding:29px;background:var(--white);border:1px solid var(--line);
            border-radius:var(--radius);box-shadow:var(--shadow-soft);
            transition:transform .2s,box-shadow .2s;
        }
        .feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
        .feature-card.large{grid-row:span 2;background:var(--jade-soft);padding:38px}
        .feature-icon{
            width:40px;height:40px;border-radius:12px;background:var(--jade);
            color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:18px;
        }
        .feature-card h3{font-size:21px;margin-bottom:8px}
        .feature-card p{color:var(--muted);font-size:14px;margin-bottom:0}
        .compatibility{
            display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:start;
        }
        .compatibility-note{color:var(--muted)}
        .compat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
        .compat-item{
            background:var(--white);border:1px solid var(--line);border-radius:13px;
            padding:18px 20px;display:flex;align-items:center;gap:13px;
        }
        .compat-item b{font-size:15px}
        .compat-item span{display:block;color:var(--muted);font-size:12px}
        .compat-dot{width:10px;height:10px;border-radius:50%;background:var(--orange);flex:none}
        .faq-list{max-width:900px;margin:0 auto}
        .faq-item{border-top:1px solid var(--line)}
        .faq-item:last-child{border-bottom:1px solid var(--line)}
        .faq-question{
            width:100%;display:flex;justify-content:space-between;align-items:center;
            gap:20px;text-align:left;border:0;background:none;color:var(--ink);
            padding:21px 3px;font-weight:700;
        }
        .faq-question span:last-child{color:var(--jade);font-size:23px;transition:transform .2s}
        .faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 45px 22px 3px}
        .faq-item.open .faq-answer{display:block}
        .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
        .cta{
            padding:55px 0;background:#e9f1ec;border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
        }
        .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
        .cta h2{font-size:clamp(25px,3vw,37px);margin:8px 0}
        .cta p{color:var(--muted);margin-bottom:0}
        footer{padding:54px 0 25px;background:#17352f;color:#dcebe5}
        .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:42px}
        .footer-brand p{max-width:300px;color:#a9c1b9;font-size:14px;margin-top:17px}
        footer .brand{color:#fff}
        footer .brand-mark{background:#087d6d}
        .footer-col h3{font-size:15px;color:#fff;margin:3px 0 15px}
        .footer-col a{display:block;color:#a9c1b9;font-size:14px;margin:7px 0;transition:color .2s}
        .footer-col a:hover{color:#f5b16e}
        .copyright{
            border-top:1px solid rgba(220,235,229,.16);padding-top:20px;
            display:flex;justify-content:space-between;gap:20px;color:#94ada4;font-size:12px;
        }
        @media (max-width:1024px){
            .nav-wrap{gap:20px}.nav{gap:16px}
            .hero-grid{gap:35px}.download-panel{gap:30px;padding:35px}
            .footer-grid{gap:25px}
        }
        @media (max-width:768px){
            .container{width:min(var(--container),calc(100% - 32px))}
            .nav-wrap{height:68px}.menu-toggle{display:block;margin-left:auto}
            .nav{
                display:none;position:absolute;top:68px;left:0;right:0;
                padding:12px 20px 20px;background:var(--white);
                border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft);
                flex-direction:column;align-items:stretch;gap:0;
            }
            .nav.show{display:flex}
            .nav a{padding:12px 0;border-bottom:1px solid var(--line)}
            .nav a:after{display:none}
            .nav-action{display:none}
            .hero{padding:47px 0 52px}
            .hero-grid,.download-panel,.compatibility{grid-template-columns:1fr}
            .hero-copy{font-size:16px}.hero-actions .btn{flex:1}
            .device-stage{min-height:320px;margin-top:15px}
            .section{padding:65px 0}
            .section-head,.cta-inner{display:block}
            .section-intro{margin-top:15px}
            .download-panel{padding:27px;gap:28px}
            .steps{grid-template-columns:repeat(2,1fr)}
            .step:nth-child(2){border-right:0}
            .step:nth-child(3),.step:nth-child(4){border-top:1px solid var(--line)}
            .feature-grid{grid-template-columns:1fr}
            .feature-card.large{grid-row:auto}
            .footer-grid{grid-template-columns:1fr 1fr}
            .footer-brand{grid-column:1/-1}
            .cta .btn{margin-top:22px}
            .copyright{display:block}.copyright span{display:block;margin-top:6px}
        }
        @media (max-width:520px){
            h1{font-size:37px}
            .hero-actions{display:grid;grid-template-columns:1fr}
            .hero-notes{gap:13px;display:grid;grid-template-columns:1fr 1fr}
            .device{width:190px;height:320px}
            .download-badge{right:0;bottom:5px;width:145px;padding:14px}
            .download-badge strong{font-size:15px}
            .steps,.compat-list{grid-template-columns:1fr}
            .step{border-right:0!important;margin-right:0;padding-right:0}
            .step+ .step{border-top:1px solid var(--line)}
            .qr-area{flex-direction:column;text-align:center}
            .footer-grid{grid-template-columns:1fr}
            .footer-brand{grid-column:auto}
        }

/* roulang page: category2 */
:root{
            --jade:#087d6d;
            --jade-deep:#075b53;
            --jade-soft:#e5f2ee;
            --orange:#e8893d;
            --orange-deep:#c96d27;
            --ink:#17352f;
            --muted:#6d817b;
            --paper:#f6f5f0;
            --white:#fffefa;
            --line:#dce7e1;
            --shadow:0 16px 40px rgba(28,70,61,.09);
            --shadow-soft:0 8px 24px rgba(28,70,61,.07);
            --radius:16px;
            --radius-lg:24px;
            --container:1220px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:var(--paper);
            font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
            font-size:16px;
            line-height:1.75;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none}
        a:hover{color:inherit}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .site-header{
            position:sticky;
            top:0;
            z-index:20;
            background:rgba(255,254,250,.95);
            border-bottom:1px solid var(--line);
            backdrop-filter:blur(14px);
        }
        .nav-wrap{height:76px;display:flex;align-items:center;gap:36px}
        .brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-weight:800;letter-spacing:.02em}
        .brand-mark{
            position:relative;
            width:36px;
            height:36px;
            border-radius:11px;
            background:var(--jade);
            display:grid;
            place-items:center;
            color:#fff;
            box-shadow:inset 0 -5px 0 rgba(0,0,0,.12);
        }
        .brand-mark:before,.brand-mark:after{
            content:"";
            position:absolute;
            border-radius:3px;
            background:#f8bd70;
        }
        .brand-mark:before{width:8px;height:8px;top:8px;right:8px}
        .brand-mark:after{width:8px;height:8px;bottom:8px;left:8px}
        .brand-name,.brand-text{font-size:17px}
        .main-nav{display:flex;align-items:center;gap:25px;margin-left:auto}
        .main-nav a{
            position:relative;
            padding:24px 0;
            color:#60756f;
            font-size:14px;
            transition:color .2s ease;
        }
        .main-nav a:after{
            content:"";
            position:absolute;
            left:0;
            right:0;
            bottom:15px;
            height:2px;
            background:var(--jade);
            transform:scaleX(0);
            transform-origin:center;
            transition:transform .2s ease;
        }
        .main-nav a:hover,.main-nav a.active{color:var(--jade-deep)}
        .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
        .nav-action,.btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:8px;
            min-height:44px;
            padding:0 20px;
            border:1px solid transparent;
            border-radius:10px;
            font-weight:700;
            font-size:14px;
            transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;
        }
        .nav-action{background:var(--orange);color:#fff;min-height:40px;padding:0 17px}
        .nav-action:hover,.btn-primary:hover{
            background:var(--orange-deep);
            color:#fff;
            transform:translateY(-2px);
            box-shadow:0 8px 16px rgba(201,109,39,.2);
        }
        .menu-toggle{
            display:none;
            border:0;
            background:none;
            color:var(--jade);
            font-size:25px;
            line-height:1;
        }
        .btn-primary{background:var(--orange);color:#fff}
        .btn-secondary{background:transparent;border-color:#b8d1c8;color:var(--jade-deep)}
        .btn-secondary:hover{background:var(--jade-soft);border-color:var(--jade);transform:translateY(-2px)}
        .btn:active,.nav-action:active{transform:translateY(1px);box-shadow:none}
        .btn:focus-visible,.nav-action:focus-visible,.main-nav a:focus-visible,
        .faq-question:focus-visible,.filter-button:focus-visible{
            outline:3px solid rgba(232,137,61,.38);
            outline-offset:4px;
        }
        .page-hero{
            position:relative;
            overflow:hidden;
            padding:72px 0 66px;
            background:#eef4ef;
            border-bottom:1px solid var(--line);
        }
        .page-hero:before{
            content:"";
            position:absolute;
            width:500px;
            height:500px;
            right:-150px;
            top:-260px;
            border:1px solid #c9ded4;
            border-radius:50%;
            box-shadow:0 0 0 28px rgba(201,222,212,.24),0 0 0 58px rgba(201,222,212,.16);
        }
        .hero-grid{
            position:relative;
            display:grid;
            grid-template-columns:1.1fr .9fr;
            gap:70px;
            align-items:end;
        }
        .eyebrow,.section-kicker{
            display:inline-flex;
            align-items:center;
            gap:9px;
            color:var(--jade);
            font-size:13px;
            font-weight:800;
            letter-spacing:.09em;
        }
        .eyebrow:before,.section-kicker:before{
            content:"";
            width:25px;
            height:2px;
            background:var(--orange);
        }
        h1,h2,h3,p{margin-top:0}
        h1{
            max-width:750px;
            margin:14px 0 20px;
            font-size:clamp(36px,5vw,64px);
            line-height:1.18;
            letter-spacing:-.045em;
        }
        .hero-copy{
            max-width:700px;
            margin-bottom:0;
            color:var(--muted);
            font-size:18px;
        }
        .crumbs{
            display:flex;
            align-items:center;
            gap:10px;
            margin-bottom:22px;
            color:var(--muted);
            font-size:13px;
        }
        .crumbs a:hover{color:var(--jade)}
        .crumbs span{color:#a1b2ac}
        .hero-panel{
            position:relative;
            min-height:245px;
            padding:28px;
            border:1px solid #c9ded4;
            border-radius:var(--radius-lg);
            background:var(--white);
            box-shadow:var(--shadow-soft);
        }
        .panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
        .panel-label{color:var(--jade-deep);font-weight:800;font-size:14px}
        .panel-status{
            display:inline-flex;
            align-items:center;
            gap:7px;
            color:var(--muted);
            font-size:12px;
        }
        .panel-status:before{
            content:"";
            width:8px;
            height:8px;
            border-radius:50%;
            background:var(--orange);
        }
        .signal-list{display:grid;gap:15px}
        .signal-item{display:grid;grid-template-columns:70px 1fr 45px;gap:12px;align-items:center;color:var(--muted);font-size:13px}
        .signal-item strong{color:var(--ink);font-size:14px}
        .signal-line{height:8px;border-radius:10px;background:var(--jade-soft);overflow:hidden}
        .signal-line i{display:block;height:100%;border-radius:10px;background:var(--jade)}
        .signal-item:nth-child(1) i{width:82%}
        .signal-item:nth-child(2) i{width:65%}
        .signal-item:nth-child(3) i{width:48%}
        .signal-item em{font-style:normal;text-align:right;color:var(--jade)}
        .section{padding:88px 0}
        .section-head{
            display:flex;
            justify-content:space-between;
            align-items:end;
            gap:30px;
            margin-bottom:34px;
        }
        .section-title{
            margin:9px 0 0;
            font-size:clamp(27px,3.2vw,42px);
            line-height:1.25;
            letter-spacing:-.035em;
        }
        .section-intro{max-width:500px;margin-bottom:0;color:var(--muted)}
        .filter-shell{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:22px;
            padding:18px 20px;
            margin-bottom:32px;
            border:1px solid var(--line);
            border-radius:14px;
            background:var(--white);
            box-shadow:var(--shadow-soft);
        }
        .filter-title{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}
        .filter-buttons{display:flex;gap:8px;flex-wrap:wrap}
        .filter-button{
            border:1px solid var(--line);
            border-radius:999px;
            padding:7px 15px;
            color:var(--muted);
            background:transparent;
            font-size:13px;
            transition:all .2s ease;
        }
        .filter-button:hover,.filter-button.active{
            color:var(--jade-deep);
            border-color:#9fc5b8;
            background:var(--jade-soft);
        }
        .feature-news{
            display:grid;
            grid-template-columns:1.12fr .88fr;
            gap:0;
            overflow:hidden;
            border-radius:var(--radius-lg);
            background:var(--jade);
            color:#fff;
            box-shadow:var(--shadow);
        }
        .feature-copy{padding:44px 48px}
        .feature-copy .tag{
            display:inline-flex;
            padding:5px 11px;
            border:1px solid rgba(255,255,255,.32);
            border-radius:999px;
            color:#eaf8f1;
            font-size:12px;
        }
        .feature-copy h2{max-width:610px;margin:20px 0 14px;font-size:clamp(25px,3vw,38px);line-height:1.3}
        .feature-copy p{max-width:590px;margin-bottom:27px;color:rgba(255,255,255,.78)}
        .feature-meta{display:flex;gap:18px;flex-wrap:wrap;color:#d6eee6;font-size:13px}
        .feature-visual{
            position:relative;
            min-height:310px;
            overflow:hidden;
            background:#075b53;
        }
        .feature-visual:before{
            content:"";
            position:absolute;
            width:270px;
            height:270px;
            top:28px;
            left:45px;
            border:1px solid rgba(255,255,255,.26);
            border-radius:50%;
            box-shadow:0 0 0 24px rgba(255,255,255,.05),0 0 0 48px rgba(255,255,255,.04);
        }
        .feature-visual:after{
            content:"资讯";
            position:absolute;
            right:30px;
            bottom:26px;
            color:rgba(255,255,255,.16);
            font-size:74px;
            font-weight:900;
            letter-spacing:.08em;
        }
        .news-card{
            position:absolute;
            z-index:1;
            top:62px;
            left:60px;
            width:235px;
            padding:20px;
            border:1px solid rgba(255,255,255,.25);
            border-radius:14px;
            background:rgba(255,255,255,.12);
        }
        .news-card small{color:#f8c284}
        .news-card h3{margin:12px 0 9px;font-size:20px;line-height:1.4}
        .news-card p{margin:0;color:rgba(255,255,255,.7);font-size:13px}
        .timeline-section{background:#f0f4ef}
        .timeline-layout{
            display:grid;
            grid-template-columns:.72fr 1.28fr;
            gap:70px;
            align-items:start;
        }
        .timeline-aside{
            padding:30px;
            border-radius:var(--radius);
            background:var(--white);
            border:1px solid var(--line);
        }
        .timeline-aside h3{margin:14px 0 10px;font-size:22px}
        .timeline-aside p{margin-bottom:22px;color:var(--muted);font-size:14px}
        .mini-tags{display:flex;gap:8px;flex-wrap:wrap}
        .mini-tags span{
            padding:6px 10px;
            border-radius:8px;
            background:var(--jade-soft);
            color:var(--jade-deep);
            font-size:12px;
            font-weight:700;
        }
        .timeline{position:relative;padding-left:32px}
        .timeline:before{
            content:"";
            position:absolute;
            left:7px;
            top:8px;
            bottom:8px;
            width:1px;
            background:#bdd5cc;
        }
        .timeline-item{
            position:relative;
            padding:0 0 28px 22px;
            border-bottom:1px solid var(--line);
            margin-bottom:27px;
        }
        .timeline-item:last-child{border-bottom:0;margin-bottom:0}
        .timeline-item:before{
            content:"";
            position:absolute;
            left:-31px;
            top:8px;
            width:15px;
            height:15px;
            border:4px solid var(--paper);
            border-radius:50%;
            background:var(--orange);
            box-shadow:0 0 0 1px #dbad80;
        }
        .timeline-date{color:var(--jade);font-size:13px;font-weight:800}
        .timeline-item h3{margin:7px 0 5px;font-size:20px}
        .timeline-item p{margin:0;color:var(--muted);font-size:14px}
        .empty-state{
            margin-top:35px;
            padding:28px 30px;
            text-align:center;
            border:1px dashed #b7cec4;
            border-radius:var(--radius);
            background:rgba(255,254,250,.68);
        }
        .empty-icon{
            width:48px;
            height:48px;
            display:grid;
            place-items:center;
            margin:0 auto 12px;
            border-radius:14px;
            background:var(--jade-soft);
            color:var(--jade);
            font-size:22px;
            font-weight:800;
        }
        .empty-state h3{margin-bottom:7px;font-size:18px}
        .empty-state p{max-width:450px;margin:0 auto 17px;color:var(--muted);font-size:14px}
        .guide-grid{
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:18px;
        }
        .guide-card{
            padding:27px;
            min-height:205px;
            border:1px solid var(--line);
            border-radius:var(--radius);
            background:var(--white);
            transition:transform .2s,box-shadow .2s,border-color .2s;
        }
        .guide-card:hover{transform:translateY(-4px);border-color:#a9cabe;box-shadow:var(--shadow-soft)}
        .guide-number{color:var(--orange);font-size:13px;font-weight:900;letter-spacing:.08em}
        .guide-card h3{margin:18px 0 8px;font-size:19px}
        .guide-card p{margin:0;color:var(--muted);font-size:14px}
        .faq-section{background:#eef4ef}
        .faq-list{max-width:920px;margin:0 auto}
        .faq-item{
            margin-bottom:12px;
            overflow:hidden;
            border:1px solid var(--line);
            border-radius:12px;
            background:var(--white);
        }
        .faq-question{
            display:flex;
            align-items:center;
            justify-content:space-between;
            width:100%;
            padding:19px 22px;
            border:0;
            background:transparent;
            color:var(--ink);
            text-align:left;
            font-weight:800;
        }
        .faq-question span:last-child{color:var(--jade);font-size:23px;font-weight:400;transition:transform .2s}
        .faq-answer{display:none;padding:0 22px 20px;color:var(--muted);font-size:14px}
        .faq-item.open{border-color:#a8cbbf;box-shadow:var(--shadow-soft)}
        .faq-item.open .faq-answer{display:block}
        .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
        .cta{
            padding:48px 55px;
            border-radius:var(--radius-lg);
            background:var(--orange);
            color:#fff;
            position:relative;
            overflow:hidden;
        }
        .cta:after{
            content:"";
            position:absolute;
            width:270px;
            height:270px;
            right:-75px;
            top:-110px;
            border:1px solid rgba(255,255,255,.3);
            border-radius:50%;
            box-shadow:0 0 0 25px rgba(255,255,255,.08),0 0 0 50px rgba(255,255,255,.06);
        }
        .cta-inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:30px}
        .cta h2{margin:0 0 8px;font-size:30px;line-height:1.3}
        .cta p{margin:0;color:rgba(255,255,255,.82);font-size:14px}
        .cta .btn{background:#fff;color:var(--orange-deep)}
        .cta .btn:hover{background:#fff8ee;color:var(--orange-deep)}
        footer{padding:62px 0 25px;background:#17352f;color:#dcebe5}
        .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;padding-bottom:44px}
        .footer-brand p{max-width:280px;margin:17px 0 0;color:#9eb8ae;font-size:14px}
        .footer-brand .brand{color:#fff}
        .footer-col{display:flex;flex-direction:column;gap:8px}
        .footer-col h3{margin:0 0 10px;color:#fff;font-size:15px}
        .footer-col a{color:#a9c1b8;font-size:14px;transition:color .2s,transform .2s}
        .footer-col a:hover{color:#fff;transform:translateX(2px)}
        .copyright{
            display:flex;
            justify-content:space-between;
            gap:20px;
            padding-top:21px;
            border-top:1px solid rgba(220,235,229,.18);
            color:#8eaaa0;
            font-size:12px;
        }
        @media (max-width:1024px){
            .nav-wrap{gap:20px}
            .main-nav{gap:16px}
            .hero-grid,.feature-news{gap:35px}
            .timeline-layout{gap:35px}
            .section{padding:72px 0}
        }
        @media (max-width:768px){
            .container{width:min(var(--container),calc(100% - 34px))}
            .nav-wrap{height:68px}
            .menu-toggle{display:block;margin-left:auto}
            .main-nav{
                display:none;
                position:absolute;
                top:68px;
                left:0;
                right:0;
                flex-direction:column;
                align-items:stretch;
                gap:0;
                padding:8px 17px 16px;
                background:var(--white);
                border-bottom:1px solid var(--line);
                box-shadow:var(--shadow-soft);
            }
            .main-nav.open{display:flex}
            .main-nav a{padding:12px 4px}
            .main-nav a:after{bottom:5px;right:auto;width:34px}
            .nav-action{display:none}
            .hero-grid,.feature-news,.timeline-layout{grid-template-columns:1fr}
            .page-hero{padding:52px 0 48px}
            h1{font-size:clamp(34px,9vw,52px)}
            .hero-panel{min-height:220px}
            .feature-copy{padding:34px 28px}
            .feature-visual{min-height:240px}
            .news-card{top:40px;left:32px}
            .filter-shell{align-items:flex-start;flex-direction:column}
            .guide-grid{grid-template-columns:1fr}
            .guide-card{min-height:auto}
            .section-head{display:block}
            .section-intro{margin-top:14px}
            .cta{padding:35px 27px}
            .cta-inner{display:block}
            .cta .btn{margin-top:22px}
            .footer-grid{grid-template-columns:1.4fr 1fr;gap:30px}
            .copyright{display:block}
            .copyright span{display:block;margin-top:7px}
        }
        @media (max-width:520px){
            .brand-name,.brand-text{font-size:15px}
            .crumbs{margin-bottom:15px}
            .hero-copy{font-size:16px}
            .section{padding:58px 0}
            .hero-panel{padding:22px}
            .signal-item{grid-template-columns:62px 1fr 37px;font-size:12px}
            .feature-copy h2{font-size:26px}
            .feature-visual{min-height:220px}
            .news-card{left:22px;width:220px}
            .timeline{padding-left:25px}
            .timeline-item{padding-left:15px}
            .timeline-item:before{left:-24px}
            .cta h2{font-size:25px}
            .footer-grid{grid-template-columns:1fr 1fr;gap:25px 18px}
            .footer-brand{grid-column:1/-1}
        }

/* 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}
