/* roulang page: index */
:root{
  --red:#b64938;
  --red-dark:#913729;
  --green:#526b5b;
  --green-dark:#3d5547;
  --cream:#f5f1e9;
  --warm:#ece9e2;
  --paper:#fffdf8;
  --ink:#252525;
  --muted:#6c6a64;
  --line:#d8d1c5;
  --line-dark:#bdb4a6;
  --radius:16px;
  --small-radius:10px;
  --shadow:0 16px 40px rgba(53,42,31,.08);
  --container:1200px;
  --ease:all .28s ease;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{border:0;cursor:pointer}
:focus-visible{outline:3px solid rgba(182,73,56,.38);outline-offset:3px}
.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
.topline{
  background:var(--green-dark);
  color:#f4efe6;
  font-size:12px;
  letter-spacing:.08em;
  padding:7px 0;
}
.topline .container{display:flex;justify-content:space-between;gap:20px}
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(245,241,233,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(216,209,197,.8);
}
.navbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{display:flex;align-items:center;gap:11px;min-width:230px}
.logo-mark{
  width:38px;height:38px;border-radius:11px;background:var(--red);
  color:#fff8ef;display:grid;place-items:center;font-size:14px;font-weight:800;
  box-shadow:4px 4px 0 rgba(82,107,91,.22);
}
.logo-text{line-height:1.15}
.logo-text strong{display:block;font-size:17px;letter-spacing:.02em}
.logo-text span{display:block;color:var(--muted);font-size:11px;margin-top:3px;letter-spacing:.08em}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{
  padding:10px 14px;border-radius:8px;color:#55534e;font-size:14px;
  transition:var(--ease);position:relative
}
.nav-links a:hover{color:var(--red);background:#eee8de}
.nav-links a.active{color:var(--red);font-weight:700;background:#eee5db}
.nav-links a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--red)}
.nav-cta{margin-left:5px}
.menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px;padding:8px}
.hero{padding:78px 0 90px;position:relative;overflow:hidden}
.hero:before{
  content:"";position:absolute;right:-180px;top:-250px;width:540px;height:540px;
  border:1px solid rgba(182,73,56,.15);border-radius:50%;
}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:74px;align-items:center}
.eyebrow,.section-kicker{
  color:var(--red);font-size:12px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:18px
}
.hero h1{font-size:clamp(42px,5.4vw,74px);line-height:1.12;letter-spacing:-.055em;max-width:680px}
.hero h1 em{font-style:normal;color:var(--red)}
.hero-copy{font-size:18px;color:var(--muted);max-width:580px;margin:25px 0 31px;line-height:1.9}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  min-height:48px;padding:11px 20px;border-radius:9px;display:inline-flex;
  align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;
  border:1px solid transparent;transition:var(--ease)
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--red);color:#fffaf3}
.btn-primary:hover{background:var(--red-dark);box-shadow:0 8px 18px rgba(145,55,41,.2)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--line-dark)}
.btn-secondary:hover{background:var(--paper);border-color:var(--ink)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-dark)}
.hero-visual{position:relative}
.hero-image{
  height:440px;border-radius:22px;overflow:hidden;background:var(--warm);
  box-shadow:var(--shadow);position:relative
}
.hero-image img{width:100%;height:100%;object-fit:cover}
.image-caption{
  position:absolute;left:24px;bottom:22px;background:rgba(37,37,37,.82);
  color:#fff9f0;padding:13px 17px;border-radius:9px;font-size:13px;
}
.hero-tag{
  position:absolute;right:-20px;top:34px;background:var(--paper);border:1px solid var(--line);
  padding:14px 17px;border-radius:10px;box-shadow:var(--shadow);font-size:13px
}
.hero-tag b{display:block;color:var(--green);font-size:19px}
.section{padding:92px 0}
.section.alt{background:var(--warm)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.section-heading h2{font-size:clamp(28px,3.5vw,44px);line-height:1.22;letter-spacing:-.04em}
.section-heading p{max-width:440px;color:var(--muted);font-size:15px}
.keyword-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:12px}
.keyword-card{
  min-height:178px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--paper);transition:var(--ease);display:flex;flex-direction:column;justify-content:space-between
}
.keyword-card:nth-child(2){background:#e5eee7}
.keyword-card:nth-child(3){background:#f0e5dc}
.keyword-card:nth-child(4){background:#e8e4dc}
.keyword-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:var(--shadow)}
.keyword-name{font-size:23px;font-weight:800}
.keyword-card p{color:var(--muted);font-size:13px;line-height:1.65;margin-top:12px}
.text-link{color:var(--red);font-size:13px;font-weight:700;margin-top:17px}
.text-link:after{content:"  →"}
.feature-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:stretch}
.feature-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:var(--ease)}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-dark)}
.feature-photo{height:270px;background:var(--warm)}
.feature-photo img{width:100%;height:100%;object-fit:cover}
.feature-body{padding:28px}
.badge{
  display:inline-flex;align-items:center;color:var(--green);background:#e3ebe4;
  border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700
}
.feature-body h3{font-size:28px;line-height:1.35;margin:16px 0 11px}
.feature-body p{color:var(--muted);font-size:15px}
.article-list{border-top:1px solid var(--line)}
.article-item{
  display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--line);transition:var(--ease)
}
.article-item:hover{padding-left:8px;background:rgba(255,253,248,.5)}
.item-no{font-size:24px;color:var(--red);font-weight:800}
.item-meta{color:var(--green);font-size:12px;font-weight:700}
.item-title{font-size:17px;font-weight:700;margin-top:5px}
.item-summary{color:var(--muted);font-size:13px;margin-top:3px}
.item-date{font-size:12px;color:var(--muted);white-space:nowrap}
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--line)}
.path-step{padding:5px 28px 10px;border-right:1px solid var(--line);min-height:178px}
.path-step .number{font-size:14px;color:var(--red);font-weight:800;display:block;margin-bottom:30px}
.path-step h3{font-size:19px;margin-bottom:10px}
.path-step p{font-size:14px;color:var(--muted)}
.path-step:nth-child(even){background:#e8eee9}
.latest-layout{display:grid;grid-template-columns:250px 1fr;gap:66px}
.latest-intro{position:sticky;top:115px;height:max-content}
.latest-intro h2{font-size:34px;line-height:1.3;margin-bottom:15px}
.latest-intro p{color:var(--muted);font-size:14px}
.latest-intro .index-line{height:3px;background:var(--red);width:48px;margin:20px 0}
.empty-state{padding:28px;border:1px dashed var(--line-dark);border-radius:12px;color:var(--muted);background:var(--paper)}
.faq-wrap{max-width:850px;margin:0 auto}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-question{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  background:transparent;text-align:left;padding:21px 4px;color:var(--ink);font-weight:700
}
.faq-question span:last-child{color:var(--red);font-size:22px;transition:var(--ease)}
.faq-question[aria-expanded="true"] span:last-child{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 40px 21px 4px;color:var(--muted);font-size:14px}
.faq-answer.open{display:block}
.cta-band{padding:56px 0;background:var(--ink);color:#fffaf3}
.cta-band .container{display:flex;justify-content:space-between;align-items:center;gap:28px}
.cta-band h2{font-size:clamp(27px,3vw,40px);line-height:1.3}
.cta-band p{color:#c8c2b8;font-size:14px;margin-top:8px}
.site-footer{background:#1e2c25;color:#eee8dd;padding:56px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:42px}
.footer-brand p{color:#b9c1b9;font-size:13px;max-width:320px;margin-top:15px}
.footer-title{font-size:13px;color:#e0a08f;font-weight:700;margin-bottom:16px}
.footer-links{list-style:none;display:grid;gap:8px}
.footer-links a{color:#c6cbc5;font-size:13px;transition:var(--ease)}
.footer-links a:hover{color:#fff;background:rgba(255,255,255,.08);padding-left:5px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;color:#9fa9a0;font-size:12px;display:flex;justify-content:space-between;gap:18px}
.back-top{position:fixed;right:22px;bottom:22px;width:43px;height:43px;border-radius:50%;background:var(--red);color:#fff;box-shadow:var(--shadow);opacity:.9;transition:var(--ease)}
.back-top:hover{background:var(--red-dark);transform:translateY(-3px)}
@media(max-width:1024px){
  .hero-grid{gap:38px}.hero{padding-top:62px}
  .hero-tag{right:10px}.keyword-strip{grid-template-columns:repeat(2,1fr)}
  .latest-layout{gap:35px}
}
@media(max-width:768px){
  .container{width:min(100% - 32px,var(--container))}
  .topline .container{justify-content:center}.topline span:last-child{display:none}
  .navbar{height:68px}.logo{min-width:0}.menu-toggle{display:block}
  .nav-links{
    display:none;position:absolute;left:16px;right:16px;top:75px;
    background:var(--paper);border:1px solid var(--line);border-radius:12px;
    padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch
  }
  .nav-links.open{display:flex}.nav-links a{padding:13px 15px}
  .nav-cta{margin:3px 0 0}
  .hero{padding:50px 0 62px}.hero-grid,.feature-grid{grid-template-columns:1fr}
  .hero h1{font-size:45px}.hero-copy{font-size:16px}
  .hero-image{height:330px}.hero-tag{top:18px;right:14px}
  .section{padding:64px 0}.section-heading{display:block;margin-bottom:27px}
  .section-heading p{margin-top:13px}.path{grid-template-columns:1fr 1fr}
  .path-step{min-height:155px;padding:17px}.path-step .number{margin-bottom:18px}
  .latest-layout{grid-template-columns:1fr;gap:28px}.latest-intro{position:static}
  .article-item{grid-template-columns:45px 1fr}.item-date{grid-column:2}
  .cta-band .container{display:block}.cta-band .btn{margin-top:22px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}
}
@media(max-width:520px){
  .keyword-strip,.path{grid-template-columns:1fr}.hero h1{font-size:38px}
  .actions .btn{width:100%}.feature-body{padding:22px}.feature-body h3{font-size:23px}
  .article-item{gap:10px}.item-no{font-size:19px}.item-title{font-size:15px}
  .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}
  .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
}

/* roulang page: article */
:root{
      --red:#b64938;
      --red-dark:#913729;
      --green:#526b5b;
      --green-dark:#3d5547;
      --cream:#f5f1e9;
      --warm:#ece9e2;
      --paper:#fffdf8;
      --ink:#252525;
      --muted:#6c6a64;
      --line:#d8d1c5;
      --line-dark:#bdb4a6;
      --radius:16px;
      --small-radius:10px;
      --shadow:0 16px 40px rgba(53,42,31,.08);
      --container:1200px;
      --ease:all .28s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--cream);color:var(--ink);
      font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
      font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,textarea{font:inherit}
    button{border:0;cursor:pointer}
    :focus-visible{outline:3px solid rgba(182,73,56,.4);outline-offset:3px}
    .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
    .topline{background:var(--green);color:#f5f1e9;font-size:12px}
    .topline .container{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
    .site-header{
      position:sticky;top:0;z-index:20;background:rgba(245,241,233,.95);
      backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,209,197,.9);
    }
    .navbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
    .logo{display:flex;align-items:center;gap:11px;min-width:230px}
    .logo-mark{
      width:38px;height:38px;border-radius:11px;background:var(--red);color:#fff8ef;
      display:grid;place-items:center;font-size:14px;font-weight:800;
      box-shadow:4px 4px 0 rgba(82,107,91,.22);
    }
    .logo-text{line-height:1.15}
    .logo-text strong{display:block;font-size:17px;letter-spacing:.02em}
    .logo-text span{display:block;color:var(--muted);font-size:11px;margin-top:3px;letter-spacing:.08em}
    .nav-links{display:flex;align-items:center;gap:8px}
    .nav-links a{
      padding:10px 14px;border-radius:8px;color:#55534e;font-size:14px;
      transition:var(--ease);position:relative;white-space:nowrap;
    }
    .nav-links a:hover{color:var(--red);background:#eee8de}
    .nav-links a.active{color:var(--red);font-weight:700;background:#eee5db}
    .nav-links a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--red)}
    .nav-cta{margin-left:5px}
    .btn{
      min-height:48px;padding:11px 20px;border-radius:9px;display:inline-flex;align-items:center;
      justify-content:center;gap:8px;font-size:14px;font-weight:700;border:1px solid transparent;transition:var(--ease);
    }
    .btn:hover{transform:translateY(-2px)}
    .btn:active{transform:translateY(0)}
    .btn-primary{background:var(--red);color:#fffaf3}
    .btn-primary:hover{background:var(--red-dark);box-shadow:0 8px 18px rgba(145,55,41,.2)}
    .btn-secondary{border-color:var(--line-dark);background:transparent;color:var(--ink)}
    .btn-secondary:hover{background:var(--paper);border-color:var(--ink)}
    .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:24px;padding:8px}
    .article-hero{padding:52px 0 58px;position:relative;overflow:hidden}
    .article-hero:before{
      content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(182,73,56,.16);
      border-radius:50%;right:-180px;top:-230px;
    }
    .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:35px}
    .breadcrumb a{transition:var(--ease)}
    .breadcrumb a:hover{color:var(--red)}
    .breadcrumb i{font-style:normal;color:var(--line-dark)}
    .article-head{max-width:930px;position:relative}
    .article-category,.badge{
      display:inline-flex;align-items:center;border-radius:99px;padding:4px 10px;
      color:var(--green);background:#e3ebe4;font-size:12px;font-weight:700;
    }
    .article-head h1{
      margin:17px 0 18px;font-size:clamp(34px,5vw,64px);line-height:1.18;
      letter-spacing:-.05em;max-width:920px;
    }
    .article-intro{margin:0;max-width:780px;color:var(--muted);font-size:17px;line-height:1.9}
    .article-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:27px;color:var(--muted);font-size:13px}
    .article-meta strong{color:var(--ink)}
    .article-cover{
      margin:0 auto;width:min(1060px,calc(100% - 48px));height:440px;border-radius:22px;overflow:hidden;
      background:var(--warm);box-shadow:var(--shadow);border:1px solid var(--line);
    }
    .article-cover img{width:100%;height:100%;object-fit:cover}
    .article-main{padding:76px 0 96px}
    .reading-layout{display:grid;grid-template-columns:205px minmax(0,760px);gap:64px;justify-content:center}
    .article-aside{position:relative}
    .aside-sticky{position:sticky;top:112px}
    .aside-label{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--red);margin-bottom:13px}
    .aside-nav{border-top:1px solid var(--line)}
    .aside-nav a{
      display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);transition:var(--ease)
    }
    .aside-nav a:hover{color:var(--red);padding-left:5px}
    .aside-back{margin-top:24px;font-size:13px;color:var(--green);font-weight:700}
    .article-content{
      min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      padding:clamp(28px,5vw,58px);box-shadow:0 10px 30px rgba(53,42,31,.035);
    }
    .article-content>*:first-child{margin-top:0}
    .article-content h2{
      font-size:30px;line-height:1.35;letter-spacing:-.03em;margin:54px 0 18px;padding-top:4px;
    }
    .article-content h3{font-size:22px;line-height:1.45;margin:34px 0 14px}
    .article-content p{margin:0 0 22px;color:#3c3b37;line-height:2}
    .article-content ul,.article-content ol{padding-left:1.45em;margin:0 0 24px}
    .article-content li{padding-left:4px;margin:9px 0;color:#3c3b37}
    .article-content blockquote{
      margin:30px 0;padding:20px 22px;border-left:4px solid var(--red);
      background:#f4ebe4;color:#55483f;border-radius:0 var(--small-radius) var(--small-radius) 0;
    }
    .article-content img{margin:30px auto;border-radius:12px;border:1px solid var(--line)}
    .article-content table{width:100%;margin:28px 0;border-collapse:collapse;font-size:14px}
    .article-content th,.article-content td{padding:12px;border:1px solid var(--line);text-align:left}
    .article-content th{background:var(--warm);color:var(--ink)}
    .article-content pre,.article-content code{background:#eee9df;border-radius:6px}
    .article-content pre{padding:18px;overflow:auto;font-size:13px}
    .article-content code{padding:2px 5px;color:var(--red-dark)}
    .empty-content{text-align:center;padding:44px 10px}
    .empty-content h2{margin:0 0 12px;font-size:28px}
    .empty-content p{color:var(--muted)}
    .article-footer{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}
    .tag-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
    .tag-row span{font-size:12px;color:var(--muted);margin-right:4px}
    .tag{
      padding:6px 11px;border:1px solid var(--line);border-radius:99px;background:var(--cream);
      color:var(--green);font-size:12px;font-weight:700;transition:var(--ease);
    }
    .tag:hover{border-color:var(--green);background:#e5eee7}
    .return-bar{
      max-width:760px;margin:55px auto 0;padding:26px 28px;background:var(--warm);
      border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:20px;
    }
    .return-bar h2{font-size:20px;margin:0 0 4px}
    .return-bar p{margin:0;color:var(--muted);font-size:14px}
    .related-section{padding:0 0 92px}
    .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
    .section-kicker{color:var(--red);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:12px}
    .section-heading h2{margin:0;font-size:clamp(27px,3.5vw,42px);line-height:1.24;letter-spacing:-.04em}
    .related-list{border-top:1px solid var(--line)}
    .related-item{
      display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:22px;padding:22px 4px;
      border-bottom:1px solid var(--line);transition:var(--ease);
    }
    .related-item:hover{padding-left:12px;background:rgba(255,253,248,.55)}
    .related-no{font-size:24px;color:var(--red);font-weight:800}
    .related-type{font-size:12px;color:var(--green);font-weight:700}
    .related-title{font-size:17px;font-weight:700;margin-top:3px}
    .related-copy{font-size:13px;color:var(--muted);margin-top:3px}
    .arrow-link{color:var(--red);font-weight:800;font-size:18px;padding:8px}
    .cta-band{padding:64px 0;background:var(--ink);color:#fffaf3}
    .cta-box{display:flex;justify-content:space-between;align-items:center;gap:34px}
    .cta-box h2{font-size:clamp(27px,3.6vw,42px);line-height:1.25;letter-spacing:-.04em;margin:0}
    .cta-box p{margin:12px 0 0;color:#d7d1c8;max-width:640px}
    .cta-band .btn-secondary{color:#fffaf3;border-color:#827d74}
    .cta-band .btn-secondary:hover{background:#3a3936;border-color:#d7d1c8}
    .site-footer{background:#e6e1d8;padding:64px 0 25px}
    .footer-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:50px;padding-bottom:46px}
    .footer-brand p{max-width:370px;color:var(--muted);font-size:14px;margin:18px 0 0}
    .footer-title{font-size:13px;font-weight:800;margin:6px 0 14px}
    .footer-links{margin:0;padding:0;list-style:none}
    .footer-links li{margin:8px 0}
    .footer-links a{font-size:14px;color:var(--muted);transition:var(--ease)}
    .footer-links a:hover{color:var(--red)}
    .footer-bottom{padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px}
    .to-top{
      position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;z-index:15;
      background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(145,55,41,.26);opacity:0;visibility:hidden;
      transition:var(--ease);display:grid;place-items:center;font-size:18px;
    }
    .to-top.show{opacity:1;visibility:visible}
    .to-top:hover{background:var(--red-dark);transform:translateY(-3px)}
    @media(max-width:1024px){
      .reading-layout{grid-template-columns:165px minmax(0,720px);gap:32px}
      .article-cover{height:360px}
    }
    @media(max-width:768px){
      .container{width:min(100% - 32px,var(--container))}
      .topline .container span:last-child{display:none}
      .navbar{height:68px}
      .logo{min-width:0}
      .menu-toggle{display:block}
      .nav-links{
        display:none;position:absolute;top:68px;left:16px;right:16px;padding:12px;background:var(--paper);
        border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;
      }
      .nav-links.open{display:flex}
      .nav-links a,.nav-cta{margin-left:0}
      .article-hero{padding:39px 0 43px}
      .breadcrumb{margin-bottom:25px}
      .article-head h1{font-size:clamp(32px,9vw,48px)}
      .article-intro{font-size:16px}
      .article-cover{width:calc(100% - 32px);height:260px;border-radius:16px}
      .article-main{padding:48px 0 62px}
      .reading-layout{display:block}
      .article-aside{display:none}
      .article-content{padding:28px 22px}
      .article-content h2{font-size:26px;margin-top:42px}
      .article-content h3{font-size:20px}
      .return-bar{margin-top:30px;display:block;padding:23px}
      .return-bar .btn{margin-top:17px}
      .related-section{padding-bottom:62px}
      .related-item{grid-template-columns:42px 1fr auto;gap:12px}
      .related-no{font-size:18px}
      .related-title{font-size:15px}
      .related-copy{display:none}
      .cta-band{padding:50px 0}
      .cta-box{display:block}
      .cta-box .btn{margin-top:22px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
      .footer-brand{grid-column:1/-1}
      .footer-bottom{display:block}
      .footer-bottom span{display:block;margin:5px 0}
    }
    @media(max-width:520px){
      .logo-text strong{font-size:15px}
      .logo-text span{font-size:10px}
      .article-meta{gap:7px 16px}
      .article-content{border-radius:12px;padding:24px 18px}
      .article-content p{line-height:1.9}
      .footer-grid{grid-template-columns:1fr;gap:25px}
      .footer-brand{grid-column:auto}
      .to-top{right:16px;bottom:16px}
    }

/* roulang page: category1 */
:root{
      --red:#b64938;
      --red-dark:#913729;
      --green:#526b5b;
      --green-dark:#3d5547;
      --cream:#f5f1e9;
      --warm:#ece9e2;
      --paper:#fffdf8;
      --ink:#252525;
      --muted:#6c6a64;
      --line:#d8d1c5;
      --line-dark:#bdb4a6;
      --radius:16px;
      --small-radius:10px;
      --shadow:0 16px 40px rgba(53,42,31,.08);
      --container:1200px;
      --ease:all .28s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--cream);color:var(--ink);
      font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
      line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,textarea{font:inherit}
    button{border:0;cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
    .topline{background:var(--green);color:#eff3ed;font-size:12px;padding:7px 0}
    .topline .container{display:flex;justify-content:space-between;gap:20px}
    .site-header{
      position:sticky;top:0;z-index:20;background:rgba(245,241,233,.95);
      backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,209,197,.8)
    }
    .navbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
    .logo{display:flex;align-items:center;gap:11px;min-width:230px}
    .logo-mark{
      width:38px;height:38px;border-radius:11px;background:var(--red);color:#fff8ef;
      display:grid;place-items:center;font-size:14px;font-weight:800;
      box-shadow:4px 4px 0 rgba(82,107,91,.22)
    }
    .logo-text{line-height:1.15}
    .logo-text strong{display:block;font-size:17px;letter-spacing:.02em}
    .logo-text span{display:block;color:var(--muted);font-size:11px;margin-top:3px;letter-spacing:.08em}
    .nav-links{display:flex;align-items:center;gap:8px}
    .nav-links a{
      padding:10px 14px;border-radius:8px;color:#55534e;font-size:14px;
      transition:var(--ease);position:relative
    }
    .nav-links a:hover{color:var(--red);background:#eee8de}
    .nav-links a.active{color:var(--red);font-weight:700;background:#eee5db}
    .nav-links a.active:after{
      content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--red)
    }
    .nav-cta{margin-left:5px}
    .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px;padding:8px}
    .btn{
      min-height:48px;padding:11px 20px;border-radius:9px;display:inline-flex;
      align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;
      border:1px solid transparent;transition:var(--ease)
    }
    .btn:hover{transform:translateY(-2px)}
    .btn:active{transform:translateY(0)}
    .btn:focus-visible,.faq-question:focus-visible,.nav-links a:focus-visible{
      outline:3px solid rgba(182,73,56,.3);outline-offset:3px
    }
    .btn-primary{background:var(--red);color:#fffaf3}
    .btn-primary:hover{background:var(--red-dark);box-shadow:0 8px 18px rgba(145,55,41,.2)}
    .btn-secondary{background:transparent;color:var(--ink);border-color:var(--line-dark)}
    .btn-secondary:hover{background:var(--paper);border-color:var(--ink)}
    .btn-green{background:var(--green);color:#fff}
    .btn-green:hover{background:var(--green-dark)}
    .page-hero{padding:58px 0 76px;background:var(--cream);position:relative;overflow:hidden}
    .page-hero:after{
      content:"";position:absolute;right:-120px;top:-220px;width:470px;height:470px;
      border:1px solid rgba(82,107,91,.2);border-radius:50%
    }
    .breadcrumb{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:42px}
    .breadcrumb a:hover{color:var(--red)}
    .breadcrumb .current{color:var(--ink);font-weight:700}
    .hero-inner{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;position:relative;z-index:1}
    .eyebrow,.section-kicker{
      color:var(--red);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:16px
    }
    .page-hero h1{
      font-size:clamp(38px,5vw,66px);line-height:1.16;letter-spacing:-.055em;
      max-width:680px;margin:0
    }
    .page-hero h1 em{font-style:normal;color:var(--red)}
    .hero-copy{font-size:18px;color:var(--muted);max-width:630px;margin:24px 0 30px;line-height:1.9}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero-art{
      height:360px;border-radius:22px;overflow:hidden;background:var(--warm);
      box-shadow:var(--shadow);position:relative
    }
    .hero-art img{width:100%;height:100%;object-fit:cover}
    .art-note{
      position:absolute;left:20px;bottom:20px;background:rgba(255,253,248,.94);
      border:1px solid var(--line);border-radius:10px;padding:13px 16px;font-size:13px
    }
    .art-note strong{display:block;color:var(--green);font-size:18px}
    .section{padding:88px 0}
    .section.alt{background:var(--warm)}
    .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
    .section-heading h2{font-size:clamp(28px,3.5vw,44px);line-height:1.25;letter-spacing:-.04em;margin:0}
    .section-heading p{max-width:450px;color:var(--muted);font-size:15px;margin:0}
    .guide-layout{display:grid;grid-template-columns:270px 1fr;gap:60px}
    .side-index{border-top:2px solid var(--ink);padding-top:18px;height:max-content}
    .side-index h3{font-size:18px;margin:0 0 20px}
    .side-index a{
      display:flex;justify-content:space-between;border-bottom:1px solid var(--line);
      padding:13px 0;color:var(--muted);font-size:14px;transition:var(--ease)
    }
    .side-index a:hover,.side-index a.active{color:var(--red);padding-left:6px}
    .side-index span{color:var(--red);font-weight:800}
    .guide-stack{display:flex;flex-direction:column;gap:18px}
    .guide-card{
      display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:center;
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      padding:16px;transition:var(--ease)
    }
    .guide-card:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:var(--shadow)}
    .guide-card figure{height:152px;margin:0;border-radius:11px;overflow:hidden;background:var(--warm)}
    .guide-card figure img{width:100%;height:100%;object-fit:cover}
    .badge{
      display:inline-flex;align-items:center;color:var(--green);background:#e3ebe4;
      border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700
    }
    .guide-card h3{font-size:22px;line-height:1.4;margin:12px 0 7px}
    .guide-card p{color:var(--muted);font-size:14px;margin:0 0 12px}
    .meta{font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
    .text-link{color:var(--red);font-size:13px;font-weight:700}
    .text-link:after{content:"  →"}
    .keyword-band{display:grid;grid-template-columns:1.2fr .9fr .9fr 1fr;gap:14px}
    .keyword-card{
      min-height:165px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);
      background:var(--paper);transition:var(--ease);display:flex;flex-direction:column;justify-content:space-between
    }
    .keyword-card:nth-child(2){background:#e5eee7}
    .keyword-card:nth-child(3){background:#f0e5dc}
    .keyword-card:nth-child(4){background:#e8e4dc}
    .keyword-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:var(--shadow)}
    .keyword-card strong{font-size:22px}
    .keyword-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:12px 0 0}
    .relation{
      display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch
    }
    .relation-panel{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
    .relation-panel h3{margin:0 0 12px;font-size:23px}
    .relation-panel p{color:var(--muted);margin:0 0 20px}
    .relation-list{list-style:none;padding:0;margin:0}
    .relation-list li{display:flex;gap:15px;border-top:1px solid var(--line);padding:15px 0}
    .relation-list b{color:var(--red);font-size:14px}
    .relation-list span{font-size:14px}
    .faq-wrap{max-width:850px;margin:0 auto}
    .faq-item{border-top:1px solid var(--line)}
    .faq-item:last-child{border-bottom:1px solid var(--line)}
    .faq-question{
      width:100%;display:flex;justify-content:space-between;align-items:center;
      background:transparent;text-align:left;padding:21px 4px;color:var(--ink);font-weight:700
    }
    .faq-question span:last-child{font-size:22px;color:var(--red);transition:var(--ease)}
    .faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 42px 21px 4px}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
    .cta{
      margin:0 0 88px;padding:54px 60px;border-radius:20px;background:var(--green);
      color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px
    }
    .cta h2{font-size:clamp(26px,3.2vw,40px);line-height:1.3;margin:0 0 9px}
    .cta p{margin:0;color:#dce6de;max-width:600px}
    .cta .btn-primary{background:#fff3e8;color:var(--red)}
    .cta .btn-primary:hover{background:#fff;color:var(--red-dark)}
    .site-footer{background:#292c28;color:#e9e4da;padding:62px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}
    .footer-brand .logo{min-width:0}
    .footer-brand .logo-text strong{color:#fff}
    .footer-brand .logo-text span{color:#bbb9b0}
    .footer-brand p{color:#bdbdb5;max-width:360px;font-size:14px;margin:22px 0 0}
    .footer-title{font-weight:800;margin-bottom:18px;color:#fff}
    .footer-links{list-style:none;padding:0;margin:0}
    .footer-links li{margin:10px 0;color:#bbb9b0;font-size:14px}
    .footer-links a{transition:var(--ease)}
    .footer-links a:hover{color:#fff0df}
    .footer-bottom{
      display:flex;justify-content:space-between;gap:20px;border-top:1px solid #4a4d47;
      margin-top:45px;padding-top:20px;color:#9d9e96;font-size:12px
    }
    .back-top{
      position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;
      background:var(--red);color:#fff;box-shadow:var(--shadow);z-index:10;transition:var(--ease)
    }
    .back-top:hover{background:var(--red-dark);transform:translateY(-3px)}
    @media (max-width:1024px){
      .hero-inner{gap:40px}.keyword-band{grid-template-columns:1fr 1fr}
      .guide-layout{gap:35px}.cta{padding:42px}
    }
    @media (max-width:768px){
      .container{width:min(100% - 32px,var(--container))}
      .topline .container{display:block;text-align:center}
      .topline .container span:last-child{display:none}
      .navbar{height:68px}.logo{min-width:0}.menu-toggle{display:block}
      .nav-links{
        display:none;position:absolute;left:16px;right:16px;top:74px;padding:12px;
        background:var(--paper);border:1px solid var(--line);border-radius:14px;
        box-shadow:var(--shadow);flex-direction:column;align-items:stretch
      }
      .nav-links.open{display:flex}.nav-links a{width:100%}.nav-cta{margin-left:0;text-align:center}
      .page-hero{padding:38px 0 58px}.breadcrumb{margin-bottom:28px}
      .hero-inner,.guide-layout,.relation{grid-template-columns:1fr}
      .hero-art{height:280px}.section{padding:60px 0}
      .section-heading{display:block;margin-bottom:26px}.section-heading p{margin-top:13px}
      .keyword-band{grid-template-columns:1fr 1fr}.guide-card{grid-template-columns:130px 1fr}
      .guide-card figure{height:130px}.cta{display:block;margin-bottom:60px;padding:34px 26px}
      .cta .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}
      .footer-brand{grid-column:1/-1}
    }
    @media (max-width:520px){
      .page-hero h1{font-size:38px}.hero-copy{font-size:16px}
      .hero-actions .btn{width:100%}.keyword-band{grid-template-columns:1fr}
      .guide-card{grid-template-columns:1fr}.guide-card figure{height:190px}
      .relation-panel{padding:24px}.footer-grid{grid-template-columns:1fr}
      .footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
    }
