/* roulang page: index */
:root{
            --paper:#f4f2ec;--paper-2:#ebece5;--ink:#20231f;--graphite:#1d211e;
            --muted:#687069;--asphalt:#66706a;--line:#d9ddd4;--lime:#c7e84a;
            --orange:#d86b36;--white:#f5f3ed;--radius:22px;--shadow:0 16px 44px rgba(29,33,30,.08);
            --ease:cubic-bezier(.2,.75,.25,1)
        }
        *{box-sizing:border-box;margin:0;padding:0}
        html{scroll-behavior:smooth}
        body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;background:var(--paper);color:var(--ink);line-height:1.7;font-size:16px;overflow-x:hidden}
        body.menu-open{overflow:hidden}
        a{color:inherit;text-decoration:none}
        button,input,textarea,select{font:inherit}
        button{border:0;cursor:pointer}
        img{display:block;width:100%;object-fit:cover}
        ul{list-style:none}
        :focus-visible{outline:3px solid var(--lime);outline-offset:4px}
        .container{width:min(1240px,calc(100% - 64px));margin:auto}
        .eyebrow{font:700 11px/1.2 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--asphalt)}
        .eyebrow.light{color:var(--lime)}
        .section{padding:118px 0;position:relative}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}
        .section-head h2{font-size:clamp(34px,4.2vw,52px);line-height:1.12;letter-spacing:-.055em;font-weight:700;max-width:650px}
        .section-head p{color:var(--muted);max-width:430px;font-size:15px}
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:0 22px;border:1px solid var(--ink);font-weight:700;font-size:14px;transition:.3s var(--ease)}
        .btn:after{content:"↗";font-size:18px;transition:.3s var(--ease)}
        .btn:hover{transform:translateY(-3px);background:var(--lime);border-color:var(--lime)}
        .btn:hover:after{transform:translate(3px,-3px)}
        .btn.dark{background:var(--graphite);color:var(--white);border-color:var(--graphite)}
        .btn.dark:hover{color:var(--ink);background:var(--lime)}
        .btn.light{background:var(--lime);border-color:var(--lime)}
        .btn.light:hover{background:var(--white);border-color:var(--white)}
        .topline{height:38px;background:var(--graphite);color:#cfd4ca;font-size:12px}
        .topline .container{height:100%;display:flex;justify-content:space-between;align-items:center}
        .topline strong{color:var(--lime);font-weight:600}
        .top-contact{display:flex;gap:24px}
        .site-header{position:fixed;top:0;left:0;width:100%;z-index:20;transition:.3s var(--ease)}
        .site-header.scrolled{background:rgba(244,242,236,.96);box-shadow:0 5px 22px rgba(29,33,30,.07)}
        .site-header.scrolled .topline{height:32px}
        .navrow{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2)}
        .site-header.scrolled .navrow{border-color:var(--line)}
        .brand{display:flex;align-items:center;gap:11px;min-width:250px}
        .brand-mark{width:30px;height:30px;border:2px solid var(--lime);position:relative;transform:rotate(45deg)}
        .brand-mark:after{content:"";position:absolute;width:8px;height:8px;background:var(--lime);right:3px;bottom:3px}
        .brand-text{font-weight:800;line-height:1.12;font-size:16px;letter-spacing:-.03em}
        .brand-text small{display:block;font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.1em;margin-top:4px}
        .site-header:not(.scrolled) .brand-text,.site-header:not(.scrolled) .brand-text small{color:var(--white)}
        .main-nav{display:flex;gap:27px;align-items:center}
        .main-nav a{height:82px;display:flex;align-items:center;font-size:13px;position:relative;color:var(--muted)}
        .site-header:not(.scrolled) .main-nav a{color:#e3e5dd}
        .main-nav a:after{content:"";position:absolute;bottom:21px;left:0;width:0;height:2px;background:var(--lime);transition:.3s var(--ease)}
        .main-nav a:hover,.main-nav a.active{color:var(--ink)}
        .site-header:not(.scrolled) .main-nav a:hover,.site-header:not(.scrolled) .main-nav a.active{color:var(--white)}
        .main-nav a:hover:after,.main-nav a.active:after{width:100%}
        .nav-cta{min-height:42px!important;padding:0 16px!important;color:var(--ink)!important;background:var(--lime);border-color:var(--lime)!important}
        .nav-cta:after{display:none}
        .menu-toggle{display:none;background:none;width:48px;height:48px;color:var(--ink);font-size:24px}
        .site-header:not(.scrolled) .menu-toggle{color:var(--white)}
        .hero{height:790px;min-height:680px;position:relative;color:var(--white);overflow:hidden}
        .hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}
        .hero-slide.active{opacity:1;visibility:visible}
        .hero-slide img{height:100%;object-position:center}
        .hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,19,16,.86) 0%,rgba(15,19,16,.48) 47%,rgba(15,19,16,.12) 100%)}
        .hero-content{position:absolute;z-index:2;left:calc((100% - 1240px)/2);bottom:132px;width:min(670px,calc(100% - 64px))}
        .hero h1{font-size:clamp(48px,6.2vw,78px);line-height:1.08;letter-spacing:-.075em;margin:20px 0 22px}
        .hero-copy{font-size:17px;color:#e3e6dd;max-width:600px;line-height:1.85}
        .hero-actions{display:flex;gap:12px;margin-top:34px}
        .hero-meta{position:absolute;z-index:3;bottom:48px;left:calc((100% - 1240px)/2);right:calc((100% - 1240px)/2);display:flex;align-items:center;gap:18px}
        .progress{height:2px;background:rgba(255,255,255,.35);flex:1;position:relative}.progress i{display:block;height:100%;width:33%;background:var(--lime);transition:.5s}
        .counter{font:600 13px Inter,Arial,sans-serif;white-space:nowrap}.counter b{color:var(--lime);font-size:22px}
        .slider-controls{display:flex;gap:6px}.slider-controls button{width:44px;height:44px;color:var(--white);background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.5);font-size:20px;transition:.25s}
        .slider-controls button:hover{background:var(--lime);color:var(--ink)}
        .hero-tags{position:absolute;right:7%;bottom:155px;z-index:3;display:flex;flex-direction:column;gap:10px}
        .hero-tags span{border-left:2px solid var(--lime);padding-left:10px;font-size:12px;color:#e2e6dc}
        .matrix{display:grid;grid-template-columns:1.08fr 1fr 1fr;grid-template-rows:220px 220px;gap:16px}
        .solution-card{position:relative;overflow:hidden;padding:28px;background:var(--paper-2);border:1px solid var(--line);transition:.35s var(--ease)}
        .solution-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--lime)}
        .solution-card.large{grid-row:span 2;color:var(--white);background:var(--graphite)}
        .solution-card.large:before{content:"";position:absolute;inset:auto -15% -25% 25%;height:70%;border:1px solid rgba(199,232,74,.35);border-radius:50%;transform:rotate(-18deg)}
        .solution-card .num{font:700 11px Inter,Arial,sans-serif;color:var(--asphalt);letter-spacing:.12em}
        .large .num{color:var(--lime)}
        .solution-card h3{font-size:24px;line-height:1.25;margin:24px 0 10px;letter-spacing:-.04em}
        .solution-card p{font-size:14px;color:var(--muted);max-width:290px}.large p{color:#c7cdc3}
        .solution-foot{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center}
        .tag{display:inline-flex;padding:5px 10px;border:1px solid var(--line);font-size:11px;color:var(--asphalt);border-radius:999px}
        .large .tag{border-color:#59635a;color:#dce3d5}
        .arrow{font-size:22px;color:var(--asphalt);transition:.3s}.solution-card:hover .arrow{color:var(--ink);transform:translate(4px,-4px)}
        .intro{background:#e9ebe4}.intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}
        .intro-image{height:540px;position:relative;overflow:hidden;border-radius:24px 24px 80px 24px}.intro-image img{height:100%}
        .image-note{position:absolute;bottom:20px;left:20px;background:var(--lime);padding:10px 14px;font-size:12px;font-weight:700}
        .intro-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.15;letter-spacing:-.06em;margin:14px 0 22px}.intro-copy>p{color:var(--muted);font-size:16px}
        .spec-list{margin-top:30px;border-top:1px solid #cbd1c7}.spec{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #cbd1c7;font-size:14px}.spec b{font-weight:600}.spec span{color:var(--muted);text-align:right}
        .badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.badge{padding:8px 12px;background:var(--white);border:1px solid var(--line);font-size:11px}
        .advantages{background:var(--paper)}.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.adv-card{min-height:235px;padding:28px;border:1px solid var(--line);position:relative;transition:.35s var(--ease)}.adv-card:hover{border-color:var(--lime);box-shadow:var(--shadow);transform:translateY(-4px)}.adv-icon{width:43px;height:43px;border:1px solid var(--asphalt);border-radius:50%;position:relative;margin-bottom:28px}.adv-icon:after{content:"";position:absolute;left:9px;top:20px;width:25px;border-top:2px solid var(--lime);transform:rotate(-30deg)}.adv-card h3{font-size:20px;margin-bottom:9px}.adv-card p{font-size:14px;color:var(--muted);max-width:270px}.adv-card small{position:absolute;right:25px;top:28px;color:var(--asphalt);font:700 11px Inter}.adv-card em{display:block;margin-top:18px;font-style:normal;font-size:11px;color:var(--orange);opacity:0;transform:translateY(5px);transition:.3s}.adv-card:hover em{opacity:1;transform:none}
        .data-strip{background:var(--graphite);color:var(--white);padding:54px 0;overflow:hidden}.data-grid{display:grid;grid-template-columns:repeat(4,1fr)}.data-item{padding:0 32px;border-left:1px solid #485049}.data-item:first-child{border:0;padding-left:0}.data-num{font:700 clamp(36px,4vw,58px)/1 Inter,Arial,sans-serif;color:var(--lime);letter-spacing:-.06em}.data-item p{font-size:14px;color:#bdc5ba;margin-top:10px}.data-item small{color:#7d877c;font-size:11px}
        .process{background:#e9ebe4}.route{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:18px;padding-top:28px}.route:before{content:"";position:absolute;top:55px;left:3%;right:3%;border-top:1px solid #aab3a7}.step{position:relative}.node{width:54px;height:54px;background:var(--paper);border:2px solid var(--asphalt);border-radius:50%;display:grid;place-items:center;font:700 12px Inter;margin-bottom:24px;position:relative;z-index:1}.step:nth-child(3) .node{border-color:var(--orange);color:var(--orange)}.step h3{font-size:18px;margin-bottom:8px}.step p{font-size:13px;color:var(--muted);padding-right:18px}.step .tag{margin-top:17px}
        .products{background:var(--paper)}.product-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:16px}.product{border:1px solid var(--line);background:#eceee8;overflow:hidden;position:relative;transition:.3s}.product:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-main{display:grid;grid-template-columns:1fr 1fr;min-height:330px}.product-image{height:100%;min-height:220px}.product-body{padding:30px}.product h3{font-size:23px;line-height:1.25;margin:15px 0 10px}.product p{font-size:13px;color:var(--muted)}.product-specs{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.product-specs span{font-size:11px;border:1px solid #c8cec5;padding:5px 8px}.product .btn{min-height:40px;font-size:12px;padding:0 14px}.product-small{min-height:330px}.product-small .product-image{height:150px}.product-small .product-body{padding:22px}
        .cases{background:var(--graphite);color:var(--white);overflow:hidden}.cases .section-head p{color:#bbc3b9}.case-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.case-lead h2{font-size:clamp(38px,5vw,64px);line-height:1.08;letter-spacing:-.07em;margin:18px 0 30px}.case-lead p{color:#c1c9bf;max-width:390px}.case-tabs{display:flex;gap:10px;margin-top:34px}.case-tabs button{padding:10px 15px;background:transparent;color:#aeb7ac;border:1px solid #4c574e;font-size:12px}.case-tabs button.active,.case-tabs button:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}.case-panel{display:none;grid-template-columns:.88fr 1.12fr;background:#292e2a;border:1px solid #444d45}.case-panel.active{display:grid}.case-panel img{height:100%;min-height:350px}.case-detail{padding:34px}.case-detail h3{font-size:28px;margin-bottom:18px}.case-detail dl{display:grid;gap:16px}.case-detail dt{color:var(--lime);font-size:11px;letter-spacing:.12em}.case-detail dd{font-size:14px;color:#d2d7cf;border-bottom:1px solid #444d45;padding-bottom:12px}
        .stories{background:#e9ebe4}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-image{height:450px;border-radius:90px 22px 22px 22px;overflow:hidden}.story-image img{height:100%}.story-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.15;letter-spacing:-.06em;margin:16px 0 20px}.story-quote{font-size:23px;line-height:1.5;border-left:3px solid var(--lime);padding-left:20px;margin:28px 0}.story-meta{display:flex;gap:9px;flex-wrap:wrap}.story-meta span{background:var(--paper);padding:7px 11px;font-size:11px}
        .reviews{background:var(--paper)}.review-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.review{background:#fbfaf6;border:1px solid var(--line);min-width:calc(33.333% - 11px);padding:31px;scroll-snap-align:start;position:relative}.review:before{content:"“";color:var(--lime);font:700 58px/1 Georgia;position:absolute;right:25px;top:20px}.stars{color:var(--orange);letter-spacing:3px}.review h3{font-size:18px;margin:24px 0 7px}.review p{color:var(--muted);font-size:14px;min-height:72px}.review-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:11px;color:var(--asphalt)}
        .insights{background:#e9ebe4}.insight-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.feature-news{display:grid;grid-template-columns:1fr 1fr;background:var(--graphite);color:var(--white)}.feature-news img{height:100%;min-height:280px}.news-body{padding:30px}.news-date{font:11px Inter;color:var(--lime)}.news-body h3{font-size:24px;line-height:1.35;margin:18px 0 12px}.news-body p,.news-item p{font-size:13px;color:var(--muted)}.news-body p{color:#c7cec4}.news-list{display:flex;flex-direction:column;border-top:1px solid #cbd1c7}.news-item{padding:20px 0;border-bottom:1px solid #cbd1c7;position:relative}.news-item h3{font-size:17px;margin:6px 30px 5px 0}.news-item:after{content:"↗";position:absolute;right:3px;top:42px;color:var(--asphalt)}
        .partners{background:var(--paper)}.partner-wall{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.partner{height:120px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:22px;transition:.3s}.partner:hover{background:var(--lime)}.partner b{font-size:16px}.partner span{font-size:11px;color:var(--muted);margin-top:5px}.chain{margin-top:26px;display:flex;align-items:center;justify-content:space-between;color:var(--asphalt);font-size:12px}.chain i{height:1px;background:var(--line);flex:1;margin:0 12px}
        .faq{background:#e9ebe4}.faq-list{border-top:1px solid #aeb7ab}.faq-item{border-bottom:1px solid #aeb7ab}.faq-question{width:100%;display:grid;grid-template-columns:60px 1fr 40px;text-align:left;align-items:center;min-height:86px;background:none;color:var(--ink);font-weight:700;font-size:19px}.faq-question small{font:11px Inter;color:var(--asphalt)}.faq-question .plus{font-size:25px;font-weight:300;text-align:center;transition:.3s}.faq-question[aria-expanded=true] .plus{transform:rotate(45deg);color:var(--orange)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}.faq-answer p{padding:0 70px 25px;color:var(--muted);font-size:14px;max-width:850px}
        .contact{background:var(--graphite);color:var(--white);padding:100px 0;overflow:hidden}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;position:relative}.contact h2{font-size:clamp(38px,5vw,63px);line-height:1.08;letter-spacing:-.07em;margin:17px 0 22px}.contact-copy>p{color:#c1c9bf;max-width:430px}.contact-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.contact-tags span{border:1px solid #566157;padding:7px 10px;font-size:11px}.contact-info{display:flex;gap:25px;flex-wrap:wrap;margin-top:48px;font-size:13px;color:#d3d9d0}.contact-info b{display:block;color:var(--lime);font-size:11px;margin-bottom:3px}.contact-form{background:#f5f3ed;color:var(--ink);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field label em{color:var(--orange);font-style:normal}.field input,.field select,.field textarea{border:1px solid #ccd2c8;background:#fffefa;padding:12px 13px;min-height:45px;color:var(--ink);transition:.25s;resize:vertical}.field textarea{min-height:92px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:2px solid var(--lime)}.form-submit{grid-column:1/-1;display:flex;align-items:center;gap:18px}.form-message{font-size:12px;color:var(--asphalt)}.form-message.success{color:#467026}.form-message.error{color:var(--orange)}
        footer{background:var(--graphite);color:#d6ddd2;border-top:1px solid #404940;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr .8fr;gap:45px;padding-bottom:48px}.footer-brand p{font-size:13px;color:#9da89c;max-width:250px;margin-top:18px}.footer-title{color:var(--lime);font-size:11px;letter-spacing:.12em;margin-bottom:17px}.footer-links{display:grid;gap:9px;font-size:13px;color:#b1bbb0}.footer-links a:hover{color:var(--lime)}.footer-note{font-size:12px;color:#9da89c;line-height:1.9}.footer-bottom{border-top:1px solid #404940;padding-top:19px;display:flex;justify-content:space-between;color:#899489;font-size:11px}
        .reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.reveal.show{opacity:1;transform:none}
        @media(max-width:1100px){.container{width:min(100% - 44px,960px)}.hero-content,.hero-meta{left:22px;right:22px}.main-nav{gap:14px}.brand{min-width:220px}.intro-grid,.case-layout,.contact-grid{gap:45px}.matrix{grid-template-columns:1fr 1fr}.solution-card.large{grid-row:span 2}.product-grid{grid-template-columns:1fr 1fr}.product-main{grid-column:1/-1}.partner-wall{grid-template-columns:repeat(3,1fr)}}
        @media(max-width:768px){.section{padding:78px 0}.section-head{display:block;margin-bottom:34px}.section-head p{margin-top:17px}.topline{height:34px}.topline .container{font-size:10px}.top-contact{gap:10px}.top-contact span:first-child{display:none}.navrow{height:68px}.brand{min-width:0}.main-nav{position:fixed;inset:102px 0 0;background:var(--paper);display:flex;align-items:stretch;flex-direction:column;padding:25px 22px;gap:0;transform:translateX(100%);transition:.4s var(--ease);box-shadow:-10px 0 30px rgba(0,0,0,.1)}.menu-open .main-nav{transform:none}.main-nav a{height:52px;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)!important}.main-nav a:after{bottom:0}.main-nav .nav-cta{margin-top:20px;border:0;height:50px;justify-content:center}.menu-toggle{display:block}.hero{height:700px;min-height:640px}.hero-content{bottom:145px;width:calc(100% - 44px)}.hero h1{font-size:44px}.hero-copy{font-size:15px}.hero-tags{display:none}.hero-meta{bottom:30px;flex-wrap:wrap}.progress{order:2;flex-basis:100%}.matrix{grid-template-columns:1fr;grid-template-rows:auto}.solution-card.large{grid-row:auto;min-height:300px}.solution-card{min-height:210px}.intro-grid,.story-grid,.case-layout,.contact-grid{grid-template-columns:1fr}.intro-image{height:340px}.adv-grid{grid-template-columns:1fr 1fr}.data-grid{grid-template-columns:1fr 1fr;gap:30px 0}.data-item:nth-child(3){border-left:0;padding-left:0}.data-item{padding-left:20px}.route{grid-template-columns:1fr;gap:0;padding-left:25px}.route:before{top:30px;bottom:30px;left:51px;right:auto;border-top:0;border-left:1px solid #aab3a7}.step{padding:0 0 30px 52px}.node{position:absolute;left:0;top:0}.product-grid{grid-template-columns:1fr}.product-main{grid-column:auto;display:block}.product-main .product-image{height:220px}.case-panel{grid-template-columns:1fr}.case-panel img{min-height:210px;max-height:240px}.story-image{height:330px}.review{min-width:82%}.insight-grid{grid-template-columns:1fr}.feature-news{grid-template-columns:1fr}.feature-news img{min-height:210px;height:210px}.partner-wall{grid-template-columns:1fr 1fr}.contact-grid{gap:38px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}}
        @media(max-width:480px){.container{width:calc(100% - 32px)}.topline .container{width:calc(100% - 32px)}.topline strong{max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text{font-size:14px}.brand-text small{font-size:9px}.hero-content{left:16px;width:calc(100% - 32px)}.hero h1{font-size:39px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{width:100%}.adv-grid{grid-template-columns:1fr}.data-item{padding:0 10px}.data-num{font-size:35px}.data-item p{font-size:12px}.product-body{padding:22px}.faq-question{grid-template-columns:40px 1fr 30px;font-size:16px}.faq-answer p{padding-left:40px}.contact-form{padding:22px;grid-template-columns:1fr}.field.full,.form-submit{grid-column:auto}.form-submit{display:block}.form-submit .btn{width:100%}.form-message{display:block;margin-top:12px}.footer-grid{grid-template-columns:1fr}.chain{font-size:10px}.chain i{margin:0 6px}}
        @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.hero-slide{transition:none}}
