/* roulang page: index */
:root{
      --bg:#100d0e;
      --bg-2:#171214;
      --bg-3:#21191c;
      --paper:#f4eee7;
      --paper-2:#ebe1d6;
      --text:#f7f0e9;
      --text-dark:#21191a;
      --muted:#b9aba4;
      --muted-dark:#6b5d57;
      --line:rgba(255,255,255,.12);
      --line-dark:rgba(34,25,26,.12);
      --brand:#9f3548;
      --brand-2:#c66a43;
      --brand-3:#e0aa69;
      --rose-soft:rgba(159,53,72,.16);
      --amber-soft:rgba(224,170,105,.13);
      --card:rgba(255,255,255,.055);
      --card-strong:rgba(255,255,255,.09);
      --shadow:0 22px 70px rgba(0,0,0,.38);
      --shadow-soft:0 18px 45px rgba(50,34,28,.12);
      --radius:24px;
      --radius-sm:16px;
      --radius-lg:34px;
      --container:1220px;
      --transition:180ms ease;
      --font:"PingFang SC","Microsoft YaHei","Noto Sans SC","Helvetica Neue",Arial,sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--font);
      color:var(--text);
      background:
        radial-gradient(circle at 12% 6%, rgba(159,53,72,.24), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(198,106,67,.18), transparent 32%),
        linear-gradient(180deg,#100d0e 0%,#181214 38%,#f4eee7 38%,#f4eee7 100%);
      line-height:1.75;
      overflow-x:hidden;
      padding-bottom:0;
      text-rendering:optimizeLegibility;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.26;
      z-index:-1;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(/%23n)' opacity='.38'/%3E%3C/svg%3E");
      mix-blend-mode:soft-light;
    }
    a{color:inherit;text-decoration:none;transition:color var(--transition),background var(--transition),border-color var(--transition),transform var(--transition),opacity var(--transition)}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(224,170,105,.75);outline-offset:3px;border-radius:12px}
    .container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
    .section{padding:96px 0}
    .section-dark{background:linear-gradient(180deg,#161113,#100d0e);color:var(--text)}
    .section-light{background:var(--paper);color:var(--text-dark)}
    .section-muted{background:var(--paper-2);color:var(--text-dark)}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border:1px solid var(--line);
      border-radius:999px;
      color:#f0d9be;
      background:rgba(255,255,255,.055);
      font-size:12px;
      letter-spacing:.08em;
      font-weight:700;
    }
    .section-light .eyebrow,.section-muted .eyebrow{
      border-color:var(--line-dark);
      background:#fff8f0;
      color:#8e3142;
    }
    h1,h2,h3,h4,p{margin-top:0}
    h1{
      font-size:clamp(36px,6.2vw,70px);
      line-height:1.04;
      letter-spacing:-.05em;
      font-weight:800;
      margin-bottom:22px;
    }
    h2{
      font-size:clamp(28px,4vw,44px);
      line-height:1.12;
      letter-spacing:-.04em;
      font-weight:800;
      margin-bottom:16px;
    }
    h3{font-size:22px;line-height:1.3;font-weight:800;margin-bottom:10px}
    p{color:var(--muted);font-size:16px}
    .section-light p,.section-muted p{color:var(--muted-dark)}
    .lead{font-size:18px;line-height:1.85;max-width:820px}
    .text-balance{text-wrap:balance}
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:48px;
      padding:13px 20px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:800;
      font-size:15px;
      letter-spacing:.01em;
      white-space:nowrap;
      transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition),color var(--transition);
    }
    .btn i{transition:transform var(--transition)}
    .btn:hover i{transform:translateX(3px)}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{
      color:#fff8ef;
      background:linear-gradient(135deg,var(--brand),var(--brand-2));
      box-shadow:0 16px 36px rgba(159,53,72,.28);
    }
    .btn-primary:hover{box-shadow:0 22px 48px rgba(159,53,72,.42);filter:saturate(1.08)}
    .btn-ghost{
      color:var(--text);
      border-color:var(--line);
      background:rgba(255,255,255,.055);
    }
    .btn-ghost:hover{border-color:rgba(224,170,105,.48);background:rgba(224,170,105,.12)}
    .section-light .btn-ghost,.section-muted .btn-ghost{
      color:var(--text-dark);
      border-color:var(--line-dark);
      background:rgba(255,255,255,.55);
    }
    .btn-soft{
      color:#6e2130;
      background:#fff4e8;
      border-color:rgba(159,53,72,.18);
    }
    .btn-soft:hover{background:#ffe9d4}
    .badge,.tag{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border-radius:999px;
      font-size:12px;
      font-weight:800;
      letter-spacing:.04em;
      padding:6px 10px;
      border:1px solid var(--line);
      color:#f3d9bd;
      background:rgba(224,170,105,.09);
    }
    .tag.dark{
      color:#8d3141;
      border-color:rgba(159,53,72,.18);
      background:rgba(159,53,72,.08);
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(16,13,14,.72);
      backdrop-filter:blur(18px);
      border-bottom:1px solid var(--line);
      transition:background var(--transition),box-shadow var(--transition);
    }
    .site-header.scrolled{background:rgba(16,13,14,.94);box-shadow:0 14px 40px rgba(0,0,0,.28)}
    .nav-wrap{
      height:74px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      font-weight:900;
      letter-spacing:-.03em;
    }
    .brand-mark{
      width:38px;
      height:38px;
      border-radius:14px;
      display:grid;
      place-items:center;
      color:#fff3e8;
      background:
        radial-gradient(circle at 70% 22%,rgba(255,255,255,.32),transparent 22%),
        linear-gradient(135deg,var(--brand),#3b161d);
      box-shadow:0 12px 30px rgba(159,53,72,.28);
      flex:0 0 auto;
    }
    .brand-text{
      font-size:17px;
      color:#fff7ef;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .desktop-nav{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:6px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.035);
      border-radius:999px;
    }
    .desktop-nav a{
      padding:10px 14px;
      border-radius:999px;
      color:#d9cbc4;
      font-size:14px;
      font-weight:700;
    }
    .desktop-nav a:hover,.desktop-nav a.active{
      color:#fff;
      background:rgba(255,255,255,.085);
    }
    .nav-actions{display:flex;align-items:center;gap:10px}
    .age-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid rgba(224,170,105,.28);
      background:rgba(224,170,105,.1);
      color:#f2d1aa;
      font-weight:800;
      font-size:13px;
    }

    .mobile-tabs{
      display:none;
      position:fixed;
      left:12px;
      right:12px;
      bottom:calc(10px + env(safe-area-inset-bottom));
      z-index:80;
      height:66px;
      padding:7px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:22px;
      background:rgba(18,14,15,.9);
      backdrop-filter:blur(18px);
      box-shadow:0 18px 50px rgba(0,0,0,.36);
    }
    .mobile-tabs a{
      flex:1;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:3px;
      border-radius:16px;
      color:#b9aba4;
      font-size:11px;
      font-weight:800;
    }
    .mobile-tabs i{font-size:17px}
    .mobile-tabs a.active{
      color:#fff2df;
      background:rgba(224,170,105,.12);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }

    .hero{
      min-height:calc(86vh - 74px);
      position:relative;
      display:flex;
      align-items:center;
      overflow:hidden;
      padding:72px 0 92px;
      border-bottom:1px solid var(--line);
      background:
        radial-gradient(circle at 20% 42%,rgba(159,53,72,.34),transparent 31%),
        radial-gradient(circle at 75% 20%,rgba(224,170,105,.16),transparent 34%),
        linear-gradient(135deg,#100d0e 0%,#1a1114 54%,#0f0c0d 100%);
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:auto -10% -22% -10%;
      height:330px;
      background:radial-gradient(ellipse at center,rgba(244,238,231,.12),transparent 68%);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(360px,520px);
      gap:48px;
      align-items:center;
    }
    .hero-copy{max-width:720px}
    .hero-intro{
      max-width:760px;
      margin-bottom:28px;
      color:#d2c2ba;
      font-size:18px;
      line-height:1.85;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      align-items:center;
      margin:30px 0 26px;
    }
    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:20px;
    }
    .coupon-wall{
      position:relative;
      min-height:520px;
      display:grid;
      align-items:center;
    }
    .coupon-card{
      position:relative;
      padding:28px;
      border-radius:var(--radius-lg);
      background:
        linear-gradient(135deg,rgba(255,248,239,.95),rgba(232,207,183,.92)),
        radial-gradient(circle at 80% 0,rgba(159,53,72,.22),transparent 36%);
      color:var(--text-dark);
      box-shadow:var(--shadow);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.38);
      transform:rotate(-2deg);
    }
    .coupon-card::before,.coupon-card::after{
      content:"";
      position:absolute;
      top:50%;
      width:34px;
      height:34px;
      border-radius:50%;
      background:#151011;
      transform:translateY(-50%);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
    }
    .coupon-card::before{left:-17px}
    .coupon-card::after{right:-17px}
    .coupon-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding-bottom:18px;
      border-bottom:1px dashed rgba(34,25,26,.22);
    }
    .coupon-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:#2a171b;
      color:#f6d7b4;
      font-size:12px;
      font-weight:900;
    }
    .coupon-main{
      padding:28px 0 18px;
    }
    .coupon-main strong{
      display:block;
      font-size:44px;
      line-height:1.05;
      letter-spacing:-.06em;
      margin-bottom:12px;
    }
    .coupon-main p{color:#5f504a;margin-bottom:18px}
    .coupon-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .coupon-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#4a3d38;
      font-weight:700;
      font-size:14px;
    }
    .coupon-list i{color:#9f3548;margin-top:4px}
    .mini-card{
      position:absolute;
      border-radius:22px;
      padding:16px;
      width:180px;
      background:rgba(255,255,255,.09);
      border:1px solid var(--line);
      backdrop-filter:blur(16px);
      box-shadow:0 18px 46px rgba(0,0,0,.24);
    }
    .mini-card.one{top:18px;right:8px;transform:rotate(5deg)}
    .mini-card.two{left:0;bottom:28px;transform:rotate(4deg)}
    .mini-card b{display:block;color:#fff8ef;margin-bottom:4px}
    .mini-card span{font-size:12px;color:#cdbdb5;line-height:1.55;display:block}

    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:24px;
      margin-bottom:34px;
    }
    .section-head .copy{max-width:760px}
    .rail-controls{display:flex;gap:10px;flex:0 0 auto}
    .rail-btn{
      width:44px;height:44px;border-radius:50%;
      border:1px solid var(--line-dark);
      background:#fff8ef;
      color:#7b2a38;
      display:grid;place-items:center;
      transition:transform var(--transition),background var(--transition),box-shadow var(--transition);
    }
    .rail-btn:hover{transform:translateY(-2px);background:#ffe9d4;box-shadow:var(--shadow-soft)}
    .rail-wrap{
      position:relative;
    }
    .rail-wrap::after{
      content:"";
      position:absolute;
      top:0;right:0;bottom:0;
      width:80px;
      pointer-events:none;
      background:linear-gradient(90deg,transparent,var(--paper));
    }
    .entry-rail{
      display:flex;
      gap:18px;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      padding:8px 8px 18px;
      scrollbar-width:none;
    }
    .entry-rail::-webkit-scrollbar{display:none}
    .poster-card{
      scroll-snap-align:start;
      flex:0 0 248px;
      min-height:370px;
      border-radius:28px;
      overflow:hidden;
      position:relative;
      color:#fff8ef;
      background:#1a1214;
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 18px 45px rgba(38,25,23,.18);
      transition:transform 220ms ease,border-color 220ms ease,box-shadow 220ms ease;
    }
    .poster-card:hover{transform:translateY(-4px);border-color:rgba(224,170,105,.5);box-shadow:0 28px 68px rgba(38,25,23,.28)}
    .poster-art{
      height:210px;
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 28% 24%,rgba(255,255,255,.24),transparent 18%),
        linear-gradient(135deg,var(--art-a),var(--art-b));
    }
    .poster-art::before{
      content:attr(data-no);
      position:absolute;
      left:18px;bottom:6px;
      font-size:74px;
      font-weight:900;
      letter-spacing:-.08em;
      color:rgba(255,255,255,.24);
      transition:transform 220ms ease;
    }
    .poster-card:hover .poster-art::before{transform:scale(1.06)}
    .poster-art::after{
      content:"";
      position:absolute;
      inset:18px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:22px;
      background:linear-gradient(180deg,transparent,rgba(0,0,0,.16));
    }
    .poster-body{padding:20px}
    .poster-body p{font-size:14px;color:#d8c8bf;margin-bottom:18px}
    .poster-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#f1c896;
      font-weight:900;
      font-size:14px;
    }
    .poster-link i{transition:transform var(--transition)}
    .poster-card:hover .poster-link i{transform:translateX(4px)}

    .stage{
      border-radius:34px;
      padding:26px;
      background:
        radial-gradient(circle at 14% 10%,rgba(159,53,72,.24),transparent 30%),
        linear-gradient(135deg,#181214,#25191c);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
    }
    .stage-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
      align-items:stretch;
    }
    .screen-card{
      border-radius:26px;
      overflow:hidden;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.1);
      min-height:360px;
      position:relative;
    }
    .screen-top{
      height:48px;
      display:flex;
      align-items:center;
      gap:8px;
      padding:0 18px;
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .dot{width:9px;height:9px;border-radius:50%;background:#7a4048}
    .dot:nth-child(2){background:#b2694f}.dot:nth-child(3){background:#d6a76d}
    .screen-panel{
      padding:24px;
      display:grid;
      gap:14px;
    }
    .filter-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:10px;
    }
    .filter-chip{
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.1);
      color:#ead8cf;
      font-size:13px;
      font-weight:800;
    }
    .abstract-row{
      display:grid;
      grid-template-columns:80px 1fr auto;
      gap:14px;
      align-items:center;
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.08);
    }
    .thumb{
      height:58px;
      border-radius:14px;
      background:linear-gradient(135deg,#883042,#d18a56);
      position:relative;
      overflow:hidden;
    }
    .thumb::after{
      content:"";
      position:absolute;inset:10px;
      border-radius:10px;
      border:1px solid rgba(255,255,255,.24);
    }
    .abstract-row b{display:block;color:#fff;margin-bottom:2px}
    .abstract-row span{font-size:12px;color:#c7b7ae}
    .side-stack{display:grid;gap:18px}
    .notice-card{
      padding:22px;
      border-radius:26px;
      background:rgba(255,255,255,.065);
      border:1px solid rgba(255,255,255,.1);
    }
    .notice-card i{color:#e0aa69;font-size:22px;margin-bottom:14px}
    .notice-card p{font-size:14px;margin-bottom:0}

    .steps-grid{
      display:grid;
      grid-template-columns:1fr 1.05fr 1fr;
      gap:18px;
    }
    .step-card{
      position:relative;
      min-height:250px;
      padding:26px;
      border-radius:28px;
      background:#fff8ef;
      border:1px solid var(--line-dark);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
      transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
    }
    .step-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(50,34,28,.18);border-color:rgba(159,53,72,.28)}
    .step-no{
      position:absolute;
      right:20px;top:10px;
      font-size:72px;
      font-weight:900;
      color:rgba(159,53,72,.1);
      letter-spacing:-.08em;
      line-height:1;
    }
    .step-icon{
      width:48px;height:48px;border-radius:18px;
      display:grid;place-items:center;
      color:#fff8ef;
      background:linear-gradient(135deg,var(--brand),var(--brand-2));
      margin-bottom:22px;
    }

    .attention-layout{
      display:grid;
      grid-template-columns:1.05fr 1.35fr;
      gap:20px;
    }
    .feature-large,.feature-small{
      border-radius:30px;
      border:1px solid rgba(255,255,255,.1);
      background:var(--card);
      overflow:hidden;
      transition:transform var(--transition),border-color var(--transition),background var(--transition);
    }
    .feature-large:hover,.feature-small:hover{transform:translateY(-4px);border-color:rgba(224,170,105,.42);background:var(--card-strong)}
    .feature-large{
      padding:32px;
      min-height:100%;
      background:
        radial-gradient(circle at 80% 0,rgba(159,53,72,.28),transparent 30%),
        rgba(255,255,255,.055);
    }
    .feature-large .metric{
      display:flex;
      gap:18px;
      flex-wrap:wrap;
      margin-top:32px;
    }
    .metric-item{
      flex:1;
      min-width:120px;
      padding:18px;
      border-radius:22px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.09);
    }
    .metric-item b{display:block;font-size:28px;line-height:1;color:#fff8ef;margin-bottom:6px}
    .metric-item span{font-size:12px;color:#cbbab1}
    .feature-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:20px;
    }
    .feature-small{padding:24px}
    .feature-small .state{
      display:inline-flex;
      align-items:center;
      gap:6px;
      margin-bottom:16px;
      color:#f2c68e;
      font-size:12px;
      font-weight:900;
    }
    .feature-small p{font-size:14px;margin-bottom:0}

    .tabs-shell{
      border-radius:34px;
      background:#fff8ef;
      border:1px solid var(--line-dark);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .custom-tabs{
      display:flex;
      gap:0;
      overflow:auto;
      border-bottom:1px solid var(--line-dark);
      scrollbar-width:none;
    }
    .custom-tabs::-webkit-scrollbar{display:none}
    .custom-tabs button{
      appearance:none;
      border:0;
      background:transparent;
      padding:18px 22px;
      color:#6a5a54;
      font-weight:900;
      white-space:nowrap;
      border-bottom:2px solid transparent;
      transition:background var(--transition),color var(--transition),border-color var(--transition);
    }
    .custom-tabs button:hover{background:#fff0df;color:#8d3141}
    .custom-tabs button.active{color:#8d3141;border-color:#9f3548;background:#fff4e8}
    .tab-panel{display:none;padding:30px}
    .tab-panel.active{display:block}
    .tab-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }
    .mini-info{
      padding:22px;
      border-radius:22px;
      background:#f7eee5;
      border:1px solid rgba(34,25,26,.1);
    }
    .mini-info b{display:block;margin-bottom:8px;color:#22191a}
    .mini-info p{font-size:14px;margin-bottom:0}

    .security-band{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:22px;
      align-items:stretch;
      padding:34px;
      border-radius:34px;
      background:
        radial-gradient(circle at 0 0,rgba(224,170,105,.18),transparent 28%),
        linear-gradient(135deg,#181214,#100d0e);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
    }
    .security-badges{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .security-item{
      padding:20px;
      border-radius:22px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.09);
    }
    .security-item i{color:#e0aa69;font-size:22px;margin-bottom:12px}
    .security-item b{display:block;margin-bottom:6px}
    .security-item span{display:block;color:#c7b7ae;font-size:13px;line-height:1.65}

    .reviews{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:20px;
      align-items:start;
    }
    .quote-main{
      padding:34px;
      border-radius:34px;
      background:#20171a;
      color:var(--text);
      border:1px solid rgba(255,255,255,.1);
      box-shadow:var(--shadow-soft);
    }
    .quote-mark{font-size:42px;color:#e0aa69;line-height:1;margin-bottom:12px}
    .quote-main p{font-size:19px;color:#eadbd2}
    .quote-list{display:grid;gap:16px}
    .quote-card{
      padding:22px;
      border-radius:24px;
      background:#fff8ef;
      border:1px solid var(--line-dark);
      box-shadow:0 12px 32px rgba(50,34,28,.08);
    }
    .quote-card p{font-size:14px;margin-bottom:10px}
    .quote-card b{font-size:13px;color:#8d3141}

    .news-layout{
      display:grid;
      grid-template-columns:1.4fr .75fr;
      gap:22px;
    }
    .news-list{
      border-radius:30px;
      overflow:hidden;
      background:#fff8ef;
      border:1px solid var(--line-dark);
      box-shadow:var(--shadow-soft);
    }
    .news-item{
      display:grid;
      grid-template-columns:140px 1fr auto;
      gap:18px;
      align-items:center;
      padding:22px;
      border-bottom:1px solid rgba(34,25,26,.09);
    }
    .news-item:last-child{border-bottom:0}
    .news-date{
      display:flex;
      flex-direction:column;
      gap:4px;
      color:#8d3141;
      font-weight:900;
      font-size:13px;
    }
    .news-item a{
      color:#21191a;
      font-size:18px;
      font-weight:900;
    }
    .news-item a:hover{color:#9f3548}
    .news-item p{font-size:14px;margin:6px 0 0}
    .news-arrow{color:#9f3548}
    .recommend-box{
      border-radius:30px;
      padding:26px;
      background:#21191a;
      color:var(--text);
      border:1px solid rgba(255,255,255,.1);
      position:sticky;
      top:94px;
    }
    .recommend-box p{font-size:14px}
    .recommend-links{
      display:grid;
      gap:12px;
      margin-top:20px;
    }
    .recommend-links a{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:14px;
      border-radius:16px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      color:#eadbd2;
      font-weight:800;
      font-size:14px;
    }
    .recommend-links a:hover{background:rgba(224,170,105,.12);border-color:rgba(224,170,105,.26)}

    .compare-table{
      overflow:hidden;
      border-radius:30px;
      border:1px solid var(--line-dark);
      background:#fff8ef;
      box-shadow:var(--shadow-soft);
    }
    .compare-row{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      border-bottom:1px solid rgba(34,25,26,.09);
    }
    .compare-row:last-child{border-bottom:0}
    .compare-cell{
      padding:20px;
      border-right:1px solid rgba(34,25,26,.09);
      min-height:74px;
    }
    .compare-cell:last-child{border-right:0}
    .compare-head{background:#20171a;color:#fff8ef;font-weight:900}
    .compare-cell b{display:block;color:#8d3141;margin-bottom:4px}
    .compare-head b{color:#f2d1aa}
    .compare-cell span{color:#6b5d57;font-size:14px}
    .compare-head span{color:#d8c8bf}

    .faq-wrap{
      max-width:920px;
      margin:0 auto;
      display:grid;
      gap:12px;
    }
    .faq-item{
      border-radius:22px;
      overflow:hidden;
      background:#fff8ef;
      border:1px solid var(--line-dark);
      box-shadow:0 12px 32px rgba(50,34,28,.08);
    }
    .faq-question{
      width:100%;
      border:0;
      background:transparent;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:22px 24px;
      text-align:left;
      color:#21191a;
      font-weight:900;
      font-size:17px;
    }
    .faq-question i{color:#9f3548;transition:transform var(--transition)}
    .faq-item.active .faq-question i{transform:rotate(180deg)}
    .faq-answer{
      display:none;
      padding:0 24px 24px;
    }
    .faq-answer p{margin:0;font-size:15px}
    .faq-item.active .faq-answer{display:block;background:linear-gradient(180deg,transparent,#fff3e5)}

    .download-cta{
      position:relative;
      overflow:hidden;
      border-radius:38px;
      padding:44px;
      background:
        radial-gradient(circle at 18% 20%,rgba(224,170,105,.28),transparent 26%),
        radial-gradient(circle at 84% 22%,rgba(159,53,72,.34),transparent 30%),
        linear-gradient(135deg,#211519,#100d0e);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:28px;
      align-items:center;
    }
    .download-cta::after{
      content:"";
      position:absolute;
      width:260px;height:260px;
      right:-70px;bottom:-90px;
      border-radius:50%;
      background:rgba(224,170,105,.13);
      filter:blur(2px);
    }
    .download-cta > *{position:relative;z-index:2}
    .cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
    .download-code{
      justify-self:end;
      width:170px;
      padding:14px;
      border-radius:28px;
      background:#fff8ef;
      color:#21191a;
      text-align:center;
      box-shadow:0 18px 48px rgba(0,0,0,.24);
    }
    .code-grid{
      height:118px;
      border-radius:18px;
      background:
        linear-gradient(90deg,#21191a 10px,transparent 10px) 0 0/24px 24px,
        linear-gradient(#21191a 10px,transparent 10px) 0 0/24px 24px,
        #fff8ef;
      opacity:.9;
      margin-bottom:10px;
    }
    .download-code b{font-size:13px;color:#8d3141}

    .site-footer{
      padding:62px 0 34px;
      background:#100d0e;
      color:var(--text);
      border-top:1px solid var(--line);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:36px;
      margin-bottom:36px;
    }
    .footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-weight:900}
    .footer-col h3{font-size:15px;margin-bottom:14px;color:#fff8ef}
    .footer-links{display:grid;gap:10px}
    .footer-links a{color:#b9aba4;font-size:14px}
    .footer-links a:hover{color:#f2d1aa}
    .footer-note{
      padding:18px;
      border-radius:22px;
      border:1px solid rgba(224,170,105,.18);
      background:rgba(224,170,105,.075);
      color:#dcc8bd;
      font-size:13px;
    }
    .copyright{
      display:flex;
      justify-content:space-between;
      gap:16px;
      padding-top:24px;
      border-top:1px solid var(--line);
      color:#9f918a;
      font-size:13px;
      flex-wrap:wrap;
    }

    @media (prefers-reduced-motion:no-preference){
      .fade-up{opacity:0;transform:translateY(12px);animation:fadeUp .62s ease forwards}
      .fade-up:nth-child(2){animation-delay:.08s}
      .fade-up:nth-child(3){animation-delay:.16s}
      @keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
    }

    @media screen and (max-width:1024px){
      .hero-grid,.stage-grid,.attention-layout,.security-band,.reviews,.news-layout,.download-cta{
        grid-template-columns:1fr;
      }
      .coupon-wall{min-height:auto}
      .mini-card{display:none}
      .steps-grid{grid-template-columns:1fr}
      .feature-grid,.tab-grid,.security-badges{grid-template-columns:repeat(2,1fr)}
      .download-code{justify-self:start}
      .cta-actions{justify-content:flex-start}
      .footer-grid{grid-template-columns:1fr 1fr}
    }

    @media screen and (max-width:768px){
      body{padding-bottom:88px}
      .container{width:min(calc(100% - 28px),var(--container))}
      .section{padding:64px 0}
      .desktop-nav,.nav-actions{display:none}
      .nav-wrap{height:64px}
      .brand-text{font-size:15px;max-width:245px}
      .mobile-tabs{display:flex}
      .hero{min-height:auto;padding:48px 0 64px}
      .hero-actions{align-items:stretch}
      .hero-actions .btn{width:100%}
      .coupon-card{transform:none;padding:22px}
      .coupon-main strong{font-size:34px}
      .section-head{display:block}
      .rail-controls{margin-top:18px}
      .stage{padding:16px;border-radius:26px}
      .screen-card{min-height:auto}
      .abstract-row{grid-template-columns:64px 1fr}
      .abstract-row .tag{grid-column:2}
      .feature-grid,.tab-grid,.security-badges{grid-template-columns:1fr}
      .security-band{padding:24px}
      .news-item{grid-template-columns:1fr;gap:8px}
      .recommend-box{position:relative;top:auto}
      .compare-row{grid-template-columns:1fr}
      .compare-cell{border-right:0;border-bottom:1px solid rgba(34,25,26,.09)}
      .compare-cell:last-child{border-bottom:0}
      .download-cta{padding:28px;border-radius:28px}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:block}
      .poster-card{flex-basis:78vw}
    }

    @media screen and (max-width:520px){
      h1{font-size:36px}
      h2{font-size:28px}
      .lead,.hero-intro{font-size:16px}
      .hero-points{gap:8px}
      .badge,.tag{font-size:11px}
      .entry-rail{gap:14px;padding-left:2px}
      .step-card,.feature-large,.feature-small,.quote-main,.quote-card{border-radius:22px;padding:22px}
      .custom-tabs button{padding:15px 16px}
      .tab-panel{padding:20px}
      .faq-question{font-size:15px;padding:19px 18px}
      .faq-answer{padding:0 18px 20px}
    }

/* roulang page: category2 */
:root {
      --bg: #100f10;
      --bg-deep: #080707;
      --bg-soft: #181516;
      --surface: #211d1e;
      --surface-2: #2a2426;
      --paper: #f3eee8;
      --paper-soft: #ebe3da;
      --text: #f8f1ea;
      --text-dark: #201a1b;
      --muted: #b8aaa4;
      --muted-dark: #6f6460;
      --line: rgba(255,255,255,.12);
      --line-dark: rgba(32,26,27,.12);
      --accent: #b65b4f;
      --accent-2: #e0a15f;
      --accent-3: #8f5fa8;
      --danger: #ffcf91;
      --success: #96d6b5;
      --radius-xs: 10px;
      --radius-sm: 14px;
      --radius-md: 20px;
      --radius-lg: 28px;
      --radius-xl: 36px;
      --shadow: 0 24px 80px rgba(0,0,0,.36);
      --shadow-soft: 0 18px 44px rgba(37,26,22,.12);
      --container: 1200px;
      --ease: 180ms ease;
      --font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      background: var(--bg-deep);
    }

    body {
      margin: 0;
      min-height: 100vh;
      font-family: var(--font);
      color: var(--text);
      line-height: 1.75;
      background:
        radial-gradient(circle at 12% 4%, rgba(182,91,79,.22), transparent 34%),
        radial-gradient(circle at 86% 0%, rgba(224,161,95,.12), transparent 32%),
        linear-gradient(180deg, #0b0a0a 0%, #151111 38%, #f3eee8 38%, #f3eee8 100%);
      overflow-x: hidden;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color var(--ease), background var(--ease), border-color var(--ease), transform var(--ease), opacity var(--ease);
    }

    img {
      max-width: 100%;
      display: block;
    }

    button,
    input {
      font: inherit;
    }

    button {
      cursor: pointer;
      border: 0;
    }

    ::selection {
      background: rgba(224,161,95,.35);
      color: #fff;
    }

    .container {
      width: min(var(--container), calc(100% - 40px));
      margin-inline: auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: rgba(12,10,10,.82);
      border-bottom: 1px solid rgba(255,255,255,.08);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .nav-wrap {
      min-height: 74px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand,
    .footer-brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-weight: 800;
      letter-spacing: -.02em;
      color: var(--text);
      white-space: nowrap;
    }

    .brand:hover {
      color: #fff;
      transform: translateY(-1px);
    }

    .brand-mark {
      width: 38px;
      height: 38px;
      border-radius: 14px;
      display: inline-grid;
      place-items: center;
      color: #201211;
      background: linear-gradient(135deg, var(--accent-2), #e8c28a 48%, var(--accent));
      box-shadow: 0 10px 28px rgba(182,91,79,.28);
      flex: 0 0 auto;
    }

    .brand-text {
      font-size: 17px;
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 6px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 999px;
      background: rgba(255,255,255,.04);
    }

    .desktop-nav a {
      position: relative;
      padding: 10px 16px;
      border-radius: 999px;
      color: rgba(248,241,234,.72);
      font-size: 14px;
      font-weight: 700;
    }

    .desktop-nav a:hover {
      color: #fff;
      background: rgba(255,255,255,.07);
    }

    .desktop-nav a.active {
      color: #261817;
      background: linear-gradient(135deg, #e9bd83, #c96b5b);
      box-shadow: inset 0 1px rgba(255,255,255,.35);
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .age-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
      border-radius: 999px;
      color: #fbe3bf;
      background: rgba(224,161,95,.11);
      border: 1px solid rgba(224,161,95,.28);
      font-size: 13px;
      font-weight: 800;
      white-space: nowrap;
    }

    .mobile-tabs {
      display: none;
    }

    .inner-hero {
      position: relative;
      min-height: 430px;
      padding: 78px 0 64px;
      overflow: hidden;
      background:
        linear-gradient(130deg, rgba(8,7,7,.8), rgba(27,19,19,.72)),
        radial-gradient(circle at 76% 28%, rgba(182,91,79,.34), transparent 34%),
        radial-gradient(circle at 40% 90%, rgba(143,95,168,.16), transparent 28%);
    }

    .inner-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size: 48px 48px;
      mask-image: linear-gradient(180deg, rgba(0,0,0,.75), transparent 92%);
      pointer-events: none;
    }

    .inner-hero::after {
      content: "";
      position: absolute;
      right: -80px;
      top: 70px;
      width: 420px;
      height: 420px;
      border-radius: 48px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.02)),
        radial-gradient(circle at 35% 26%, rgba(224,161,95,.32), transparent 34%),
        radial-gradient(circle at 66% 70%, rgba(182,91,79,.34), transparent 42%);
      transform: rotate(14deg);
      filter: blur(.1px);
      opacity: .58;
      pointer-events: none;
    }

    .hero-shell {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr);
      gap: 44px;
      align-items: end;
    }

    .breadcrumb {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      color: rgba(248,241,234,.62);
      font-size: 13px;
      margin-bottom: 22px;
    }

    .breadcrumb a:hover {
      color: #fff;
    }

    .breadcrumb i {
      font-size: 11px;
      opacity: .55;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      border-radius: 999px;
      color: #ffe3bc;
      border: 1px solid rgba(224,161,95,.28);
      background: rgba(224,161,95,.1);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      margin-bottom: 18px;
    }

    h1,
    h2,
    h3,
    p {
      margin-top: 0;
    }

    h1 {
      max-width: 820px;
      font-size: clamp(36px, 6vw, 66px);
      line-height: 1.06;
      letter-spacing: -.055em;
      font-weight: 850;
      margin-bottom: 22px;
    }

    .hero-lead {
      max-width: 760px;
      color: rgba(248,241,234,.74);
      font-size: 17px;
      line-height: 1.9;
      margin-bottom: 28px;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: center;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 12px 19px;
      border-radius: 999px;
      font-weight: 850;
      font-size: 14px;
      border: 1px solid transparent;
      transition: transform var(--ease), box-shadow var(--ease), background var(--ease), border-color var(--ease), color var(--ease);
    }

    .btn-primary {
      color: #231514;
      background: linear-gradient(135deg, #eabf85, #c96557 70%);
      box-shadow: 0 18px 42px rgba(182,91,79,.28);
    }

    .btn-primary:hover,
    .btn-primary:focus {
      color: #160d0c;
      transform: translateY(-2px);
      box-shadow: 0 22px 56px rgba(182,91,79,.42);
    }

    .btn-secondary {
      color: rgba(248,241,234,.86);
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.14);
    }

    .btn-secondary:hover,
    .btn-secondary:focus {
      color: #fff;
      background: rgba(255,255,255,.1);
      border-color: rgba(224,161,95,.42);
      transform: translateY(-2px);
    }

    .btn-dark {
      color: var(--text);
      background: #171313;
      border-color: rgba(255,255,255,.08);
    }

    .btn-dark:hover,
    .btn-dark:focus {
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 14px 34px rgba(0,0,0,.22);
    }

    .btn i {
      transition: transform var(--ease);
    }

    .btn:hover i {
      transform: translateX(3px);
    }

    a:focus-visible,
    button:focus-visible,
    .filter-chip:focus-visible {
      outline: 3px solid rgba(224,161,95,.42);
      outline-offset: 3px;
    }

    .hero-panel {
      position: relative;
      padding: 22px;
      border-radius: var(--radius-xl);
      border: 1px solid rgba(255,255,255,.14);
      background:
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05)),
        rgba(20,16,16,.78);
      box-shadow: var(--shadow);
      backdrop-filter: blur(16px);
    }

    .panel-top {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      align-items: center;
      margin-bottom: 18px;
    }

    .panel-title {
      font-weight: 900;
      font-size: 18px;
    }

    .status-dot {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--success);
      font-size: 12px;
      font-weight: 900;
    }

    .status-dot::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--success);
      box-shadow: 0 0 0 5px rgba(150,214,181,.12);
    }

    .quick-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }

    .quick-card {
      min-height: 118px;
      padding: 16px;
      border-radius: 20px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      transition: transform var(--ease), border-color var(--ease), background var(--ease);
    }

    .quick-card:hover {
      transform: translateY(-3px);
      border-color: rgba(224,161,95,.35);
      background: rgba(255,255,255,.085);
    }

    .quick-card i {
      color: #e7b679;
      font-size: 18px;
      margin-bottom: 12px;
    }

    .quick-card strong {
      display: block;
      line-height: 1.35;
      margin-bottom: 6px;
    }

    .quick-card span {
      display: block;
      color: rgba(248,241,234,.62);
      font-size: 12px;
      line-height: 1.55;
    }

    .hero-nav-rail {
      position: relative;
      z-index: 2;
      margin-top: 34px;
      padding: 14px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.11);
      background: rgba(255,255,255,.055);
      overflow-x: auto;
      display: flex;
      gap: 10px;
      scrollbar-width: none;
    }

    .hero-nav-rail::-webkit-scrollbar {
      display: none;
    }

    .filter-chip {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
      border-radius: 999px;
      color: rgba(248,241,234,.78);
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.09);
      font-size: 13px;
      font-weight: 800;
      transition: transform var(--ease), border-color var(--ease), background var(--ease), color var(--ease);
    }

    .filter-chip:hover,
    .filter-chip.active {
      color: #241615;
      background: linear-gradient(135deg, #ebbf86, #c96b5c);
      border-color: transparent;
      transform: translateY(-1px);
    }

    main {
      background: var(--paper);
      color: var(--text-dark);
    }

    .section {
      padding: 92px 0;
    }

    .section-dark {
      background:
        radial-gradient(circle at 20% 0%, rgba(182,91,79,.18), transparent 32%),
        linear-gradient(180deg, #141112, #0d0b0b);
      color: var(--text);
    }

    .section-head {
      max-width: 820px;
      margin-bottom: 34px;
    }

    .section-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
      color: var(--accent);
      font-size: 12px;
      font-weight: 950;
      letter-spacing: .1em;
    }

    .section-dark .section-kicker {
      color: #e9bd83;
    }

    h2 {
      font-size: clamp(28px, 4vw, 44px);
      line-height: 1.16;
      letter-spacing: -.04em;
      font-weight: 850;
      margin-bottom: 14px;
    }

    .section-desc {
      color: var(--muted-dark);
      font-size: 16px;
      line-height: 1.9;
      max-width: 780px;
      margin-bottom: 0;
    }

    .section-dark .section-desc {
      color: rgba(248,241,234,.66);
    }

    .bento-grid {
      display: grid;
      grid-template-columns: 1.18fr .82fr .82fr;
      grid-auto-rows: minmax(190px, auto);
      gap: 18px;
    }

    .bento-card {
      position: relative;
      overflow: hidden;
      border-radius: var(--radius-lg);
      padding: 26px;
      background: #fffaf4;
      border: 1px solid var(--line-dark);
      box-shadow: var(--shadow-soft);
      transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease);
    }

    .bento-card::after {
      content: "";
      position: absolute;
      right: -70px;
      bottom: -80px;
      width: 190px;
      height: 190px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(182,91,79,.2), transparent 68%);
      pointer-events: none;
      transition: transform var(--ease), opacity var(--ease);
    }

    .bento-card:hover {
      transform: translateY(-5px);
      border-color: rgba(182,91,79,.24);
      box-shadow: 0 26px 62px rgba(37,26,22,.16);
    }

    .bento-card:hover::after {
      transform: scale(1.08);
      opacity: .9;
    }

    .bento-card.large {
      grid-row: span 2;
      background:
        linear-gradient(135deg, #271f20, #151112),
        radial-gradient(circle at 20% 10%, rgba(224,161,95,.24), transparent 36%);
      color: var(--text);
      border-color: rgba(255,255,255,.1);
      box-shadow: 0 24px 64px rgba(0,0,0,.26);
    }

    .bento-card.wide {
      grid-column: span 2;
    }

    .card-icon {
      width: 48px;
      height: 48px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      margin-bottom: 18px;
      color: #251413;
      background: linear-gradient(135deg, #efc58d, #c76758);
      box-shadow: 0 16px 28px rgba(182,91,79,.18);
    }

    .bento-card h3 {
      font-size: 22px;
      line-height: 1.32;
      letter-spacing: -.02em;
      font-weight: 850;
      margin-bottom: 10px;
    }

    .bento-card p {
      color: var(--muted-dark);
      margin-bottom: 18px;
    }

    .bento-card.large p,
    .bento-card.large .mini-list li {
      color: rgba(248,241,234,.68);
    }

    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: auto;
    }

    .tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 850;
      color: #684138;
      background: rgba(182,91,79,.1);
      border: 1px solid rgba(182,91,79,.16);
    }

    .bento-card.large .tag {
      color: #ffe0b5;
      background: rgba(224,161,95,.11);
      border-color: rgba(224,161,95,.22);
    }

    .mini-list {
      list-style: none;
      padding: 0;
      margin: 20px 0 0;
      display: grid;
      gap: 12px;
    }

    .mini-list li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: var(--muted-dark);
      font-size: 14px;
    }

    .mini-list i {
      color: var(--accent-2);
      margin-top: 5px;
      flex: 0 0 auto;
    }

    .comparison-wrap {
      overflow: hidden;
      border-radius: var(--radius-xl);
      border: 1px solid rgba(32,26,27,.12);
      background: #fffaf4;
      box-shadow: var(--shadow-soft);
    }

    .comparison-scroll {
      overflow-x: auto;
      scrollbar-color: rgba(182,91,79,.4) transparent;
    }

    .compare-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      margin: 0;
    }

    .compare-table th,
    .compare-table td {
      padding: 20px 22px;
      text-align: left;
      border-bottom: 1px solid rgba(32,26,27,.09);
      vertical-align: top;
    }

    .compare-table th {
      color: #fff6ea;
      background: #1b1617;
      font-size: 13px;
      letter-spacing: .06em;
      font-weight: 900;
    }

    .compare-table tr:last-child td {
      border-bottom: 0;
    }

    .compare-table td:first-child {
      font-weight: 900;
      color: #2d2020;
      width: 22%;
    }

    .level {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }

    .level.good {
      color: #24513c;
      background: rgba(106,180,133,.15);
    }

    .level.warn {
      color: #73512a;
      background: rgba(224,161,95,.18);
    }

    .level.bad {
      color: #7a302c;
      background: rgba(182,91,79,.16);
    }

    .steps {
      display: grid;
      gap: 18px;
      counter-reset: step;
      margin-top: 26px;
    }

    .step-card {
      counter-increment: step;
      position: relative;
      display: grid;
      grid-template-columns: 86px minmax(0, 1fr);
      gap: 20px;
      padding: 24px;
      border-radius: var(--radius-lg);
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.1);
      transition: transform var(--ease), border-color var(--ease), background var(--ease);
    }

    .step-card:hover {
      transform: translateX(4px);
      background: rgba(255,255,255,.075);
      border-color: rgba(224,161,95,.24);
    }

    .step-num {
      width: 66px;
      height: 66px;
      border-radius: 24px;
      display: grid;
      place-items: center;
      color: #261514;
      font-size: 22px;
      font-weight: 950;
      background: linear-gradient(135deg, #e9bd83, #c96b5c);
    }

    .step-num::before {
      content: counter(step, decimal-leading-zero);
    }

    .step-card h3 {
      color: #fff;
      font-size: 22px;
      font-weight: 850;
      margin-bottom: 6px;
    }

    .step-card p {
      color: rgba(248,241,234,.66);
      margin: 0;
    }

    .notice-band {
      display: grid;
      grid-template-columns: .85fr 1.15fr;
      gap: 20px;
      align-items: stretch;
      border-radius: var(--radius-xl);
      overflow: hidden;
      background: #181313;
      color: var(--text);
      border: 1px solid rgba(255,255,255,.1);
      box-shadow: var(--shadow);
    }

    .notice-left {
      padding: 34px;
      background:
        radial-gradient(circle at 70% 10%, rgba(224,161,95,.24), transparent 34%),
        linear-gradient(135deg, rgba(182,91,79,.28), rgba(255,255,255,.03));
      min-height: 260px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .notice-left .big-age {
      width: 94px;
      height: 94px;
      border-radius: 30px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, #e9bd83, #c96b5c);
      color: #231514;
      font-size: 30px;
      font-weight: 950;
      box-shadow: 0 20px 42px rgba(182,91,79,.28);
    }

    .notice-left h2 {
      margin: 24px 0 0;
    }

    .notice-right {
      padding: 34px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .notice-item {
      padding: 18px;
      border-radius: 22px;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.08);
    }

    .notice-item i {
      color: #e9bd83;
      margin-bottom: 12px;
      font-size: 20px;
    }

    .notice-item strong {
      display: block;
      margin-bottom: 6px;
      font-size: 16px;
    }

    .notice-item span {
      display: block;
      color: rgba(248,241,234,.65);
      font-size: 13px;
      line-height: 1.65;
    }

    .faq-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .faq-card {
      border-radius: var(--radius-lg);
      background: #fffaf4;
      border: 1px solid rgba(32,26,27,.1);
      box-shadow: 0 14px 32px rgba(37,26,22,.08);
      overflow: hidden;
      transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
    }

    .faq-card:hover {
      transform: translateY(-3px);
      border-color: rgba(182,91,79,.22);
      box-shadow: 0 18px 48px rgba(37,26,22,.12);
    }

    .faq-question {
      width: 100%;
      padding: 22px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      color: var(--text-dark);
      background: transparent;
      text-align: left;
      font-weight: 900;
      line-height: 1.45;
    }

    .faq-question i {
      color: var(--accent);
      transition: transform var(--ease);
      flex: 0 0 auto;
    }

    .faq-answer {
      max-height: 0;
      overflow: hidden;
      color: var(--muted-dark);
      border-top: 1px solid transparent;
      transition: max-height 240ms ease, border-color 240ms ease;
    }

    .faq-answer p {
      margin: 0;
      padding: 0 24px 22px;
      font-size: 14px;
      line-height: 1.85;
    }

    .faq-card.open .faq-answer {
      max-height: 240px;
      border-top-color: rgba(32,26,27,.08);
    }

    .faq-card.open .faq-question i {
      transform: rotate(180deg);
    }

    .cta-section {
      padding: 86px 0 98px;
      background: var(--paper);
    }

    .cta-box {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 28px;
      align-items: center;
      border-radius: 36px;
      padding: 38px;
      color: var(--text);
      background:
        radial-gradient(circle at 82% 20%, rgba(224,161,95,.28), transparent 30%),
        radial-gradient(circle at 18% 90%, rgba(143,95,168,.18), transparent 30%),
        linear-gradient(135deg, #241b1c, #110e0e);
      border: 1px solid rgba(255,255,255,.1);
      box-shadow: var(--shadow);
    }

    .cta-box::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
      background-size: 18px 18px;
      opacity: .12;
      pointer-events: none;
    }

    .cta-box > * {
      position: relative;
      z-index: 1;
    }

    .cta-box h2 {
      margin-bottom: 10px;
      max-width: 760px;
    }

    .cta-box p {
      color: rgba(248,241,234,.68);
      max-width: 760px;
      margin-bottom: 0;
    }

    .cta-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: flex-end;
    }

    .site-footer {
      background: #0c0a0a;
      color: rgba(248,241,234,.72);
      padding: 58px 0 34px;
      border-top: 1px solid rgba(255,255,255,.08);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.25fr .75fr 1fr;
      gap: 42px;
      align-items: start;
    }

    .footer-brand {
      margin-bottom: 16px;
      font-size: 17px;
    }

    .site-footer p {
      max-width: 460px;
      color: rgba(248,241,234,.58);
      margin-bottom: 0;
      font-size: 14px;
    }

    .footer-col h3 {
      color: #fff7ed;
      font-size: 14px;
      font-weight: 900;
      letter-spacing: .06em;
      margin-bottom: 14px;
    }

    .footer-links {
      display: grid;
      gap: 10px;
    }

    .footer-links a {
      color: rgba(248,241,234,.58);
      font-size: 14px;
    }

    .footer-links a:hover {
      color: #e9bd83;
      transform: translateX(3px);
    }

    .footer-note {
      color: rgba(248,241,234,.58);
      font-size: 14px;
      line-height: 1.75;
      padding: 16px;
      border-radius: 18px;
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.08);
    }

    .copyright {
      margin-top: 38px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.08);
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 12px;
      color: rgba(248,241,234,.42);
      font-size: 13px;
    }

    @media (prefers-reduced-motion: no-preference) {
      .fade-up {
        opacity: 0;
        transform: translateY(12px);
        animation: fadeUp 560ms ease forwards;
      }

      .fade-up:nth-child(2) { animation-delay: 80ms; }
      .fade-up:nth-child(3) { animation-delay: 140ms; }
      .fade-up:nth-child(4) { animation-delay: 200ms; }

      @keyframes fadeUp {
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
    }

    @media (max-width: 1024px) {
      .container {
        width: min(100% - 32px, var(--container));
      }

      .desktop-nav a {
        padding: 9px 12px;
      }

      .hero-shell,
      .notice-band,
      .cta-box {
        grid-template-columns: 1fr;
      }

      .hero-panel {
        max-width: 720px;
      }

      .bento-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .bento-card.large {
        grid-column: span 2;
        grid-row: auto;
      }

      .cta-actions {
        justify-content: flex-start;
      }

      .footer-grid {
        grid-template-columns: 1fr 1fr;
      }

      .footer-grid > div:first-child {
        grid-column: span 2;
      }
    }

    @media (max-width: 768px) {
      body {
        padding-bottom: calc(74px + env(safe-area-inset-bottom));
      }

      .site-header {
        position: sticky;
      }

      .nav-wrap {
        min-height: 66px;
      }

      .desktop-nav,
      .nav-actions {
        display: none;
      }

      .brand-text {
        max-width: calc(100vw - 110px);
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .mobile-tabs {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(10px + env(safe-area-inset-bottom));
        z-index: 1100;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
        padding: 8px;
        border-radius: 24px;
        background: rgba(13,11,11,.9);
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 18px 50px rgba(0,0,0,.42);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
      }

      .mobile-tabs a {
        min-height: 54px;
        border-radius: 18px;
        display: grid;
        place-items: center;
        gap: 2px;
        color: rgba(248,241,234,.62);
        font-size: 11px;
        font-weight: 800;
      }

      .mobile-tabs i {
        font-size: 16px;
      }

      .mobile-tabs a.active {
        color: #251514;
        background: linear-gradient(135deg, #e9bd83, #c96b5c);
      }

      .inner-hero {
        padding: 46px 0 46px;
        min-height: auto;
      }

      .hero-shell {
        gap: 28px;
      }

      .hero-lead {
        font-size: 15px;
      }

      .hero-actions .btn {
        width: 100%;
      }

      .hero-panel {
        padding: 16px;
        border-radius: 28px;
      }

      .quick-grid {
        grid-template-columns: 1fr;
      }

      .hero-nav-rail {
        border-radius: 24px;
        padding: 10px;
      }

      .section {
        padding: 62px 0;
      }

      .bento-grid {
        grid-template-columns: 1fr;
      }

      .bento-card.large,
      .bento-card.wide {
        grid-column: auto;
      }

      .notice-right,
      .faq-grid {
        grid-template-columns: 1fr;
      }

      .notice-left,
      .notice-right,
      .cta-box {
        padding: 24px;
      }

      .step-card {
        grid-template-columns: 1fr;
      }

      .footer-grid,
      .footer-grid > div:first-child {
        grid-template-columns: 1fr;
        grid-column: auto;
      }

      .copyright {
        display: grid;
      }
    }

    @media (max-width: 520px) {
      .container {
        width: min(100% - 24px, var(--container));
      }

      h1 {
        font-size: 36px;
        letter-spacing: -.045em;
      }

      h2 {
        font-size: 28px;
      }

      .breadcrumb {
        font-size: 12px;
      }

      .bento-card,
      .notice-left,
      .notice-right,
      .cta-box {
        border-radius: 24px;
      }

      .btn {
        min-height: 46px;
        padding-inline: 16px;
      }

      .brand-mark {
        width: 36px;
        height: 36px;
      }

      .brand-text {
        font-size: 15px;
      }
    }

/* roulang page: category1 */
:root {
      --bg: #100f10;
      --bg-deep: #090909;
      --bg-soft: #181516;
      --surface: #201b1d;
      --surface-2: #2a2427;
      --paper: #f2eee8;
      --paper-soft: #e8e0d8;
      --text: #f7f1e9;
      --text-strong: #ffffff;
      --muted: #b7aca4;
      --muted-dark: #665b55;
      --line: rgba(255,255,255,.11);
      --line-dark: rgba(30,22,20,.14);
      --accent: #a9474d;
      --accent-2: #d07b59;
      --amber: #c89a58;
      --ok: #86b38b;
      --danger: #d26a62;
      --shadow: 0 24px 70px rgba(0,0,0,.34);
      --shadow-soft: 0 18px 45px rgba(55,36,31,.12);
      --radius-lg: 28px;
      --radius-md: 20px;
      --radius-sm: 14px;
      --container: 1200px;
      --header-h: 74px;
      --ease: cubic-bezier(.2,.72,.2,1);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      background: var(--bg-deep);
    }

    body {
      margin: 0;
      min-height: 100vh;
      color: var(--text);
      background:
        radial-gradient(circle at 18% 5%, rgba(169,71,77,.22), transparent 30%),
        radial-gradient(circle at 82% 0%, rgba(208,123,89,.14), transparent 34%),
        linear-gradient(180deg, #0d0c0d 0%, #151112 38%, #f2eee8 38%, #f2eee8 100%);
      font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.78;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease);
    }

    img, svg {
      max-width: 100%;
      display: block;
    }

    button, input, select, textarea {
      font: inherit;
    }

    button {
      cursor: pointer;
      border: 0;
    }

    ::selection {
      background: rgba(208,123,89,.32);
      color: #fff;
    }

    .container {
      width: min(var(--container), calc(100% - 40px));
      margin: 0 auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      height: var(--header-h);
      background: rgba(12, 11, 11, .78);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--line);
    }

    .nav-wrap {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
    }

    .brand,
    .footer-brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
      font-weight: 800;
      letter-spacing: -.02em;
      color: var(--text-strong);
    }

    .brand {
      max-width: 360px;
    }

    .brand:hover .brand-mark,
    .brand:focus-visible .brand-mark {
      transform: translateY(-1px) rotate(-4deg);
      box-shadow: 0 0 0 6px rgba(169,71,77,.12);
    }

    .brand-mark {
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 14px;
      color: #fff;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow: 0 10px 26px rgba(169,71,77,.34);
      transition: transform .22s var(--ease), box-shadow .22s var(--ease);
    }

    .brand-text {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 17px;
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 6px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255,255,255,.045);
    }

    .desktop-nav a {
      position: relative;
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      padding: 0 16px;
      border-radius: 999px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .01em;
      outline: none;
    }

    .desktop-nav a:hover,
    .desktop-nav a:focus-visible {
      color: #fff;
      background: rgba(255,255,255,.08);
    }

    .desktop-nav a.active {
      color: #fff;
      background: rgba(169,71,77,.34);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.09);
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 0 0 auto;
    }

    .age-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 40px;
      padding: 0 14px;
      border-radius: 999px;
      color: #fff3ea;
      background: rgba(208,123,89,.13);
      border: 1px solid rgba(208,123,89,.34);
      font-size: 13px;
      font-weight: 800;
      white-space: nowrap;
    }

    .age-pill i {
      color: var(--accent-2);
    }

    .mobile-tabs {
      display: none;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 20px;
      border-radius: 999px;
      font-weight: 800;
      letter-spacing: .01em;
      line-height: 1;
      outline: none;
      user-select: none;
      transition: transform .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease);
    }

    .btn i {
      transition: transform .22s var(--ease);
    }

    .btn:hover,
    .btn:focus-visible {
      transform: translateY(-2px);
    }

    .btn:hover i,
    .btn:focus-visible i {
      transform: translateX(3px);
    }

    .btn-primary {
      color: #fff;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow: 0 18px 38px rgba(169,71,77,.28);
    }

    .btn-primary:hover,
    .btn-primary:focus-visible {
      box-shadow: 0 24px 52px rgba(169,71,77,.38);
      filter: brightness(1.05);
    }

    .btn-secondary {
      color: var(--text);
      background: rgba(255,255,255,.06);
      border: 1px solid var(--line);
    }

    .btn-secondary:hover,
    .btn-secondary:focus-visible {
      color: #fff;
      background: rgba(255,255,255,.1);
      border-color: rgba(255,255,255,.22);
    }

    .btn-dark {
      color: #fff;
      background: #151112;
      border: 1px solid rgba(255,255,255,.12);
    }

    .btn-dark:hover,
    .btn-dark:focus-visible {
      background: #241c1d;
      box-shadow: 0 16px 35px rgba(0,0,0,.2);
    }

    .skip-focus:focus-visible,
    a:focus-visible,
    button:focus-visible {
      outline: 3px solid rgba(208,123,89,.55);
      outline-offset: 3px;
    }

    .inner-hero {
      position: relative;
      isolation: isolate;
      padding: 58px 0 70px;
      min-height: 430px;
      overflow: hidden;
    }

    .inner-hero:before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(90deg, rgba(9,9,9,.94), rgba(16,15,16,.76) 54%, rgba(169,71,77,.10)),
        radial-gradient(circle at 78% 22%, rgba(208,123,89,.2), transparent 36%),
        radial-gradient(circle at 24% 92%, rgba(169,71,77,.22), transparent 32%);
    }

    .inner-hero:after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .22;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size: 42px 42px;
      mask-image: linear-gradient(180deg, #000, transparent 85%);
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 380px;
      gap: 42px;
      align-items: center;
    }

    .breadcrumb {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-bottom: 22px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
    }

    .breadcrumb a {
      color: #f4d8c2;
    }

    .breadcrumb a:hover {
      color: #fff;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 8px 12px;
      margin-bottom: 18px;
      border-radius: 999px;
      color: #ffdfc8;
      background: rgba(208,123,89,.11);
      border: 1px solid rgba(208,123,89,.28);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
    }

    h1, h2, h3, p {
      margin-top: 0;
    }

    h1 {
      max-width: 820px;
      margin-bottom: 18px;
      color: #fff;
      font-size: clamp(34px, 5vw, 58px);
      line-height: 1.08;
      font-weight: 850;
      letter-spacing: -.045em;
    }

    .hero-lead {
      max-width: 760px;
      margin-bottom: 26px;
      color: rgba(247,241,233,.78);
      font-size: 17px;
      line-height: 1.9;
    }

    .filter-chips,
    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }

    .filter-chips {
      margin: 26px 0 28px;
    }

    .chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      padding: 0 14px;
      border-radius: 999px;
      color: var(--text);
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.12);
      font-size: 13px;
      font-weight: 800;
      transition: transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
    }

    .chip:hover,
    .chip:focus-visible,
    .chip.is-active {
      transform: translateY(-1px);
      color: #fff;
      background: rgba(169,71,77,.24);
      border-color: rgba(208,123,89,.38);
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: center;
    }

    .hero-panel {
      position: relative;
      padding: 22px;
      border-radius: var(--radius-lg);
      background:
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
        rgba(27,22,24,.86);
      border: 1px solid rgba(255,255,255,.13);
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .hero-panel:before {
      content: "";
      position: absolute;
      width: 180px;
      height: 180px;
      right: -70px;
      top: -70px;
      border-radius: 50%;
      background: rgba(208,123,89,.18);
      filter: blur(8px);
    }

    .panel-title {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding-bottom: 16px;
      margin-bottom: 16px;
      border-bottom: 1px solid var(--line);
      color: #fff;
      font-weight: 850;
      font-size: 18px;
    }

    .panel-title span:last-child {
      font-size: 12px;
      color: #ffd5bb;
      background: rgba(208,123,89,.12);
      border: 1px solid rgba(208,123,89,.28);
      border-radius: 999px;
      padding: 4px 9px;
      white-space: nowrap;
    }

    .step-list {
      display: grid;
      gap: 12px;
    }

    .step-item {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 12px;
      align-items: start;
      padding: 14px;
      border-radius: 18px;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.08);
    }

    .step-num {
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 14px;
      color: #fff;
      background: linear-gradient(135deg, rgba(169,71,77,.95), rgba(208,123,89,.9));
      font-weight: 900;
    }

    .step-item strong {
      display: block;
      margin-bottom: 3px;
      color: #fff;
      font-size: 14px;
    }

    .step-item p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.65;
    }

    main {
      color: #221c1b;
      background: var(--paper);
    }

    .section {
      padding: 86px 0;
    }

    .section.compact {
      padding: 64px 0;
    }

    .section.dark {
      color: var(--text);
      background:
        radial-gradient(circle at 12% 20%, rgba(169,71,77,.18), transparent 28%),
        linear-gradient(180deg, #151112, #0d0c0d);
    }

    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 28px;
      margin-bottom: 34px;
    }

    .section-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
      color: var(--accent);
      font-size: 12px;
      font-weight: 950;
      letter-spacing: .12em;
    }

    .section h2 {
      margin-bottom: 0;
      color: #1f1918;
      font-size: clamp(28px, 3.2vw, 42px);
      line-height: 1.14;
      font-weight: 850;
      letter-spacing: -.035em;
    }

    .section.dark h2 {
      color: #fff;
    }

    .section-desc {
      max-width: 500px;
      margin: 0;
      color: #6f635d;
      font-size: 15px;
      line-height: 1.85;
    }

    .section.dark .section-desc {
      color: rgba(247,241,233,.68);
    }

    .content-layout {
      display: grid;
      grid-template-columns: 330px minmax(0, 1fr);
      gap: 26px;
      align-items: start;
    }

    .sidebar {
      position: sticky;
      top: calc(var(--header-h) + 20px);
      display: grid;
      gap: 18px;
    }

    .side-card,
    .content-card,
    .info-card,
    .faq-card {
      border-radius: var(--radius-md);
      background: rgba(255,255,255,.58);
      border: 1px solid var(--line-dark);
      box-shadow: var(--shadow-soft);
    }

    .side-card {
      padding: 22px;
    }

    .side-card.dark-side {
      color: var(--text);
      background:
        linear-gradient(180deg, rgba(42,36,39,.98), rgba(24,21,22,.98));
      border-color: rgba(255,255,255,.1);
      box-shadow: var(--shadow);
    }

    .side-card h2,
    .side-card h3 {
      margin-bottom: 14px;
      color: #241d1b;
      font-size: 20px;
      line-height: 1.25;
      font-weight: 850;
    }

    .dark-side h3,
    .dark-side h2 {
      color: #fff;
    }

    .filter-group {
      display: grid;
      gap: 10px;
      margin-top: 16px;
    }

    .filter-btn {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      padding: 13px 14px;
      border-radius: 16px;
      color: #342b27;
      background: rgba(255,255,255,.74);
      border: 1px solid rgba(34,28,27,.1);
      font-size: 14px;
      font-weight: 800;
      text-align: left;
      transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
    }

    .filter-btn:hover,
    .filter-btn:focus-visible,
    .filter-btn.active {
      transform: translateY(-1px);
      background: #fff;
      border-color: rgba(169,71,77,.36);
      box-shadow: 0 12px 28px rgba(89,54,45,.12);
    }

    .filter-btn i {
      color: var(--accent);
    }

    .notice-list {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .notice-list li {
      display: grid;
      grid-template-columns: 30px 1fr;
      gap: 10px;
      align-items: start;
      color: rgba(247,241,233,.74);
      font-size: 14px;
      line-height: 1.7;
    }

    .notice-list i {
      width: 30px;
      height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 11px;
      color: #ffd8bd;
      background: rgba(208,123,89,.12);
      border: 1px solid rgba(208,123,89,.22);
    }

    .content-stream {
      display: grid;
      gap: 18px;
    }

    .content-card {
      display: grid;
      grid-template-columns: 162px minmax(0, 1fr);
      gap: 20px;
      padding: 18px;
      overflow: hidden;
      transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
    }

    .content-card:hover,
    .content-card:focus-within {
      transform: translateY(-4px);
      background: rgba(255,255,255,.82);
      border-color: rgba(169,71,77,.24);
      box-shadow: 0 22px 52px rgba(81,50,42,.16);
    }

    .abstract-cover {
      position: relative;
      min-height: 148px;
      border-radius: 18px;
      overflow: hidden;
      background:
        radial-gradient(circle at 30% 25%, rgba(255,222,188,.55), transparent 28%),
        radial-gradient(circle at 78% 74%, rgba(169,71,77,.58), transparent 35%),
        linear-gradient(135deg, #2a2022, #6e383d 54%, #d07b59);
      border: 1px solid rgba(255,255,255,.18);
    }

    .abstract-cover.alt {
      background:
        radial-gradient(circle at 75% 20%, rgba(208,123,89,.66), transparent 30%),
        radial-gradient(circle at 20% 80%, rgba(255,230,197,.35), transparent 28%),
        linear-gradient(135deg, #171314, #342226 48%, #8b4b45);
    }

    .abstract-cover.soft {
      background:
        radial-gradient(circle at 28% 22%, rgba(255,255,255,.42), transparent 24%),
        radial-gradient(circle at 75% 66%, rgba(199,154,88,.58), transparent 34%),
        linear-gradient(135deg, #231d1b, #66453b 52%, #ba7658);
    }

    .abstract-cover:before {
      content: "";
      position: absolute;
      inset: 16px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,.28);
    }

    .cover-code {
      position: absolute;
      left: 16px;
      bottom: 16px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 999px;
      color: #fff;
      background: rgba(0,0,0,.32);
      backdrop-filter: blur(10px);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .card-body {
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 16px;
    }

    .meta-line {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      margin-bottom: 8px;
    }

    .tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 9px;
      border-radius: 999px;
      color: #74393a;
      background: rgba(169,71,77,.09);
      border: 1px solid rgba(169,71,77,.15);
      font-size: 12px;
      font-weight: 850;
      line-height: 1;
    }

    .tag.safe {
      color: #4d7652;
      background: rgba(134,179,139,.14);
      border-color: rgba(134,179,139,.22);
    }

    .tag.neutral {
      color: #7b5f2d;
      background: rgba(200,154,88,.14);
      border-color: rgba(200,154,88,.22);
    }

    .content-card h3 {
      margin-bottom: 8px;
      color: #221c1b;
      font-size: 22px;
      line-height: 1.28;
      font-weight: 850;
      letter-spacing: -.025em;
    }

    .content-card p {
      margin: 0;
      color: #675b55;
      font-size: 14.5px;
      line-height: 1.82;
    }

    .card-foot {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      color: #85776f;
      font-size: 12px;
      font-weight: 800;
    }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--accent);
      font-weight: 900;
    }

    .text-link:hover,
    .text-link:focus-visible {
      color: #7d3236;
    }

    .text-link i {
      transition: transform .22s var(--ease);
    }

    .text-link:hover i,
    .text-link:focus-visible i {
      transform: translateX(4px);
    }

    .rail-wrap {
      position: relative;
      overflow: hidden;
      margin-top: 8px;
    }

    .rail {
      display: flex;
      gap: 16px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      padding: 6px 2px 18px;
      scrollbar-width: thin;
      scrollbar-color: rgba(208,123,89,.5) rgba(255,255,255,.08);
    }

    .rail::-webkit-scrollbar {
      height: 8px;
    }

    .rail::-webkit-scrollbar-track {
      background: rgba(255,255,255,.08);
      border-radius: 999px;
    }

    .rail::-webkit-scrollbar-thumb {
      background: rgba(208,123,89,.55);
      border-radius: 999px;
    }

    .rail-card {
      scroll-snap-align: start;
      flex: 0 0 280px;
      min-height: 210px;
      padding: 22px;
      border-radius: 24px;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.11);
      transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
    }

    .rail-card:hover,
    .rail-card:focus-within {
      transform: translateY(-4px);
      background: rgba(255,255,255,.1);
      border-color: rgba(208,123,89,.35);
    }

    .rail-icon {
      width: 46px;
      height: 46px;
      margin-bottom: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 16px;
      color: #ffd5ba;
      background: rgba(208,123,89,.13);
      border: 1px solid rgba(208,123,89,.25);
      font-size: 18px;
    }

    .rail-card h3 {
      margin-bottom: 8px;
      color: #fff;
      font-size: 18px;
      font-weight: 850;
      line-height: 1.25;
    }

    .rail-card p {
      margin-bottom: 16px;
      color: rgba(247,241,233,.68);
      font-size: 14px;
      line-height: 1.7;
    }

    .info-grid {
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 22px;
      align-items: stretch;
    }

    .info-card {
      padding: 28px;
    }

    .info-card h3 {
      margin-bottom: 14px;
      color: #211b1a;
      font-size: 24px;
      font-weight: 850;
      letter-spacing: -.02em;
    }

    .info-card p {
      color: #675b55;
      margin-bottom: 18px;
    }

    .check-list {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .check-list li {
      display: grid;
      grid-template-columns: 28px 1fr;
      gap: 10px;
      align-items: start;
      color: #453a36;
      font-size: 14px;
    }

    .check-list i {
      color: var(--accent);
      margin-top: 4px;
    }

    .mini-stats {
      display: grid;
      gap: 12px;
    }

    .stat-box {
      padding: 18px;
      border-radius: 18px;
      color: #fff;
      background:
        linear-gradient(135deg, rgba(169,71,77,.9), rgba(208,123,89,.78)),
        #7a3f3d;
      box-shadow: 0 18px 40px rgba(169,71,77,.2);
    }

    .stat-box strong {
      display: block;
      font-size: 28px;
      line-height: 1;
      margin-bottom: 8px;
      letter-spacing: -.02em;
    }

    .stat-box span {
      display: block;
      color: rgba(255,255,255,.78);
      font-size: 13px;
      font-weight: 800;
    }

    .compliance-band {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
      align-items: stretch;
      padding: 28px;
      border-radius: var(--radius-lg);
      color: var(--text);
      background:
        radial-gradient(circle at 10% 10%, rgba(208,123,89,.2), transparent 32%),
        linear-gradient(135deg, #191415, #0d0c0d);
      border: 1px solid rgba(255,255,255,.1);
      box-shadow: var(--shadow);
    }

    .compliance-band h2 {
      color: #fff;
      margin-bottom: 14px;
      font-size: clamp(26px, 3vw, 36px);
    }

    .compliance-band p {
      max-width: 620px;
      margin: 0;
      color: rgba(247,241,233,.72);
    }

    .compliance-items {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }

    .compliance-item {
      padding: 16px;
      border-radius: 18px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
    }

    .compliance-item i {
      margin-bottom: 12px;
      color: #ffd0b3;
      font-size: 20px;
    }

    .compliance-item strong {
      display: block;
      margin-bottom: 5px;
      color: #fff;
      font-size: 14px;
    }

    .compliance-item span {
      color: rgba(247,241,233,.66);
      font-size: 13px;
      line-height: 1.6;
    }

    .faq-wrap {
      display: grid;
      grid-template-columns: .85fr 1.15fr;
      gap: 28px;
      align-items: start;
    }

    .faq-intro {
      position: sticky;
      top: calc(var(--header-h) + 20px);
    }

    .accordion {
      margin: 0;
      background: transparent;
      border: 0;
    }

    .accordion-item {
      margin-bottom: 12px;
      border-radius: 18px;
      overflow: hidden;
      background: rgba(255,255,255,.62);
      border: 1px solid var(--line-dark);
      box-shadow: 0 12px 28px rgba(55,36,31,.08);
    }

    .accordion-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 20px;
      color: #211b1a;
      border: 0;
      font-size: 16px;
      font-weight: 850;
      line-height: 1.45;
      transition: background .22s var(--ease), color .22s var(--ease);
    }

    .accordion-title:before {
      display: none;
    }

    .accordion-title:after {
      content: "\f107";
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      color: var(--accent);
      transition: transform .22s var(--ease);
    }

    .accordion-title:hover,
    .accordion-title:focus {
      color: #7d3236;
      background: rgba(169,71,77,.055);
    }

    .is-active > .accordion-title:after {
      transform: rotate(180deg);
    }

    .accordion-content {
      padding: 0 20px 20px;
      border: 0;
      background: transparent;
      color: #675b55;
      font-size: 14.5px;
      line-height: 1.82;
    }

    .cta-strip {
      position: relative;
      overflow: hidden;
      padding: 42px;
      border-radius: 32px;
      color: #fff;
      background:
        radial-gradient(circle at 18% 20%, rgba(255,218,188,.22), transparent 26%),
        radial-gradient(circle at 88% 12%, rgba(208,123,89,.26), transparent 34%),
        linear-gradient(135deg, #211618, #8c4045 62%, #d07b59);
      box-shadow: 0 26px 70px rgba(169,71,77,.24);
    }

    .cta-strip:before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px);
      background-size: 18px 18px;
      opacity: .14;
    }

    .cta-inner {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 26px;
      align-items: center;
    }

    .cta-strip h2 {
      color: #fff;
      margin-bottom: 12px;
      max-width: 760px;
    }

    .cta-strip p {
      max-width: 760px;
      margin: 0;
      color: rgba(255,255,255,.78);
    }

    .cta-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 12px;
    }

    .site-footer {
      padding: 62px 0 34px;
      color: rgba(247,241,233,.72);
      background: #0b0a0a;
      border-top: 1px solid rgba(255,255,255,.1);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.25fr .7fr 1fr;
      gap: 42px;
      align-items: start;
      padding-bottom: 34px;
    }

    .footer-brand {
      margin-bottom: 14px;
      font-size: 18px;
    }

    .site-footer p {
      max-width: 460px;
      margin: 0;
      color: rgba(247,241,233,.62);
      font-size: 14px;
      line-height: 1.85;
    }

    .footer-col h3 {
      margin-bottom: 14px;
      color: #fff;
      font-size: 15px;
      font-weight: 850;
    }

    .footer-links {
      display: grid;
      gap: 10px;
    }

    .footer-links a {
      color: rgba(247,241,233,.62);
      font-size: 14px;
    }

    .footer-links a:hover,
    .footer-links a:focus-visible {
      color: #fff;
      transform: translateX(3px);
    }

    .footer-note {
      padding: 16px;
      border-radius: 18px;
      color: rgba(247,241,233,.68);
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.09);
      font-size: 13px;
      line-height: 1.75;
    }

    .copyright {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.1);
      color: rgba(247,241,233,.48);
      font-size: 13px;
    }

    .reveal-up {
      animation: revealUp .62s var(--ease) both;
    }

    @keyframes revealUp {
      from {
        opacity: 0;
        transform: translateY(14px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }
      *,
      *:before,
      *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
    }

    @media (max-width: 1024px) {
      .container {
        width: min(100% - 32px, var(--container));
      }

      .desktop-nav a {
        padding: 0 12px;
      }

      .hero-grid,
      .content-layout,
      .info-grid,
      .faq-wrap,
      .compliance-band {
        grid-template-columns: 1fr;
      }

      .hero-panel,
      .sidebar,
      .faq-intro {
        position: static;
      }

      .sidebar {
        grid-template-columns: 1fr 1fr;
      }

      .section {
        padding: 72px 0;
      }

      .footer-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 768px) {
      body {
        padding-bottom: calc(82px + env(safe-area-inset-bottom));
        background:
          radial-gradient(circle at 22% 0%, rgba(169,71,77,.24), transparent 30%),
          linear-gradient(180deg, #0d0c0d 0%, #151112 34%, #f2eee8 34%, #f2eee8 100%);
      }

      .site-header {
        height: 66px;
      }

      .brand {
        max-width: calc(100vw - 145px);
      }

      .brand-mark {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-radius: 12px;
      }

      .brand-text {
        font-size: 15px;
      }

      .desktop-nav {
        display: none;
      }

      .age-pill {
        min-height: 34px;
        padding: 0 10px;
        font-size: 12px;
      }

      .mobile-tabs {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(10px + env(safe-area-inset-bottom));
        z-index: 1200;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
        min-height: 66px;
        padding: 8px;
        border-radius: 24px;
        background: rgba(15,13,13,.9);
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 18px 55px rgba(0,0,0,.36);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
      }

      .mobile-tabs a {
        display: grid;
        place-items: center;
        gap: 4px;
        border-radius: 18px;
        color: rgba(247,241,233,.62);
        font-size: 11px;
        font-weight: 850;
      }

      .mobile-tabs i {
        font-size: 17px;
      }

      .mobile-tabs a.active {
        color: #fff;
        background: rgba(169,71,77,.28);
        box-shadow: inset 0 0 0 1px rgba(208,123,89,.16);
      }

      .inner-hero {
        padding: 38px 0 52px;
        min-height: auto;
      }

      .hero-grid {
        gap: 28px;
      }

      .hero-lead {
        font-size: 15.5px;
      }

      .hero-actions .btn {
        width: 100%;
      }

      .section,
      .section.compact {
        padding: 58px 0;
      }

      .section-head {
        display: block;
      }

      .section-desc {
        margin-top: 12px;
      }

      .sidebar {
        grid-template-columns: 1fr;
      }

      .content-card {
        grid-template-columns: 1fr;
        padding: 16px;
      }

      .abstract-cover {
        min-height: 176px;
      }

      .compliance-items {
        grid-template-columns: 1fr;
      }

      .cta-inner {
        grid-template-columns: 1fr;
      }

      .cta-strip {
        padding: 30px 22px;
        border-radius: 26px;
      }

      .cta-actions {
        justify-content: flex-start;
      }

      .cta-actions .btn {
        width: 100%;
      }

      .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      .copyright {
        flex-direction: column;
      }
    }

    @media (max-width: 520px) {
      .container {
        width: calc(100% - 24px);
      }

      h1 {
        font-size: 34px;
      }

      .breadcrumb {
        font-size: 12px;
      }

      .filter-chips {
        gap: 8px;
      }

      .chip {
        min-height: 35px;
        padding: 0 11px;
        font-size: 12px;
      }

      .hero-panel,
      .side-card,
      .info-card {
        padding: 18px;
        border-radius: 22px;
      }

      .step-item {
        grid-template-columns: 38px 1fr;
      }

      .step-num {
        width: 38px;
        height: 38px;
      }

      .rail-card {
        flex-basis: 78vw;
      }

      .content-card h3 {
        font-size: 20px;
      }

      .mobile-tabs span {
        max-width: 4em;
        overflow: hidden;
        white-space: nowrap;
      }
    }
