/* roulang page: index */
:root{
      --ink:#1c2421;
      --muted:#68736d;
      --paper:#f4f5f0;
      --white:#fff;
      --line:#dfe4dd;
      --green:#c4ed48;
      --green-dark:#91bd20;
      --orange:#edb35b;
      --charcoal:#17201d;
      --charcoal-2:#232e29;
      --shadow:0 14px 38px rgba(28,36,33,.08);
      --radius:8px;
      --container:1240px;
      --ease:180ms ease;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.78}
    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%;height:auto}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    h1,h2,h3,p{margin:0}
    ul{list-style:none;margin:0;padding:0}
    .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#63705f;font-size:12px;font-weight:700;letter-spacing:0}
    .eyebrow::before{content:"";width:22px;height:3px;background:var(--green);display:inline-block}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:44px}
    .section-head h2{font-size:clamp(28px,4vw,50px);line-height:1.2;letter-spacing:0;font-weight:750;max-width:680px}
    .section-head p{color:var(--muted);max-width:470px;line-height:1.85}
    .section{padding:104px 0}
    .section.alt{background:#e9ece6}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:6px;font-weight:700;transition:transform var(--ease),background var(--ease),border-color var(--ease),color var(--ease);white-space:nowrap}
    .btn:hover{transform:translateY(-2px)}
    .btn:focus-visible,.icon-btn:focus-visible,.nav-link:focus-visible,.faq-question:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(145,189,32,.48);outline-offset:3px}
    .btn-primary{background:var(--green);color:var(--ink)}
    .btn-primary:hover{background:#d2f95b}
    .btn-dark{background:var(--charcoal);color:var(--white)}
    .btn-dark:hover{background:#2c3a33}
    .btn-light{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
    .btn-light:hover{background:rgba(255,255,255,.1);border-color:#fff}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(244,245,240,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
    .topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:inline-flex;align-items:center;gap:11px;font-size:19px;font-weight:800;white-space:nowrap}
    .brand-mark{width:30px;height:30px;background:var(--green);border-radius:5px;display:grid;place-items:center;font-size:16px;font-weight:900}
    .primary-nav{display:flex;align-items:center;gap:5px}
    .nav-link{padding:10px 12px;color:#536059;font-size:14px;border-radius:5px;transition:background var(--ease),color var(--ease)}
    .nav-link:hover,.nav-link.active{background:#e4e9de;color:var(--ink)}
    .header-actions{display:flex;align-items:center;gap:12px}
    .contact-link{font-size:13px;color:var(--muted)}
    .subnav{border-top:1px solid #e8ebe5}
    .subnav-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
    .subnav-list{display:flex;gap:26px;overflow:auto;white-space:nowrap}
    .subnav-list a{font-size:12px;color:#717b75;transition:color var(--ease)}
    .subnav-list a:hover{color:var(--ink)}
    .status-line{display:flex;align-items:center;gap:8px;color:#66736a;font-size:12px;white-space:nowrap}
    .status-dot{width:7px;height:7px;background:var(--green-dark);border-radius:50%}
    .menu-toggle{display:none;border:0;background:none;width:44px;height:44px;font-size:24px;color:var(--ink)}
    .hero{position:relative;min-height:690px;color:#fff;display:flex;align-items:center;overflow:hidden;background:#1a2420}
    .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 700ms ease;background-position:center;background-size:cover}
    .hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,16,.82) 0%,rgba(12,18,16,.53) 44%,rgba(12,18,16,.16) 100%)}
    .hero-slide.active{opacity:1}
    .hero-content{position:relative;z-index:2;padding:82px 0 105px}
    .hero-copy{max-width:715px}
    .hero .eyebrow{color:#d4e7b3}
    .hero h1{font-size:clamp(42px,7vw,82px);line-height:1.12;font-weight:800;margin:22px 0 23px;letter-spacing:0}
    .hero-copy p{font-size:18px;line-height:1.9;color:#edf1e9;max-width:670px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
    .hero-meta{display:flex;flex-wrap:wrap;gap:28px;margin-top:56px}
    .hero-meta strong{display:block;font-size:27px;line-height:1.2;color:var(--green)}
    .hero-meta span{display:block;color:#d5ddd3;font-size:12px;margin-top:5px}
    .hero-bottom{position:absolute;z-index:3;left:0;right:0;bottom:26px}
    .hero-control{display:flex;align-items:center;justify-content:space-between;gap:20px}
    .slide-dots{display:flex;gap:8px}
    .dot{width:34px;height:4px;border:0;background:rgba(255,255,255,.35);padding:0;transition:background var(--ease),width var(--ease)}
    .dot.active{background:var(--green);width:62px}
    .slide-buttons{display:flex;gap:8px}
    .icon-btn{width:44px;height:44px;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.16);color:#fff;border-radius:5px;font-size:19px}
    .icon-btn:hover{background:rgba(196,237,72,.2);border-color:var(--green)}
    .progress-preview{position:absolute;z-index:3;right:8%;bottom:104px;width:190px;padding:20px;border-left:1px solid rgba(255,255,255,.35);color:#fff}
    .progress-ring{width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--green) 0 87%,rgba(255,255,255,.18) 87% 100%);display:grid;place-items:center;margin-bottom:13px}
    .progress-ring::after{content:"87%";width:66px;height:66px;border-radius:50%;background:#28332d;display:grid;place-items:center;font-size:17px;font-weight:800}
    .progress-preview p{font-size:12px;line-height:1.6;color:#dbe5d7}
    .pain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
    .pain-item{background:var(--paper);padding:28px 25px;min-height:220px}
    .pain-index{color:#9ab64a;font-size:13px;font-weight:800}
    .pain-item h3{font-size:20px;margin:20px 0 10px;line-height:1.35}
    .pain-item p{color:var(--muted);font-size:14px;line-height:1.8}
    .solution{background:#fff}
    .solution-grid{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:center}
    .image-frame{position:relative;overflow:hidden;border-radius:var(--radius);background:#d8ddd5}
    .image-frame img{width:100%;height:100%;object-fit:cover}
    .solution-image{aspect-ratio:1.05/1}
    .image-tag{position:absolute;bottom:18px;left:18px;background:var(--green);color:var(--ink);padding:8px 13px;font-size:12px;font-weight:800;border-radius:4px}
    .solution-copy h2{font-size:clamp(30px,4vw,52px);line-height:1.2;margin:16px 0 20px}
    .solution-copy>p{color:var(--muted);line-height:1.9;margin-bottom:28px}
    .solution-list{border-top:1px solid var(--line)}
    .solution-list li{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-size:15px}
    .solution-list b{color:var(--green-dark);min-width:24px}
    .product-layout{display:grid;grid-template-columns:7fr 5fr;gap:38px;align-items:stretch}
    .product-image{min-height:450px}
    .product-detail{background:var(--charcoal);color:#fff;padding:40px;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between}
    .product-detail h3{font-size:30px;line-height:1.3;margin:14px 0}
    .product-detail p{color:#c8d0c9;line-height:1.8;font-size:14px}
    .spec-list{margin-top:28px;border-top:1px solid rgba(255,255,255,.18)}
    .spec-list li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:13px}
    .spec-list span:last-child{color:var(--green);text-align:right}
    .capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .capability-card{background:#fff;border:1px solid var(--line);padding:27px;min-height:230px;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
    .capability-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b8cd80}
    .capability-icon{width:42px;height:42px;display:grid;place-items:center;background:#edf4d5;color:#628218;font-size:20px;border-radius:5px}
    .capability-card h3{font-size:19px;margin:24px 0 9px}
    .capability-card p{color:var(--muted);font-size:14px;line-height:1.8}
    .method{background:var(--charcoal);color:#fff}
    .method .section-head p{color:#c4cdc5}
    .method .eyebrow{color:#d7ed9b}
    .timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid #53605a}
    .timeline::before{content:"";position:absolute;top:-2px;left:0;width:72%;height:3px;background:var(--green)}
    .step{position:relative;padding:31px 22px 0 0;min-height:190px}
    .step:not(:last-child){border-right:1px solid #53605a;margin-right:22px}
    .step-number{width:32px;height:32px;background:var(--green);color:var(--ink);display:grid;place-items:center;border-radius:50%;font-weight:800;margin-bottom:25px;position:relative;z-index:1}
    .step h3{font-size:18px;margin-bottom:9px}
    .step p{font-size:13px;color:#c0cbc2;line-height:1.8;padding-right:15px}
    .combo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .combo-card{background:#fff;border:1px solid var(--line);overflow:hidden}
    .combo-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover}
    .combo-body{padding:23px}
    .combo-body h3{font-size:21px;margin-bottom:9px}
    .combo-body p{color:var(--muted);font-size:14px;line-height:1.8;min-height:76px}
    .combo-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
    .tag{padding:5px 9px;background:#eef2ea;color:#5f6e5d;font-size:11px;border-radius:3px}
    .case-section{background:var(--charcoal);color:#fff}
    .case-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
    .case-copy h2{font-size:clamp(30px,4vw,54px);line-height:1.2;margin:18px 0}
    .case-copy>p{color:#cbd5cc;line-height:1.9;max-width:510px}
    .case-checks{margin-top:31px}
    .case-checks li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#e3ebe3;font-size:14px}
    .case-checks li::before{content:"✓";color:var(--green);font-weight:800}
    .case-image{aspect-ratio:1.18/1}
    .case-image::after{content:"车内判断逻辑 / 实时反馈";position:absolute;right:18px;bottom:18px;background:var(--orange);color:var(--ink);padding:8px 12px;font-size:11px;font-weight:700}
    .story-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:stretch}
    .story-feature{position:relative;min-height:480px;border-radius:var(--radius);overflow:hidden;color:#fff}
    .story-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .story-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,26,22,.84),rgba(18,26,22,.05) 70%)}
    .story-caption{position:absolute;z-index:1;left:30px;right:30px;bottom:28px}
    .story-caption h3{font-size:28px;line-height:1.35;margin:12px 0}
    .story-caption p{color:#e0e7df;font-size:14px}
    .story-list{display:flex;flex-direction:column;gap:12px}
    .story-row{background:#fff;border:1px solid var(--line);padding:21px;display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:start}
    .story-avatar{width:54px;height:54px;border-radius:50%;background:#dce7c3;display:grid;place-items:center;color:#5e761d;font-weight:800}
    .story-row h3{font-size:17px;margin-bottom:5px}
    .story-row p{font-size:13px;color:var(--muted);line-height:1.75}
    .stat-section{padding:58px 0;background:var(--green)}
    .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
    .stat-item{padding-right:20px;border-right:1px solid rgba(28,36,33,.25)}
    .stat-item:last-child{border:0}
    .stat-item strong{font-size:42px;line-height:1.1;display:block}
    .stat-item span{display:block;margin-top:8px;font-size:13px;font-weight:700}
    .stat-item small{display:block;margin-top:7px;font-size:11px;color:#50602b;line-height:1.6}
    .scene-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
    .scene-item{background:var(--paper);padding:25px 20px;min-height:190px}
    .scene-item:nth-child(2),.scene-item:nth-child(4){background:#fff}
    .scene-item h3{font-size:18px;margin:22px 0 8px}
    .scene-item p{color:var(--muted);font-size:13px;line-height:1.75}
    .scene-mark{color:#88a72c;font-size:22px;font-weight:800}
    .review-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .review-card{background:#fff;padding:30px;border:1px solid var(--line);min-height:255px;position:relative}
    .review-card::before{content:"“";font-size:60px;line-height:1;color:var(--green-dark);position:absolute;top:15px;right:22px}
    .review-card blockquote{font-size:16px;line-height:1.85;margin:14px 0 28px}
    .review-person{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:16px}
    .review-person b{font-size:13px}
    .review-person span{display:block;color:var(--muted);font-size:11px}
    .news-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
    .news-lead{background:var(--charcoal);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:330px}
    .news-lead img{width:100%;height:100%;object-fit:cover}
    .news-lead-body{padding:30px;display:flex;flex-direction:column;justify-content:end}
    .news-lead-body h3{font-size:24px;line-height:1.4;margin:12px 0}
    .news-lead-body p{color:#c5d0c6;font-size:13px;line-height:1.8}
    .news-list{background:#fff;border:1px solid var(--line)}
    .news-item{display:block;padding:22px;border-bottom:1px solid var(--line);transition:background var(--ease)}
    .news-item:last-child{border-bottom:0}
    .news-item:hover{background:#f1f5e9}
    .news-item small{color:#8aa33a;font-size:11px}
    .news-item h3{font-size:16px;margin:6px 0}
    .news-item p{color:var(--muted);font-size:12px;line-height:1.7}
    .faq-layout{display:grid;grid-template-columns:4fr 8fr;gap:70px}
    .faq-intro h2{font-size:clamp(30px,4vw,51px);line-height:1.2;margin:17px 0}
    .faq-intro p{color:var(--muted);line-height:1.85}
    .faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;min-height:68px;border:0;background:transparent;text-align:left;padding:18px 42px 18px 0;position:relative;font-weight:700;color:var(--ink)}
    .faq-question::after{content:"+";position:absolute;right:5px;top:14px;font-size:25px;font-weight:400;color:var(--green-dark)}
    .faq-question[aria-expanded="true"]::after{content:"−"}
    .faq-answer{display:none;color:var(--muted);font-size:14px;line-height:1.85;padding:0 40px 20px 0}
    .faq-answer.open{display:block}
    .cta-section{background:#dfe8cf;padding:92px 0}
    .cta-layout{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:start}
    .cta-copy h2{font-size:clamp(32px,4vw,56px);line-height:1.2;margin:16px 0}
    .cta-copy p{color:#5d6b58;line-height:1.85;max-width:470px}
    .cta-note{display:flex;gap:12px;margin-top:28px;color:#66745e;font-size:12px;line-height:1.7}
    .cta-note::before{content:"";width:4px;min-width:4px;background:var(--green-dark);align-self:stretch}
    .lead-form{background:#fff;padding:30px;border:1px solid #ccd8bb;border-radius:var(--radius);box-shadow:var(--shadow)}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .field{display:flex;flex-direction:column;gap:7px}
    .field.full{grid-column:1/-1}
    .field label{font-size:12px;font-weight:700;color:#4e5c4d}
    .field input,.field textarea{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:4px;padding:12px 13px;color:var(--ink);transition:border-color var(--ease),box-shadow var(--ease)}
    .field input{height:46px}
    .field textarea{min-height:108px;resize:vertical}
    .field input:focus,.field textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(145,189,32,.15);outline:0}
    .form-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:19px}
    .form-hint{font-size:11px;color:#7a857b;line-height:1.6}
    .form-message{font-size:12px;color:#5b7d1c;margin-top:12px;display:none}
    .site-footer{background:var(--charcoal);color:#fff;padding:66px 0 25px}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1.25fr 1.25fr;gap:45px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.16)}
    .footer-brand p{color:#b8c3ba;font-size:13px;line-height:1.8;max-width:290px;margin-top:18px}
    .footer-title{font-size:13px;color:var(--green);font-weight:700;margin-bottom:16px}
    .footer-links li,.footer-contact li{margin-bottom:10px;color:#b8c3ba;font-size:13px}
    .footer-links a:hover{color:var(--green)}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:#87958a;font-size:11px}
    @media (max-width:1024px){
      .primary-nav{gap:0}
      .nav-link{padding:9px 7px;font-size:13px}
      .progress-preview{right:4%}
      .pain-grid{grid-template-columns:repeat(2,1fr)}
      .scene-grid{grid-template-columns:repeat(3,1fr)}
      .solution-grid,.product-layout,.case-layout,.story-layout,.cta-layout{gap:38px}
    }
    @media (max-width:768px){
      .container{width:min(var(--container),calc(100% - 36px))}
      .topbar{min-height:66px}
      .primary-nav,.header-actions .contact-link,.header-actions .btn,.subnav{display:none}
      .menu-toggle{display:block}
      .site-header.menu-open .primary-nav{display:flex;position:absolute;top:66px;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);padding:12px 18px 18px;flex-direction:column;align-items:stretch;box-shadow:0 14px 24px rgba(0,0,0,.08)}
      .site-header.menu-open .nav-link{padding:13px 12px}
      .hero{min-height:650px}
      .hero-content{padding:70px 0 120px}
      .hero h1{font-size:47px}
      .hero-copy p{font-size:16px}
      .progress-preview{display:none}
      .section{padding:76px 0}
      .section-head{display:block;margin-bottom:30px}
      .section-head p{margin-top:18px}
      .solution-grid,.product-layout,.case-layout,.story-layout,.faq-layout,.cta-layout,.news-layout{grid-template-columns:1fr}
      .solution-image{aspect-ratio:1.35/1}
      .product-image{min-height:300px}
      .capability-grid{grid-template-columns:repeat(2,1fr)}
      .timeline{grid-template-columns:1fr;gap:0;border-top:0;border-left:1px solid #53605a;margin-left:12px}
      .timeline::before{top:0;left:-2px;width:3px;height:72%}
      .step{padding:0 0 30px 29px;min-height:0}
      .step:not(:last-child){border-right:0;margin-right:0}
      .step-number{position:absolute;left:-17px;top:0}
      .combo-grid,.review-track{grid-template-columns:1fr}
      .story-feature{min-height:370px}
      .stat-grid{grid-template-columns:repeat(2,1fr);gap:22px}
      .stat-item:nth-child(2){border:0}
      .scene-grid{grid-template-columns:repeat(2,1fr)}
      .news-lead{grid-template-columns:1fr}
      .news-lead img{height:220px}
      .faq-layout{gap:36px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
      .footer-brand{grid-column:1/-1}
      .footer-bottom{display:block}
      .footer-bottom span{display:block;margin-top:8px}
    }
    @media (max-width:520px){
      body{font-size:15px}
      .container{width:calc(100% - 30px)}
      .brand{font-size:16px}
      .brand-mark{width:27px;height:27px}
      .hero h1{font-size:40px}
      .hero-meta{gap:18px;margin-top:42px}
      .hero-meta strong{font-size:23px}
      .hero-actions{align-items:stretch;flex-direction:column;max-width:220px}
      .hero-actions .btn{width:100%}
      .pain-grid,.capability-grid,.scene-grid,.form-grid{grid-template-columns:1fr}
      .pain-item{min-height:auto}
      .product-detail{padding:27px 22px}
      .case-copy h2,.solution-copy h2{font-size:34px}
      .stat-grid{grid-template-columns:1fr 1fr}
      .stat-item{padding-right:10px}
      .stat-item strong{font-size:31px}
      .form-bottom{align-items:stretch;flex-direction:column}
      .form-bottom .btn{width:100%}
      .footer-grid{grid-template-columns:1fr}
      .footer-brand{grid-column:auto}
    }
