/* roulang page: index */
:root{
      --bg:#f5f2ed;
      --bg-alt:#fbf8f4;
      --surface:#fffdf9;
      --surface-2:#fff7ef;
      --line:#e6dbcf;
      --line-strong:#d6c3b5;
      --text:#1f2328;
      --muted:#66707a;
      --soft:#8b95a1;
      --primary:#c53a1d;
      --primary-strong:#a92c12;
      --accent:#f08a24;
      --accent-2:#f6b24a;
      --good:#198f64;
      --shadow:0 10px 24px rgba(31,35,40,.08);
      --shadow-soft:0 6px 16px rgba(31,35,40,.06);
      --radius:8px;
      --radius-sm:6px;
      --container:1200px;
      --gap:24px;
      --gap-sm:14px;
      --header-h:76px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:92px}
    body{
      margin:0;
      color:var(--text);
      font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      background:
        linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.86)),
        repeating-linear-gradient(90deg,rgba(198,58,29,.035) 0,rgba(198,58,29,.035) 1px,transparent 1px,transparent 24px),
        repeating-linear-gradient(0deg,rgba(198,58,29,.03) 0,rgba(198,58,29,.03) 1px,transparent 1px,transparent 24px),
        var(--bg);
      letter-spacing:0;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    ul{margin:0;padding:0;list-style:none}
    p{margin:0}
    h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:0}
    .container{max-width:var(--container);margin:0 auto;padding:0 20px}
    .skip-link{
      position:absolute;left:-999px;top:8px;z-index:100;
      padding:10px 14px;border-radius:8px;background:#fff;color:var(--text);
      box-shadow:var(--shadow-soft)
    }
    .skip-link:focus{left:20px}
    .site-header{
      position:sticky;top:0;z-index:60;
      background:rgba(251,248,244,.94);
      backdrop-filter:saturate(120%) blur(8px);
      border-bottom:1px solid rgba(230,219,207,.9);
    }
    .header-top{
      min-height:52px;
      display:flex;align-items:center;justify-content:space-between;gap:14px;
      padding:10px 0 8px;
    }
    .brand{
      display:inline-flex;align-items:center;gap:10px;
      font-weight:800;letter-spacing:0;color:var(--text);
      min-width:0;
    }
    .brand-mark{
      width:32px;height:32px;border-radius:8px;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 8px 18px rgba(197,58,29,.18);
      display:grid;place-items:center;color:#fff;flex:0 0 auto;
    }
    .brand-mark svg{width:18px;height:18px}
    .brand span{
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      font-size:18px;
    }
    .header-bits{
      display:flex;align-items:center;gap:10px;flex-wrap:wrap;
      color:var(--muted);font-size:13px
    }
    .bit{
      display:inline-flex;align-items:center;gap:6px;
      padding:5px 10px;border:1px solid var(--line);
      background:#fff;border-radius:999px;
    }
    .bit .dot{
      width:7px;height:7px;border-radius:50%;
      background:var(--good);box-shadow:0 0 0 3px rgba(25,143,100,.12)
    }
    .header-actions{display:none;gap:10px}
    .icon-btn{
      width:40px;height:40px;border-radius:8px;border:1px solid var(--line);
      background:#fff;color:var(--text);display:inline-grid;place-items:center;
      box-shadow:var(--shadow-soft);transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    }
    .icon-btn:hover,.icon-btn:focus-visible{
      transform:translateY(-1px);border-color:#cdb4a1;background:var(--surface-2);outline:none
    }
    .icon-btn svg{width:18px;height:18px;display:block}
    .nav-panel{
      display:grid;
      grid-template-columns:1fr auto;
      gap:16px;
      align-items:center;
      padding:0 0 12px;
    }
    .site-nav{
      display:flex;align-items:center;gap:8px;flex-wrap:wrap;
      min-width:0;
    }
    .nav-link{
      display:inline-flex;align-items:center;gap:8px;
      min-height:38px;padding:0 12px;
      border:1px solid transparent;border-radius:8px;
      color:var(--muted);font-weight:600;
      transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
    }
    .nav-link:hover,.nav-link:focus-visible{
      background:#fff;border-color:var(--line);color:var(--text);transform:translateY(-1px);outline:none
    }
    .nav-link.active{
      background:rgba(197,58,29,.09);
      border-color:rgba(197,58,29,.22);
      color:var(--primary-strong)
    }
    .nav-link svg{width:16px;height:16px;flex:0 0 auto}
    .search-box{
      display:flex;align-items:center;gap:8px;
      min-width:320px;
      padding:6px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
    }
    .search-box input{
      width:100%;border:0;background:transparent;outline:none;color:var(--text);
      padding:4px 6px;min-width:0
    }
    .search-box input::placeholder{color:#97a0aa}
    .search-box button{
      flex:0 0 auto;
      padding:8px 12px;border-radius:6px;border:0;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      color:#fff;font-weight:700;
      display:inline-flex;align-items:center;gap:8px;
      transition:transform .18s ease, filter .18s ease;
    }
    .search-box button:hover,.search-box button:focus-visible{transform:translateY(-1px);filter:saturate(110%);outline:none}
    .search-box button svg{width:16px;height:16px}
    .hot-row{
      display:flex;align-items:center;gap:8px;flex-wrap:wrap;
      padding:0 0 12px;
      color:var(--muted);
    }
    .hot-label{
      display:inline-flex;align-items:center;gap:6px;
      font-size:12px;font-weight:700;letter-spacing:.02em;
      color:var(--primary-strong);
      padding:4px 9px;border-radius:999px;
      background:rgba(197,58,29,.08);
      border:1px solid rgba(197,58,29,.16);
    }
    .hot-tag{
      padding:4px 10px;border-radius:999px;border:1px solid var(--line);
      background:#fff;font-size:13px;color:var(--text);
      transition:background .18s ease, transform .18s ease, border-color .18s ease;
    }
    .hot-tag:hover{background:var(--surface-2);transform:translateY(-1px);border-color:#cfb59e}
    .mobile-panel{display:none}
    .hero{
      padding:34px 0 18px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:28px;
      align-items:stretch;
    }
    .hero-copy{
      padding:18px 0 8px;
    }
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      padding:6px 10px;border-radius:999px;
      border:1px solid rgba(197,58,29,.18);
      background:rgba(197,58,29,.08);
      color:var(--primary-strong);
      font-size:12px;font-weight:800;
      margin-bottom:14px;
    }
    .eyebrow svg{width:14px;height:14px}
    .hero h1{
      font-size:clamp(28px,4vw,52px);
      font-weight:900;
      letter-spacing:0;
      max-width:12em;
      margin-bottom:16px;
    }
    .hero p{
      max-width:46em;
      color:var(--muted);
      font-size:16px;
      margin-bottom:18px;
    }
    .hero-actions{
      display:flex;align-items:center;gap:12px;flex-wrap:wrap;
      margin:22px 0 18px;
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      min-height:44px;
      padding:0 16px;
      border-radius:8px;
      border:1px solid transparent;
      font-weight:800;
      transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
      white-space:nowrap;
    }
    .btn svg{width:16px;height:16px}
    .btn-primary{
      background:linear-gradient(135deg,var(--primary),var(--accent));
      color:#fff;
      box-shadow:0 10px 22px rgba(197,58,29,.16);
    }
    .btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-1px);outline:none;filter:saturate(110%)}
    .btn-ghost{
      background:#fff;
      border-color:var(--line);
      color:var(--text);
      box-shadow:var(--shadow-soft);
    }
    .btn-ghost:hover,.btn-ghost:focus-visible{
      transform:translateY(-1px);
      border-color:#d0b59d;
      background:var(--surface-2);
      outline:none
    }
    .btn-line{
      background:transparent;
      border-color:#d0b59d;
      color:var(--primary-strong);
    }
    .btn-line:hover,.btn-line:focus-visible{
      background:rgba(197,58,29,.06);
      transform:translateY(-1px);
      outline:none
    }
    .hero-stats{
      display:flex;flex-wrap:wrap;gap:10px;
      margin-top:8px;
    }
    .stat{
      display:flex;flex-direction:column;gap:2px;
      min-width:112px;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:8px;
      background:rgba(255,255,255,.78);
      box-shadow:var(--shadow-soft);
    }
    .stat strong{
      font-size:20px;
      color:#fff;
      display:inline-flex;align-items:center;justify-content:center;
      width:fit-content;
      padding:2px 8px;
      border-radius:6px;
      background:linear-gradient(135deg,var(--primary),var(--accent));
    }
    .stat span{font-size:13px;color:var(--muted)}
    .hero-panel{
      background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,251,246,.98));
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow);
      padding:18px;
      display:grid;
      gap:14px;
      align-content:start;
    }
    .panel-top{
      display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap
    }
    .panel-title{
      font-size:18px;font-weight:900;color:var(--text)
    }
    .panel-sub{color:var(--muted);font-size:13px;margin-top:4px}
    .chip-row{
      display:flex;flex-wrap:wrap;gap:8px
    }
    .chip{
      display:inline-flex;align-items:center;gap:6px;
      min-height:30px;padding:0 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;font-size:13px;
    }
    .chip strong{color:var(--primary-strong)}
    .chip.hot{
      background:rgba(197,58,29,.09);
      border-color:rgba(197,58,29,.18);
      color:var(--primary-strong)
    }
    .steps{
      display:grid;
      gap:10px;
      padding-top:2px;
    }
    .step{
      display:grid;
      grid-template-columns:28px 1fr auto;
      gap:12px;
      align-items:flex-start;
      padding:12px 12px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
    }
    .step-num{
      width:28px;height:28px;border-radius:50%;
      display:grid;place-items:center;
      background:rgba(197,58,29,.1);
      color:var(--primary-strong);
      font-weight:900;
      flex:0 0 auto;
    }
    .step h3{font-size:15px;margin-bottom:2px}
    .step p{font-size:13px;color:var(--muted)}
    .step-tag{
      align-self:flex-start;
      padding:5px 8px;border-radius:6px;
      background:linear-gradient(135deg,rgba(240,138,36,.14),rgba(197,58,29,.1));
      color:var(--primary-strong);
      border:1px solid rgba(197,58,29,.14);
      font-size:12px;font-weight:800
    }
    .mini-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
    }
    .mini{
      padding:12px;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--surface);
    }
    .mini strong{
      display:block;
      font-size:18px;
      color:var(--primary-strong);
      margin-bottom:4px;
    }
    .mini span{font-size:12px;color:var(--muted)}
    .trust-row{
      margin:18px 0 6px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:10px;
    }
    .trust-chip{
      display:flex;align-items:center;gap:10px;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
    }
    .trust-chip svg{
      width:18px;height:18px;color:var(--primary-strong);flex:0 0 auto
    }
    .trust-chip strong{display:block;font-size:14px}
    .trust-chip span{display:block;font-size:12px;color:var(--muted)}
    .section{
      padding:54px 0;
    }
    .section.alt{
      background:linear-gradient(180deg,rgba(255,255,255,.44),rgba(255,255,255,.72));
      border-top:1px solid rgba(230,219,207,.66);
      border-bottom:1px solid rgba(230,219,207,.66);
    }
    .section-head{
      display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
      margin-bottom:22px;
    }
    .section-head h2{
      font-size:clamp(22px,2.3vw,34px);
      font-weight:900;
    }
    .section-head p{
      max-width:54em;color:var(--muted)
    }
    .section-kicker{
      display:inline-flex;align-items:center;gap:6px;
      padding:5px 10px;border-radius:999px;
      border:1px solid rgba(197,58,29,.18);
      background:rgba(197,58,29,.06);
      color:var(--primary-strong);
      font-size:12px;font-weight:800;
      margin-bottom:10px;
    }
    .story-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:20px;
      align-items:start;
    }
    .story-copy{
      padding:18px 0 0;
    }
    .story-copy p{color:var(--muted);max-width:44em}
    .story-bullets{
      margin-top:18px;
      display:grid;
      gap:10px;
    }
    .bullet{
      display:flex;align-items:flex-start;gap:10px;
      padding:12px 0;
      border-top:1px solid var(--line);
    }
    .bullet:first-child{border-top:0}
    .bullet svg{
      width:18px;height:18px;color:var(--good);margin-top:2px;flex:0 0 auto
    }
    .bullet strong{display:block;margin-bottom:2px}
    .bullet span{color:var(--muted);font-size:13px}
    .story-side{
      display:grid;
      gap:10px;
    }
    .side-card{
      padding:16px;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--surface);
      box-shadow:var(--shadow-soft);
    }
    .side-card h3{font-size:16px;margin-bottom:8px}
    .side-card p{font-size:13px;color:var(--muted)}
    .side-tags{
      display:flex;flex-wrap:wrap;gap:8px;margin-top:12px
    }
    .side-tag{
      padding:5px 9px;border-radius:999px;
      border:1px solid var(--line);
      background:#fff;color:var(--text);
      font-size:12px;font-weight:700
    }
    .carousel-wrap{
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      align-items:center;
      margin-bottom:14px;
    }
    .carousel-controls{
      display:flex;gap:8px
    }
    .carousel-controls .icon-btn{width:38px;height:38px}
    .carousel-viewport{
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--surface);
      box-shadow:var(--shadow);
    }
    .carousel-track{
      display:flex;
      transition:transform .4s ease;
      will-change:transform;
    }
    .slide{
      min-width:100%;
      padding:18px;
      display:grid;
      grid-template-columns:1fr .95fr;
      gap:18px;
      align-items:stretch;
    }
    .slide-copy{
      display:grid;gap:12px;align-content:start;
    }
    .slide-copy h3{font-size:20px;font-weight:900}
    .slide-copy p{color:var(--muted)}
    .slide-list{
      display:grid;gap:8px;
    }
    .slide-list li{
      display:flex;align-items:flex-start;gap:8px;
      color:var(--text);
      font-size:14px;
    }
    .slide-list svg{width:16px;height:16px;color:var(--good);flex:0 0 auto;margin-top:2px}
    .slide-metrics{
      display:grid;gap:10px;
      align-content:start;
    }
    .frame{
      border:1px solid var(--line);
      border-radius:8px;
      background:linear-gradient(180deg,#fff,#fff8f1);
      padding:14px;
      box-shadow:var(--shadow-soft);
    }
    .frame .frame-row{
      display:flex;justify-content:space-between;align-items:center;gap:12px;
      padding:8px 0;border-bottom:1px solid var(--line);
    }
    .frame .frame-row:last-child{border-bottom:0}
    .frame .label{font-size:13px;color:var(--muted)}
    .frame .value{
      display:inline-flex;align-items:center;gap:8px;
      font-weight:900;color:var(--primary-strong)
    }
    .bar{
      height:9px;border-radius:999px;background:#efe6dd;overflow:hidden;flex:1;
      margin:0 10px;
    }
    .bar > span{
      display:block;height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,var(--primary),var(--accent));
    }
    .compat-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .compat-card{
      padding:16px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
    }
    .compat-card .icon{
      width:34px;height:34px;border-radius:8px;
      display:grid;place-items:center;
      background:rgba(197,58,29,.08);
      color:var(--primary-strong);
      margin-bottom:10px;
    }
    .compat-card .icon svg{width:18px;height:18px}
    .compat-card h3{font-size:16px;margin-bottom:8px}
    .compat-card p{font-size:13px;color:var(--muted)}
    .compat-note{
      margin-top:14px;
      padding:14px 16px;
      border:1px dashed rgba(197,58,29,.24);
      border-radius:8px;
      background:rgba(197,58,29,.05);
      color:var(--text);
    }
    .content-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .entry-card{
      display:flex;flex-direction:column;gap:12px;
      padding:16px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
      min-height:220px;
      transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
    }
    .entry-card:hover{
      transform:translateY(-2px);
      border-color:#cfb29b;
      box-shadow:0 14px 26px rgba(31,35,40,.09)
    }
    .entry-top{
      display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
    }
    .entry-badge{
      display:inline-flex;align-items:center;gap:6px;
      padding:5px 9px;border-radius:999px;
      background:rgba(197,58,29,.08);
      color:var(--primary-strong);
      border:1px solid rgba(197,58,29,.15);
      font-size:12px;font-weight:800;
    }
    .entry-badge.hot{
      background:rgba(240,138,36,.12);
      color:#ad5100;
      border-color:rgba(240,138,36,.25)
    }
    .entry-card h3{font-size:17px;font-weight:900}
    .entry-card p{color:var(--muted);font-size:13px;min-height:3.8em}
    .entry-meta{
      display:flex;flex-wrap:wrap;gap:8px;
      margin-top:auto;
    }
    .mini-pill{
      display:inline-flex;align-items:center;gap:5px;
      padding:5px 8px;border-radius:999px;
      border:1px solid var(--line);
      background:var(--bg-alt);
      color:var(--text);
      font-size:12px;
    }
    .entry-link{
      align-self:flex-start;
      display:inline-flex;align-items:center;gap:8px;
      color:var(--primary-strong);
      font-weight:800;
      margin-top:4px;
    }
    .entry-link svg{width:16px;height:16px}
    .bubble-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .bubble{
      padding:16px;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--surface);
      box-shadow:var(--shadow-soft);
    }
    .bubble .score{
      display:inline-flex;align-items:center;gap:6px;
      padding:5px 9px;border-radius:999px;
      background:rgba(240,138,36,.11);
      border:1px solid rgba(240,138,36,.25);
      color:#9d4b00;
      font-size:12px;font-weight:900;
      margin-bottom:10px;
    }
    .bubble p{
      color:var(--text);
      font-size:14px;
      margin-bottom:12px;
      min-height:4.2em;
    }
    .bubble small{color:var(--muted)}
    .news-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:18px;
      align-items:start;
    }
    .news-list{
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .news-item{
      display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
      padding:14px 16px;
      border-bottom:1px solid var(--line);
      transition:background .18s ease;
    }
    .news-item:last-child{border-bottom:0}
    .news-item:hover{background:var(--surface-2)}
    .news-item h3{
      font-size:15px;font-weight:800;
      margin-bottom:4px;
    }
    .news-item p{font-size:13px;color:var(--muted)}
    .news-meta{
      display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto
    }
    .news-tag{
      display:inline-flex;align-items:center;
      padding:4px 8px;border-radius:999px;
      border:1px solid rgba(197,58,29,.16);
      background:rgba(197,58,29,.08);
      color:var(--primary-strong);
      font-size:12px;font-weight:800;
    }
    .news-time{font-size:12px;color:var(--soft)}
    .news-side{
      display:grid;gap:12px;
    }
    .trend-card{
      padding:16px;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--surface);
      box-shadow:var(--shadow-soft);
    }
    .trend-card h3{font-size:16px;margin-bottom:8px}
    .trend-card p{font-size:13px;color:var(--muted)}
    .trend-list{
      margin-top:12px;
      display:grid;gap:8px;
    }
    .trend-list li{
      display:flex;justify-content:space-between;gap:10px;
      align-items:center;
      font-size:13px;
      padding:9px 10px;
      border-radius:8px;
      background:#fff;
      border:1px solid var(--line);
    }
    .trend-list span:first-child{font-weight:700}
    .trend-list span:last-child{
      color:var(--primary-strong);
      font-weight:800
    }
    .subscribe-grid{
      display:grid;
      grid-template-columns:1fr .9fr;
      gap:18px;
      align-items:stretch;
    }
    .subscribe-box{
      border:1px solid var(--line);
      border-radius:8px;
      background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,248,240,.98));
      box-shadow:var(--shadow);
      padding:20px;
    }
    .subscribe-box h3{font-size:22px;font-weight:900;margin-bottom:10px}
    .subscribe-box p{color:var(--muted);margin-bottom:14px;max-width:44em}
    .subscribe-form{
      display:flex;gap:10px;flex-wrap:wrap;
    }
    .subscribe-form input{
      flex:1 1 260px;
      min-height:46px;
      padding:0 14px;
      border-radius:8px;
      border:1px solid var(--line);
      background:#fff;
      outline:none;
      transition:border-color .18s ease,box-shadow .18s ease;
    }
    .subscribe-form input:focus{
      border-color:#d49b7d;
      box-shadow:0 0 0 4px rgba(197,58,29,.08);
    }
    .benefit-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
    }
    .benefit{
      padding:15px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
    }
    .benefit strong{
      display:flex;align-items:center;gap:8px;
      margin-bottom:8px;
    }
    .benefit svg{width:16px;height:16px;color:var(--primary-strong)}
    .benefit p{font-size:13px;color:var(--muted)}
    .cta-band{
      display:grid;
      grid-template-columns:1fr auto;
      gap:16px;
      align-items:center;
      padding:20px;
      border:1px solid var(--line);
      border-radius:8px;
      background:linear-gradient(135deg,rgba(197,58,29,.08),rgba(240,138,36,.08));
      box-shadow:var(--shadow-soft);
    }
    .cta-band h3{
      font-size:24px;font-weight:900;margin-bottom:6px
    }
    .cta-band p{color:var(--muted);max-width:46em}
    .cta-actions{
      display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end
    }
    .faq-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
    }
    details{
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    summary{
      list-style:none;
      display:flex;align-items:center;justify-content:space-between;gap:14px;
      padding:14px 16px;
      cursor:pointer;
      font-weight:800;
    }
    summary::-webkit-details-marker{display:none}
    summary .chev{
      width:18px;height:18px;flex:0 0 auto;
      transition:transform .18s ease;color:var(--primary-strong)
    }
    details[open] summary .chev{transform:rotate(180deg)}
    .faq-body{
      padding:0 16px 14px;
      color:var(--muted);
      font-size:13px;
    }
    .site-footer{
      padding:28px 0 38px;
      border-top:1px solid rgba(230,219,207,.8);
      background:#fbf8f4;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:18px;
      align-items:start;
    }
    .footer-brand{
      display:flex;flex-direction:column;gap:10px
    }
    .footer-brand strong{
      font-size:18px;
    }
    .footer-brand p{color:var(--muted);max-width:34em}
    .footer-list{
      display:grid;gap:8px
    }
    .footer-list a{
      color:var(--muted);
      transition:color .18s ease,transform .18s ease;
    }
    .footer-list a:hover{color:var(--primary-strong);transform:translateX(2px)}
    .footer-note{
      margin-top:18px;
      padding-top:16px;
      border-top:1px solid var(--line);
      color:var(--soft);
      display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
      font-size:13px;
    }
    .back-top{
      position:fixed;
      right:18px;bottom:18px;z-index:50;
      display:inline-flex;align-items:center;gap:8px;
      min-height:42px;padding:0 14px;
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      color:var(--text);
      box-shadow:var(--shadow);
      transition:transform .18s ease,border-color .18s ease,background .18s ease;
    }
    .back-top:hover,.back-top:focus-visible{
      transform:translateY(-2px);
      border-color:#cfb29b;
      background:var(--surface-2);
      outline:none
    }
    .back-top svg{width:16px;height:16px}
    .section-anchor{position:relative;top:-82px}
    .center-note{
      color:var(--muted);
      font-size:13px;
      margin-top:8px
    }
    .mobile-only{display:none}
    @media (max-width: 1100px){
      .hero-grid,.story-grid,.news-grid,.subscribe-grid,.cta-band{
        grid-template-columns:1fr;
      }
      .slide{grid-template-columns:1fr}
      .content-grid,.bubble-grid,.compat-grid{grid-template-columns:repeat(2,1fr)}
      .trust-row{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 768px){
      .header-top{padding:10px 0}
      .header-bits{display:none}
      .header-actions{display:flex}
      .nav-panel{
        display:none;
        padding:0 0 14px;
      }
      body.nav-open .nav-panel,
      body.search-open .nav-panel{display:grid}
      .nav-panel{grid-template-columns:1fr;gap:12px}
      .site-nav{flex-direction:column;align-items:stretch}
      .nav-link{justify-content:flex-start}
      .search-box{min-width:0;width:100%}
      .hot-row{padding-top:2px}
      .hero{padding-top:22px}
      .hero h1{max-width:100%}
      .hero-actions,.cta-actions{width:100%}
      .btn{width:100%;justify-content:center}
      .trust-row,.compat-grid,.content-grid,.bubble-grid,.faq-grid,.footer-grid,.benefit-grid,.mini-grid{
        grid-template-columns:1fr
      }
      .panel-top,.carousel-wrap{grid-template-columns:1fr}
      .carousel-wrap{align-items:flex-start}
      .carousel-controls{justify-content:flex-start}
      .hero-panel,.side-card,.trend-card,.subscribe-box,.cta-band{padding:16px}
      .mobile-only{display:inline-grid}
      .search-panel{
        display:none;
        padding-bottom:12px
      }
      body.search-open .search-panel{display:block}
      .search-box.desktop{display:none}
    }
    @media (max-width: 520px){
      .container{padding:0 16px}
      .brand span{font-size:16px}
      .hero h1{font-size:30px}
      .hero p{font-size:15px}
      .section{padding:42px 0}
      .slide,.hero-panel,.entry-card,.bubble,.news-item,.compat-card,.benefit,.side-card,.trend-card{padding:14px}
      .step{grid-template-columns:24px 1fr}
      .step-tag{grid-column:2;justify-self:flex-start}
      .step-num{width:24px;height:24px}
      .back-top{right:14px;bottom:14px;padding:0 12px}
      .cta-band h3,.subscribe-box h3{font-size:20px}
    }

/* roulang page: category1 */
:root{
      --bg:#fff8f2;
      --bg-soft:#fff2e8;
      --surface:#ffffff;
      --surface-2:#fff7ef;
      --line:#ead8c9;
      --line-strong:#d9b8a1;
      --text:#231913;
      --muted:#6f5f55;
      --muted-2:#8b7b71;
      --accent:#c63f14;
      --accent-2:#f07a18;
      --accent-3:#ff9b3d;
      --accent-soft:#ffe0cf;
      --success:#27724d;
      --shadow:0 10px 24px rgba(83, 33, 8, .08);
      --shadow-strong:0 16px 34px rgba(83, 33, 8, .14);
      --radius:8px;
      --radius-sm:6px;
      --container:1280px;
      --gap:24px;
      --gap-sm:16px;
      --gap-xs:10px;
      --header-h:74px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--text);
      background:
        linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,248,242,.96)),
        repeating-linear-gradient(90deg, rgba(201,63,20,.04) 0, rgba(201,63,20,.04) 1px, transparent 1px, transparent 80px),
        var(--bg);
      font-family:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      line-height:1.6;
      letter-spacing:0;
    }

    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    ::selection{background:var(--accent-soft); color:var(--text)}

    .page-shell{
      position:relative;
      overflow:hidden;
    }

    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:60;
      background:rgba(255,248,242,.94);
      backdrop-filter:saturate(170%) blur(8px);
      border-bottom:1px solid rgba(217,184,161,.78);
      box-shadow:0 1px 0 rgba(255,255,255,.6);
    }

    .header-top{
      min-height:64px;
      display:flex;
      align-items:center;
      gap:16px;
      justify-content:space-between;
      padding:10px 0;
    }

    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      letter-spacing:0;
      color:var(--text);
      white-space:nowrap;
    }

    .brand-mark{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:8px;
      background:linear-gradient(180deg, var(--accent), #a72f0f);
      color:#fff;
      box-shadow:0 8px 18px rgba(198,63,20,.26);
      flex:0 0 auto;
    }

    .brand-mark svg{width:20px; height:20px}

    .header-bits{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      color:var(--muted);
      font-size:13px;
    }

    .bit{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.78);
      border-radius:999px;
      white-space:nowrap;
    }

    .dot{
      width:8px;
      height:8px;
      border-radius:999px;
      background:var(--accent-2);
      box-shadow:0 0 0 4px rgba(240,122,24,.16);
    }

    .header-actions{
      display:flex;
      align-items:center;
      gap:8px;
    }

    .icon-btn{
      width:40px;
      height:40px;
      display:inline-grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--surface);
      color:var(--text);
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .icon-btn svg{
      width:18px;
      height:18px;
      stroke:currentColor;
    }

    .icon-btn:hover,
    .icon-btn:focus-visible{
      outline:none;
      transform:translateY(-1px);
      border-color:var(--accent-3);
      box-shadow:0 8px 16px rgba(83,33,8,.08);
      background:#fff;
    }

    .search-panel{
      padding:0 0 10px;
    }

    .search-box{
      display:flex;
      align-items:center;
      gap:8px;
      width:min(640px, 100%);
      margin-left:auto;
    }

    .search-box input{
      flex:1;
      height:42px;
      border:1px solid var(--line);
      border-radius:8px;
      background:rgba(255,255,255,.94);
      color:var(--text);
      padding:0 14px;
      outline:none;
      transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .search-box input::placeholder{color:#9b8b81}
    .search-box input:focus{
      border-color:var(--accent-3);
      box-shadow:0 0 0 4px rgba(240,122,24,.12);
      background:#fff;
    }

    .search-box button{
      height:42px;
      padding:0 16px;
      border:1px solid var(--accent);
      background:linear-gradient(180deg, var(--accent-2), var(--accent));
      color:#fff;
      border-radius:8px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-weight:700;
      transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }

    .search-box button:hover,
    .search-box button:focus-visible{
      outline:none;
      transform:translateY(-1px);
      box-shadow:0 12px 18px rgba(198,63,20,.22);
      filter:saturate(1.03);
    }

    .search-box button svg{
      width:16px;
      height:16px;
      stroke:currentColor;
    }

    .nav-panel{
      padding:0 0 14px;
    }

    .site-nav{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      border-top:1px solid rgba(234,216,201,.72);
      padding-top:12px;
    }

    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:38px;
      padding:0 14px;
      border:1px solid transparent;
      border-radius:8px;
      color:var(--muted);
      font-size:14px;
      font-weight:700;
      transition:transform .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
    }

    .nav-link svg{
      width:16px;
      height:16px;
      stroke:currentColor;
    }

    .nav-link:hover,
    .nav-link:focus-visible{
      outline:none;
      color:var(--text);
      background:rgba(255,255,255,.78);
      border-color:var(--line);
      transform:translateY(-1px);
    }

    .nav-link.active{
      color:#fff;
      background:linear-gradient(180deg, var(--accent-2), var(--accent));
      border-color:transparent;
      box-shadow:0 10px 18px rgba(198,63,20,.2);
    }

    .mobile-only{display:none}
    .desktop-only{display:flex}

    main{
      display:block;
    }

    .hero{
      padding:34px 0 18px;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0, 1.22fr) minmax(320px, .78fr);
      gap:24px;
      align-items:stretch;
    }

    .hero-copy,
    .hero-panel,
    .filter-shell,
    .cta-band{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .hero-copy{
      padding:30px;
      position:relative;
      overflow:hidden;
    }

    .hero-copy::after{
      content:"";
      position:absolute;
      inset:auto -30px -40px auto;
      width:180px;
      height:180px;
      border-radius:50%;
      background:radial-gradient(circle at 40% 40%, rgba(240,122,24,.14), rgba(240,122,24,0) 72%);
      pointer-events:none;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent);
      background:rgba(255,224,207,.5);
      border:1px solid rgba(198,63,20,.16);
      border-radius:999px;
      padding:6px 10px;
      font-size:13px;
      font-weight:800;
      margin:0 0 16px;
    }

    .hero-title{
      margin:0;
      font-size:52px;
      line-height:1.06;
      letter-spacing:0;
      max-width:12ch;
    }

    .hero-sub{
      margin:14px 0 0;
      max-width:58ch;
      color:var(--muted);
      font-size:17px;
    }

    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:22px;
    }

    .meta-pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      min-height:44px;
      padding:0 14px;
      border-radius:999px;
      border:1px solid var(--line);
      background:linear-gradient(180deg, #fff, #fff7f0);
      color:var(--text);
    }

    .meta-pill strong{
      color:var(--accent);
      font-size:18px;
    }

    .meta-pill small{
      color:var(--muted);
      font-size:13px;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:24px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      padding:0 18px;
      border-radius:8px;
      border:1px solid transparent;
      font-weight:800;
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
      white-space:nowrap;
    }

    .btn svg{
      width:16px;
      height:16px;
      stroke:currentColor;
    }

    .btn:hover,
    .btn:focus-visible{
      outline:none;
      transform:translateY(-1px);
    }

    .btn-primary{
      background:linear-gradient(180deg, var(--accent-2), var(--accent));
      color:#fff;
      box-shadow:0 12px 20px rgba(198,63,20,.2);
    }

    .btn-primary:hover,
    .btn-primary:focus-visible{
      box-shadow:0 14px 24px rgba(198,63,20,.24);
    }

    .btn-secondary{
      background:#fff;
      border-color:var(--line-strong);
      color:var(--text);
    }

    .btn-secondary:hover,
    .btn-secondary:focus-visible{
      border-color:var(--accent-3);
      box-shadow:0 10px 18px rgba(83,33,8,.08);
    }

    .btn-ghost{
      background:rgba(255,247,239,.74);
      border-color:rgba(217,184,161,.86);
      color:var(--accent);
    }

    .btn-ghost:hover,
    .btn-ghost:focus-visible{
      border-color:var(--accent);
      color:var(--accent);
      box-shadow:0 10px 18px rgba(198,63,20,.08);
    }

    .hero-panel{
      padding:22px;
      display:grid;
      gap:16px;
      align-content:start;
      background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,239,.96));
    }

    .panel-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
    }

    .panel-top h2{
      margin:0;
      font-size:20px;
      line-height:1.25;
    }

    .panel-top p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:14px;
    }

    .state-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(39,114,77,.08);
      color:var(--success);
      border:1px solid rgba(39,114,77,.16);
      font-size:12px;
      font-weight:800;
      white-space:nowrap;
    }

    .state-badge .dot{
      width:7px;
      height:7px;
      background:var(--success);
      box-shadow:0 0 0 3px rgba(39,114,77,.12);
    }

    .route-list{
      display:grid;
      gap:10px;
    }

    .route-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:12px;
      align-items:center;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:var(--radius-sm);
      background:rgba(255,255,255,.94);
    }

    .route-index{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:8px;
      background:var(--accent-soft);
      color:var(--accent);
      font-weight:900;
    }

    .route-item strong{
      display:block;
      font-size:15px;
      line-height:1.2;
      margin-bottom:4px;
    }

    .route-item span{
      color:var(--muted);
      font-size:13px;
    }

    .route-tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 9px;
      border-radius:999px;
      background:rgba(255,224,207,.55);
      color:var(--accent);
      font-size:12px;
      font-weight:800;
      white-space:nowrap;
    }

    .trust-bar{
      margin-top:16px;
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:12px;
    }

    .trust-item{
      display:flex;
      align-items:center;
      gap:12px;
      min-height:70px;
      padding:14px 16px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:rgba(255,255,255,.9);
      box-shadow:var(--shadow);
    }

    .trust-icon{
      width:38px;
      height:38px;
      display:grid;
      place-items:center;
      border-radius:8px;
      background:var(--accent-soft);
      color:var(--accent);
      flex:0 0 auto;
    }

    .trust-icon svg{
      width:18px;
      height:18px;
      stroke:currentColor;
    }

    .trust-item strong{
      display:block;
      font-size:15px;
      line-height:1.2;
    }

    .trust-item span{
      display:block;
      color:var(--muted);
      font-size:13px;
      margin-top:2px;
    }

    .section{
      padding:22px 0;
    }

    .filter-shell{
      padding:18px 20px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
    }

    .filter-copy{
      display:grid;
      gap:4px;
    }

    .filter-copy strong{
      font-size:17px;
    }

    .filter-copy span{
      color:var(--muted);
      font-size:14px;
    }

    .filter-actions{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .filter-chip{
      height:36px;
      padding:0 12px;
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      color:var(--muted);
      font-size:13px;
      font-weight:700;
      transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    }

    .filter-chip:hover,
    .filter-chip:focus-visible{
      outline:none;
      transform:translateY(-1px);
      border-color:var(--accent-3);
      color:var(--text);
    }

    .filter-chip.active{
      background:var(--accent);
      color:#fff;
      border-color:var(--accent);
      box-shadow:0 8px 16px rgba(198,63,20,.16);
    }

    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:14px;
    }

    .section-kicker{
      margin:0 0 6px;
      color:var(--accent);
      font-size:13px;
      font-weight:800;
      letter-spacing:0;
    }

    .section-title{
      margin:0;
      font-size:30px;
      line-height:1.15;
    }

    .section-sub{
      margin:10px 0 0;
      color:var(--muted);
      font-size:15px;
      max-width:68ch;
    }

    .section-actions{
      display:flex;
      align-items:center;
      gap:8px;
      flex:0 0 auto;
    }

    .carousel-shell{
      position:relative;
    }

    .carousel-buttons{
      display:flex;
      gap:8px;
    }

    .carousel-btn{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:8px;
      border:1px solid var(--line);
      background:var(--surface);
      color:var(--text);
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    .carousel-btn:hover,
    .carousel-btn:focus-visible{
      outline:none;
      transform:translateY(-1px);
      border-color:var(--accent-3);
      box-shadow:0 10px 18px rgba(83,33,8,.08);
    }

    .carousel-btn svg{
      width:18px;
      height:18px;
      stroke:currentColor;
    }

    .featured-track{
      display:grid;
      grid-auto-flow:column;
      grid-auto-columns:minmax(260px, 1fr);
      gap:14px;
      overflow:auto;
      padding:2px 2px 12px;
      scroll-snap-type:x mandatory;
      scrollbar-width:thin;
      scrollbar-color:rgba(198,63,20,.48) transparent;
    }

    .featured-track::-webkit-scrollbar{height:10px}
    .featured-track::-webkit-scrollbar-thumb{
      background:rgba(198,63,20,.42);
      border-radius:999px;
    }
    .featured-track::-webkit-scrollbar-track{background:transparent}

    .featured-card{
      min-height:276px;
      padding:18px;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,239,.98));
      box-shadow:var(--shadow);
      display:grid;
      align-content:space-between;
      gap:14px;
      scroll-snap-align:start;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

    .featured-card:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-strong);
      border-color:var(--accent-3);
    }

    .featured-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }

    .pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(198,63,20,.16);
      background:rgba(255,224,207,.5);
      color:var(--accent);
      font-size:12px;
      font-weight:800;
      white-space:nowrap;
    }

    .featured-score{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(39,114,77,.18);
      background:rgba(39,114,77,.08);
      color:var(--success);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }

    .featured-card h3{
      margin:0;
      font-size:21px;
      line-height:1.2;
    }

    .featured-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }

    .meter{
      display:grid;
      gap:8px;
    }

    .meter-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-size:13px;
      color:var(--muted);
    }

    .meter-bar{
      height:8px;
      border-radius:999px;
      background:#f4e5da;
      overflow:hidden;
    }

    .meter-bar span{
      display:block;
      height:100%;
      width:var(--value, 68%);
      border-radius:inherit;
      background:linear-gradient(90deg, var(--accent-3), var(--accent));
    }

    .featured-foot{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      padding-top:6px;
      border-top:1px dashed rgba(217,184,161,.7);
    }

    .featured-foot small{
      color:var(--muted-2);
      font-size:12px;
    }

    .featured-foot a{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--accent);
      font-weight:800;
      font-size:13px;
    }

    .featured-foot a svg{
      width:14px;
      height:14px;
      stroke:currentColor;
    }

    .info-grid{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:24px;
      align-items:start;
    }

    .info-panel{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:22px;
    }

    .info-panel h3{
      margin:0 0 10px;
      font-size:24px;
      line-height:1.2;
    }

    .info-panel p{
      margin:0 0 16px;
      color:var(--muted);
      font-size:15px;
    }

    .checklist{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .check-item{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:var(--radius-sm);
      background:rgba(255,247,239,.75);
    }

    .check-icon{
      width:22px;
      height:22px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:rgba(39,114,77,.1);
      color:var(--success);
      margin-top:1px;
    }

    .check-icon svg{
      width:13px;
      height:13px;
      stroke:currentColor;
    }

    .check-item strong{
      display:block;
      font-size:14px;
      margin-bottom:2px;
    }

    .check-item span{
      color:var(--muted);
      font-size:13px;
    }

    .system-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
    }

    .system-card{
      min-height:182px;
      padding:18px;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:linear-gradient(180deg, #fff, #fff7f0);
      box-shadow:var(--shadow);
      display:grid;
      gap:12px;
      align-content:start;
    }

    .system-card .tag-row{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .system-card .tag{
      display:inline-flex;
      align-items:center;
      min-height:26px;
      padding:0 10px;
      border-radius:999px;
      background:rgba(255,224,207,.55);
      color:var(--accent);
      border:1px solid rgba(198,63,20,.12);
      font-size:12px;
      font-weight:800;
    }

    .system-card h4{
      margin:0;
      font-size:18px;
      line-height:1.2;
    }

    .system-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }

    .system-card .status{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:auto;
      color:var(--success);
      font-size:13px;
      font-weight:800;
    }

    .status .check{
      width:18px;
      height:18px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:rgba(39,114,77,.1);
    }

    .status .check svg{
      width:12px;
      height:12px;
      stroke:currentColor;
    }

    .reviews-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
    }

    .review-card{
      padding:18px;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:var(--surface);
      box-shadow:var(--shadow);
      display:grid;
      gap:12px;
      align-content:start;
      min-height:220px;
    }

    .review-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .review-score{
      display:inline-flex;
      align-items:center;
      gap:6px;
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      background:rgba(198,63,20,.08);
      color:var(--accent);
      border:1px solid rgba(198,63,20,.12);
      font-weight:900;
      font-size:12px;
      white-space:nowrap;
    }

    .review-card h4{
      margin:0;
      font-size:18px;
      line-height:1.25;
    }

    .review-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }

    .review-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:auto;
    }

    .review-tag{
      display:inline-flex;
      align-items:center;
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      background:rgba(255,247,239,.88);
      border:1px solid var(--line);
      color:var(--muted);
      font-size:12px;
      font-weight:700;
    }

    .cta-band{
      padding:24px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
      background:
        linear-gradient(180deg, rgba(198,63,20,.98), rgba(166,47,15,.98));
      color:#fff;
      border-color:rgba(198,63,20,.2);
      box-shadow:0 16px 30px rgba(166,47,15,.2);
    }

    .cta-band .section-kicker{
      color:#ffd1bd;
    }

    .cta-band .section-title{
      color:#fff;
    }

    .cta-band p{
      margin:10px 0 0;
      color:rgba(255,255,255,.86);
      max-width:58ch;
      font-size:15px;
    }

    .download-group{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .cta-band .btn-primary{
      background:#fff;
      color:var(--accent);
      box-shadow:none;
      border-color:transparent;
    }

    .cta-band .btn-primary:hover,
    .cta-band .btn-primary:focus-visible{
      box-shadow:0 10px 18px rgba(255,255,255,.12);
    }

    .cta-band .btn-secondary{
      background:transparent;
      color:#fff;
      border-color:rgba(255,255,255,.36);
    }

    .cta-band .btn-secondary:hover,
    .cta-band .btn-secondary:focus-visible{
      border-color:#fff;
      box-shadow:0 10px 18px rgba(255,255,255,.08);
    }

    .cta-band .btn-ghost{
      background:rgba(255,255,255,.1);
      border-color:rgba(255,255,255,.24);
      color:#fff;
    }

    .faq-list{
      display:grid;
      gap:12px;
    }

    .faq-item{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--surface);
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .faq-q{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:16px 18px;
      background:transparent;
      border:0;
      color:var(--text);
      text-align:left;
      font-weight:800;
    }

    .faq-q span{
      width:24px;
      height:24px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:rgba(255,224,207,.55);
      color:var(--accent);
      flex:0 0 auto;
      transition:transform .18s ease, background .18s ease;
    }

    .faq-item.open .faq-q span{
      transform:rotate(45deg);
      background:rgba(198,63,20,.1);
    }

    .faq-a{
      max-height:0;
      overflow:hidden;
      transition:max-height .22s ease;
      border-top:1px solid rgba(234,216,201,.72);
    }

    .faq-item.open .faq-a{
      max-height:180px;
    }

    .faq-a p{
      margin:0;
      padding:14px 18px 18px;
      color:var(--muted);
      font-size:14px;
    }

    .site-footer{
      margin-top:12px;
      border-top:1px solid rgba(234,216,201,.88);
      background:linear-gradient(180deg, rgba(255,247,239,.92), rgba(255,242,232,.98));
    }

    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:18px;
      padding:26px 0 18px;
    }

    .footer-brand strong{
      display:block;
      margin-bottom:10px;
      font-size:18px;
    }

    .footer-brand p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      max-width:42ch;
    }

    .footer-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:9px;
    }

    .footer-list li,
    .footer-list a{
      color:var(--muted);
      font-size:14px;
    }

    .footer-list a{
      transition:color .18s ease;
    }

    .footer-list a:hover,
    .footer-list a:focus-visible{
      outline:none;
      color:var(--accent);
    }

    .footer-note{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      border-top:1px solid rgba(234,216,201,.72);
      padding:14px 0 18px;
      color:var(--muted-2);
      font-size:13px;
    }

    .back-top{
      position:fixed;
      right:18px;
      bottom:18px;
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:12px;
      background:var(--surface);
      color:var(--text);
      box-shadow:var(--shadow);
      z-index:80;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    .back-top:hover,
    .back-top:focus-visible{
      outline:none;
      transform:translateY(-2px);
      border-color:var(--accent-3);
      box-shadow:var(--shadow-strong);
    }

    .back-top svg{
      width:18px;
      height:18px;
      stroke:currentColor;
    }

    .mobile-shell{
      display:none;
    }

    .search-panel,
    .nav-panel{
      display:block;
    }

    .match{
      outline:2px solid rgba(198,63,20,.32);
      box-shadow:0 0 0 4px rgba(240,122,24,.12), var(--shadow);
    }

    @media (max-width: 1200px){
      .hero-grid{
        grid-template-columns:1fr;
      }
      .trust-bar{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .info-grid{
        grid-template-columns:1fr;
      }
      .reviews-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .footer-grid{
        grid-template-columns:1fr 1fr;
      }
      .hero-title{
        max-width:100%;
      }
    }

    @media (max-width: 992px){
      .desktop-only{display:none}
      .mobile-only{display:inline-grid}
      .header-top{
        min-height:60px;
      }
      .header-bits{
        display:none;
      }
      .search-panel,
      .nav-panel{
        display:none;
      }
      .search-panel.is-open,
      .nav-panel.is-open{
        display:block;
      }
      .search-box{
        width:100%;
        margin:0;
      }
      .site-nav{
        padding-top:0;
        border-top:0;
      }
      .hero{
        padding-top:20px;
      }
      .hero-copy{
        padding:24px;
      }
      .hero-title{
        font-size:42px;
      }
      .section-title{
        font-size:26px;
      }
      .section-head{
        align-items:flex-start;
        flex-direction:column;
      }
      .system-grid{
        grid-template-columns:1fr;
      }
      .reviews-grid{
        grid-template-columns:1fr;
      }
      .footer-grid{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 768px){
      .container{
        width:min(var(--container), calc(100% - 24px));
      }
      .hero-copy,
      .hero-panel,
      .filter-shell,
      .info-panel,
      .review-card,
      .system-card,
      .cta-band{
        padding-left:16px;
        padding-right:16px;
      }
      .hero-title{
        font-size:36px;
      }
      .hero-sub{
        font-size:16px;
      }
      .trust-bar{
        grid-template-columns:1fr;
      }
      .filter-shell{
        flex-direction:column;
        align-items:stretch;
      }
      .filter-actions{
        overflow:auto;
        flex-wrap:nowrap;
        padding-bottom:2px;
      }
      .filter-chip{
        flex:0 0 auto;
      }
      .featured-track{
        grid-auto-columns:minmax(250px, 86%);
      }
      .download-group{
        justify-content:flex-start;
      }
    }

    @media (max-width: 520px){
      .brand{
        gap:10px;
        font-size:14px;
      }
      .brand-mark{
        width:30px;
        height:30px;
      }
      .brand-mark svg{
        width:18px;
        height:18px;
      }
      .hero-title{
        font-size:30px;
      }
      .hero-sub,
      .section-sub,
      .info-panel p,
      .cta-band p{
        font-size:14px;
      }
      .hero-actions,
      .download-group{
        flex-direction:column;
        align-items:stretch;
      }
      .btn{
        width:100%;
      }
      .route-item{
        grid-template-columns:auto 1fr;
      }
      .route-tag{
        grid-column:1 / -1;
        justify-self:start;
      }
      .panel-top{
        flex-direction:column;
      }
      .section-title{
        font-size:24px;
      }
      .search-box{
        flex-direction:column;
        align-items:stretch;
      }
      .search-box button{
        width:100%;
      }
      .back-top{
        right:14px;
        bottom:14px;
      }
    }

/* roulang page: category2 */
:root{
  --bg:#f6f0e8;
  --bg-soft:#fcf8f2;
  --surface:#fffdf9;
  --surface-2:#f9f4ed;
  --text:#241812;
  --muted:#6c5e56;
  --line:#e4d6ca;
  --line-strong:#d9c8b9;
  --brand:#b81f1f;
  --brand-2:#e34c1b;
  --brand-3:#ff8a1f;
  --brand-soft:#fde8db;
  --success:#1f7a4f;
  --shadow:0 10px 22px rgba(70,34,20,.08);
  --shadow-sm:0 6px 14px rgba(70,34,20,.06);
  --radius:8px;
  --radius-sm:6px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-7:32px;
  --space-8:40px;
  --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color:var(--text);
  background:
    linear-gradient(180deg, rgba(184,31,31,.03), rgba(184,31,31,0) 180px),
    linear-gradient(90deg, rgba(228,214,202,.35) 1px, transparent 1px),
    linear-gradient(rgba(228,214,202,.35) 1px, transparent 1px),
    var(--bg);
  background-size:auto, 44px 44px, 44px 44px, auto;
  letter-spacing:0;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
button,input,select{
  font:inherit;
  color:inherit;
}
img{max-width:100%;display:block}
button{
  cursor:pointer;
  border:0;
  background:none;
}
:focus-visible{
  outline:2px solid var(--brand-2);
  outline-offset:2px;
}
.container{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
}
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(252,248,242,.96);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 18px rgba(65,29,17,.05);
}
.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0 10px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  font-weight:800;
  font-size:18px;
  letter-spacing:0;
  white-space:nowrap;
}
.brand-mark{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(180deg, var(--brand), #8f1515);
  color:#fff;
  box-shadow:var(--shadow-sm);
  flex:0 0 auto;
}
.brand-mark svg{width:18px;height:18px;display:block}
.header-bits{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:center;
}
.bit{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}
.dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--brand-3);
  box-shadow:0 0 0 3px rgba(255,138,31,.15);
  flex:0 0 auto;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.icon-btn{
  width:40px;
  height:40px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, border-color .18s ease, background-color .18s ease;
}
.icon-btn:hover{
  transform:translateY(-1px);
  border-color:var(--brand-2);
}
.icon-btn svg{width:18px;height:18px;display:block}
.search-panel,
.nav-panel{
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.5);
}
.search-panel .container,
.nav-panel .container{
  padding:10px 0;
}
.search-box{
  display:flex;
  align-items:center;
  gap:10px;
  max-width:620px;
}
.search-box input{
  flex:1;
  min-width:0;
  height:44px;
  padding:0 14px;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.search-box input::placeholder{color:#927e71}
.search-box button{
  height:44px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:8px;
  background:linear-gradient(180deg, var(--brand-2), #c63d18);
  color:#fff;
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
  transition:transform .18s ease, filter .18s ease;
}
.search-box button:hover{
  transform:translateY(-1px);
  filter:saturate(1.05);
}
.search-box button svg{width:18px;height:18px}
.site-nav{
  display:flex;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  padding-bottom:2px;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:8px;
  color:#5d4f47;
  font-weight:700;
  white-space:nowrap;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.nav-link svg{
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.nav-link:hover{
  color:var(--brand);
  background:#fff;
  border-color:var(--line);
  transform:translateY(-1px);
}
.nav-link.active{
  color:#fff;
  background:linear-gradient(180deg, var(--brand), #8f1515);
  border-color:transparent;
  box-shadow:var(--shadow-sm);
}
.mobile-only{display:none}
.hero-band{
  padding:18px 0 20px;
  background:linear-gradient(180deg, #fff8f2 0%, #f7efe7 100%);
  border-bottom:1px solid var(--line);
}
.hero-wrap{
  display:grid;
  grid-template-columns:1.25fr .85fr;
  gap:24px;
  align-items:stretch;
}
.hero-copy{
  padding:10px 0 0;
}
.hero-kicker,
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(184,31,31,.18);
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.hero-copy h1{
  margin:12px 0 10px;
  font-size:46px;
  line-height:1.08;
  letter-spacing:0;
}
.hero-copy p{
  margin:0;
  max-width:620px;
  color:var(--muted);
  font-size:16px;
}
.hero-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}
.hero-badges .tag,
.pill,
.metric{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#5f5149;
  font-size:12px;
  white-space:nowrap;
}
.hero-badges .tag{
  border-color:rgba(184,31,31,.18);
  background:linear-gradient(180deg, #fff, #fff7f1);
}
.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 16px;
  border-radius:8px;
  font-weight:800;
  white-space:nowrap;
  transition:transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.btn-primary{
  background:linear-gradient(180deg, var(--brand-2), #b52d12);
  color:#fff;
  box-shadow:var(--shadow-sm);
}
.btn-outline{
  border:1px solid var(--line-strong);
  background:#fff;
  color:var(--text);
}
.btn-outline:hover{
  border-color:var(--brand-2);
  color:var(--brand);
}
.btn-light{
  background:#fff;
  color:var(--brand);
  box-shadow:var(--shadow-sm);
}
.btn-outline-light{
  border:1px solid rgba(255,255,255,.45);
  color:#fff;
  background:transparent;
}
.btn-outline-light:hover{background:rgba(255,255,255,.1)}
.btn-accent{
  background:linear-gradient(180deg, var(--brand-3), #ea7210);
  color:#fff;
}
.hero-panel{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
  padding:18px;
  box-shadow:var(--shadow);
  display:grid;
  gap:14px;
}
.panel-title{
  font-size:14px;
  font-weight:800;
  color:var(--text);
}
.panel-sub{
  color:var(--muted);
  font-size:13px;
}
.step-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.step-list li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  padding:10px 12px;
  border-radius:8px;
  background:#fff9f3;
  border:1px solid #f0dfcf;
}
.step-index{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:linear-gradient(180deg, var(--brand), #8f1515);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.step-copy strong{
  display:block;
  font-size:13px;
  margin-bottom:2px;
}
.step-copy span{
  display:block;
  font-size:12px;
  color:var(--muted);
}
.badge-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.badge-row .pill{
  background:#fff;
  border-color:var(--line-strong);
}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.metric-tile{
  padding:12px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--line);
}
.metric-tile strong{
  display:block;
  font-size:20px;
  line-height:1.1;
  color:var(--brand);
}
.metric-tile span{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
}
.metric-bar{
  height:6px;
  border-radius:999px;
  background:#f1e5d9;
  overflow:hidden;
  margin-top:10px;
}
.metric-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--brand-2), var(--brand-3));
}
.trust-strip{
  padding:14px 0;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
}
.trust-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--brand-soft);
  color:var(--brand);
  flex:0 0 auto;
}
.trust-icon svg{width:18px;height:18px}
.trust-copy strong{
  display:block;
  font-size:14px;
}
.trust-copy span{
  display:block;
  font-size:12px;
  color:var(--muted);
}
.snap-band,
.content-band,
.compare-band,
.requirements-band,
.reviews-band,
.faq-band,
.cta-band{
  padding:28px 0;
}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.section-head h2{
  margin:0;
  font-size:28px;
  line-height:1.15;
}
.section-head p{
  margin:0;
  max-width:560px;
  color:var(--muted);
  font-size:14px;
}
.snap-track{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.snap-card{
  min-height:190px;
  padding:16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
  display:grid;
  gap:12px;
}
.snap-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.snap-step{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(180deg, var(--brand), #8f1515);
  color:#fff;
  font-weight:800;
  font-size:13px;
}
.snap-score{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  min-height:26px;
  border-radius:999px;
  border:1px solid rgba(184,31,31,.15);
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
  font-weight:800;
}
.snap-card h3{
  margin:0;
  font-size:17px;
  line-height:1.2;
}
.snap-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.mini-bars{
  display:grid;
  gap:7px;
}
.mini-bars span{
  display:block;
  height:7px;
  border-radius:999px;
  background:#f0e2d4;
  overflow:hidden;
}
.mini-bars i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--brand-2), var(--brand-3));
}
.content-grid{
  display:grid;
  grid-template-columns:1.45fr .9fr;
  gap:20px;
  align-items:start;
}
.toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  margin-bottom:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.toolbar-info{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.toolbar-kicker{
  padding:0 10px;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
  font-weight:800;
}
.toolbar strong{
  font-size:14px;
}
.toolbar-note{
  color:var(--muted);
  font-size:12px;
}
.toolbar-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.chip-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.chip{
  min-height:34px;
  padding:0 12px;
  border:1px solid var(--line-strong);
  border-radius:999px;
  background:#fff;
  color:#5e514a;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  transition:transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}
.chip:hover{
  transform:translateY(-1px);
  border-color:var(--brand-2);
}
.chip.active{
  background:linear-gradient(180deg, var(--brand-2), #bf3516);
  color:#fff;
  border-color:transparent;
  box-shadow:var(--shadow-sm);
}
.sort-box{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 10px;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:#fff;
  color:#5d5048;
  font-size:13px;
  white-space:nowrap;
}
.sort-box select{
  border:0;
  background:transparent;
  outline:none;
  appearance:auto;
  font-weight:700;
  color:var(--text);
}
.entry-list{
  display:grid;
  gap:12px;
}
.entry-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:16px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.entry-item:hover{
  transform:translateY(-2px);
  border-color:rgba(184,31,31,.25);
  box-shadow:var(--shadow);
}
.entry-item.is-hidden{display:none !important}
.entry-main{
  min-width:0;
}
.entry-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.num-badge{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(180deg, var(--brand), #8f1515);
  color:#fff;
  font-weight:800;
  font-size:13px;
  flex:0 0 auto;
}
.entry-copy{
  min-width:0;
}
.entry-copy h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
}
.entry-copy p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}
.entry-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.entry-meta .tag{
  min-height:28px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fbf7f2;
  color:#5f5149;
  font-size:12px;
}
.entry-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  min-width:120px;
}
.entry-score{
  text-align:right;
}
.entry-score strong{
  display:block;
  font-size:30px;
  line-height:1;
  color:var(--brand);
}
.entry-score span{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
}
.inline-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--brand);
  font-weight:800;
  font-size:13px;
}
.inline-link svg{
  width:16px;
  height:16px;
}
.empty-state{
  padding:18px;
  border-radius:8px;
  border:1px dashed var(--line-strong);
  background:#fff;
  color:var(--muted);
  text-align:center;
}
.hot-words{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.hot-words .chip{
  background:#fffaf4;
}
.side-panel{
  display:grid;
  gap:14px;
  position:sticky;
  top:122px;
}
.side-box{
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
}
.side-box h3{
  margin:0 0 8px;
  font-size:16px;
}
.side-box p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.side-note{
  margin-top:12px;
  padding:12px;
  border-radius:8px;
  background:#fff7f0;
  border:1px solid #f0dfcf;
}
.side-note strong{
  display:block;
  font-size:13px;
  margin-bottom:4px;
}
.side-note span{
  display:block;
  font-size:12px;
  color:var(--muted);
}
.matrix-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.matrix-tile{
  min-height:82px;
  padding:12px;
  border-radius:8px;
  background:#fffdf8;
  border:1px solid var(--line);
}
.matrix-tile strong{
  display:block;
  font-size:15px;
}
.matrix-tile span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
}
.matrix-tile .pill{
  margin-top:8px;
}
.compare-band{
  background:linear-gradient(180deg, #faf4ee, #f8f0e7);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.compare-shell{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.compare-grid{
  min-width:840px;
  display:grid;
  grid-template-columns:180px repeat(4, minmax(150px, 1fr));
}
.compare-grid > div{
  padding:14px 12px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:13px;
}
.compare-grid > div:last-child{border-right:0}
.compare-head{
  background:linear-gradient(180deg, #fff7f1, #fff);
  font-weight:800;
  color:var(--text);
}
.compare-row-label{
  background:#fffaf5;
  color:#7a6558;
  font-weight:800;
}
.compare-cell strong{
  display:block;
  font-size:15px;
  margin-bottom:6px;
}
.compare-cell span{
  display:block;
  color:var(--muted);
}
.compare-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
}
.requirements-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.req-card{
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
}
.req-card h3{
  margin:0 0 10px;
  font-size:17px;
}
.check-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.check-list li{
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:var(--muted);
  font-size:13px;
}
.check-icon{
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(31,122,79,.12);
  color:var(--success);
  display:grid;
  place-items:center;
  flex:0 0 auto;
  margin-top:1px;
}
.check-icon svg{width:12px;height:12px}
.review-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.review-card{
  min-height:188px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
  display:grid;
  gap:10px;
}
.review-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.review-score{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  min-height:28px;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand);
  font-weight:800;
  font-size:12px;
}
.review-card h3{
  margin:0;
  font-size:16px;
}
.review-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.review-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.review-tags .tag{
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fbf7f2;
  color:#5f5149;
  font-size:12px;
}
.faq-list{
  display:grid;
  gap:10px;
}
.faq-item{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .chev{
  width:18px;
  height:18px;
  transition:transform .18s ease;
  flex:0 0 auto;
  color:var(--brand);
}
.faq-item[open] summary{
  background:#fff8f2;
  border-bottom:1px solid var(--line);
}
.faq-item[open] summary .chev{
  transform:rotate(180deg);
}
.faq-body{
  padding:16px 18px 18px;
  color:var(--muted);
  font-size:13px;
}
.cta-band{
  background:linear-gradient(180deg, #8f1616, #6f1010);
  color:#fff;
}
.cta-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cta-copy h2{
  margin:10px 0 10px;
  font-size:30px;
  line-height:1.15;
}
.cta-copy p{
  margin:0;
  max-width:680px;
  color:rgba(255,255,255,.82);
  font-size:14px;
}
.cta-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cta-actions .btn{
  min-width:132px;
}
.site-footer{
  background:#4f0d0d;
  color:#f8ede4;
  padding:28px 0 18px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:18px;
}
.footer-brand strong{
  display:block;
  font-size:18px;
  margin-bottom:10px;
}
.footer-brand p{
  margin:0;
  color:rgba(248,237,228,.76);
  font-size:13px;
  max-width:360px;
}
.footer-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.footer-list a,
.footer-list li{
  color:rgba(248,237,228,.84);
  font-size:13px;
}
.footer-list a:hover{color:#fff}
.footer-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(248,237,228,.7);
  font-size:12px;
}
.back-top{
  position:fixed;
  right:16px;
  bottom:16px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:8px;
  border:1px solid rgba(184,31,31,.18);
  background:#fff;
  color:var(--brand);
  box-shadow:var(--shadow);
  z-index:900;
  transition:transform .18s ease, border-color .18s ease, background-color .18s ease;
}
.back-top:hover{
  transform:translateY(-2px);
  border-color:var(--brand-2);
  background:var(--surface);
}
.back-top svg{width:18px;height:18px}
.hidden{display:none !important}
@media (max-width: 1024px){
  .hero-wrap,
  .content-grid{
    grid-template-columns:1fr;
  }
  .side-panel{
    position:static;
  }
  .trust-grid,
  .review-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .requirements-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 768px){
  .header-top{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .header-bits{
    justify-content:flex-start;
  }
  .mobile-only{display:inline-grid}
  .search-panel,
  .nav-panel{
    display:none;
  }
  .search-panel.is-open,
  .nav-panel.is-open{
    display:block;
  }
  .search-box{
    max-width:none;
    width:100%;
  }
  .nav-panel .container,
  .search-panel .container{
    padding-top:0;
  }
  .hero-copy h1{
    font-size:34px;
  }
  .section-head h2{
    font-size:24px;
  }
  .snap-track{
    grid-auto-flow:column;
    grid-auto-columns:minmax(220px, 82%);
    overflow-x:auto;
    padding-bottom:4px;
    scroll-snap-type:x mandatory;
  }
  .snap-card{
    scroll-snap-align:start;
  }
  .toolbar{
    flex-direction:column;
    align-items:flex-start;
  }
  .toolbar-controls{
    width:100%;
    justify-content:space-between;
  }
  .entry-item{
    grid-template-columns:1fr;
  }
  .entry-side{
    align-items:flex-start;
    min-width:0;
    flex-direction:row;
    justify-content:space-between;
  }
  .compare-grid{
    min-width:760px;
  }
  .review-grid,
  .trust-grid,
  .requirements-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }
  .cta-wrap{
    flex-direction:column;
    align-items:flex-start;
  }
  .cta-actions{
    justify-content:flex-start;
  }
}
@media (max-width: 520px){
  .container{
    width:min(var(--container), calc(100% - 22px));
  }
  .brand{
    font-size:16px;
  }
  .hero-copy h1{
    font-size:30px;
  }
  .hero-copy p,
  .cta-copy p{
    font-size:14px;
  }
  .section-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .hero-actions .btn,
  .cta-actions .btn{
    width:100%;
  }
  .toolbar-controls{
    flex-direction:column;
    align-items:stretch;
  }
  .sort-box{
    width:100%;
    justify-content:space-between;
  }
  .compare-shell{
    border-radius:8px;
  }
}
