/* roulang page: index */
:root{
  --ink:#2d312c;
  --deep:#39463b;
  --muted:#73786e;
  --paper:#f7f4ed;
  --cream:#eee9dc;
  --sage:#dce4d7;
  --rust:#9b5d43;
  --rust-dark:#754331;
  --ochre:#c29a62;
  --line:#ded8ca;
  --white:#fffdf9;
  --shadow:0 18px 45px rgba(69,55,39,.09);
  --soft-shadow:0 8px 24px rgba(69,55,39,.07);
  --radius:18px;
  --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8}
a{color:inherit;text-decoration:none;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
.topline{height:36px;background:var(--deep);color:#f8f3e8;font-size:13px;display:flex;align-items:center}
.topline .container{display:flex;justify-content:space-between;align-items:center}
.topline strong{color:#e8c38c;font-weight:600}
.site-header{position:sticky;top:0;z-index:20;background:rgba(247,244,237,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);transition:box-shadow .25s ease}
.navbar{height:78px;display:flex;align-items:center;gap:36px}
.logo{display:inline-flex;align-items:center;gap:12px;min-width:265px;color:var(--deep);font-weight:800;letter-spacing:-.02em;font-size:18px}
.logo-mark{width:34px;height:34px;border:2px solid var(--rust);border-radius:50%;display:grid;place-items:center;color:var(--rust);font-family:Georgia,serif;font-size:17px}
.nav-links{display:flex;align-items:center;gap:28px;flex:1}
.nav-links a{position:relative;padding:26px 0;color:#5d6259;font-size:15px}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--rust);transition:right .25s ease}
.nav-links a:hover,.nav-links a.active{color:var(--rust-dark)}
.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;min-height:46px;padding:0 20px;font-weight:700;border:1px solid transparent}
.nav-button,.btn-primary{background:var(--rust);color:#fffaf2}
.nav-button:hover,.btn-primary:hover{background:var(--rust-dark);transform:translateY(-2px)}
.btn-secondary{border-color:var(--deep);color:var(--deep);background:transparent}
.btn-secondary:hover{background:var(--deep);color:#fffaf2}
.btn:focus,.nav-button:focus,.menu-toggle:focus,.faq-question:focus{outline:3px solid rgba(194,154,98,.45);outline-offset:3px}
.menu-toggle{display:none;background:none;border:0;color:var(--deep);font-size:26px}
.hero{position:relative;overflow:hidden;padding:92px 0 78px;background:var(--paper)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,237,.98) 10%,rgba(247,244,237,.86) 48%,rgba(247,244,237,.28)),url("/assets/images/backpic/back-1.webp") center/cover;opacity:.72;z-index:0}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--rust);font-size:13px;font-weight:800;letter-spacing:.12em}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--rust)}
.hero h1{font-size:clamp(42px,5vw,66px);line-height:1.16;letter-spacing:-.055em;margin:20px 0 24px;color:var(--deep);max-width:650px}
.hero h1 em{font-style:normal;color:var(--rust)}
.hero-copy{font-size:18px;color:#5e655c;max-width:570px;margin:0 0 30px}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.text-link{color:var(--rust-dark);font-weight:700;border-bottom:1px solid var(--rust);padding-bottom:3px}
.text-link:hover{color:var(--deep);border-color:var(--deep)}
.hero-facts{display:flex;gap:24px;margin-top:40px;padding-top:22px;border-top:1px solid rgba(117,67,49,.25)}
.fact strong{display:block;color:var(--deep);font-size:22px;line-height:1.2}
.fact span{font-size:13px;color:var(--muted)}
.hero-visual{position:relative;min-height:420px}
.seal-card{position:absolute;left:6%;top:9%;width:53%;height:330px;background:var(--white);border:1px solid #e3ddcf;border-radius:24px;padding:32px;box-shadow:var(--shadow);transform:rotate(-4deg)}
.seal-card:before{content:"";position:absolute;inset:17px;border:1px dashed #c6b79d;border-radius:16px}
.seal-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.seal-label{color:var(--rust);font-size:12px;letter-spacing:.16em}
.seal-word{font-family:serif;color:var(--deep);font-size:55px;line-height:1.15;writing-mode:vertical-rl;letter-spacing:.12em}
.seal-note{font-size:13px;color:var(--muted);max-width:130px}
.year-note{position:absolute;right:2%;bottom:2%;width:48%;padding:25px;background:var(--sage);border-radius:20px;box-shadow:var(--soft-shadow)}
.year-note small{color:var(--rust-dark);font-weight:700;letter-spacing:.08em}
.year-note h3{margin:9px 0 8px;color:var(--deep);font-size:25px;line-height:1.35}
.year-note p{margin:0;color:#5f6a60;font-size:14px}
.section{padding:100px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:42px}
.section-kicker{color:var(--rust);font-size:13px;font-weight:800;letter-spacing:.12em;margin-bottom:10px}
.section h2{margin:0;color:var(--deep);font-size:clamp(30px,4vw,42px);line-height:1.25;letter-spacing:-.035em}
.section-intro{max-width:480px;color:var(--muted);margin:0}
.relation{background:var(--cream)}
.relation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #cfc6b5;border-bottom:1px solid #cfc6b5}
.relation-item{padding:30px 34px 28px;border-right:1px solid #cfc6b5}
.relation-item:last-child{border-right:0}
.relation-index{color:var(--ochre);font-size:14px;font-weight:800}
.relation-item h3{font-size:23px;color:var(--deep);margin:12px 0 8px}
.relation-item p{font-size:14px;color:var(--muted);min-height:52px;margin:0 0 18px}
.arrow-link{color:var(--rust-dark);font-size:14px;font-weight:700}
.arrow-link span{display:inline-block;margin-left:8px;transition:transform .25s}
.arrow-link:hover span{transform:translateX(5px)}
.content-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
.feature-card{min-height:380px;border-radius:var(--radius);overflow:hidden;position:relative;color:#fff;background:var(--deep)}
.feature-card img{width:100%;height:100%;object-fit:cover;opacity:.72}
.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(35,45,36,.86),transparent 70%)}
.feature-info{position:absolute;z-index:1;left:30px;right:30px;bottom:28px}
.badge{display:inline-flex;align-items:center;border-radius:5px;padding:4px 9px;background:#e4d4bb;color:var(--rust-dark);font-size:12px;font-weight:700}
.feature-info h3{font-size:28px;line-height:1.35;margin:13px 0 8px}
.feature-info p{margin:0;color:#e8e9df;font-size:14px}
.topic-stack{display:grid;grid-template-rows:1fr 1fr;gap:24px}
.topic-card{display:grid;grid-template-columns:145px 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:178px;transition:transform .25s,box-shadow .25s}
.topic-card:hover{transform:translateY(-4px);box-shadow:var(--soft-shadow)}
.topic-card img{width:145px;height:100%;object-fit:cover}
.topic-body{padding:23px}
.topic-body h3{margin:10px 0 6px;font-size:21px;color:var(--deep)}
.topic-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.timeline{display:grid;grid-template-columns:150px 1fr;gap:26px}
.timeline-label{color:var(--rust);font-weight:800;font-size:15px;padding-top:3px}
.timeline-list{border-left:1px solid #c9bda9}
.timeline-row{position:relative;padding:0 0 30px 30px;display:grid;grid-template-columns:105px 1fr auto;gap:20px;align-items:start}
.timeline-row:before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;background:var(--rust);border-radius:50%;box-shadow:0 0 0 5px var(--paper)}
.timeline-date{font-size:13px;color:var(--ochre);font-weight:800}
.timeline-row h3{font-size:18px;margin:0;color:var(--deep)}
.timeline-row p{grid-column:2 / 3;margin:4px 0 0;color:var(--muted);font-size:14px}
.updates{background:#ebe8df}
.updates-grid{display:grid;grid-template-columns:280px 1fr;gap:70px}
.updates-aside h2{font-size:35px}
.updates-aside p{color:var(--muted);font-size:14px}
.list-link{color:var(--rust-dark);font-weight:700;font-size:14px}
.update-list{border-top:1px solid #cfc8ba}
.update-item{display:grid;grid-template-columns:105px 105px 1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid #cfc8ba}
.update-date{font-size:13px;color:var(--ochre);font-weight:700}
.update-item h3{font-size:17px;color:var(--deep);margin:0 0 3px}
.update-item p{font-size:13px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-state{text-align:center;padding:50px 20px;border:1px dashed #c8bfae;background:rgba(255,253,249,.55);border-radius:15px;color:var(--muted)}
.empty-icon{width:48px;height:48px;border-radius:50%;background:var(--sage);display:grid;place-items:center;margin:0 auto 12px;color:var(--deep);font-size:22px}
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}
.faq-intro p{color:var(--muted)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;border:0;background:none;text-align:left;padding:20px 0;display:flex;justify-content:space-between;align-items:center;color:var(--deep);font-weight:700;font-size:17px}
.faq-question span{font-size:25px;font-weight:400;color:var(--rust);transition:transform .25s}
.faq-answer{max-height:0;overflow:hidden;color:var(--muted);font-size:14px;transition:max-height .3s ease,padding .3s ease}
.faq-item.open .faq-answer{max-height:160px;padding:0 35px 20px 0}
.faq-item.open .faq-question span{transform:rotate(45deg)}
.cta{padding:68px 0;background:var(--deep);color:#f8f3e8}
.cta-box{display:flex;align-items:center;justify-content:space-between;gap:35px}
.cta h2{font-size:34px;line-height:1.35;margin:0 0 10px;color:#fffaf1}
.cta p{margin:0;color:#cbd2c7}
.cta .btn-primary{background:#c48a64}
.cta .btn-primary:hover{background:#d39c77}
.site-footer{background:#2d362f;color:#d8ded4;padding:58px 0 22px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px;padding-bottom:45px;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-logo{color:#fffaf1;margin-bottom:15px}
.footer-top p{color:#aeb9ac;font-size:14px;max-width:280px}
.footer-title{font-size:14px;color:#e8c38c;font-weight:700;margin:4px 0 15px}
.footer-links{display:flex;flex-direction:column;gap:7px;font-size:14px;color:#aeb9ac}
.footer-links a:hover{color:#fffaf1}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#91a093;font-size:12px}
@media(max-width:900px){
  .navbar{gap:20px}.logo{min-width:auto;font-size:16px}.nav-links{gap:16px}.nav-links a{font-size:14px}
  .hero-grid,.content-layout,.faq-grid,.updates-grid{grid-template-columns:1fr;gap:38px}
  .hero{padding:70px 0}.hero-visual{min-height:380px;max-width:650px}
  .relation-grid{grid-template-columns:1fr}.relation-item{border-right:0;border-bottom:1px solid #cfc6b5}.relation-item:last-child{border-bottom:0}
  .updates-grid{gap:25px}.footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .container{width:min(100% - 32px,600px)}
  .topline .container{justify-content:center}.topline span:last-child{display:none}
  .navbar{height:68px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 16px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--soft-shadow);flex-direction:column;align-items:stretch;gap:0}
  .nav-links.open{display:flex}.nav-links a{padding:13px 5px}.nav-links a:after{bottom:6px}
  .nav-button{margin-left:auto;min-height:42px;padding:0 13px;font-size:13px}.menu-toggle{display:block}
  .hero h1{font-size:42px}.hero-copy{font-size:16px}.hero-facts{gap:15px;justify-content:space-between}
  .seal-card{left:0;width:62%;height:295px}.year-note{width:52%;padding:20px}.year-note h3{font-size:21px}
  .section{padding:68px 0}.section-head{display:block;margin-bottom:28px}.section-intro{margin-top:14px}
  .timeline{grid-template-columns:1fr;gap:18px}.timeline-row{grid-template-columns:82px 1fr}.timeline-row p{grid-column:2}.timeline-row .arrow-link{grid-column:2}
  .update-item{grid-template-columns:80px 1fr auto;gap:10px}.update-item .badge{display:none}.update-item p{grid-column:2}.update-item h3{font-size:15px}
  .cta-box{display:block}.cta .btn{margin-top:24px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
}
@media(max-width:480px){
  .logo{font-size:14px;gap:7px}.logo-mark{width:29px;height:29px;font-size:14px}.nav-button{display:none}
  .hero{padding:54px 0 45px}.hero h1{font-size:35px}.hero-visual{min-height:330px}.seal-card{height:245px;padding:23px}.seal-word{font-size:42px}.year-note{bottom:0}.year-note h3{font-size:18px}.year-note p{font-size:12px}
  .hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.hero-facts{margin-top:28px}.fact strong{font-size:18px}.fact span{font-size:11px}
  .topic-card{grid-template-columns:105px 1fr;min-height:160px}.topic-card img{width:105px}.topic-body{padding:16px}.topic-body h3{font-size:18px}.topic-body p{font-size:13px}
  .timeline-row{padding-left:22px}.update-item{grid-template-columns:70px 1fr}.update-item .arrow-link{grid-column:2}.footer-top{grid-template-columns:1fr;gap:25px}
}

/* roulang page: article */
:root{
      --ink:#2d312c;
      --deep:#39463b;
      --muted:#73786e;
      --paper:#f7f4ed;
      --cream:#eee9dc;
      --sage:#dce4d7;
      --rust:#9b5d43;
      --rust-dark:#754331;
      --ochre:#c29a62;
      --line:#ded8ca;
      --white:#fffdf9;
      --shadow:0 18px 45px rgba(69,55,39,.09);
      --soft-shadow:0 8px 24px rgba(69,55,39,.07);
      --radius:18px;
      --container:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8}
    a{color:inherit;text-decoration:none;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}
    img{display:block;max-width:100%}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
    .topline{height:36px;background:var(--deep);color:#e9eee5;font-size:12px}
    .topline .container{height:100%;display:flex;align-items:center;justify-content:space-between}
    .topline a{color:#f0d8b6;border-bottom:1px solid rgba(240,216,182,.5)}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(247,244,237,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
    .navbar{height:78px;display:flex;align-items:center;gap:36px}
    .logo{display:inline-flex;align-items:center;gap:12px;min-width:265px;color:var(--deep);font-weight:800;letter-spacing:-.02em;font-size:18px}
    .logo-mark{width:34px;height:34px;border:2px solid var(--rust);border-radius:50%;display:grid;place-items:center;color:var(--rust);font-family:Georgia,serif;font-size:17px}
    .nav-links{display:flex;align-items:center;gap:28px;flex:1}
    .nav-links a{position:relative;padding:26px 0;color:#5d6259;font-size:15px}
    .nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--rust);transition:right .25s ease}
    .nav-links a:hover,.nav-links a.active{color:var(--rust-dark)}
    .nav-links a:hover:after,.nav-links a.active:after{right:0}
    .nav-button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;min-height:46px;padding:0 20px;font-weight:700;border:1px solid transparent}
    .nav-button,.btn-primary{background:var(--rust);color:#fffaf2}
    .nav-button:hover,.btn-primary:hover{background:var(--rust-dark);color:#fffaf2;transform:translateY(-2px)}
    .btn-secondary{border-color:var(--deep);color:var(--deep);background:transparent}
    .btn-secondary:hover{background:var(--deep);color:#fffaf2}
    .btn:focus,.nav-button:focus,.menu-toggle:focus,.faq-question:focus{outline:3px solid rgba(194,154,98,.45);outline-offset:3px}
    .menu-toggle{display:none;background:none;border:0;color:var(--deep);font-size:26px}
    .article-banner{position:relative;overflow:hidden;padding:74px 0 68px;background:var(--cream)}
    .article-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,233,220,.98),rgba(238,233,220,.78)),url("/assets/images/backpic/back-2.webp") center/cover;opacity:.65}
    .banner-inner{position:relative;z-index:1}
    .breadcrumb{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:28px}
    .breadcrumb a:hover{color:var(--rust-dark)}
    .breadcrumb span{color:#aaa08e}
    .article-label{display:inline-flex;background:#e4d4bb;color:var(--rust-dark);border-radius:5px;padding:5px 11px;font-size:12px;font-weight:800}
    .article-banner h1{max-width:900px;color:var(--deep);font-size:clamp(36px,5vw,62px);line-height:1.25;letter-spacing:-.05em;margin:18px 0 18px}
    .article-summary{max-width:780px;color:#62675e;font-size:18px;margin:0 0 24px}
    .article-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}
    .article-meta strong{color:var(--rust-dark)}
    .article-layout{display:grid;grid-template-columns:minmax(0,820px) 260px;gap:64px;align-items:start;padding:82px 0 100px}
    .article-content{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,5vw,62px);box-shadow:var(--soft-shadow)}
    .article-content h2{font-size:32px;line-height:1.35;color:var(--deep);margin:38px 0 18px}
    .article-content h3{font-size:23px;line-height:1.45;color:var(--deep);margin:30px 0 13px}
    .article-content p{margin:0 0 22px;color:#4f554d}
    .article-content ul,.article-content ol{padding-left:25px;margin:0 0 25px;color:#4f554d}
    .article-content li{margin:8px 0}
    .article-content blockquote{margin:30px 0;padding:20px 25px;border-left:4px solid var(--rust);background:var(--cream);color:var(--deep);font-size:18px}
    .article-content img{width:100%;height:auto;border-radius:12px;margin:28px 0 8px}
    .article-content table{width:100%;border-collapse:collapse;margin:25px 0;color:#50564d}
    .article-content th,.article-content td{padding:12px;border:1px solid var(--line);text-align:left}
    .article-content th{background:var(--cream);color:var(--deep)}
    .article-content hr{border:0;border-top:1px solid var(--line);margin:38px 0}
    .article-aside{position:sticky;top:108px}
    .aside-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--soft-shadow);margin-bottom:18px}
    .aside-title{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--rust);margin-bottom:14px}
    .aside-card h3{font-size:22px;line-height:1.4;color:var(--deep);margin:0 0 12px}
    .aside-card p{font-size:14px;color:var(--muted);margin:0 0 18px}
    .aside-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:13px;color:var(--rust-dark);font-size:14px;font-weight:700}
    .article-empty{text-align:center;padding:50px 10px}
    .article-empty .empty-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--sage);color:var(--deep);font-size:26px}
    .article-empty h2{margin:0 0 10px;color:var(--deep);font-size:28px}
    .article-empty p{color:var(--muted);margin:0 0 22px}
    .after-article{background:var(--sage);padding:64px 0}
    .after-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .next-card{background:var(--white);border:1px solid rgba(57,70,59,.15);border-radius:14px;padding:24px}
    .next-card small{color:var(--rust);font-weight:800}
    .next-card h3{font-size:20px;color:var(--deep);margin:8px 0 12px}
    .next-card a{color:var(--rust-dark);font-weight:700;font-size:14px}
    .faq-section{padding:88px 0}
    .section-kicker{color:var(--rust);font-size:13px;font-weight:800;letter-spacing:.12em;margin-bottom:10px}
    .faq-section h2{margin:0 0 30px;color:var(--deep);font-size:clamp(30px,4vw,42px);line-height:1.25}
    .faq-list{max-width:850px;border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:0;padding:20px 0;color:var(--deep);font-weight:700;font-size:17px}
    .faq-question span:last-child{font-size:24px;color:var(--rust);font-weight:400;transition:transform .25s}
    .faq-answer{display:none;color:var(--muted);font-size:15px;padding:0 40px 20px 0}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
    .cta{padding:70px 0;background:var(--deep);color:#f7f4ed}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta h2{font-size:clamp(28px,4vw,40px);line-height:1.3;margin:0 0 10px;color:#fffaf2}
    .cta p{margin:0;color:#d4dace;max-width:630px}
    .cta .btn-primary{background:var(--ochre);color:var(--deep)}
    .cta .btn-primary:hover{background:#d3b078;color:var(--deep)}
    .site-footer{background:#29332c;color:#d7ddd2;padding:58px 0 24px}
    .footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px;padding-bottom:45px;border-bottom:1px solid rgba(220,228,215,.18)}
    .footer-logo{color:#f5f1e8;min-width:0;margin-bottom:16px}
    .site-footer p{max-width:330px;color:#aeb9aa;font-size:14px;margin:0}
    .footer-title{color:#f0d8b6;font-weight:800;font-size:14px;margin-bottom:14px}
    .footer-links{display:flex;flex-direction:column;gap:8px;color:#b4beb0;font-size:14px}
    .footer-links a:hover{color:#f0d8b6}
    .footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:22px;color:#93a092;font-size:12px}
    @media(max-width:1024px){
      .navbar{gap:20px}.logo{min-width:220px}.nav-links{gap:18px}
      .article-layout{grid-template-columns:minmax(0,1fr) 220px;gap:30px}
    }
    @media(max-width:768px){
      .container{width:min(var(--container),calc(100% - 32px))}
      .topline{height:auto;min-height:36px;padding:6px 0}
      .topline .container{gap:10px;flex-wrap:wrap}
      .navbar{height:68px;justify-content:space-between}
      .logo{min-width:0;font-size:15px}.logo-mark{width:31px;height:31px}
      .menu-toggle{display:block}
      .nav-links{display:none;position:absolute;top:104px;left:16px;right:16px;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
      .nav-links.show{display:flex}
      .nav-links a{padding:13px 0}.nav-links a:after{bottom:7px}
      .nav-button{min-height:40px;padding:0 12px;font-size:13px}
      .article-banner{padding:52px 0 48px}.article-banner h1{font-size:40px}
      .article-layout{display:block;padding:52px 0 62px}.article-aside{position:static;margin-top:24px}
      .article-content{padding:27px 22px}.article-content h2{font-size:28px}
      .after-grid{grid-template-columns:1fr}.cta-inner{display:block}.cta .btn{margin-top:25px}
      .footer-top{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
    }
    @media(max-width:480px){
      .topline .container{font-size:11px}.nav-button{display:none}
      .article-banner h1{font-size:33px}.article-summary{font-size:16px}
      .article-meta{gap:8px 15px}.article-content{border-radius:12px}
      .article-content p{font-size:15px}.article-content table{display:block;overflow-x:auto;white-space:nowrap}
      .footer-top{grid-template-columns:1fr;gap:27px}.faq-section{padding:60px 0}
      .cta{padding:52px 0}
    }

/* roulang page: category1 */
:root{
      --ink:#2d312c;
      --deep:#39463b;
      --muted:#73786e;
      --paper:#f7f4ed;
      --cream:#eee9dc;
      --sage:#dce4d7;
      --rust:#9b5d43;
      --rust-dark:#754331;
      --ochre:#c29a62;
      --line:#ded8ca;
      --white:#fffdf9;
      --shadow:0 18px 45px rgba(69,55,39,.09);
      --soft-shadow:0 8px 24px rgba(69,55,39,.07);
      --radius:18px;
      --container:1200px;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--paper);
      color:var(--ink);
      font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
      font-size:16px;
      line-height:1.8;
    }
    a{color:inherit;text-decoration:none;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}
    img{display:block;max-width:100%}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
    .topline{
      min-height:36px;
      background:var(--deep);
      color:#e9ede3;
      font-size:12px;
      letter-spacing:.03em;
    }
    .topline .container{display:flex;justify-content:space-between;align-items:center;min-height:36px}
    .topline a{color:#f0d6b7;border-bottom:1px solid rgba(240,214,183,.5)}
    .site-header{
      position:sticky;
      top:0;
      z-index:20;
      background:rgba(247,244,237,.95);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(10px);
    }
    .navbar{height:78px;display:flex;align-items:center;gap:36px}
    .logo{
      display:inline-flex;
      align-items:center;
      gap:12px;
      min-width:265px;
      color:var(--deep);
      font-weight:800;
      letter-spacing:-.02em;
      font-size:18px;
    }
    .logo-mark{
      width:34px;
      height:34px;
      border:2px solid var(--rust);
      border-radius:50%;
      display:grid;
      place-items:center;
      color:var(--rust);
      font-family:Georgia,serif;
      font-size:17px;
      flex:none;
    }
    .logo:hover{color:var(--rust-dark)}
    .nav-links{display:flex;align-items:center;gap:28px;flex:1}
    .nav-links a{position:relative;padding:26px 0;color:#5d6259;font-size:15px}
    .nav-links a:after{
      content:"";
      position:absolute;
      left:0;
      right:100%;
      bottom:17px;
      height:2px;
      background:var(--rust);
      transition:right .25s ease;
    }
    .nav-links a:hover,.nav-links a.active{color:var(--rust-dark)}
    .nav-links a:hover:after,.nav-links a.active:after{right:0}
    .nav-button,.btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      border-radius:9px;
      min-height:46px;
      padding:0 20px;
      font-weight:700;
      border:1px solid transparent;
    }
    .nav-button,.btn-primary{background:var(--rust);color:#fffaf2}
    .nav-button:hover,.btn-primary:hover{background:var(--rust-dark);color:#fffaf2;transform:translateY(-2px)}
    .btn-secondary{border-color:var(--deep);color:var(--deep);background:transparent}
    .btn-secondary:hover{background:var(--deep);color:#fffaf2}
    .btn:focus,.nav-button:focus,.menu-toggle:focus,.faq-question:focus{
      outline:3px solid rgba(194,154,98,.45);
      outline-offset:3px;
    }
    .menu-toggle{display:none;background:none;border:0;color:var(--deep);font-size:26px;padding:7px}
    .page-banner{
      position:relative;
      overflow:hidden;
      padding:76px 0 82px;
      background:var(--cream);
      border-bottom:1px solid var(--line);
    }
    .page-banner:after{
      content:"";
      position:absolute;
      width:430px;
      height:430px;
      right:-120px;
      top:-190px;
      border:1px solid rgba(117,67,49,.2);
      border-radius:50%;
      box-shadow:0 0 0 24px rgba(117,67,49,.035),0 0 0 48px rgba(117,67,49,.025);
    }
    .banner-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:7fr 5fr;
      gap:74px;
      align-items:center;
    }
    .eyebrow,.section-kicker{
      display:flex;
      align-items:center;
      gap:10px;
      color:var(--rust);
      font-size:13px;
      font-weight:800;
      letter-spacing:.12em;
    }
    .eyebrow:before,.section-kicker:before{content:"";width:28px;height:2px;background:var(--rust)}
    .page-banner h1{
      margin:19px 0 20px;
      color:var(--deep);
      font-size:clamp(39px,5vw,62px);
      line-height:1.18;
      letter-spacing:-.055em;
      max-width:760px;
    }
    .banner-copy{max-width:690px;color:#62695e;font-size:18px;margin:0 0 28px}
    .breadcrumb{
      display:flex;
      flex-wrap:wrap;
      gap:9px;
      margin-top:29px;
      color:var(--muted);
      font-size:13px;
    }
    .breadcrumb a:hover{color:var(--rust-dark)}
    .breadcrumb .current{color:var(--rust-dark);font-weight:700}
    .banner-art{
      position:relative;
      min-height:330px;
      border-radius:24px;
      overflow:hidden;
      box-shadow:var(--shadow);
      background:var(--deep);
      transform:rotate(2deg);
    }
    .banner-art img{width:100%;height:330px;object-fit:cover;opacity:.8}
    .banner-art:after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg,rgba(57,70,59,.12),rgba(57,70,59,.7));
    }
    .art-note{
      position:absolute;
      z-index:2;
      left:25px;
      bottom:24px;
      right:25px;
      color:#fffaf2;
    }
    .art-note strong{display:block;font-size:29px;line-height:1.25;margin-top:8px}
    .art-note span{font-size:12px;color:#e6e0d5;letter-spacing:.08em}
    .section{padding:96px 0}
    .section-soft{background:var(--white)}
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:28px;
      margin-bottom:42px;
    }
    .section h2{
      margin:0;
      color:var(--deep);
      font-size:clamp(30px,4vw,42px);
      line-height:1.25;
      letter-spacing:-.035em;
    }
    .section-intro{max-width:500px;color:var(--muted);margin:0}
    .reading-grid{
      display:grid;
      grid-template-columns:4fr 8fr;
      gap:72px;
      align-items:start;
    }
    .reading-aside{
      position:sticky;
      top:108px;
      padding:28px;
      background:var(--sage);
      border-radius:var(--radius);
      border:1px solid #cad6c5;
    }
    .reading-aside .number{
      display:block;
      color:var(--rust);
      font-family:Georgia,serif;
      font-size:56px;
      line-height:1;
      margin-bottom:22px;
    }
    .reading-aside h3{font-size:23px;color:var(--deep);margin:0 0 10px}
    .reading-aside p{color:#62695e;font-size:14px;margin:0 0 22px}
    .aside-link{color:var(--rust-dark);font-weight:800;font-size:14px}
    .aside-link span{margin-left:7px;transition:margin .25s}
    .aside-link:hover span{margin-left:12px}
    .term-list{border-top:1px solid var(--line)}
    .term-row{
      display:grid;
      grid-template-columns:160px 1fr;
      gap:28px;
      padding:27px 0;
      border-bottom:1px solid var(--line);
    }
    .term-row h3{margin:0;color:var(--deep);font-size:22px;line-height:1.4}
    .term-row h3 small{display:block;color:var(--rust);font-size:12px;letter-spacing:.08em;margin-bottom:5px}
    .term-row p{margin:0;color:var(--muted);font-size:15px}
    .info-strip{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1px;
      background:#cfc6b5;
      border:1px solid #cfc6b5;
      margin-top:22px;
    }
    .info-cell{padding:25px 27px;background:var(--paper)}
    .info-cell strong{display:block;color:var(--rust-dark);font-size:26px;line-height:1.3;margin-bottom:5px}
    .info-cell span{font-size:14px;color:var(--muted)}
    .contrast-section{background:var(--deep);color:#edf0e8}
    .contrast-section h2{color:#fffaf2}
    .contrast-section .section-intro{color:#cbd3c7}
    .contrast-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .contrast-card{
      padding:33px;
      border:1px solid rgba(236,230,216,.2);
      border-radius:var(--radius);
      background:rgba(255,253,249,.06);
      min-height:220px;
      transition:background .25s,border-color .25s,transform .25s;
    }
    .contrast-card:hover{background:rgba(255,253,249,.11);border-color:rgba(240,214,183,.6);transform:translateY(-4px)}
    .contrast-card .badge{background:#e4d4bb;color:var(--rust-dark)}
    .contrast-card h3{font-size:25px;margin:18px 0 10px;color:#fffaf2}
    .contrast-card p{color:#cbd3c7;margin:0;font-size:15px}
    .index-mark{color:var(--ochre);font-family:Georgia,serif;font-size:15px;margin-right:8px}
    .path-section{background:var(--cream)}
    .path-layout{display:grid;grid-template-columns:5fr 7fr;gap:66px;align-items:center}
    .path-image{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:var(--sage)}
    .path-image img{width:100%;height:385px;object-fit:cover}
    .path-list{counter-reset:path}
    .path-item{
      position:relative;
      display:grid;
      grid-template-columns:48px 1fr;
      gap:18px;
      padding:0 0 25px;
      margin-bottom:25px;
      border-bottom:1px solid rgba(117,67,49,.22);
    }
    .path-item:last-child{margin-bottom:0}
    .path-item:before{
      counter-increment:path;
      content:"0" counter(path);
      display:grid;
      place-items:center;
      width:38px;
      height:38px;
      border:1px solid var(--rust);
      border-radius:50%;
      color:var(--rust-dark);
      font-size:12px;
      font-weight:800;
    }
    .path-item h3{font-size:20px;color:var(--deep);margin:2px 0 5px}
    .path-item p{font-size:14px;color:var(--muted);margin:0}
    .faq-list{max-width:880px;margin:0 auto;border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{
      width:100%;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:20px;
      padding:22px 3px;
      border:0;
      background:transparent;
      color:var(--deep);
      text-align:left;
      font-weight:800;
      font-size:18px;
    }
    .faq-question:hover{color:var(--rust-dark)}
    .faq-icon{font-size:26px;font-weight:400;color:var(--rust);transition:transform .25s}
    .faq-answer{display:none;padding:0 45px 22px 3px;color:var(--muted);font-size:15px}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .cta{
      padding:55px 0;
      background:var(--rust);
      color:#fffaf2;
    }
    .cta-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:35px;
    }
    .cta h2{font-size:clamp(27px,3vw,38px);line-height:1.3;margin:0 0 9px;color:#fffaf2}
    .cta p{margin:0;color:#f1ddd0;max-width:650px}
    .cta .btn-primary{background:#fffaf2;color:var(--rust-dark)}
    .cta .btn-primary:hover{background:#f1e6d6;color:var(--deep)}
    .site-footer{padding:64px 0 27px;background:var(--white);border-top:1px solid var(--line)}
    .footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:35px;padding-bottom:48px}
    .footer-logo{min-width:0;margin-bottom:16px}
    .footer-top p{max-width:330px;color:var(--muted);font-size:14px;margin:0}
    .footer-title{color:var(--deep);font-weight:800;margin-bottom:13px;font-size:15px}
    .footer-links{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:14px}
    .footer-links a:hover{color:var(--rust-dark);padding-left:3px}
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding-top:20px;
      border-top:1px solid var(--line);
      color:#8b8c82;
      font-size:12px;
    }
    @media (max-width:1024px){
      .navbar{gap:20px}
      .logo{min-width:230px;font-size:16px}
      .nav-links{gap:18px}
      .banner-grid,.path-layout{gap:40px}
      .reading-grid{gap:42px}
    }
    @media (max-width:768px){
      .container{width:min(var(--container),calc(100% - 34px))}
      .topline .container{padding:6px 0;line-height:1.4}
      .topline span:last-child{display:none}
      .navbar{height:68px;justify-content:space-between}
      .logo{min-width:0;font-size:15px}
      .logo-mark{width:31px;height:31px;font-size:15px}
      .menu-toggle{display:block}
      .nav-links{
        display:none;
        position:absolute;
        top:68px;
        left:0;
        right:0;
        padding:8px 17px 18px;
        background:var(--paper);
        border-bottom:1px solid var(--line);
        box-shadow:var(--soft-shadow);
        flex-direction:column;
        align-items:stretch;
        gap:0;
      }
      .nav-links.show{display:flex}
      .nav-links a{padding:13px 3px}
      .nav-links a:after{bottom:8px}
      .nav-button{display:none}
      .banner-grid,.reading-grid,.path-layout{grid-template-columns:1fr}
      .page-banner{padding:58px 0 62px}
      .page-banner h1{font-size:clamp(37px,9vw,50px)}
      .banner-copy{font-size:16px}
      .banner-art{min-height:260px;transform:none}
      .banner-art img{height:260px}
      .section{padding:65px 0}
      .section-head{display:block;margin-bottom:28px}
      .section-intro{margin-top:14px}
      .reading-aside{position:static}
      .term-row{grid-template-columns:1fr;gap:9px}
      .info-strip,.contrast-grid{grid-template-columns:1fr}
      .info-cell{padding:20px 22px}
      .path-image img{height:280px}
      .cta-inner{display:block}
      .cta .btn{margin-top:25px}
      .footer-top{grid-template-columns:1fr 1fr;gap:30px}
      .footer-top>div:first-child{grid-column:1/-1}
      .footer-bottom{display:block}
      .footer-bottom span{display:block;margin-top:5px}
    }
    @media (max-width:480px){
      .topline{font-size:11px}
      .logo{font-size:13px;gap:8px}
      .page-banner h1{font-size:35px}
      .banner-art,.banner-art img{height:225px;min-height:225px}
      .art-note strong{font-size:23px}
      .section h2{font-size:29px}
      .contrast-card{padding:25px}
      .path-item{grid-template-columns:40px 1fr;gap:12px}
      .path-item:before{width:34px;height:34px}
      .faq-question{font-size:16px;padding:18px 0}
      .faq-answer{padding-right:10px}
      .footer-top{grid-template-columns:1fr}
      .footer-top>div:first-child{grid-column:auto}
    }
