/* roulang page: index */
:root{
      --ink:#20282a;--ink-soft:#4e5a5c;--paper:#f7f7f3;--mist:#ecefeb;
      --cyan:#57b9b3;--cyan-deep:#218d89;--signal:#e8894b;--line:#d9dfdc;
      --white:#fff;--dark:#20282a;--radius:16px;--shadow:0 14px 34px rgba(31,43,42,.08);
      --container:1220px;
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.8;font-size:15px}
    img{display:block;max-width:100%;height:auto}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:auto}
    .toolbar{height:38px;background:var(--dark);color:#cbd5d1;font-size:12px}
    .tool-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
    .tool-left,.tool-right{display:flex;gap:22px;align-items:center}
    .signal-dot{width:7px;height:7px;border-radius:50%;background:var(--signal);display:inline-block;margin-right:7px}
    .header{position:sticky;top:0;z-index:20;background:rgba(247,247,243,.97);border-bottom:1px solid var(--line);transition:.25s}
    .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.03em;font-size:19px;white-space:nowrap}
    .logo-mark{width:31px;height:31px;border:2px solid var(--ink);display:grid;place-items:center;position:relative}
    .logo-mark:after{content:"";width:9px;height:9px;background:var(--cyan);display:block}
    .nav-links{display:flex;align-items:center;gap:26px;font-size:14px;color:var(--ink-soft)}
    .nav-links a{height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}
    .nav-links a:hover,.nav-links a.active{color:var(--ink);border-color:var(--cyan)}
    .btn{min-height:46px;padding:10px 20px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:.2s}
    .btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#394648;transform:translateY(-2px)}
    .btn-cyan{background:var(--cyan);color:#153735}.btn-cyan:hover{background:#78cbc6;transform:translateY(-2px)}
    .btn-outline{border-color:#8eb8b5;color:var(--cyan-deep);background:transparent}.btn-outline:hover{background:#e2f1ef}
    .menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:7px;width:46px;height:46px}
    .hero{min-height:650px;position:relative;overflow:hidden;color:#fff;background:#263335}
    .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s}
    .hero-slide.active{opacity:1}
    .hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,33,34,.9) 0%,rgba(24,33,34,.63) 44%,rgba(24,33,34,.12) 100%)}
    .slide-a{background-image:url('/assets/images/79e5faf3c1de6b6d.webp')}
    .slide-b{background-image:url('/assets/images/a73dc48e04883bba.webp')}
    .slide-c{background-image:url('/assets/images/b0b8b432a154bebe.webp')}
    .hero-content{position:relative;z-index:2;padding:110px 0 95px;max-width:760px}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--cyan);font-weight:700}
    .eyebrow:before{content:"";width:28px;height:2px;background:var(--signal)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(40px,5.5vw,72px);line-height:1.16;letter-spacing:-.06em;margin:20px 0 25px;max-width:720px}
    .hero-copy{font-size:17px;line-height:1.9;color:#e3eae7;max-width:700px;margin-bottom:30px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero .btn-outline{color:#fff;border-color:#afcbc6}.hero .btn-outline:hover{color:var(--ink)}
    .hero-meta{position:absolute;bottom:38px;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:end}
    .hero-count{font-family:monospace;font-size:13px;letter-spacing:.15em}
    .hero-controls{display:flex;gap:8px}
    .round-btn{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:50%;font-size:18px}
    .round-btn:hover,.round-btn:focus{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
    section{padding:104px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:48px}
    .section-head h2{font-size:clamp(29px,4vw,47px);line-height:1.25;letter-spacing:-.05em;margin:12px 0 0}
    .section-head p{max-width:510px;color:var(--ink-soft);margin-bottom:3px}
    .intro{background:#fff}
    .intro-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:82px;align-items:center}
    .intro h2{font-size:42px;line-height:1.3;letter-spacing:-.05em;margin:15px 0 22px}
    .intro p{color:var(--ink-soft)}
    .intro-list{border-top:1px solid var(--line);margin-top:28px}
    .intro-list div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}
    .intro-list b{font-family:monospace;color:var(--cyan-deep)}
    .dashboard{background:var(--mist);padding:18px;border-radius:22px;position:relative}
    .dashboard img{width:100%;height:390px;object-fit:cover;border-radius:13px}
    .dash-tag{position:absolute;bottom:34px;left:34px;background:var(--dark);color:#fff;padding:13px 17px;border-left:3px solid var(--signal);font-size:13px}
    .matrix{background:var(--mist)}
    .matrix-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}
    .matrix-card{background:#fff;border:1px solid var(--line);padding:27px;min-height:175px;border-radius:13px;transition:.2s}
    .matrix-card:first-child{grid-row:span 2;background:var(--dark);color:#fff}
    .matrix-card:hover{border-color:var(--cyan);box-shadow:var(--shadow)}
    .matrix-num{font:700 12px monospace;color:var(--signal);letter-spacing:.1em}
    .matrix-card h3{font-size:20px;margin:15px 0 8px;line-height:1.4}
    .matrix-card p{font-size:13px;color:var(--ink-soft);margin:0}.matrix-card:first-child p{color:#c5d1ce}
    .tag{display:inline-block;padding:3px 9px;background:#e4f2f0;color:var(--cyan-deep);font-size:11px;border-radius:4px}
    .advantages{background:#fff}
    .adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .adv-card{padding:28px 25px;border:1px solid var(--line);border-radius:12px;min-height:190px;transition:.2s}
    .adv-card:hover{border-color:var(--cyan);background:#fbfffe}
    .adv-no{color:var(--signal);font:700 14px monospace;border-bottom:2px solid var(--signal);padding-bottom:5px}
    .adv-card h3{font-size:19px;margin:20px 0 8px}.adv-card p{font-size:13px;color:var(--ink-soft);margin:0}
    .products{background:var(--paper)}
    .product-track{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:17px}
    .product-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}
    .product-card:first-child{display:grid;grid-template-columns:1fr 1fr}
    .product-card img{width:100%;height:190px;object-fit:cover}.product-card:first-child img{height:100%;min-height:280px}
    .product-body{padding:25px}.product-body h3{font-size:21px;margin:13px 0 9px}.product-body p{color:var(--ink-soft);font-size:13px;margin-bottom:18px}
    .process{background:#fff}.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
    .process-line:before{content:"";position:absolute;top:23px;left:9%;right:9%;height:1px;background:var(--line)}
    .step{position:relative;padding:0 22px 0 0}.step-dot{width:47px;height:47px;border-radius:50%;background:var(--paper);border:1px solid var(--signal);display:grid;place-items:center;color:var(--signal);font:700 13px monospace;position:relative;z-index:1}
    .step h3{font-size:18px;margin:23px 0 7px}.step p{font-size:13px;color:var(--ink-soft);max-width:220px}
    .case{background:var(--dark);color:#fff}.case .section-head p{color:#b8c8c3}.case-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.case-main{position:relative;min-height:430px;border-radius:22px;overflow:hidden}.case-main img{width:100%;height:100%;object-fit:cover}.case-main:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,27,28,.9),transparent 65%)}
    .case-caption{position:absolute;bottom:28px;left:30px;z-index:1}.case-caption h3{font-size:25px;margin:13px 0 3px}.case-caption p{color:#d0dbd7;font-size:13px}
    .case-side{display:grid;gap:16px}.case-tile{background:#303b3d;border-radius:18px;padding:27px;border:1px solid #435253}.case-tile strong{font:700 33px monospace;color:var(--cyan);display:block}.case-tile p{font-size:13px;color:#cad4d1;margin:6px 0 0}
    .stories{background:var(--mist)}.story-wrap{display:grid;grid-template-columns:1.5fr .5fr;gap:18px}.story-main{background:#fff;border-radius:18px;padding:42px;border-left:5px solid var(--cyan)}.story-main blockquote{font-size:25px;line-height:1.55;margin:20px 0 25px;letter-spacing:-.03em}.story-meta{font-size:13px;color:var(--ink-soft)}.story-side{background:#e0ebe8;padding:30px;border-radius:18px}.story-side h3{font-size:20px}.story-side li{margin:12px 0;font-size:13px}
    .stats{background:var(--cyan);padding:55px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.stat{border-right:1px solid rgba(20,55,53,.22);padding-right:20px}.stat:last-child{border:0}.stat strong{font:700 38px monospace;display:block;letter-spacing:-.07em}.stat span{font-size:13px;color:#235451}
    .reviews{background:#fff}.review-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:17px}.review-primary,.review-small{border:1px solid var(--line);border-radius:16px;padding:33px}.review-primary{background:var(--dark);color:#fff}.quote{font-size:24px;line-height:1.6;margin:20px 0}.review-small{background:var(--paper);margin-bottom:17px}.review-small:last-child{margin-bottom:0}.review-small p{font-size:14px}.review-small span,.review-primary span{color:var(--ink-soft);font-size:12px}.review-primary span{color:#b6c7c2}
    .ecosystem{padding:65px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.eco-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.eco-list span{border:1px solid var(--line);padding:12px 20px;border-radius:7px;background:#fff;font-size:13px}
    .news{background:#fff}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.news-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.news-card img{height:145px;width:100%;object-fit:cover}.news-card div{padding:20px}.news-card small{color:var(--signal);font-family:monospace}.news-card h3{font-size:17px;line-height:1.5;margin:10px 0 5px}.news-card p{font-size:13px;color:var(--ink-soft);margin:0}
    .faq{background:var(--mist)}.faq-list{max-width:900px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;min-height:64px;padding:16px 0;background:none;border:0;text-align:left;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--ink)}.faq-q span:last-child{font-size:22px;color:var(--cyan-deep);transition:.2s}.faq-q[aria-expanded=true] span:last-child{transform:rotate(45deg)}.faq-a{display:none;padding:0 42px 20px 0;color:var(--ink-soft);font-size:14px}.faq-a.open{display:block}
    .promise{background:#fff;padding:52px 0}.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.promise-item{padding:12px 25px;border-right:1px solid var(--line)}.promise-item:first-child{padding-left:0}.promise-item:last-child{border:0}.promise-item b{display:block;font-size:16px;margin-bottom:7px}.promise-item p{font-size:12px;color:var(--ink-soft);margin:0}
    .contact{background:var(--dark);color:#fff}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact h2{font-size:43px;line-height:1.3;letter-spacing:-.05em;margin:16px 0}.contact-copy{color:#c4d1cd;max-width:430px}.contact-tags{display:flex;flex-wrap:wrap;gap:8px;margin:27px 0}.contact-tags span{font-size:12px;border:1px solid #526263;padding:6px 10px;border-radius:4px}
    .contact-info{color:#b9c8c4;font-size:13px;line-height:2.2}.contact-form{background:#fff;color:var(--ink);padding:30px;border-radius:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fafbf9;border-radius:6px;padding:11px 12px;outline:none;min-height:45px}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan-deep);box-shadow:0 0 0 3px rgba(87,185,179,.17)}.form-note{font-size:12px;color:#77817f;margin:13px 0}.form-status{font-size:13px;min-height:25px;margin-top:10px}.contact-form .btn{width:100%}
    footer{background:#182021;color:#b9c6c2;padding:48px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:30px;border-bottom:1px solid #354143}.footer-brand{color:#fff;font-size:18px;font-weight:800}.footer-nav{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.footer-nav a:hover{color:var(--cyan)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;color:#879693}
    :focus-visible{outline:3px solid var(--signal);outline-offset:3px}
    @media(max-width:1024px){.nav-links{gap:13px}.intro-grid{gap:35px}.product-track{grid-template-columns:1fr 1fr}.product-card:first-child{grid-column:1/-1}.contact-grid{gap:35px}}
    @media(max-width:768px){.container{width:min(100% - 34px,600px)}.tool-left span:nth-child(2),.tool-right span:first-child{display:none}.nav{height:65px}.menu-btn{display:block}.nav-links{position:absolute;top:65px;left:0;right:0;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:10px 22px 18px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px rgba(0,0,0,.06)}.nav-links.open{display:flex}.nav-links a{height:48px}.nav-links .nav-cta{margin-top:8px}.hero{min-height:590px}.hero-content{padding:80px 0 100px}h1{font-size:43px}.hero-copy{font-size:15px}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:16px}.intro-grid,.case-grid,.story-wrap,.review-grid,.contact-grid{grid-template-columns:1fr}.intro h2,.contact h2{font-size:34px}.dashboard img{height:280px}.matrix-grid{grid-template-columns:1fr 1fr}.matrix-card:first-child{grid-row:auto;grid-column:1/-1}.adv-grid{grid-template-columns:1fr 1fr}.process-line{grid-template-columns:1fr;gap:28px;padding-left:23px}.process-line:before{top:23px;bottom:23px;left:46px;width:1px;height:auto;right:auto}.step{display:grid;grid-template-columns:47px 1fr;column-gap:18px}.step h3{margin:0;padding-top:7px}.step p{grid-column:2}.case-main{min-height:300px}.stats-grid{grid-template-columns:1fr 1fr;gap:25px}.stat{border:0}.promise-grid{grid-template-columns:1fr 1fr;gap:22px}.promise-item,.promise-item:first-child{padding:0;border:0}.news-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:480px){body{font-size:14px}.container{width:calc(100% - 28px)}.toolbar{font-size:11px}.logo{font-size:16px}.hero-content{padding-top:66px}.hero h1{font-size:38px}.hero-meta{bottom:22px}.matrix-grid,.adv-grid,.product-track,.news-grid,.form-grid{grid-template-columns:1fr}.product-card:first-child{display:block;grid-column:auto}.product-card:first-child img{height:190px;min-height:0}.case-main{min-height:260px}.story-main{padding:27px}.story-main blockquote,.quote{font-size:20px}.stats-grid{grid-template-columns:1fr 1fr}.stat strong{font-size:29px}.contact-form{padding:21px}.field.full{grid-column:auto}.form-grid{gap:12px}.footer-top,.footer-bottom{display:block}.footer-nav{margin-top:22px;gap:13px 18px}.footer-bottom span{display:block;margin-top:7px}}
