/* roulang page: index */
:root{
  --bg:#e8e7e0;--surface:#f4f2ea;--surface-2:#eeece4;--ink:#20231f;--muted:#6c7069;
  --line:#c9c9bc;--olive:#59624a;--olive-deep:#414938;--orange:#d66a31;--night:#1e211d;
  --night-2:#292d26;--white:#fffdf6;--radius:6px;--shadow:0 14px 30px rgba(33,36,30,.08);
  --font:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(89,98,74,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(89,98,74,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 72%);z-index:-1}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.container{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:#fff;padding:8px 14px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(232,231,224,.94);backdrop-filter:blur(10px)}
.nav-shell{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.86fr)}
.nav-left,.nav-right{display:flex;align-items:center}.nav-left{padding-left:max(24px,calc((100vw - 1200px)/2));gap:32px}.nav-right{background:var(--night);padding:0 max(24px,calc((100vw - 1200px)/2));justify-content:flex-end;gap:14px}
.brand{font-weight:800;font-size:17px;letter-spacing:-.04em;white-space:nowrap;display:flex;align-items:center;gap:9px}.brand-mark{width:22px;height:22px;border:1px solid var(--olive);position:relative;display:inline-block}.brand-mark:before{content:"";position:absolute;inset:5px;border-left:6px solid var(--orange);border-top:4px solid transparent;border-bottom:4px solid transparent}
.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{font-size:14px;color:var(--muted);padding:22px 0 18px;border-bottom:3px solid transparent;transition:.2s}.nav-links a:hover,.nav-links a.active{color:var(--ink);border-color:var(--orange)}
.search-toggle,.menu-toggle{border:1px solid rgba(255,255,255,.34);background:transparent;color:var(--white);min-height:36px;padding:0 11px;font-size:13px}.search-box{display:none;align-items:center;gap:6px}.search-box.open{display:flex}.search-box input{width:148px;height:36px;border:1px solid #75806b;background:#f5f3eb;color:var(--ink);padding:0 9px}.search-box button{height:36px;border:0;background:var(--orange);color:#fff;padding:0 11px}.menu-toggle{display:none}
.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid var(--olive);border-radius:var(--radius);font-size:15px;font-weight:700;transition:transform .2s,background .2s,color .2s,border .2s}.btn:hover{transform:translate(3px,-2px)}.btn:active{transform:translate(1px,1px)}.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn-secondary{background:transparent;color:var(--olive)}.btn-dark{border-color:#899280;color:var(--white);background:transparent}.eyebrow,.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.2;letter-spacing:.09em;font-weight:800;color:var(--olive);text-transform:uppercase}.eyebrow:before{content:"";width:8px;height:8px;background:var(--orange);display:inline-block}.badge{padding:6px 8px;border:1px solid var(--line);background:#e9e7db}.section{padding:94px 0;position:relative}.section-head{max-width:760px;margin-bottom:38px}.section-head h2{font-size:clamp(29px,3.2vw,39px);line-height:1.22;letter-spacing:-.05em;margin:10px 0 13px}.section-head p{margin:0;color:var(--muted)}
.hero{padding:0;background:var(--surface);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:48% 52%;min-height:590px}.hero-copy{padding:85px max(24px,calc((100vw - 1200px)/2)) 54px 0;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(42px,5vw,63px);line-height:1.08;letter-spacing:-.07em;margin:16px 0 20px;max-width:580px}.hero-copy p{font-size:17px;color:var(--muted);max-width:570px;margin:0 0 27px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.readouts{display:flex;gap:19px;flex-wrap:wrap;margin-top:38px;padding-top:18px;border-top:1px solid var(--line)}.readouts span{font-size:12px;color:var(--muted)}.readouts b{color:var(--ink);margin-right:5px}
.hero-stage{background:var(--night);padding:44px max(24px,calc((100vw - 1200px)/2)) 42px 42px;position:relative;color:var(--white);overflow:hidden}.hero-stage:before{content:"";position:absolute;inset:22px;background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.045) 25px 26px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.035) 40px 41px);pointer-events:none}.stage-meta{position:relative;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;color:#adb4a5}.stage-board{position:relative;border:1px solid #707968;margin-top:42px;height:330px;padding:17px;background:#262a24;clip-path:polygon(0 0,96% 0,100% 6%,100% 100%,4% 100%,0 94%)}.screen{height:100%;border:1px solid #59624a;background:linear-gradient(135deg,#353a31,#1b1e1b 62%);position:relative;overflow:hidden}.screen:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(214,106,49,.62);border-radius:50%;left:29%;top:16%;box-shadow:0 0 0 34px rgba(89,98,74,.12),0 0 0 72px rgba(89,98,74,.08)}.screen:after{content:"内容索引 / 浏览指引";position:absolute;bottom:20px;left:22px;color:#e2e6d8;font-size:14px;letter-spacing:.18em}.screen-bars{position:absolute;right:18px;top:18px;width:95px}.screen-bars i{display:block;height:6px;background:#69725d;margin-bottom:9px}.screen-bars i:nth-child(2){width:72%;background:var(--orange)}.stage-foot{position:relative;display:flex;justify-content:space-between;margin-top:14px;color:#aeb4a7;font-size:12px}
.ladder{background:#deddd3;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ladder-grid{display:grid;grid-template-columns:1.1fr 1.9fr;gap:44px;align-items:center}.ladder-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.step-card{border:1px solid var(--line);border-right:0;padding:19px;min-height:145px;background:var(--surface);position:relative}.step-card:last-child{border-right:1px solid var(--line)}.step-card.featured{background:var(--olive);color:#fff;transform:translateY(-12px);border-color:var(--olive)}.step-card small{display:block;letter-spacing:.1em;color:var(--muted);font-weight:700}.step-card.featured small{color:#dce0d6}.step-card strong{display:block;font-size:21px;margin:7px 0}.step-card p{font-size:13px;line-height:1.6;margin:0}.step-card .badge{position:absolute;right:8px;top:8px;background:var(--orange);color:#fff;border:0}
.split-functions{display:grid;grid-template-columns:29% 1fr;gap:42px}.function-index{border-top:2px solid var(--olive);padding-top:13px}.index-item{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.index-item b{color:var(--orange);font-size:12px}.function-panels{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.function-panel{background:var(--surface);border:1px solid var(--line);padding:26px;min-height:200px;position:relative;box-shadow:var(--shadow);transition:.2s}.function-panel:hover{transform:translateY(-4px);border-color:var(--olive)}.function-panel.large{grid-row:span 2;background:#eceae0}.function-panel h3{font-size:21px;margin:10px 0 9px;line-height:1.3}.function-panel p{font-size:14px;color:var(--muted);margin:0}.mini-list{margin:19px 0 0;padding:0;list-style:none}.mini-list li{padding:7px 0;border-top:1px solid var(--line);font-size:13px}.mini-list li:before{content:"—";color:var(--orange);margin-right:8px}.panel-no{position:absolute;right:18px;top:15px;font-size:12px;color:var(--orange);font-weight:800}
.scenes{background:var(--surface-2)}.scene-track{display:grid;grid-template-columns:1.25fr .8fr .95fr 1.1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.scene{min-height:255px;padding:23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:rgba(255,253,246,.33)}.scene:nth-child(2){background:var(--night);color:#fff}.scene:nth-child(3){background:#d8d7cb}.scene-no{font-size:12px;color:var(--orange);font-weight:800}.scene h3{font-size:20px;line-height:1.3;margin:38px 0 10px}.scene p{font-size:14px;line-height:1.7;margin:0 0 15px;color:var(--muted)}.scene:nth-child(2) p{color:#d0d4ca}.scene a{font-weight:700;font-size:14px;color:var(--olive)}.scene:nth-child(2) a{color:#f0b18d}.corner{position:absolute;right:15px;top:16px;width:29px;height:29px;border-top:1px solid currentColor;border-right:1px solid currentColor;opacity:.5}
.case-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.case-main{background:var(--night);color:#fff;padding:38px;min-height:420px;position:relative;overflow:hidden}.case-main:after{content:"路径记录";position:absolute;right:-32px;bottom:18px;font-size:68px;font-weight:800;color:rgba(255,255,255,.04);white-space:nowrap}.case-main h3{font-size:31px;line-height:1.2;margin:72px 0 17px;max-width:440px;position:relative}.case-main p{color:#c8cdc1;max-width:440px;position:relative}.case-result{position:relative;display:inline-block;padding:6px 9px;background:var(--olive);font-size:12px}.case-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.case-small{border:1px solid var(--line);padding:25px;background:var(--surface)}.case-small h3{font-size:20px;margin:12px 0 9px}.case-small p{font-size:14px;margin:0;color:var(--muted)}.quote{border-left:3px solid var(--orange);padding-left:12px;margin-top:16px;font-size:13px;color:var(--olive-deep)}
.pricing{background:var(--night);color:var(--white)}.pricing .section-head p{color:#c6ccc0}.pricing-grid{display:grid;grid-template-columns:1fr 1fr .78fr;gap:14px}.plan{border:1px solid #626b59;padding:27px;background:#282c26;position:relative}.plan.recommend{border:2px solid var(--olive);background:#30362c}.plan .badge{position:absolute;right:12px;top:12px;border:0;background:var(--orange);color:#fff}.plan h3{font-size:23px;margin:7px 0}.plan p{font-size:14px;color:#c7cdc1;min-height:50px}.plan ul{list-style:none;padding:0;margin:19px 0}.plan li{font-size:14px;padding:8px 0;border-top:1px solid rgba(255,255,255,.13)}.plan li:before{content:"✓";color:#e19a70;margin-right:8px}.plan-note{border:1px solid #626b59;padding:27px;background:#20231f}.plan-note h3{font-size:22px;margin:4px 0 14px}.plan-note p{font-size:14px;color:#c7cdc1}.plan-note .btn{margin-top:15px}
.news-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:38px}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);transition:.2s}.news-item:hover{padding-left:8px;background:rgba(255,255,255,.35)}.news-date{font-size:12px;color:var(--orange);font-weight:800}.news-item h3{font-size:17px;margin:0}.news-item p{font-size:13px;color:var(--muted);margin:4px 0 0}.arrow{font-size:22px;color:var(--olive)}.news-aside{background:var(--olive);color:#fff;padding:29px}.news-aside h3{font-size:25px;line-height:1.3;margin:13px 0}.news-aside p{font-size:14px;color:#e2e5db}.news-aside a{display:inline-block;margin-top:12px;color:#fff;border-bottom:1px solid var(--orange);font-weight:700}
.faq-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px}.faq-note{background:#dddcd1;border-left:4px solid var(--olive);padding:28px;height:max-content}.faq-note h2{font-size:32px;line-height:1.25;margin:8px 0 13px}.faq-note p{font-size:14px;color:var(--muted);margin:0}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{border:0;background:transparent;width:100%;padding:19px 4px;text-align:left;display:flex;justify-content:space-between;gap:20px;color:var(--ink);font-weight:800;font-size:16px}.faq-q span:last-child{color:var(--orange);font-size:22px;line-height:1}.faq-a{display:none;padding:0 4px 19px;color:var(--muted);font-size:14px}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q{color:var(--olive)}
.final-cta{padding:34px 0;background:var(--orange);color:#fff}.final-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.final-row h2{font-size:27px;margin:0;line-height:1.25}.final-row p{margin:5px 0 0;color:#fff4ee}.final-row .btn{border-color:#fff;color:#fff}.final-row .btn:hover{background:#fff;color:var(--orange)}
.site-footer{background:var(--night);color:#d4d9cf;padding:58px 0 23px}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr 1.2fr;gap:30px;padding-bottom:38px;border-bottom:1px solid #4a5145}.site-footer .brand{color:#fff;margin-bottom:14px}.site-footer p,.site-footer li{font-size:13px;color:#b5bdb0}.site-footer h3{font-size:14px;color:#fff;margin:0 0 13px}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:8px 0}.site-footer a:hover{color:#f0b18d}.copyright{display:flex;justify-content:space-between;gap:18px;padding-top:18px;font-size:12px;color:#909a8b}
.mobile-drawer{display:none}
@media(max-width:992px){.nav-left{gap:18px}.nav-links{gap:12px}.hero-grid{grid-template-columns:52% 48%}.hero-stage{padding-left:25px}.ladder-grid,.faq-wrap{grid-template-columns:1fr}.split-functions{grid-template-columns:1fr}.function-index{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.index-item{display:block}.case-layout,.news-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr 1fr}.plan-note{grid-column:span 2}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:768px){.container{width:min(100% - 32px,1200px)}.nav-shell{display:flex;min-height:62px}.nav-left{padding:0 16px;justify-content:space-between;width:100%}.nav-right{padding:0;background:transparent;margin-left:auto}.nav-links{display:none}.search-toggle{color:var(--ink);border-color:var(--line)}.menu-toggle{display:block;color:var(--ink);border-color:var(--line)}.search-box{position:absolute;top:61px;left:0;right:0;padding:12px 16px;background:var(--night);border-top:1px solid #59624a}.search-box input{width:100%;flex:1}.mobile-drawer.open{display:block;position:absolute;top:62px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:12px 16px 18px}.mobile-drawer a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:700}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:62px 16px 42px}.hero-copy h1{font-size:40px}.hero-stage{min-height:380px;padding:26px 16px}.stage-board{margin-top:22px;height:270px}.section{padding:64px 0}.ladder-steps{grid-template-columns:1fr}.step-card,.step-card:last-child{border-right:1px solid var(--line);border-bottom:0}.step-card:last-child{border-bottom:1px solid var(--line)}.step-card.featured{transform:none}.function-index{grid-template-columns:1fr 1fr}.function-panels{grid-template-columns:1fr}.function-panel.large{grid-row:auto}.scene-track{display:flex;overflow-x:auto}.scene{min-width:230px}.pricing-grid{grid-template-columns:1fr}.plan-note{grid-column:auto}.final-row{display:block}.final-row .btn{margin-top:18px;width:100%}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-bottom:6px}}
@media(max-width:480px){body{font-size:15px}.brand{font-size:15px}.hero-copy h1{font-size:35px}.hero-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.readouts{gap:10px}.section-head h2{font-size:29px}.function-index{grid-template-columns:1fr}.case-main{padding:26px;min-height:340px}.case-main h3{font-size:26px;margin-top:55px}.news-item{grid-template-columns:65px 1fr}.news-item .arrow{display:none}.footer-grid{grid-template-columns:1fr}.faq-wrap{gap:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* roulang page: category1 */
:root{
 --bg:#e8e7e0;--surface:#f4f2ea;--surface-2:#eeece4;--ink:#20231f;--muted:#6c7069;
 --line:#c9c9bc;--olive:#59624a;--olive-deep:#414938;--orange:#d66a31;--night:#1e211d;
 --night-2:#292d26;--white:#fffdf6;--radius:6px;--shadow:0 14px 30px rgba(33,36,30,.08);
 --font:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(89,98,74,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(89,98,74,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 72%);z-index:-1}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}button,input{border-radius:0}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.container{width:min(1200px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(232,231,224,.94);backdrop-filter:blur(10px)}
.nav-shell{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.86fr)}.nav-left,.nav-right{display:flex;align-items:center}.nav-left{padding-left:max(24px,calc((100vw - 1200px)/2));gap:32px}.nav-right{background:var(--night);padding:0 max(24px,calc((100vw - 1200px)/2));justify-content:flex-end;gap:14px}
.brand{font-weight:800;font-size:17px;letter-spacing:-.04em;white-space:nowrap;display:flex;align-items:center;gap:9px}.brand-mark{width:22px;height:22px;border:1px solid var(--olive);position:relative;display:inline-block}.brand-mark:before{content:"";position:absolute;inset:5px;border-left:6px solid var(--orange);border-top:4px solid transparent;border-bottom:4px solid transparent}
.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{font-size:14px;color:var(--muted);padding:22px 0 18px;border-bottom:3px solid transparent;transition:.2s}.nav-links a:hover,.nav-links a.active{color:var(--ink);border-color:var(--orange)}
.search-toggle,.menu-toggle{border:1px solid rgba(255,255,255,.34);background:transparent;color:var(--white);min-height:36px;padding:0 11px;font-size:13px}.search-box{display:none;align-items:center;gap:6px}.search-box.open{display:flex}.search-box input{width:148px;height:36px;border:1px solid #75806b;background:#f5f3eb;color:var(--ink);padding:0 9px}.search-box button{height:36px;border:0;background:var(--orange);color:#fff;padding:0 11px}.menu-toggle{display:none}
.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid var(--olive);border-radius:var(--radius);font-size:15px;font-weight:700;transition:transform .2s,background .2s,color .2s,border .2s}.btn:hover{transform:translate(3px,-2px)}.btn:active{transform:translate(1px,1px)}.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn-secondary{background:transparent;color:var(--olive)}.btn-dark{border-color:#899280;color:var(--white);background:transparent}
.eyebrow,.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.2;letter-spacing:.09em;font-weight:800;color:var(--olive);text-transform:uppercase}.eyebrow:before{content:"";width:8px;height:8px;background:var(--orange);display:inline-block}.badge{padding:6px 8px;border:1px solid var(--line);background:#e9e7db}.section{padding:88px 0;position:relative}.section-head{max-width:760px;margin-bottom:34px}.section-head h2{font-size:clamp(29px,3.2vw,39px);line-height:1.22;letter-spacing:-.05em;margin:10px 0 13px}.section-head p{margin:0;color:var(--muted)}
.page-intro{padding:58px 0 50px;background:var(--surface);border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:21px}.breadcrumb span{color:var(--orange)}.intro-grid{display:grid;grid-template-columns:1fr 360px;gap:52px;align-items:end}.page-intro h1{font-size:clamp(38px,5vw,58px);line-height:1.1;letter-spacing:-.065em;margin:14px 0 16px}.page-intro p{max-width:730px;color:var(--muted);margin:0}.page-search{border:1px solid var(--line);padding:18px;background:var(--surface-2);position:relative}.page-search:before{content:"检索 / 01";position:absolute;right:14px;top:7px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.page-search label{display:block;font-size:13px;font-weight:800;margin:8px 0}.search-line{display:flex}.search-line input{min-width:0;flex:1;height:46px;border:1px solid var(--line);background:var(--white);padding:0 12px;color:var(--ink)}.search-line button{width:56px;border:0;background:var(--olive);color:#fff}
.catalogue{display:grid;grid-template-columns:280px minmax(0,1fr);gap:38px;align-items:start}.filter-panel{position:sticky;top:91px;border:1px solid var(--line);background:var(--surface);padding:22px}.filter-panel h2{font-size:18px;margin:0 0 16px;line-height:1.4}.filter-group{border-top:1px solid var(--line);padding:16px 0}.filter-group:last-of-type{padding-bottom:4px}.filter-group h3{font-size:12px;letter-spacing:.1em;color:var(--muted);margin:0 0 10px}.filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:8px 0;color:var(--ink);text-align:left;transition:.2s}.filter-option:hover,.filter-option.selected{color:var(--olive);padding-left:5px}.filter-option.selected:before{content:"●";color:var(--orange);font-size:10px;margin-right:7px}.filter-option em{font-style:normal;color:var(--muted);font-size:12px}.filter-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin:16px 0 0}
.results-top{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.results-top p{margin:0;color:var(--muted);font-size:14px}.results-top b{color:var(--orange)}.sort-select{border:1px solid var(--line);background:var(--surface);min-height:38px;padding:0 9px;color:var(--ink)}
.feature-card{display:grid;grid-template-columns:42% 58%;min-height:285px;border:1px solid var(--line);background:var(--surface);margin-bottom:20px;transition:.22s}.feature-card:hover,.content-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.visual{position:relative;overflow:hidden;background:var(--night);min-height:170px}.visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(214,106,49,.35),transparent 38%),repeating-linear-gradient(0deg,transparent 0 26px,rgba(255,255,255,.08) 27px 28px),repeating-linear-gradient(90deg,transparent 0 36px,rgba(255,255,255,.06) 37px 38px)}.visual:after{content:"INDEX";position:absolute;bottom:12px;left:14px;color:#d8ddd1;font-size:11px;letter-spacing:.17em}.visual .frame{position:absolute;inset:20% 15%;border:1px solid rgba(255,255,255,.55);clip-path:polygon(0 0,92% 0,100% 15%,100% 100%,8% 100%,0 85%)}.feature-copy{padding:27px 29px}.meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.content-card h3,.feature-copy h2{font-size:25px;line-height:1.3;letter-spacing:-.04em;margin:12px 0 10px}.content-card p,.feature-copy p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 15px}.text-link{font-weight:800;font-size:14px;color:var(--olive);display:inline-flex;gap:8px;align-items:center}.text-link:hover{color:var(--orange)}.text-link:after{content:"→";font-size:19px;line-height:1}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.content-card{border:1px solid var(--line);background:var(--surface);transition:.22s}.content-card .visual{aspect-ratio:16/9;min-height:0}.content-card:nth-child(2) .visual:before{background:linear-gradient(135deg,rgba(89,98,74,.75),transparent 48%),repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,255,255,.07) 29px 30px)}.content-card:nth-child(3) .visual:before{background:linear-gradient(45deg,rgba(214,106,49,.3),transparent 42%),radial-gradient(circle at 70% 35%,rgba(255,255,255,.15) 0 2px,transparent 3px)}.content-card:nth-child(4) .visual:before{background:linear-gradient(135deg,rgba(89,98,74,.55),transparent 56%),repeating-linear-gradient(0deg,transparent 0 19px,rgba(255,255,255,.07) 20px 21px)}.content-card .card-copy{padding:19px}.content-card h3{font-size:20px;margin:10px 0 8px}
.compact-list{margin-top:20px;border:1px solid var(--line);background:var(--surface)}.compact-item{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line);transition:.2s}.compact-item:last-child{border-bottom:0}.compact-item:hover{background:#e9e7db}.compact-no{font-size:12px;font-weight:800;color:var(--orange);letter-spacing:.1em}.compact-item h3{font-size:16px;margin:0;line-height:1.4}.compact-item p{font-size:13px;color:var(--muted);margin:2px 0 0}.arrow{font-size:22px;color:var(--olive)}
.notice-strip{display:grid;grid-template-columns:54px 1fr auto;gap:20px;align-items:center;padding:24px;border:1px solid var(--olive);background:#dde0d4}.notice-icon{font-size:24px;color:var(--orange)}.notice-strip h2{font-size:20px;margin:0 0 4px}.notice-strip p{margin:0;color:#4d5546;font-size:14px}
.faq-mini{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;border-top:1px solid var(--line);padding-top:70px}.faq-copy h2{font-size:32px;line-height:1.25;margin:10px 0}.faq-copy p{color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;gap:15px;border:0;background:transparent;padding:17px 0;text-align:left;color:var(--ink);font-weight:800}.faq-question span:last-child{color:var(--orange);font-size:20px}.faq-answer{display:none;padding:0 28px 18px 0;color:var(--muted);font-size:14px}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.site-footer{background:var(--night);color:#e6e8df;padding:62px 0 20px}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:38px}.site-footer .brand{color:#fff;margin-bottom:14px}.site-footer .brand-mark{border-color:#98a38d}.site-footer p{font-size:13px;line-height:1.75;color:#afb6aa;margin:0}.site-footer h3{font-size:13px;letter-spacing:.08em;margin:0 0 13px;color:#fff}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{padding:4px 0}.site-footer li a{font-size:13px;color:#afb6aa}.site-footer li a:hover{color:#f0b18d}.copyright{border-top:1px solid #464d42;margin-top:43px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;color:#9da69a;font-size:12px}
@media(max-width:992px){.intro-grid{grid-template-columns:1fr 300px;gap:28px}.catalogue{grid-template-columns:230px 1fr;gap:25px}.feature-card{grid-template-columns:38% 62%}.nav-left{gap:20px}.nav-links{gap:14px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.container{width:min(100% - 32px,1200px)}.nav-shell{display:flex;min-height:62px}.nav-left{flex:1;padding:0 16px;justify-content:space-between}.nav-right{padding:0 16px;gap:8px}.nav-links{display:none;position:absolute;left:0;right:0;top:62px;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:block}.search-toggle{font-size:0;width:38px;padding:0}.search-toggle:before{content:"⌕";font-size:20px}.search-box{position:absolute;top:62px;right:0;padding:12px 16px;background:var(--night);border-bottom:1px solid #454b41}.search-box input{width:180px}.page-intro{padding:38px 0}.intro-grid,.catalogue,.faq-mini{grid-template-columns:1fr;gap:26px}.page-search{max-width:none}.filter-panel{position:relative;top:auto;padding:16px}.filter-panel h2{margin-bottom:8px}.filter-group{display:none}.filter-panel.open .filter-group{display:block}.filter-toggle{display:block!important}.results-top{margin-top:8px}.feature-card{grid-template-columns:1fr}.feature-card .visual{min-height:190px}.card-grid{grid-template-columns:1fr}.section{padding:62px 0}.notice-strip{grid-template-columns:36px 1fr}.notice-strip .btn{grid-column:1/-1}.footer-grid{gap:28px}.copyright{display:block}.copyright span{display:block;margin:4px 0}}
@media(min-width:769px){.filter-toggle{display:none}}
@media(max-width:480px){.brand{font-size:15px}.brand-mark{width:20px;height:20px}.page-intro h1{font-size:37px}.search-box input{width:140px}.results-top{align-items:flex-start;flex-direction:column}.feature-copy{padding:22px}.compact-item{grid-template-columns:42px 1fr;gap:10px;padding:14px}.compact-item .arrow{display:none}.compact-item p{line-height:1.55}.footer-grid{grid-template-columns:1fr}.btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* roulang page: category2 */
:root{
 --bg:#e8e7e0;--surface:#f4f2ea;--surface-2:#eeece4;--ink:#20231f;--muted:#6c7069;
 --line:#c9c9bc;--olive:#59624a;--olive-deep:#414938;--orange:#d66a31;--night:#1e211d;
 --night-2:#292d26;--white:#fffdf6;--radius:6px;--shadow:0 14px 30px rgba(33,36,30,.08);
 --font:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(89,98,74,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(89,98,74,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 72%);z-index:-1}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(1200px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(232,231,224,.94);backdrop-filter:blur(10px)}
.nav-shell{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.86fr)}
.nav-left,.nav-right{display:flex;align-items:center}
.nav-left{padding-left:max(24px,calc((100vw - 1200px)/2));gap:32px}
.nav-right{background:var(--night);padding:0 max(24px,calc((100vw - 1200px)/2));justify-content:flex-end;gap:14px}
.brand{font-weight:800;font-size:17px;letter-spacing:-.04em;white-space:nowrap;display:flex;align-items:center;gap:9px}
.brand-mark{width:22px;height:22px;border:1px solid var(--olive);position:relative;display:inline-block}
.brand-mark:before{content:"";position:absolute;inset:5px;border-left:6px solid var(--orange);border-top:4px solid transparent;border-bottom:4px solid transparent}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{font-size:14px;color:var(--muted);padding:22px 0 18px;border-bottom:3px solid transparent;transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink);border-color:var(--orange)}
.search-toggle,.menu-toggle{border:1px solid rgba(255,255,255,.34);background:transparent;color:var(--white);min-height:36px;padding:0 11px;font-size:13px}
.search-box{display:none;align-items:center;gap:6px}
.search-box.open{display:flex}
.search-box input{width:148px;height:36px;border:1px solid #75806b;background:#f5f3eb;color:var(--ink);padding:0 9px}
.search-box button{height:36px;border:0;background:var(--orange);color:#fff;padding:0 11px}
.menu-toggle{display:none}
.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid var(--olive);border-radius:var(--radius);font-size:15px;font-weight:700;transition:transform .2s,background .2s,color .2s,border .2s}
.btn:hover{transform:translate(3px,-2px)}
.btn:active{transform:translate(1px,1px)}
.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}
.btn-secondary{background:transparent;color:var(--olive)}
.btn-dark{border-color:#899280;color:var(--white);background:transparent}
.btn-olive{background:var(--olive);border-color:var(--olive);color:#fff}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.eyebrow,.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.2;letter-spacing:.09em;font-weight:800;color:var(--olive)}
.eyebrow:before{content:"";width:8px;height:8px;background:var(--orange);display:inline-block}
.badge{padding:6px 8px;border:1px solid var(--line);background:#e9e7db}
.section{padding:94px 0;position:relative}
.section-head{max-width:760px;margin-bottom:38px}
.section-head h2{font-size:clamp(29px,3.2vw,39px);line-height:1.22;letter-spacing:-.05em;margin:10px 0 13px}
.section-head p{margin:0;color:var(--muted)}
.page-banner{background:var(--night);color:var(--white);padding:47px 0 42px;border-bottom:4px solid var(--orange);position:relative;overflow:hidden}
.page-banner:after{content:"专题路径 / 02";position:absolute;right:5%;bottom:-18px;color:rgba(255,255,255,.05);font-size:72px;font-weight:800;letter-spacing:-.08em}
.banner-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;position:relative;z-index:1}
.breadcrumb{font-size:13px;color:#adb4a5;margin-bottom:16px}
.breadcrumb a{color:#e0e3d9}
.page-banner h1{font-size:clamp(34px,4.5vw,57px);line-height:1.1;letter-spacing:-.07em;margin:0 0 15px}
.page-banner p{max-width:680px;color:#c5cabd;margin:0}
.banner-readout{border:1px solid #687263;padding:20px;background:rgba(255,255,255,.035);clip-path:polygon(0 0,96% 0,100% 13%,100% 100%,4% 100%,0 87%)}
.readout-top{display:flex;justify-content:space-between;color:#b7c0ad;font-size:12px;letter-spacing:.08em}
.readout-line{height:8px;background:#3d4439;margin:20px 0 15px;position:relative}
.readout-line:after{content:"";display:block;width:68%;height:100%;background:var(--orange)}
.readout-data{display:flex;justify-content:space-between;font-size:13px;color:#e7e9df}
.path-section{padding:54px 0 30px}
.path-track{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.path-node{min-height:125px;padding:20px 17px;border-right:1px solid var(--line);position:relative;transition:.2s}
.path-node:last-child{border-right:0}
.path-node:hover{background:var(--surface)}
.path-node.active{background:var(--olive);color:#fff}
.path-node b{font-size:13px;color:var(--orange);letter-spacing:.1em}
.path-node.active b{color:#ffc09d}
.path-node strong{display:block;font-size:18px;margin:8px 0 3px}
.path-node span{font-size:13px;color:var(--muted)}
.path-node.active span{color:#dce0d6}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:66px;align-items:start}
.story{min-width:0}
.story-block{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:72px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.story-block.reverse .story-image{order:2}
.story-copy h2{font-size:31px;line-height:1.25;letter-spacing:-.05em;margin:10px 0 15px}
.story-copy p{color:var(--muted);margin:0 0 18px}
.story-image{min-height:250px;border:1px solid var(--line);background:var(--night);position:relative;overflow:hidden}
.story-image img{width:100%;height:100%;min-height:250px;object-fit:cover;opacity:.72;filter:grayscale(1) sepia(.2)}
.story-image:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.3);z-index:1;pointer-events:none}
.story-image:after{content:"02 / VIEW";position:absolute;left:25px;bottom:20px;color:#fff;font-size:12px;letter-spacing:.1em;z-index:2}
.info-list{list-style:none;padding:0;margin:20px 0 0}
.info-list li{border-top:1px solid var(--line);padding:9px 0;font-size:14px}
.info-list li:before{content:"＋";color:var(--orange);margin-right:8px;font-weight:700}
.note-box{border-left:4px solid var(--orange);background:var(--surface);padding:18px 20px;margin-top:22px;color:var(--muted);font-size:14px}
.quote-box{background:var(--olive);color:#fff;padding:24px;margin-top:22px;position:relative}
.quote-box:before{content:"“";font-size:48px;line-height:1;color:#d7ddce;position:absolute;top:8px;right:18px}
.quote-box p{margin:0;color:#f1f2eb;font-size:17px}
.side-nav{position:sticky;top:101px;border-left:1px solid var(--line);padding-left:22px}
.side-nav h3{font-size:15px;margin:0 0 14px}
.side-nav a{display:flex;align-items:center;gap:10px;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;transition:.2s}
.side-nav a:before{content:"";width:7px;height:7px;border:1px solid var(--olive);display:inline-block}
.side-nav a:hover,.side-nav a.active{color:var(--orange);padding-left:5px}
.side-nav a.active:before{background:var(--orange);border-color:var(--orange)}
.related{background:var(--surface-2);padding:76px 0}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.related-link{border:1px solid var(--line);background:var(--surface);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;transition:.2s}
.related-link:hover{border-color:var(--orange);transform:translateX(4px)}
.related-link strong{display:block;font-size:18px}
.related-link small{display:block;color:var(--muted);margin-top:4px}
.arrow{font-size:23px;color:var(--orange)}
.contact-area{padding:90px 0}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.contact-copy h2{font-size:36px;line-height:1.2;letter-spacing:-.06em;margin:10px 0 15px}
.contact-copy p{color:var(--muted)}
.contact-status{border:1px solid var(--line);padding:18px;margin-top:25px;background:var(--surface)}
.contact-status b{color:var(--olive)}
.form-panel{background:var(--surface);border:1px solid var(--line);padding:30px;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:17px}
.field label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fffdf6;color:var(--ink);border-radius:var(--radius);padding:10px 12px;min-height:46px}
.field textarea{min-height:126px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--olive);outline:3px solid rgba(214,106,49,.18)}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:10px 0 20px}
.agree input{width:18px;height:18px;accent-color:var(--olive);margin-top:4px}
.form-message{display:none;padding:11px 13px;margin-top:15px;background:#e2eadb;border-left:3px solid var(--olive);color:var(--olive-deep);font-size:14px}
.form-message.show{display:block}
.faq-section{padding:0 0 94px}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.faq-intro{background:var(--night);color:#fff;padding:30px;min-height:210px}
.faq-intro h2{font-size:30px;line-height:1.25;margin:12px 0}
.faq-intro p{color:#c4cabe;margin:0}
.faq-item{border-top:1px solid var(--line)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);padding:17px 4px;font-weight:700}
.faq-question span:last-child{font-size:24px;color:var(--orange);transition:.2s}
.faq-answer{display:none;color:var(--muted);padding:0 34px 18px 4px;font-size:14px}
.faq-item.open{border-left:3px solid var(--olive);padding-left:12px}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.final-cta{background:var(--olive);color:#fff;padding:32px 0}
.cta-row{display:flex;justify-content:space-between;align-items:center;gap:25px}
.cta-row h2{font-size:26px;line-height:1.25;margin:0 0 5px}
.cta-row p{margin:0;color:#dce0d6;font-size:14px}
.cta-actions{display:flex;gap:10px;flex-shrink:0}
.site-footer{background:var(--night);color:#fff;padding:58px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr 1.15fr;gap:34px}
.site-footer .brand{color:#fff;margin-bottom:14px}
.site-footer h3{font-size:14px;margin:0 0 13px;color:#f0f1ea}
.site-footer p,.site-footer li,.site-footer a{font-size:13px;color:#afb6aa}
.site-footer p{margin:0 0 9px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{padding:4px 0}
.site-footer a:hover{color:#fff}
.copyright{border-top:1px solid #454c42;margin-top:38px;padding-top:17px;display:flex;justify-content:space-between;color:#8f998b;font-size:12px}
@media(max-width:992px){
 .nav-left{gap:18px}.nav-links{gap:12px}.nav-links a{font-size:13px}
 .banner-grid{grid-template-columns:1fr .65fr}.content-layout{gap:35px}.side-nav{top:90px}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
 .container{width:min(100% - 32px,600px)}
 .nav-shell{display:flex;justify-content:space-between;min-height:62px}
 .nav-left{padding:0 16px;gap:0}.nav-links{display:none}
 .nav-right{padding:0 16px;gap:8px}.search-toggle{display:block}.menu-toggle{display:block}
 .search-box{position:absolute;top:62px;left:0;right:0;background:var(--night);padding:12px 16px}
 .search-box input{width:100%}
 .nav-shell.menu-open .nav-links{display:flex;position:absolute;top:62px;left:0;right:0;background:var(--surface);padding:12px 16px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
 .nav-shell.menu-open .nav-links a{padding:11px 0;border-bottom:1px solid var(--line)}
 .page-banner{padding:35px 0}.banner-grid{grid-template-columns:1fr;gap:25px}.page-banner h1{font-size:40px}
 .path-section{padding:40px 0 10px;overflow:hidden}.path-track{display:flex;overflow-x:auto;min-width:680px}.path-node{width:136px;flex:0 0 136px}
 .content-layout{display:block}.side-nav{position:static;margin-bottom:25px;padding:0;border:1px solid var(--line);background:var(--surface);display:flex;overflow-x:auto}
 .side-nav h3{display:none}.side-nav a{min-width:120px;padding:12px;border-right:1px solid var(--line);border-bottom:0}
 .story-block,.story-block.reverse{grid-template-columns:1fr;gap:25px;padding:55px 0}.story-block.reverse .story-image{order:0}
 .contact-grid,.faq-grid{grid-template-columns:1fr;gap:30px}.related-links{grid-template-columns:1fr}
 .cta-row{display:block}.cta-actions{margin-top:18px}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
 body{font-size:15px}.brand{font-size:15px}.brand-mark{width:20px;height:20px}
 .banner-readout{padding:16px}.story-copy h2{font-size:27px}.contact-area{padding:60px 0}.form-panel{padding:20px}
 .form-row{grid-template-columns:1fr}.cta-actions{display:grid;grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-top:5px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
}
