/* roulang page: index */
:root{
      --ink:#18201d;
      --ink-2:#28312d;
      --moss:#657768;
      --moss-dark:#455548;
      --sand:#f4f1e9;
      --paper:#fcfaf5;
      --stone:#dfddd4;
      --muted:#747970;
      --rust:#b96c45;
      --rust-dark:#985335;
      --line:rgba(35,47,40,.14);
      --white:#fffdf8;
      --shadow:0 16px 38px rgba(24,32,29,.09);
      --radius-xl:26px;
      --radius-lg:18px;
      --radius-md:12px;
      --container:1320px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--paper);color:var(--ink);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      font-size:16px;line-height:1.75;letter-spacing:.015em;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(185,108,69,.55);outline-offset:3px}
    .site-shell{overflow:hidden}
    .grid-container{max-width:var(--container)}
    .eyebrow{
      display:inline-flex;align-items:center;gap:9px;margin:0 0 15px;
      color:var(--moss-dark);font-size:12px;font-weight:700;letter-spacing:.14em;
      text-transform:uppercase;
    }
    .eyebrow:before{content:"";width:22px;height:1px;background:var(--rust)}
    .section{padding:112px 0;position:relative}
    .section-heading{max-width:690px;margin-bottom:45px}
    .section-heading h2{
      margin:0 0 14px;font-size:clamp(30px,3.4vw,46px);line-height:1.18;
      letter-spacing:-.04em;font-weight:800;
    }
    .section-heading p{margin:0;color:var(--muted);font-size:16px;max-width:640px}
    .tag{
      display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;
      border:1px solid rgba(101,119,104,.45);border-radius:999px;
      color:var(--moss-dark);font-size:12px;line-height:1.2;white-space:nowrap;
    }
    .button{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      margin:0;border:0;border-radius:999px;padding:14px 21px;background:var(--rust);
      color:#fff;font-size:14px;font-weight:700;line-height:1.2;
      transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
    }
    .button:hover{background:var(--rust-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 21px rgba(185,108,69,.22)}
    .button.hollow{
      background:transparent;color:var(--ink);border:1px solid var(--line);
    }
    .button.hollow:hover{background:var(--ink);border-color:var(--ink);color:#fff}
    .arrow{font-size:19px;line-height:0;transition:transform .2s ease}
    .button:hover .arrow,.card-link:hover .arrow{transform:translateX(4px)}
    .topline{height:4px;background:linear-gradient(90deg,var(--rust) 0 9%,var(--moss) 9% 34%,var(--ink) 34%)}
    .site-header{
      position:sticky;top:0;z-index:20;background:rgba(252,250,245,.97);
      border-bottom:1px solid var(--line);backdrop-filter:blur(9px);
    }
    .brand-row{
      min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;
    }
    .brand{
      display:inline-flex;align-items:center;gap:11px;font-size:18px;font-weight:800;
      letter-spacing:-.04em;white-space:nowrap;
    }
    .brand-mark{width:30px;height:30px;position:relative;border:1.5px solid var(--moss);border-radius:50%}
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--rust)}
    .brand-mark:before{width:5px;height:5px;border-radius:50%;left:7px;top:7px}
    .brand-mark:after{width:13px;height:1px;transform:rotate(-42deg);right:3px;bottom:7px}
    .header-tools{display:flex;align-items:center;gap:14px}
    .search-mini{
      width:210px;height:38px;padding:0 13px;background:#f5f2ea;border:1px solid var(--line);
      border-radius:999px;color:var(--ink);font-size:13px;
    }
    .search-mini::placeholder{color:#8b9088}
    .nav-rail{border-top:1px solid var(--line)}
    .nav-list{
      min-height:58px;display:flex;align-items:stretch;gap:5px;margin:0;padding:0;list-style:none;
    }
    .nav-list a{
      display:flex;align-items:center;gap:8px;position:relative;padding:0 16px;
      color:#606860;font-size:13px;font-weight:700;white-space:nowrap;transition:color .2s ease;
    }
    .nav-list a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
    .nav-list a:after{
      content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;
      background:var(--moss);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
    }
    .nav-list a:hover,.nav-list a.active{color:var(--ink)}
    .nav-list a:hover:after,.nav-list a.active:after{transform:scaleX(1)}
    .nav-list a.active:before{
      content:"";width:5px;height:5px;border-radius:50%;background:var(--rust);position:absolute;top:13px;right:9px;
    }
    .mobile-menu{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;color:var(--ink)}
    .hero{padding:66px 0 0;background:var(--sand);position:relative}
    .hero:before{
      content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
      background-image:repeating-radial-gradient(ellipse at 78% 48%,transparent 0 21px,rgba(101,119,104,.18) 22px 23px,transparent 24px 42px);
      background-size:280px 210px;background-position:82% 32%;
    }
    .hero-inner{position:relative;min-height:660px;display:flex;flex-direction:column;justify-content:space-between}
    .hero-content{max-width:900px;padding:34px 0 74px}
    .hero h1{
      max-width:850px;margin:0 0 23px;font-size:clamp(44px,6vw,76px);line-height:1.05;
      letter-spacing:-.07em;font-weight:850;
    }
    .hero h1 span{color:var(--moss-dark)}
    .hero-lead{max-width:720px;margin:0;color:#525b53;font-size:17px;line-height:1.9}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
    .access-note{
      display:flex;align-items:flex-start;gap:9px;margin-top:25px;color:#626a63;font-size:13px;
    }
    .access-note b{color:var(--rust);font-size:15px}
    .map-stage{
      position:relative;min-height:280px;margin-top:12px;border:1px solid rgba(69,85,72,.18);
      border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--ink);overflow:hidden;
    }
    .map-stage:before{
      content:"";position:absolute;inset:-30px;opacity:.65;
      background:repeating-radial-gradient(ellipse at 68% 40%,transparent 0 20px,rgba(200,214,197,.2) 21px 22px,transparent 23px 39px);
      transform:rotate(-5deg);
    }
    .map-stage:after{
      content:"";position:absolute;left:8%;right:9%;top:54%;height:1px;
      background:linear-gradient(90deg,transparent,rgba(244,241,233,.3),transparent);
    }
    .map-copy{position:absolute;left:34px;top:28px;color:#e7e7dd}
    .map-copy strong{display:block;font-size:13px;letter-spacing:.12em}
    .map-copy small{display:block;margin-top:5px;color:#aeb9ae;font-size:11px}
    .map-node{position:absolute;width:12px;height:12px;border:3px solid var(--rust);border-radius:50%;background:var(--ink);box-shadow:0 0 0 7px rgba(185,108,69,.14)}
    .node-a{left:37%;top:58%}.node-b{left:62%;top:35%;border-color:#b3c2b0}.node-c{right:15%;bottom:23%}
    .map-line{position:absolute;height:1px;background:#aebdac;transform-origin:left;opacity:.8}
    .line-a{left:38%;top:59%;width:28%;transform:rotate(-24deg)}.line-b{left:63%;top:38%;width:25%;transform:rotate(35deg)}
    .map-label{position:absolute;color:#bcc7ba;font-size:11px;letter-spacing:.12em}.label-a{left:27%;bottom:21%}.label-b{right:12%;top:21%}.label-c{right:8%;bottom:12%}
    .quick-index{
      position:relative;display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);
      border:1px solid var(--line);border-radius:16px 16px 0 0;overflow:hidden;
    }
    .quick-index a{padding:18px 22px;border-right:1px solid var(--line);font-size:13px;font-weight:700;transition:background .2s ease,color .2s ease}
    .quick-index a:last-child{border-right:0}.quick-index a:hover{background:#edf0e9;color:var(--moss-dark)}
    .quick-index small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400}
    .services{background:var(--paper)}
    .path-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:18px}
    .path-card{
      min-height:235px;padding:25px;position:relative;display:flex;flex-direction:column;justify-content:space-between;
      border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);overflow:hidden;
      transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
    }
    .path-card:hover{transform:translateY(-4px);border-color:var(--moss);box-shadow:var(--shadow)}
    .path-card.featured{grid-row:span 2;min-height:488px;background:var(--ink);color:#f7f5ed}
    .path-card.featured:before{content:"";position:absolute;width:370px;height:370px;right:-95px;bottom:-100px;border:1px solid rgba(197,214,194,.26);border-radius:47% 53% 42% 58%}
    .path-card.featured:after{content:"";position:absolute;width:260px;height:260px;right:-40px;bottom:-30px;border:1px solid rgba(197,214,194,.19);border-radius:49% 51% 58% 42%}
    .card-no{font-size:12px;color:var(--rust);font-weight:800;letter-spacing:.13em}
    .path-card h3{margin:16px 0 10px;font-size:24px;line-height:1.28;letter-spacing:-.035em}.path-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.featured p{color:#b7c0b5}
    .card-link{display:inline-flex;align-items:center;gap:8px;margin-top:19px;font-size:13px;font-weight:700}.featured .card-link{color:#d6ded3}
    .index-card{background:#e9ece4}.index-card ul{margin:15px 0 0;padding:0;list-style:none}.index-card li{padding:7px 0;border-bottom:1px solid rgba(69,85,72,.15);font-size:13px}.index-card li:last-child{border:0}
    .dashboard{padding:95px 0;background:var(--ink);color:#f6f3ea;position:relative;overflow:hidden}
    .dashboard:before{content:"";position:absolute;width:900px;height:900px;left:-260px;top:-480px;border:1px solid rgba(202,216,198,.12);border-radius:46% 54% 57% 43%;box-shadow:0 0 0 55px rgba(202,216,198,.025),0 0 0 110px rgba(202,216,198,.018)}
    .dashboard .section-heading{margin:0}.dashboard .section-heading h2{color:#fff}.dashboard .section-heading p{color:#b4bdb2}.dashboard .eyebrow{color:#b4c2b1}
    .metrics{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(231,237,227,.22);border-bottom:1px solid rgba(231,237,227,.22)}
    .metric{padding:24px 22px 23px;border-right:1px solid rgba(231,237,227,.16)}.metric:last-child{border:0}.metric b{display:block;font-size:clamp(33px,4vw,56px);line-height:1;font-weight:800;letter-spacing:-.07em;color:#e5ece1}.metric span{display:block;margin-top:10px;color:#a8b3a6;font-size:13px}.metric i{display:block;margin-top:4px;color:#d4dbd1;font-style:normal;font-size:12px}
    .case-section{background:#f0eee7}
    .case-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}
    .case-focus{min-height:440px;padding:34px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--radius-xl);overflow:hidden;color:#fff;background:#39443c}
    .case-focus:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,24,19,.92),rgba(16,24,19,.1)),repeating-radial-gradient(ellipse at 70% 35%,transparent 0 24px,rgba(222,232,219,.24) 25px 26px,transparent 27px 45px)}
    .case-focus>*{position:relative}.case-focus .big-number{position:absolute;top:22px;right:31px;color:rgba(255,255,255,.32);font-size:72px;font-weight:800;line-height:1}.case-focus h3{max-width:580px;margin:12px 0 9px;font-size:31px;line-height:1.25;letter-spacing:-.05em}.case-focus p{max-width:510px;margin:0;color:#d2dbcf;font-size:14px}
    .case-side{display:grid;gap:20px}.case-mini{min-height:210px;padding:23px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);display:flex;flex-direction:column;justify-content:space-between;transition:.22s ease}.case-mini:hover{border-color:var(--moss);transform:translateY(-3px)}.case-mini h3{margin:12px 0 0;font-size:20px;line-height:1.35}.case-mini p{margin:8px 0;color:var(--muted);font-size:13px}.case-mini.dark{background:#dce2d9}
    .routes{background:var(--paper)}
    .route-line{display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:22px}
    .route-line:before{content:"";position:absolute;top:36px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,var(--moss),var(--rust),var(--moss))}
    .route-panel{position:relative;padding:0 20px 26px;background:var(--paper)}.route-dot{width:14px;height:14px;margin:29px 0 24px;border:3px solid var(--paper);border-radius:50%;background:var(--rust);box-shadow:0 0 0 1px var(--rust)}.route-panel:nth-child(2) .route-dot{background:var(--moss);box-shadow:0 0 0 1px var(--moss)}.route-panel h3{margin:0 0 10px;font-size:22px;line-height:1.3}.route-panel p{margin:0;color:var(--muted);font-size:14px}.route-panel .tag{margin:16px 0 2px}
    .faq{background:var(--sand)}
    .faq-aside{padding-right:28px}.faq-aside p{color:var(--muted);font-size:15px}.faq-aside .button{margin-top:13px}
    .accordion{margin:0;background:transparent}.accordion-item{margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden}.accordion-title{padding:18px 48px 18px 20px;border:0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.5}.accordion-title:hover,.accordion-title:focus{background:#edf0e9;color:var(--ink)}.accordion-title:before{right:20px;color:var(--rust);font-size:22px}.faq-no{display:inline-block;width:40px;color:var(--moss);font-size:12px;letter-spacing:.1em}.accordion-content{padding:0 24px 20px 60px;border:0;background:#f4f6f0;color:#59625a;font-size:14px;line-height:1.85}
    .contact{padding:106px 0;background:var(--ink);color:#f6f3ea;position:relative}.contact:after{content:"";position:absolute;right:-180px;bottom:-260px;width:670px;height:670px;border:1px solid rgba(212,226,209,.14);border-radius:50%;box-shadow:0 0 0 54px rgba(212,226,209,.025),0 0 0 108px rgba(212,226,209,.02)}.contact .grid-container{position:relative;z-index:1}.contact h2{margin:0 0 16px;font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.05em}.contact p{color:#b9c2b8}.contact .tag{color:#dce8d9;border-color:rgba(214,228,211,.35)}
    .contact-form{padding:27px;border:1px solid rgba(231,238,227,.18);border-radius:var(--radius-lg);background:rgba(255,255,255,.055)}.contact-form label{display:block;margin-bottom:13px;color:#dde5db;font-size:13px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid rgba(226,235,223,.23);border-radius:9px;background:rgba(10,15,12,.35);color:#fff;box-shadow:none}.contact-form select option{color:#18201d}.contact-form textarea{min-height:95px;resize:vertical}.contact-form .button{width:100%;margin-top:3px}.form-note{margin:12px 0 0!important;color:#aeb8ac!important;font-size:12px;line-height:1.7}
    .site-footer{padding:62px 0 28px;background:#101713;color:#d4d9d0}.footer-brand{font-size:20px;font-weight:800;letter-spacing:-.04em}.footer-text{max-width:290px;margin:13px 0 0;color:#9fa99e;font-size:13px}.footer-title{margin:5px 0 13px;color:#f1f3eb;font-size:13px;font-weight:800}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin:7px 0}.footer-links a{color:#aeb7ac;font-size:13px;transition:color .2s ease}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding-top:20px;border-top:1px solid rgba(218,225,215,.13);color:#8f9a8e;font-size:12px}
    .reveal-on-scroll{opacity:0;transform:translateY(15px);transition:opacity .55s ease,transform .55s ease}.reveal-on-scroll.is-visible{opacity:1;transform:none}
    @media(max-width:1023px){
      .section{padding:82px 0}.hero-inner{min-height:600px}.path-grid{grid-template-columns:1.1fr .9fr}.path-card.featured{grid-row:span 1;grid-column:span 2;min-height:310px}.index-card{grid-column:span 2}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid rgba(231,237,227,.16)}.case-layout{grid-template-columns:1fr}.faq-aside{padding:0 0 30px}.contact-form{margin-top:30px}
    }
    @media(max-width:639px){
      body{font-size:15px}.grid-container{padding-left:20px;padding-right:20px}.brand-row{min-height:62px}.brand{font-size:15px}.brand-mark{width:26px;height:26px}.header-tools .button,.search-mini{display:none}.mobile-menu{display:inline-flex;align-items:center;justify-content:center}.nav-rail{overflow-x:auto}.nav-list{width:max-content;min-height:54px}.nav-list a{padding:0 12px}.nav-list a:after{left:12px;right:12px}.hero{padding-top:31px}.hero-inner{min-height:auto}.hero-content{padding:18px 0 45px}.hero h1{font-size:clamp(38px,11vw,52px)}.hero-lead{font-size:15px}.map-stage{min-height:223px}.quick-index{grid-template-columns:repeat(2,1fr);border-radius:13px 13px 0 0}.quick-index a{padding:14px 13px;border-bottom:1px solid var(--line)}.quick-index a:nth-child(2){border-right:0}.quick-index a:nth-child(n+3){border-bottom:0}.section{padding:66px 0}.section-heading{margin-bottom:31px}.section-heading p{font-size:15px}.path-grid{grid-template-columns:1fr}.path-card.featured,.index-card{grid-column:auto}.path-card.featured{min-height:310px}.path-card{min-height:220px}.metrics{grid-template-columns:1fr}.metric,.metric:nth-child(2){border-right:0;border-bottom:1px solid rgba(231,237,227,.16)}.metric:last-child{border-bottom:0}.case-focus{min-height:360px;padding:25px}.case-focus h3{font-size:26px}.route-line{grid-template-columns:1fr;gap:0}.route-line:before{top:25px;bottom:26px;left:26px;right:auto;width:1px;height:auto;background:linear-gradient(var(--moss),var(--rust),var(--moss))}.route-panel{padding:0 0 30px 48px}.route-dot{position:absolute;left:20px;top:0;margin:19px 0}.accordion-content{padding:0 18px 18px 20px}.accordion-title{padding-left:15px}.faq-no{width:34px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}
    }

/* roulang page: category1 */
:root{
 --ink:#18201d;--ink-2:#28312d;--moss:#657768;--moss-dark:#455548;
 --sand:#f4f1e9;--paper:#fcfaf5;--stone:#dfddd4;--muted:#747970;
 --rust:#b96c45;--rust-dark:#985335;--line:rgba(35,47,40,.14);
 --white:#fffdf8;--shadow:0 16px 38px rgba(24,32,29,.09);
 --radius-xl:26px;--radius-lg:18px;--radius-md:12px;--container:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.75;letter-spacing:.015em}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(185,108,69,.42);outline-offset:3px}
.grid-container{max-width:var(--container)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 15px;color:var(--moss-dark);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eyebrow:before{content:"";width:22px;height:1px;background:var(--rust)}
.tag{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border:1px solid rgba(101,119,104,.45);border-radius:999px;color:var(--moss-dark);font-size:12px;line-height:1.2;white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0;border:0;border-radius:999px;padding:14px 21px;background:var(--rust);color:#fff;font-size:14px;font-weight:700;line-height:1.2;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.button:hover{background:var(--rust-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 21px rgba(185,108,69,.22)}
.button.hollow{background:transparent;color:var(--ink);border:1px solid var(--line)}
.button.hollow:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.arrow{font-size:19px;line-height:0;transition:transform .2s ease}
.button:hover .arrow,.entry-link:hover .arrow{transform:translateX(4px)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(252,250,245,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(9px)}
.brand-row{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}
.brand-mark{width:30px;height:30px;position:relative;border:1.5px solid var(--moss);border-radius:50%}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--rust)}
.brand-mark:before{width:5px;height:5px;border-radius:50%;left:7px;top:7px}
.brand-mark:after{width:13px;height:1px;transform:rotate(-42deg);right:3px;bottom:7px}
.header-tools{display:flex;align-items:center;gap:14px}
.search-mini{width:210px;height:38px;padding:0 13px;background:#f5f2ea;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:13px}
.search-mini::placeholder{color:#8b9088}
.mobile-menu{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;color:var(--ink)}
.nav-rail{border-top:1px solid var(--line)}
.nav-list{min-height:58px;display:flex;align-items:stretch;gap:5px;margin:0;padding:0;list-style:none}
.nav-list a{display:flex;align-items:center;gap:8px;position:relative;padding:0 16px;color:#606860;font-size:13px;font-weight:700;white-space:nowrap;transition:color .2s ease}
.nav-list a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.nav-list a:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;background:var(--moss);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nav-list a:hover,.nav-list a.active{color:var(--ink)}
.nav-list a:hover:after,.nav-list a.active:after{transform:scaleX(1)}
.nav-list a.active:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rust);position:absolute;top:13px;right:9px}
.archive-hero{position:relative;overflow:hidden;padding:72px 0 56px;background:var(--sand);border-bottom:1px solid var(--line)}
.archive-hero:before{content:"";position:absolute;width:530px;height:530px;right:6%;top:-220px;border:1px solid rgba(101,119,104,.22);border-radius:49% 51% 59% 41%;box-shadow:0 0 0 38px rgba(101,119,104,.05),0 0 0 77px rgba(101,119,104,.035)}
.archive-hero:after{content:"";position:absolute;right:12%;bottom:30px;width:250px;height:1px;background:linear-gradient(90deg,transparent,var(--rust),transparent);transform:rotate(-24deg)}
.breadcrumb{position:relative;z-index:1;display:flex;gap:9px;margin-bottom:28px;color:var(--muted);font-size:13px;align-items:center}
.breadcrumb span{color:var(--rust)}
.archive-heading{position:relative;z-index:1;max-width:820px}
.archive-heading h1{max-width:800px;margin:0 0 17px;font-size:clamp(42px,5.2vw,64px);line-height:1.08;letter-spacing:-.065em;font-weight:850}
.archive-heading p{max-width:700px;margin:0;color:#566057;font-size:17px;line-height:1.9}
.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.archive-map{position:relative;z-index:1;height:232px;margin-top:10px;background:var(--ink);border:1px solid rgba(69,85,72,.3);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow)}
.archive-map:before{content:"";position:absolute;inset:-70px;background:repeating-radial-gradient(ellipse at 62% 55%,transparent 0 18px,rgba(228,237,225,.18) 19px 20px,transparent 21px 38px);transform:rotate(-12deg)}
.archive-map:after{content:"";position:absolute;left:16%;top:63%;height:1px;width:64%;background:rgba(244,241,233,.48);transform:rotate(-16deg)}
.map-code,.map-point,.map-label{position:absolute;z-index:2}
.map-code{top:21px;left:23px;color:#dce2d9;font-size:11px;letter-spacing:.16em}
.map-point{width:12px;height:12px;right:27%;top:44%;border:3px solid var(--rust);border-radius:50%;background:var(--ink);box-shadow:0 0 0 8px rgba(185,108,69,.13)}
.map-label{right:16px;bottom:18px;color:#dce2d9;font-size:12px}
.archive-section{padding:64px 0 108px}
.utility-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0 27px;border-bottom:1px solid var(--line)}
.result-count{font-size:14px;color:var(--muted)}
.result-count b{color:var(--ink)}
.sort-select{min-width:148px;padding:10px 34px 10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font-size:13px;appearance:auto}
.filter-side{position:sticky;top:154px;padding:25px 23px;background:#f1eee5;border:1px solid var(--line);border-radius:var(--radius-lg)}
.filter-side h2{margin:0 0 18px;font-size:18px;line-height:1.35;letter-spacing:-.03em}
.filter-group{padding:17px 0;border-top:1px solid var(--line)}
.filter-group:first-of-type{padding-top:0;border-top:0}
.filter-label{display:block;margin-bottom:11px;font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.1em}
.filter-list{display:flex;flex-wrap:wrap;gap:8px}
.filter-chip{border:1px solid rgba(101,119,104,.28);padding:7px 9px;border-radius:999px;background:transparent;color:#59625b;font-size:12px;line-height:1.2;transition:.2s ease}
.filter-chip:hover,.filter-chip.is-active{background:var(--moss-dark);border-color:var(--moss-dark);color:#fff}
.filter-note{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.75;color:var(--muted)}
.content-grid{padding-top:34px}
.feature-entry{position:relative;display:grid;grid-template-columns:minmax(180px,.85fr) 1.3fr;gap:26px;align-items:stretch;margin:0 0 22px;padding:0;background:var(--ink);color:#f6f3ea;border-radius:var(--radius-xl);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.feature-entry:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(24,32,29,.19)}
.feature-cover{position:relative;min-height:220px;overflow:hidden;background:linear-gradient(135deg,#4c5e53,#1f2824)}
.feature-cover:before{content:"";position:absolute;inset:-40px;background:repeating-radial-gradient(ellipse at 58% 55%,transparent 0 17px,rgba(240,245,233,.22) 18px 19px,transparent 20px 37px);transform:rotate(24deg)}
.feature-cover:after{content:"";position:absolute;right:18%;bottom:28%;width:12px;height:12px;border:3px solid var(--rust);border-radius:50%;box-shadow:0 0 0 9px rgba(185,108,69,.15)}
.feature-copy{padding:28px 35px 27px 0;display:flex;flex-direction:column;align-items:flex-start}
.entry-no{color:#c5d0c5;font-size:12px;font-weight:700;letter-spacing:.14em}
.feature-copy h3{margin:10px 0 9px;font-size:25px;line-height:1.28;letter-spacing:-.04em}
.feature-copy p{margin:0;color:#cbd1c9;font-size:14px;line-height:1.8}
.feature-copy .tag{margin-top:16px;border-color:rgba(229,239,226,.38);color:#e3ece0}
.entry-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;color:#fff;font-size:13px;font-weight:700}
.entries-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.index-card{position:relative;display:flex;min-height:342px;flex-direction:column;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 22px rgba(24,32,29,.035);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.index-card:hover{transform:translateY(-4px);border-color:var(--moss);box-shadow:var(--shadow)}
.index-card.offset{margin-top:38px}
.card-art{height:126px;margin:-24px -24px 20px;position:relative;overflow:hidden;background:#d9ddd3}
.card-art:before{content:"";position:absolute;inset:-25px;background:repeating-radial-gradient(ellipse at 52% 54%,transparent 0 17px,rgba(53,73,59,.27) 18px 19px,transparent 20px 38px);transform:rotate(-15deg)}
.card-art.art-b{background:#d8cec0}
.card-art.art-b:before{background:repeating-radial-gradient(ellipse at 62% 42%,transparent 0 14px,rgba(112,83,59,.26) 15px 16px,transparent 17px 35px)}
.card-art.art-c{background:#cbd3cb}
.card-art.art-c:after,.card-art:after{content:"";position:absolute;width:9px;height:9px;bottom:27px;right:29%;border-radius:50%;background:var(--rust);box-shadow:0 0 0 8px rgba(185,108,69,.13)}
.card-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
.card-kicker time{white-space:nowrap}
.index-card h3{margin:12px 0 10px;font-size:21px;line-height:1.35;letter-spacing:-.035em}
.index-card p{margin:0;color:#626a63;font-size:14px;line-height:1.75}
.index-card .entry-link{color:var(--ink)}
.route-strip{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;background:#edf0e9;border-top:1px solid rgba(101,119,104,.22);border-bottom:1px solid rgba(101,119,104,.22)}
.route-strip strong{font-size:14px}
.route-strip p{margin:0;color:var(--muted);font-size:13px}
.route-strip a{color:var(--moss-dark);font-size:13px;font-weight:700;white-space:nowrap}
.cross-cta{margin:62px 0 0;padding:42px;background:linear-gradient(110deg,#e7e8de,#f5eee6);border:1px solid var(--line);border-radius:var(--radius-xl);position:relative;overflow:hidden}
.cross-cta:after{content:"";position:absolute;width:250px;height:250px;right:-50px;top:-125px;border:1px solid rgba(101,119,104,.22);border-radius:50%;box-shadow:0 0 0 30px rgba(101,119,104,.045)}
.cross-cta h2{position:relative;z-index:1;max-width:620px;margin:0 0 10px;font-size:30px;line-height:1.25;letter-spacing:-.045em}
.cross-cta p{position:relative;z-index:1;max-width:640px;margin:0;color:#5e675f;font-size:15px}
.cross-cta .button{position:relative;z-index:1;margin-top:22px}
.pagination-wrap{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:50px}
.page-item{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:13px;font-weight:700;transition:.2s ease}
.page-item:hover,.page-item.active{background:var(--ink);border-color:var(--ink);color:#fff}
.site-footer{padding:70px 0 23px;background:var(--ink);color:#edf0e9}
.footer-brand{margin-bottom:13px;font-size:20px;font-weight:800;letter-spacing:-.04em}
.footer-text{max-width:330px;margin:0;color:#b8c0b8;font-size:13px;line-height:1.8}
.footer-title{margin:4px 0 13px;color:#fff;font-size:13px;font-weight:700}
.footer-links{margin:0;padding:0;list-style:none}
.footer-links li{margin:7px 0}
.footer-links a{color:#b8c0b8;font-size:13px;transition:color .2s ease}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:22px;margin-top:55px;padding-top:21px;border-top:1px solid rgba(234,240,232,.16);color:#aeb8ae;font-size:12px}
.mobile-filter{display:none}
@media(max-width:1023px){
 .archive-map{height:190px;margin-top:32px}.filter-side{position:static;margin-bottom:28px}
 .filter-side .filter-group{display:inline-block;vertical-align:top;width:49%;padding:12px 12px 0 0;border-top:0}
 .filter-note{display:none}.archive-section{padding-top:45px}
}
@media(max-width:767px){
 body{font-size:15px}.grid-container{padding-left:20px;padding-right:20px}
 .brand-row{min-height:65px}.brand{font-size:16px}.brand-mark{width:27px;height:27px}
 .search-mini,.header-tools>.button{display:none}.mobile-menu{display:block}
 .nav-rail .grid-container{padding:0}.nav-list{min-height:54px;overflow-x:auto;padding:0 12px}.nav-list::-webkit-scrollbar{display:none}.nav-list a{padding:0 13px}
 .archive-hero{padding:47px 0 38px}.archive-heading h1{font-size:clamp(36px,10vw,46px)}.archive-heading p{font-size:15px}
 .archive-map{height:164px}.utility-bar{align-items:flex-start;flex-direction:column;gap:12px}.sort-select{width:100%}
 .filter-side{display:none}.mobile-filter{display:flex;gap:9px;overflow-x:auto;margin:0 -20px;padding:0 20px 21px}.mobile-filter::-webkit-scrollbar{display:none}
 .mobile-filter .filter-chip{flex:0 0 auto}.feature-entry{grid-template-columns:1fr;gap:0}.feature-cover{min-height:145px}.feature-copy{padding:22px}.feature-copy h3{font-size:22px}
 .entries-masonry{grid-template-columns:1fr;gap:17px}.index-card,.index-card.offset{min-height:0;margin-top:0}.route-strip{align-items:flex-start;flex-direction:column;gap:7px}
 .cross-cta{margin-top:45px;padding:30px 24px}.cross-cta h2{font-size:25px}.footer-bottom{align-items:flex-start;flex-direction:column;margin-top:35px;gap:7px}
 .site-footer{padding-top:48px}.site-footer .cell{margin-bottom:22px}
}
@media(max-width:420px){.header-tools{gap:8px}.brand{font-size:15px}.nav-list a{font-size:12px}.archive-heading h1{letter-spacing:-.075em}.card-art{height:112px}}

/* roulang page: category2 */
:root{
 --ink:#18201d;--ink-2:#28312d;--moss:#657768;--moss-dark:#455548;
 --sand:#f4f1e9;--paper:#fcfaf5;--stone:#dfddd4;--muted:#747970;
 --rust:#b96c45;--rust-dark:#985335;--line:rgba(35,47,40,.14);
 --white:#fffdf8;--shadow:0 16px 38px rgba(24,32,29,.09);
 --radius-xl:26px;--radius-lg:18px;--radius-md:12px;--container:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;background:var(--paper);color:var(--ink);
 font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
 font-size:16px;line-height:1.75;letter-spacing:.015em;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
 outline:3px solid rgba(185,108,69,.42);outline-offset:3px;
}
.grid-container{max-width:var(--container)}
.eyebrow{
 display:inline-flex;align-items:center;gap:9px;margin:0 0 15px;
 color:var(--moss-dark);font-size:12px;font-weight:700;letter-spacing:.14em;
}
.eyebrow:before{content:"";width:22px;height:1px;background:var(--rust)}
.section{padding:104px 0;position:relative}
.section-heading{max-width:700px;margin-bottom:42px}
.section-heading h2{
 margin:0 0 14px;font-size:clamp(30px,3.4vw,45px);line-height:1.18;
 letter-spacing:-.045em;font-weight:800;
}
.section-heading p{margin:0;color:var(--muted);font-size:16px}
.tag{
 display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;
 border:1px solid rgba(101,119,104,.45);border-radius:999px;
 color:var(--moss-dark);font-size:12px;line-height:1.2;white-space:nowrap;
}
.button{
 display:inline-flex;align-items:center;justify-content:center;gap:10px;
 margin:0;border:0;border-radius:999px;padding:14px 21px;background:var(--rust);
 color:#fff;font-size:14px;font-weight:700;line-height:1.2;
 transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.button:hover{background:var(--rust-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 21px rgba(185,108,69,.22)}
.button.hollow{background:transparent;color:var(--ink);border:1px solid var(--line)}
.button.hollow:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.arrow{font-size:19px;line-height:0;transition:transform .2s ease}
.button:hover .arrow,.route-link:hover .arrow,.mini-link:hover .arrow{transform:translateX(4px)}
.site-header{
 position:sticky;top:0;z-index:30;background:rgba(252,250,245,.97);
 border-bottom:1px solid var(--line);backdrop-filter:blur(9px);
}
.brand-row{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}
.brand-mark{width:30px;height:30px;position:relative;border:1.5px solid var(--moss);border-radius:50%}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--rust)}
.brand-mark:before{width:5px;height:5px;border-radius:50%;left:7px;top:7px}
.brand-mark:after{width:13px;height:1px;transform:rotate(-42deg);right:3px;bottom:7px}
.header-tools{display:flex;align-items:center;gap:14px}
.search-mini{
 width:210px;height:38px;padding:0 13px;background:#f5f2ea;border:1px solid var(--line);
 border-radius:999px;color:var(--ink);font-size:13px;
}
.search-mini::placeholder{color:#8b9088}
.nav-rail{border-top:1px solid var(--line)}
.nav-list{min-height:58px;display:flex;align-items:stretch;gap:5px;margin:0;padding:0;list-style:none}
.nav-list a{
 display:flex;align-items:center;gap:8px;position:relative;padding:0 16px;
 color:#606860;font-size:13px;font-weight:700;white-space:nowrap;transition:color .2s ease;
}
.nav-list a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.nav-list a:after{
 content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;background:var(--moss);
 transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
.nav-list a:hover,.nav-list a.active{color:var(--ink)}
.nav-list a:hover:after,.nav-list a.active:after{transform:scaleX(1)}
.nav-list a.active:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rust);position:absolute;top:13px;right:9px}
.mobile-menu{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;color:var(--ink)}

.route-hero{
 position:relative;overflow:hidden;padding:74px 0 80px;background:var(--ink);color:var(--white);
}
.route-hero:before{
 content:"";position:absolute;inset:0;opacity:.34;pointer-events:none;
 background-image:repeating-radial-gradient(ellipse at 84% 58%,transparent 0 28px,rgba(220,229,216,.22) 29px 30px,transparent 31px 52px);
 background-size:360px 270px;
}
.route-hero:after{
 content:"";position:absolute;width:48%;height:1px;right:-4%;bottom:88px;
 background:linear-gradient(90deg,transparent,rgba(244,241,233,.58),transparent);transform:rotate(-18deg);
}
.breadcrumb{position:relative;display:flex;align-items:center;gap:9px;margin:0 0 38px;padding:0;list-style:none;color:#b9c0b9;font-size:13px}
.breadcrumb li+li:before{content:"/";margin-right:9px;color:var(--rust)}
.breadcrumb a:hover{color:var(--white)}
.route-hero-grid{position:relative;align-items:end}
.route-code{color:#b9c0b9;font-size:12px;font-weight:700;letter-spacing:.18em}
.route-hero h1{
 max-width:760px;margin:12px 0 20px;font-size:clamp(42px,5.1vw,68px);line-height:1.06;
 letter-spacing:-.07em;font-weight:850;
}
.route-hero h1 span{display:block;color:#c4d0c4}
.route-intro{max-width:660px;margin:0;color:#d3d7d1;font-size:17px;line-height:1.9}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:29px}
.hero-tags .tag{border-color:rgba(207,222,204,.4);color:#e0e8dd}
.coordinate-box{
 position:relative;margin:24px 0 0;padding:26px;border:1px solid rgba(244,241,233,.2);
 border-radius:var(--radius-lg);background:rgba(255,253,248,.055);min-height:218px;
}
.coordinate-box:before{content:"";position:absolute;width:10px;height:10px;right:28px;top:29px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 7px rgba(185,108,69,.13)}
.coordinate-box:after{content:"";position:absolute;right:34px;top:45px;width:1px;height:105px;background:rgba(244,241,233,.3)}
.coordinate-label{margin:0 0 8px;color:#bac4b9;font-size:11px;font-weight:700;letter-spacing:.14em}
.coordinate-value{margin:0;color:var(--white);font-size:30px;font-weight:800;letter-spacing:-.04em}
.coordinate-stats{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:31px}
.coordinate-stats div{padding-top:10px;border-top:1px solid rgba(244,241,233,.18);color:#cbd1c9;font-size:12px}
.coordinate-stats strong{display:block;color:#fff;font-size:16px}

.route-nav-wrap{position:sticky;top:133px;z-index:10;padding:21px 0;background:rgba(252,250,245,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.route-nav{display:flex;align-items:center;gap:9px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.route-nav::-webkit-scrollbar{display:none}
.route-nav-title{flex:0 0 auto;margin-right:10px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em}
.route-nav a{flex:0 0 auto;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:#5e665e;font-size:13px;font-weight:700;transition:.2s ease}
.route-nav a:hover{border-color:var(--moss);background:#eef1eb;color:var(--moss-dark)}

.route-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:70px}
.side-index{position:sticky;top:220px;align-self:start;padding:20px 0;border-left:1px solid var(--line)}
.side-index p{margin:0 0 11px;padding-left:19px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em}
.side-index a{display:block;padding:10px 18px;border-left:2px solid transparent;color:#667068;font-size:13px;font-weight:700;transition:.2s ease}
.side-index a:hover{border-left-color:var(--rust);background:#f4f1e9;color:var(--ink)}
.route-stream{position:relative}
.route-stream:before{content:"";position:absolute;left:30px;top:34px;bottom:32px;width:1px;background:linear-gradient(var(--moss),rgba(101,119,104,.13))}
.route-node{position:relative;padding:0 0 78px 88px}
.route-node:last-child{padding-bottom:12px}
.node-marker{
 position:absolute;left:8px;top:4px;display:flex;align-items:center;justify-content:center;width:45px;height:45px;
 border:1px solid var(--moss);border-radius:50%;background:var(--paper);color:var(--moss-dark);
 font-size:13px;font-weight:800;letter-spacing:.03em;
}
.node-marker:after{content:"";position:absolute;width:9px;height:9px;right:-5px;top:17px;border-radius:50%;background:var(--rust);border:2px solid var(--paper)}
.node-top{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px}
.node-top h2{margin:0;font-size:clamp(27px,3vw,39px);line-height:1.18;letter-spacing:-.045em;font-weight:800}
.node-copy{max-width:620px;margin:11px 0 0;color:var(--muted);font-size:15px}
.node-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}

.feature-item{
 position:relative;display:grid;grid-template-columns:39% 1fr;margin-bottom:15px;overflow:hidden;
 border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:0 7px 20px rgba(24,32,29,.035);
 transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.feature-item:hover{border-color:rgba(101,119,104,.65);box-shadow:var(--shadow);transform:translateY(-3px)}
.feature-cover{position:relative;min-height:185px;overflow:hidden;background:#d8ddd4}
.feature-cover:before,.feature-cover:after{content:"";position:absolute;inset:0}
.feature-cover:before{
 opacity:.75;background:repeating-radial-gradient(ellipse at 35% 58%,transparent 0 16px,rgba(24,32,29,.28) 17px 18px,transparent 19px 31px);
 transform:rotate(-13deg);
}
.feature-cover:after{background:linear-gradient(130deg,rgba(24,32,29,.08),rgba(185,108,69,.35))}
.cover-b{background:#bbc7ba}.cover-c{background:#d9c9b6}.cover-d{background:#aebcb4}.cover-e{background:#ced0c1}
.cover-word{position:absolute;left:19px;bottom:16px;z-index:1;color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em}
.feature-body{padding:24px 27px}
.item-number{color:var(--rust);font-size:12px;font-weight:800;letter-spacing:.14em}
.feature-body h3{margin:6px 0 9px;font-size:22px;line-height:1.3;letter-spacing:-.035em}
.feature-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.feature-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.feature-meta .tag{font-size:11px}
.route-link,.mini-link{display:inline-flex;align-items:center;gap:8px;color:var(--moss-dark);font-size:13px;font-weight:800}

.compact-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.compact-list li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px 2px;border-bottom:1px solid var(--line)}
.compact-no{color:var(--rust);font-size:12px;font-weight:800;letter-spacing:.1em}
.compact-list h3{margin:0 0 2px;font-size:16px;line-height:1.35;font-weight:800}
.compact-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.compact-list a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--moss-dark);transition:.2s ease}
.compact-list a:hover{border-color:var(--moss);background:var(--moss);color:#fff;transform:translateX(2px)}

.crossroad{margin:4px 0 78px;padding:34px 37px;border:1px solid #d6d8cf;border-radius:var(--radius-xl);background:#edf0e9;position:relative;overflow:hidden}
.crossroad:before{content:"";position:absolute;right:-35px;top:-75px;width:230px;height:230px;border:1px solid rgba(101,119,104,.26);border-radius:50%;box-shadow:0 0 0 30px rgba(101,119,104,.07),0 0 0 60px rgba(101,119,104,.04)}
.crossroad-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:26px}
.crossroad h2{margin:0 0 8px;font-size:27px;line-height:1.25;letter-spacing:-.04em}
.crossroad p{max-width:620px;margin:0;color:#606a61;font-size:14px}
.crossroad-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}

.notice-band{padding:22px 0;background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.notice-band p{margin:0;color:#596159;font-size:13px}
.notice-band strong{color:var(--ink)}

.neighbor-section{padding:95px 0;background:var(--ink);color:var(--white);position:relative;overflow:hidden}
.neighbor-section:before{content:"";position:absolute;inset:auto -6% -140px auto;width:420px;height:420px;border:1px solid rgba(244,241,233,.15);border-radius:50%;box-shadow:0 0 0 45px rgba(244,241,233,.035),0 0 0 90px rgba(244,241,233,.025)}
.neighbor-grid{position:relative;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px}
.neighbor-card{min-height:175px;padding:26px;border:1px solid rgba(244,241,233,.18);border-radius:var(--radius-lg);color:#e3e7e1;transition:.23s ease}
.neighbor-card:hover{background:rgba(244,241,233,.08);transform:translateY(-3px)}
.neighbor-card.center{background:var(--rust);border-color:var(--rust);color:#fff}
.neighbor-card small{display:block;margin-bottom:18px;color:#bac4b9;font-size:11px;font-weight:800;letter-spacing:.13em}
.neighbor-card.center small{color:#f9dfd1}
.neighbor-card strong{display:block;font-size:21px;line-height:1.35;letter-spacing:-.03em}
.neighbor-card .arrow{display:block;margin-top:29px;font-size:24px}
.neighbor-card:hover .arrow{transform:translateX(5px)}

.site-footer{padding:70px 0 24px;background:#101714;color:#d9dfd6}
.footer-brand{margin-bottom:13px;color:#fff;font-size:20px;font-weight:800;letter-spacing:-.04em}
.footer-text{max-width:330px;margin:0;color:#a9b3aa;font-size:13px;line-height:1.8}
.footer-title{margin:3px 0 13px;color:#fff;font-size:13px;font-weight:800}
.footer-links{margin:0;padding:0;list-style:none}
.footer-links li{margin:0 0 8px}
.footer-links a{color:#aeb8af;font-size:13px;transition:color .2s ease}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:52px;padding-top:20px;border-top:1px solid rgba(244,241,233,.13);color:#89958b;font-size:12px}
.reveal-on-scroll{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal-on-scroll.is-visible{opacity:1;transform:none}

@media(max-width:1023px){
 .section{padding:78px 0}.route-layout{grid-template-columns:1fr;gap:35px}.side-index{display:none}
 .route-stream:before{left:22px}.route-node{padding-left:70px}.node-marker{left:0}
 .coordinate-box{max-width:420px}.route-hero{padding:58px 0 64px}.crossroad{margin-bottom:62px}
}
@media(max-width:767px){
 body{font-size:15px}.brand-row{min-height:64px}.brand{font-size:16px}.brand-mark{width:27px;height:27px}
 .header-tools .button,.search-mini{display:none}.mobile-menu{display:inline-flex;align-items:center;justify-content:center}
 .nav-rail .grid-container{padding:0}.nav-list{display:none;min-height:auto;padding:8px 11px;flex-wrap:wrap;border-top:1px solid var(--line)}
 .nav-list.is-open{display:grid;grid-template-columns:1fr 1fr}.nav-list li{min-width:0}.nav-list a{min-height:48px;padding:0 10px;border:1px solid transparent;border-radius:10px}
 .nav-list a.active{background:#f2f0e8}.nav-list a:after{display:none}.nav-list a.active:before{top:9px;right:8px}
 .route-hero{padding:42px 0 51px}.breadcrumb{margin-bottom:26px}.route-hero h1{font-size:clamp(36px,10vw,49px)}
 .route-intro{font-size:15px}.coordinate-box{min-height:auto;padding:21px;margin-top:34px}.route-nav-wrap{top:65px;padding:13px 0}
 .route-nav-title{display:none}.section{padding:62px 0}.node-top{display:block;margin-bottom:18px}.node-tags{justify-content:flex-start;margin-top:14px}
 .route-node{padding:0 0 55px 60px}.route-stream:before{left:20px;top:30px}.node-marker{width:40px;height:40px;font-size:11px}.node-marker:after{top:14px}
 .node-top h2{font-size:28px}.node-copy{font-size:14px}.feature-item{grid-template-columns:1fr}.feature-cover{min-height:137px}.feature-body{padding:20px}
 .compact-list li{grid-template-columns:40px minmax(0,1fr) 31px;gap:8px}.compact-list p{font-size:12px}.compact-list h3{font-size:15px}
 .crossroad{padding:27px 23px;margin-bottom:55px}.crossroad-content{display:block}.crossroad h2{font-size:24px}.crossroad-actions{margin-top:20px}
 .neighbor-section{padding:66px 0}.neighbor-grid{grid-template-columns:1fr}.neighbor-card{min-height:130px}.footer-bottom{display:block;margin-top:32px}.footer-bottom span{display:block;margin-bottom:7px}
 .site-footer{padding-top:54px}.site-footer .cell{margin-bottom:26px}
}
@media(max-width:420px){
 .route-hero h1{letter-spacing:-.06em}.hero-tags{gap:6px}.tag{font-size:11px}.coordinate-stats{grid-template-columns:1fr 1fr}
 .route-node{padding-left:54px}.feature-meta{align-items:flex-start;flex-direction:column}.crossroad-actions .button{width:100%}
}

.custom-accordion{margin:0;background:transparent}
.custom-accordion .accordion-item{margin-bottom:10px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--white)}
.custom-accordion .accordion-title{
 display:flex;align-items:center;gap:15px;padding:19px 54px 19px 20px;border:0;background:transparent;
 color:var(--ink);font-size:16px;font-weight:800;line-height:1.5;
}
.custom-accordion .accordion-title:before{right:21px;color:var(--rust);font-size:22px;font-weight:400}
.custom-accordion .accordion-title span{color:var(--rust);font-size:12px;letter-spacing:.1em}
.custom-accordion .accordion-content{padding:0 25px 22px 57px;border:0;background:#f3f5ef;color:#606861;font-size:14px;line-height:1.85}
.custom-accordion .accordion-item.is-active{border-color:rgba(101,119,104,.5);box-shadow:0 9px 23px rgba(24,32,29,.045)}
@media(max-width:767px){
 .custom-accordion .accordion-title{padding:16px 45px 16px 16px;font-size:15px}
 .custom-accordion .accordion-content{padding:0 17px 18px 45px;font-size:13px}
}
