/* roulang page: index */
:root{
      --c-primary:#1F6B4A;
      --c-primary-2:#2B815B;
      --c-ink:#1C1917;
      --c-muted:#67615B;
      --c-accent:#B0893E;
      --c-bg:#F4F0E8;
      --c-bg-alt:#E7EEE9;
      --c-dark:#15231C;
      --c-card:#FFFDF8;
      --c-line:#D5DDD6;
      --c-danger:#B54735;
      --shadow:0 12px 30px rgba(28,25,23,.08);
      --shadow-soft:0 8px 18px rgba(28,25,23,.06);
      --radius:10px;
      --radius-lg:12px;
      --container:1180px;
      --nav-h:78px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",Arial,sans-serif;
      color:var(--c-ink);
      background:var(--c-bg);
      font-size:16px;
      line-height:1.8;
      overflow-x:hidden;
    }
    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer;border:0;background:none}
    :focus-visible{outline:3px solid rgba(176,137,62,.55);outline-offset:3px}
    .container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
    .section{padding:88px 0;position:relative}
    .section.alt{background:var(--c-bg-alt)}
    .section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
    .section-title h2{font-size:clamp(26px,3vw,40px);line-height:1.25;letter-spacing:-.02em}
    .section-title p{max-width:560px;color:var(--c-muted)}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--c-primary);font-weight:700;font-size:14px;letter-spacing:.04em;margin-bottom:10px}
    .eyebrow:before{content:"";width:16px;height:3px;background:var(--c-accent);border-radius:2px}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      min-height:46px;padding:11px 20px;border-radius:6px;font-weight:700;
      transition:.22s ease;border:1px solid transparent;white-space:nowrap
    }
    .btn-primary{background:var(--c-primary);color:#fff;box-shadow:var(--shadow-soft)}
    .btn-primary:hover{background:var(--c-ink);transform:translateY(-1px);box-shadow:var(--shadow)}
    .btn-outline{border-color:rgba(28,25,23,.28);color:var(--c-ink);background:rgba(255,255,255,.55)}
    .btn-outline:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-1px)}
    .btn-light{background:#fff;color:var(--c-primary)}
    .btn:active{transform:translateY(1px);box-shadow:none}
    .badge{display:inline-flex;align-items:center;border:1px solid var(--c-line);background:#fff;padding:4px 10px;border-radius:6px;color:var(--c-primary);font-size:13px;font-weight:700}
    .site-header{position:sticky;top:0;z-index:50;transition:.25s ease}
    .topbar{background:var(--c-dark);color:#EAF3ED;font-size:13px}
    .topbar .container{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:36px}
    .topbar-info,.topbar-link{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
    .topbar a{color:#F8F2E8;text-decoration:underline;text-decoration-color:rgba(176,137,62,.65);text-underline-offset:4px}
    .nav-main{background:rgba(244,240,232,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(213,221,214,.75)}
    .site-header.scrolled .nav-main{background:rgba(255,253,248,.96);box-shadow:0 8px 22px rgba(28,25,23,.08)}
    .nav-row{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:22px}
    .logo{display:flex;align-items:center;gap:12px;min-width:max-content}
    .logo-mark{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--c-primary),#164231);display:grid;place-items:center;color:#F7E8B7;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
    .logo strong{display:block;font-size:20px;line-height:1.15}
    .logo span{display:block;font-size:12px;color:var(--c-muted);line-height:1.3}
    .nav-links{display:flex;align-items:center;gap:4px}
    .nav-links a{position:relative;padding:25px 10px;font-size:14px;font-weight:700;color:#2A2723}
    .nav-links a:after{content:"";position:absolute;left:10px;right:10px;bottom:17px;height:2px;background:var(--c-primary);transform:scaleX(0);transform-origin:left;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--c-primary)}
    .nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}
    .nav-actions{display:flex;align-items:center;gap:10px}
    .menu-btn{display:none;width:46px;height:46px;border:1px solid var(--c-line);border-radius:8px;background:#fff}
    .menu-btn span{display:block;width:20px;height:2px;background:var(--c-ink);margin:5px auto;transition:.2s}
    .hero{min-height:660px;position:relative;color:#fff;background:var(--c-dark);overflow:hidden}
    .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;background-size:cover;background-position:center}
    .hero-slide.active{opacity:1}
    .hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,35,28,.88),rgba(21,35,28,.62),rgba(21,35,28,.25))}
    .hero-inner{position:relative;z-index:2;min-height:660px;display:grid;grid-template-columns:1.05fr .75fr;align-items:center;gap:40px;padding:74px 0}
    .hero-copy h1{font-size:clamp(34px,5vw,62px);line-height:1.12;letter-spacing:-.04em;margin-bottom:20px}
    .hero-copy p{font-size:18px;max-width:690px;color:#F0F4EF;margin-bottom:28px}
    .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
    .hero-points{display:flex;gap:12px;flex-wrap:wrap}
    .hero-points .badge{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25);color:#fff}
    .lead-form{background:rgba(255,253,248,.96);color:var(--c-ink);border-radius:12px;padding:24px;box-shadow:0 18px 45px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.25)}
    .lead-form h3{font-size:22px;margin-bottom:8px}
    .lead-form p{color:var(--c-muted);font-size:14px;margin-bottom:16px}
    .form-grid{display:grid;gap:12px}
    label{font-weight:700;font-size:14px}
    input,select,textarea{width:100%;min-height:46px;border:1px solid var(--c-line);border-radius:8px;background:#fff;padding:10px 12px;color:var(--c-ink);transition:.2s}
    textarea{min-height:96px;resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(31,107,74,.1);outline:none}
    .form-msg{font-size:14px;margin-top:10px;color:var(--c-primary);min-height:22px}
    .hero-controls{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:10px;align-items:center}
    .dot{width:34px;height:4px;border-radius:4px;background:rgba(255,255,255,.35)}
    .dot.active{background:var(--c-accent)}
    .pause{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25)}
    .intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
    .image-frame{border-radius:12px;overflow:hidden;border:1px solid var(--c-line);box-shadow:var(--shadow);background:#fff;position:relative}
    .image-frame:after{content:"凭证 · 资金 · 报表";position:absolute;left:18px;bottom:18px;background:rgba(21,35,28,.82);color:#fff;padding:7px 10px;border-radius:6px;font-size:13px}
    .intro-copy p{color:var(--c-muted);margin-bottom:18px}
    .check-list{display:grid;gap:10px;margin-top:18px}
    .check-list li{list-style:none;padding-left:28px;position:relative;color:#3E3A35}
    .check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--c-primary);font-weight:900}
    .matrix{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:minmax(178px,auto);gap:16px}
    .matrix-card{background:var(--c-card);border:1px solid var(--c-line);border-radius:12px;padding:24px;box-shadow:var(--shadow-soft);transition:.22s}
    .matrix-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
    .matrix-card.wide{grid-row:span 2;background:linear-gradient(180deg,#FFFDF8,#EEF5F0)}
    .matrix-card h3{font-size:21px;margin:8px 0 12px}
    .matrix-card ul{display:grid;gap:7px;color:var(--c-muted);font-size:15px;padding-left:18px}
    .adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .adv-card{background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:24px;box-shadow:var(--shadow-soft)}
    .icon{width:42px;height:42px;border-radius:9px;background:#E7EEE9;color:var(--c-primary);display:grid;place-items:center;font-weight:900;margin-bottom:14px}
    .adv-card h3{font-size:20px;margin-bottom:12px}
    .adv-card li{list-style:none;border-top:1px dashed var(--c-line);padding:8px 0;color:var(--c-muted);font-size:15px}
    .product-list{display:grid;gap:18px}
    .product-card{display:grid;grid-template-columns:90px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:22px;box-shadow:var(--shadow-soft)}
    .product-no{font-size:38px;font-weight:900;color:var(--c-accent);font-variant-numeric:tabular-nums}
    .product-card h3{font-size:22px}
    .product-card p{color:var(--c-muted)}
    .timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:26px}
    .step{position:relative;padding:28px 16px 18px;border-top:3px solid var(--c-primary);background:rgba(255,255,255,.58)}
    .step:before{content:attr(data-step);position:absolute;top:-18px;left:16px;width:34px;height:34px;border-radius:50%;background:var(--c-primary);color:#fff;display:grid;place-items:center;font-weight:900}
    .step h3{font-size:18px;margin-bottom:8px}
    .step p{font-size:14px;color:var(--c-muted)}
    .dark-section{background:var(--c-dark);color:#F4F0E8;overflow:hidden}
    .dark-section:before{content:"";position:absolute;inset:0;background:url('/assets/images/c0f9379813772b5e.webp') center/cover;opacity:.14}
    .dark-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
    .dark-grid h2{font-size:clamp(28px,3.4vw,44px);line-height:1.25;margin-bottom:18px}
    .dark-grid p{color:#DDE8DF}
    .case-slices{display:grid;gap:14px}
    .case-slice{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:18px}
    .case-slice strong{color:#F3D58B;font-size:24px;font-variant-numeric:tabular-nums}
    .story-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .story-card{background:#fff;border:1px solid var(--c-line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}
    .story-card img{height:190px;width:100%;object-fit:cover}
    .story-body{padding:20px}
    .story-body h3{font-size:20px;margin-bottom:8px}
    .story-body p{color:var(--c-muted)}
    .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .stat{background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:24px;text-align:center}
    .stat strong{display:block;font-size:38px;line-height:1;color:var(--c-accent);font-variant-numeric:tabular-nums;margin-bottom:10px}
    .stat span{color:var(--c-muted)}
    .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .review{background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:22px;box-shadow:var(--shadow-soft)}
    .review p{color:#413D38;margin:12px 0}
    .review b{color:var(--c-primary)}
    .wall{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:190px;gap:16px}
    .wall-item{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--c-line);box-shadow:var(--shadow-soft)}
    .wall-item.tall{grid-row:span 2}
    .wall-item img{width:100%;height:100%;object-fit:cover;transition:.32s}
    .wall-item:hover img{transform:scale(1.05)}
    .wall-caption{position:absolute;inset:auto 12px 12px 12px;background:rgba(21,35,28,.86);color:#fff;border-radius:8px;padding:12px;transform:translateY(8px);opacity:.94;transition:.25s}
    .wall-item:hover .wall-caption{transform:translateY(0)}
    .scenes{display:grid;gap:32px}
    .scene{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:18px;box-shadow:var(--shadow-soft)}
    .scene:nth-child(even) .scene-img{order:2}
    .scene-img img{border-radius:10px;height:270px;width:100%;object-fit:cover}
    .scene-text{padding:12px 18px}
    .scene-text h3{font-size:24px;margin-bottom:10px}
    .scene-text p{color:var(--c-muted)}
    .news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .news-card{background:#fff;border:1px solid var(--c-line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}
    .news-card img{height:142px;width:100%;object-fit:cover}
    .news-card .body{padding:18px}
    .news-card time{font-size:13px;color:var(--c-accent);font-weight:700}
    .news-card h3{font-size:18px;line-height:1.45;margin:8px 0}
    .news-card p{font-size:14px;color:var(--c-muted)}
    .partners{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
    .partner{min-height:74px;border:1px solid var(--c-line);background:rgba(255,255,255,.65);border-radius:10px;display:grid;place-items:center;color:#6E6A64;font-weight:800;filter:grayscale(1)}
    .faq{display:grid;gap:12px;max-width:920px;margin:auto}
    .faq-item{border:1px solid var(--c-line);border-radius:10px;background:#fff;overflow:hidden}
    .faq-q{width:100%;min-height:58px;padding:16px 20px;display:flex;justify-content:space-between;gap:18px;text-align:left;font-weight:800;color:var(--c-ink)}
    .faq-q span:last-child{color:var(--c-primary);font-size:22px;line-height:1}
    .faq-a{display:none;padding:0 20px 18px;color:var(--c-muted)}
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
    .assurance{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:16px;box-shadow:var(--shadow-soft)}
    .assurance-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-right:1px solid var(--c-line)}
    .assurance-item:last-child{border-right:0}
    .assurance-item strong{display:block}
    .assurance-item p{font-size:14px;color:var(--c-muted)}
    .contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px}
    .contact-card{background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}
    .contact-info{background:var(--c-dark);color:#F4F0E8;border-radius:12px;padding:30px;position:relative;overflow:hidden}
    .contact-info:after{content:"";position:absolute;right:-80px;bottom:-80px;width:220px;height:220px;border:30px solid rgba(176,137,62,.16);border-radius:50%}
    .contact-info h3{font-size:26px;margin-bottom:14px}
    .contact-info p,.contact-info a{color:#E5EFE8}
    .contact-info ul{display:grid;gap:14px;margin-top:20px;position:relative;z-index:1}
    .contact-info li{list-style:none;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
    .footer{background:#0F1713;color:#DCE7DF;padding:56px 0 26px}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:30px;margin-bottom:32px}
    .footer h3{color:#fff;margin-bottom:14px}
    .footer p,.footer li,.footer a{color:#BFCBC3;font-size:14px}
    .footer ul{display:grid;gap:8px}
    .footer li{list-style:none}
    .footer a:hover{color:#F3D58B}
    .copyright{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#AEB9B1;font-size:13px}
    .float-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:8px;background:var(--c-primary);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow);z-index:30}
    @media (max-width:1200px){
      .nav-links a{padding-left:7px;padding-right:7px;font-size:13px}
      .news-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width:992px){
      :root{--nav-h:68px}
      .topbar .container{justify-content:center}
      .topbar-info span:nth-child(2){display:none}
      .nav-links{
        position:fixed;right:0;top:104px;width:min(86vw,360px);height:calc(100vh - 104px);
        background:#FFFDF8;box-shadow:-18px 0 35px rgba(28,25,23,.14);
        flex-direction:column;align-items:stretch;padding:18px;transform:translateX(105%);transition:.25s;z-index:60
      }
      .nav-links.open{transform:translateX(0)}
      .nav-links a{padding:14px 12px;border-bottom:1px solid var(--c-line);font-size:16px}
      .nav-links a:after{display:none}
      .menu-btn{display:block}
      .nav-actions .btn-outline{display:none}
      .hero-inner{grid-template-columns:1fr;min-height:auto;padding:58px 0 86px}
      .hero{min-height:auto}
      .lead-form{max-width:620px}
      .intro-grid,.dark-grid,.contact-grid{grid-template-columns:1fr}
      .matrix{grid-template-columns:1fr 1fr}
      .adv-grid,.story-track,.reviews{grid-template-columns:1fr 1fr}
      .timeline{grid-template-columns:1fr 1fr 1fr;gap:14px}
      .stats,.assurance{grid-template-columns:1fr 1fr}
      .assurance-item{border-right:0;border-bottom:1px solid var(--c-line)}
      .wall{grid-template-columns:1fr 1fr}
      .partners{grid-template-columns:repeat(3,1fr)}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:768px){
      .container{width:min(100% - 28px,var(--container))}
      .section{padding:62px 0}
      .section-title{display:block}
      .section-title p{margin-top:10px}
      .topbar-link{display:none}
      .logo strong{font-size:18px}
      .nav-actions .btn-primary{padding:9px 12px;min-height:44px}
      .hero-copy h1{font-size:34px}
      .hero-copy p{font-size:16px}
      .hero-points{display:none}
      .matrix,.adv-grid,.story-track,.reviews,.stats,.wall,.news-grid,.partners,.assurance{grid-template-columns:1fr}
      .matrix-card.wide{grid-row:auto}
      .product-card{grid-template-columns:1fr;align-items:start}
      .product-card .btn{width:100%}
      .timeline{grid-template-columns:1fr}
      .step{border-top:0;border-left:3px solid var(--c-primary);padding-left:28px}
      .step:before{top:20px;left:-18px}
      .scene,.scene:nth-child(even) .scene-img{grid-template-columns:1fr;order:initial}
      .scene-img img{height:210px}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:block}
    }
    @media (max-width:375px){
      .container{width:calc(100% - 24px)}
      .btn{width:100%}
      .hero-cta{width:100%}
      .lead-form,.contact-card,.contact-info{padding:20px}
      .nav-actions{gap:6px}
      .nav-actions .btn-primary{font-size:13px}
    }
