/* roulang page: index */
:root{
      --bg:#FFF9F6;
      --bg-soft:#FFF0F4;
      --paper:#ffffff;
      --paper-soft:#fff7fa;
      --line:#f2dbe2;
      --line-strong:#f6bfd0;
      --text:#17151F;
      --muted:#6b6070;
      --muted-2:#8f8593;
      --primary:#F43F7F;
      --primary-2:#FF5A8E;
      --accent:#FF8A3D;
      --mint:#30D5C8;
      --shadow:0 14px 38px rgba(244,63,127,.12);
      --shadow-strong:0 18px 48px rgba(244,63,127,.18);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:18px;
      --radius-sm:14px;
      --container:1240px;
      --section-gap:88px;
      --transition:.28s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(244,63,127,.08), transparent 26%),
        radial-gradient(circle at top right, rgba(255,138,61,.10), transparent 24%),
        linear-gradient(180deg, #fffdfb 0%, var(--bg) 100%);
      line-height:1.75;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(120deg, rgba(244,63,127,.04), transparent 28%),
        linear-gradient(240deg, rgba(48,213,200,.03), transparent 22%);
      opacity:.65;
      z-index:-1;
    }

    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none;transition:color var(--transition), transform var(--transition), opacity var(--transition)}
    a:hover{color:var(--primary)}
    button,input,select,textarea{font:inherit}
    .container, .container-lg, .container-xl{
      max-width:var(--container);
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(255,255,255,.92);
      backdrop-filter:saturate(140%) blur(10px);
      border-bottom:1px solid rgba(242,219,226,.78);
      box-shadow:0 6px 24px rgba(23,21,31,.04);
    }
    .navbar{
      padding:14px 0;
    }
    .brand-wrap{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }
    .brand-mark{
      width:42px;
      height:42px;
      flex:0 0 auto;
      border-radius:16px;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      box-shadow:0 10px 24px rgba(244,63,127,.24);
      display:grid;
      place-items:center;
      color:#fff;
    }
    .brand-mark svg{
      width:24px;
      height:24px;
      display:block;
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      min-width:0;
      line-height:1.15;
    }
    .brand-text strong{
      font-size:15px;
      font-weight:800;
      letter-spacing:.2px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .brand-text span{
      font-size:12px;
      color:var(--muted);
      margin-top:4px;
      white-space:nowrap;
    }

    .navbar-nav{
      gap:6px;
    }
    .nav-link{
      color:var(--muted);
      font-weight:700;
      padding:.75rem 1rem !important;
      border-radius:999px;
      position:relative;
    }
    .nav-link:hover,
    .nav-link:focus{
      color:var(--text);
      background:rgba(244,63,127,.08);
    }
    .nav-link.active{
      color:var(--primary);
      background:rgba(244,63,127,.10);
    }

    .nav-search{
      width:min(100%, 330px);
    }
    .nav-search .form-control{
      border:1px solid rgba(242,219,226,.95);
      border-radius:999px 0 0 999px;
      padding:.78rem 1rem;
      background:#fff;
      box-shadow:none;
      color:var(--text);
    }
    .nav-search .form-control::placeholder{color:#aa9dac}
    .nav-search .form-control:focus{
      border-color:rgba(244,63,127,.45);
      box-shadow:0 0 0 .25rem rgba(244,63,127,.12);
    }
    .nav-search .btn{
      border-radius:0 999px 999px 0;
      border:1px solid transparent;
      padding:.78rem 1.1rem;
    }
    .btn-brand{
      background:linear-gradient(135deg, var(--primary), var(--accent));
      color:#fff;
      border:0;
      border-radius:999px;
      padding:12px 20px;
      font-weight:800;
      box-shadow:0 10px 20px rgba(244,63,127,.18);
      transition:transform var(--transition), box-shadow var(--transition), filter var(--transition);
    }
    .btn-brand:hover,
    .btn-brand:focus{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:var(--shadow-strong);
      filter:saturate(112%);
    }
    .btn-outline-brand{
      background:#fff;
      color:var(--text);
      border:1px solid rgba(244,63,127,.28);
      border-radius:999px;
      padding:12px 20px;
      font-weight:800;
      transition:transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
    }
    .btn-outline-brand:hover,
    .btn-outline-brand:focus{
      color:var(--primary);
      background:rgba(244,63,127,.08);
      border-color:rgba(244,63,127,.42);
      transform:translateY(-2px);
    }

    .hero-section{
      position:relative;
      padding:36px 0 44px;
    }
    .hero-shell{
      border:1px solid rgba(242,219,226,.85);
      background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,249,246,.95));
      border-radius:34px;
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .hero-shell::before,
    .hero-shell::after{
      content:"";
      position:absolute;
      border-radius:50%;
      pointer-events:none;
      filter:blur(0);
    }
    .hero-shell::before{
      width:220px;height:220px;
      right:-70px;top:-60px;
      background:radial-gradient(circle, rgba(244,63,127,.14) 0, rgba(244,63,127,.04) 40%, transparent 70%);
    }
    .hero-shell::after{
      width:180px;height:180px;
      left:-60px;bottom:-80px;
      background:radial-gradient(circle, rgba(255,138,61,.14) 0, rgba(255,138,61,.04) 42%, transparent 72%);
    }
    .hero-inner{
      padding:36px;
      position:relative;
      z-index:1;
    }
    .hero-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(244,63,127,.10);
      color:var(--primary);
      font-weight:800;
      font-size:13px;
      letter-spacing:.2px;
      margin-bottom:18px;
    }
    .hero-kicker .dot{
      width:8px;height:8px;border-radius:50%;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      box-shadow:0 0 0 6px rgba(244,63,127,.08);
    }
    .hero-title{
      font-size:clamp(28px,4vw,48px);
      line-height:1.18;
      font-weight:900;
      letter-spacing:-.4px;
      margin:0 0 16px;
    }
    .hero-desc{
      font-size:17px;
      color:var(--muted);
      max-width:760px;
      margin:0 0 24px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      margin-bottom:22px;
    }
    .hero-chips{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 14px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      color:var(--text);
      font-weight:700;
      font-size:13px;
      box-shadow:0 8px 20px rgba(23,21,31,.04);
    }
    .pill i{
      width:8px;height:8px;border-radius:50%;
      display:inline-block;
      background:linear-gradient(135deg, var(--primary), var(--accent));
    }

    .hero-panel{
      background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,240,244,.88));
      border:1px solid rgba(242,219,226,.95);
      border-radius:28px;
      padding:22px;
      box-shadow:0 12px 30px rgba(244,63,127,.08);
      height:100%;
    }
    .hero-panel-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:18px;
    }
    .hero-panel-head strong{
      display:block;
      font-size:18px;
      font-weight:850;
      margin-bottom:6px;
    }
    .hero-panel-head p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }
    .score-badge{
      border-radius:16px;
      padding:10px 12px;
      background:linear-gradient(135deg, rgba(244,63,127,.12), rgba(255,138,61,.12));
      color:var(--text);
      font-size:12px;
      font-weight:800;
      text-align:center;
      min-width:86px;
    }
    .score-badge span{
      display:block;
      font-size:20px;
      color:var(--primary);
      line-height:1;
      margin-bottom:4px;
    }
    .step-list{
      display:grid;
      gap:12px;
    }
    .step-item{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px 14px;
      background:#fff;
      border:1px solid rgba(242,219,226,.92);
      border-radius:18px;
    }
    .step-index{
      width:32px;height:32px;border-radius:11px;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      color:#fff;
      display:grid;
      place-items:center;
      font-weight:900;
      flex:0 0 auto;
      box-shadow:0 8px 18px rgba(244,63,127,.14);
    }
    .step-item h3{
      font-size:15px;
      font-weight:850;
      margin:0 0 4px;
    }
    .step-item p{
      margin:0;
      font-size:13px;
      color:var(--muted);
      line-height:1.65;
    }

    .section-wrap{
      padding:var(--section-gap) 0;
      position:relative;
    }
    .section-wrap.alt{
      background:linear-gradient(180deg, rgba(255,240,244,.45), rgba(255,249,246,.86));
      border-top:1px solid rgba(242,219,226,.5);
      border-bottom:1px solid rgba(242,219,226,.5);
    }
    .section-head{
      margin-bottom:28px;
      max-width:820px;
    }
    .section-tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(244,63,127,.10);
      color:var(--primary);
      font-size:13px;
      font-weight:800;
      margin-bottom:14px;
    }
    .section-title{
      font-size:clamp(24px,2.8vw,34px);
      line-height:1.2;
      font-weight:900;
      margin:0 0 10px;
      letter-spacing:-.2px;
    }
    .section-desc{
      color:var(--muted);
      font-size:16px;
      margin:0;
      max-width:760px;
    }

    .panel-card{
      background:var(--paper);
      border:1px solid rgba(242,219,226,.95);
      border-radius:28px;
      box-shadow:0 12px 28px rgba(23,21,31,.05);
      overflow:hidden;
    }
    .panel-card-head{
      padding:18px 22px;
      background:linear-gradient(135deg, rgba(244,63,127,.10), rgba(255,138,61,.08));
      border-bottom:1px solid rgba(242,219,226,.95);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .panel-card-head strong{
      font-size:16px;
      font-weight:850;
    }
    .panel-card-head span{
      color:var(--muted);
      font-size:13px;
    }

    .feature-table{
      width:100%;
      margin:0;
      border-collapse:separate;
      border-spacing:0;
    }
    .feature-table thead th{
      background:linear-gradient(135deg, var(--primary), var(--accent));
      color:#fff;
      padding:18px 16px;
      font-size:14px;
      font-weight:850;
      border:0;
      white-space:nowrap;
    }
    .feature-table thead th:first-child{
      border-top-left-radius:18px;
    }
    .feature-table thead th:last-child{
      border-top-right-radius:18px;
    }
    .feature-table tbody td{
      padding:18px 16px;
      border-top:1px solid rgba(242,219,226,.85);
      vertical-align:top;
      color:var(--text);
      font-size:14px;
      background:#fff;
    }
    .feature-table tbody tr:nth-child(odd) td{
      background:#fffdfc;
    }
    .feature-table tbody td:first-child{
      font-weight:800;
      color:var(--text);
      width:21%;
    }
    .feature-table tbody td.recommend{
      background:linear-gradient(180deg, rgba(255,240,244,.80), rgba(255,250,252,.96));
      border-left:2px solid rgba(244,63,127,.45);
      border-right:2px solid rgba(244,63,127,.28);
    }
    .table-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(244,63,127,.10);
      color:var(--primary);
      font-weight:800;
      font-size:12px;
      margin-left:8px;
    }
    .check{
      color:var(--primary);
      font-weight:900;
      margin-right:6px;
    }

    .mobile-compare-card{
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      border-radius:22px;
      box-shadow:0 10px 24px rgba(23,21,31,.05);
      padding:16px;
      margin-bottom:14px;
    }
    .mobile-compare-card .row-name{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      margin-bottom:12px;
      font-weight:850;
    }
    .mobile-compare-card .row-name span{
      font-size:12px;
      color:var(--primary);
      background:rgba(244,63,127,.10);
      border-radius:999px;
      padding:6px 10px;
      white-space:nowrap;
    }
    .mobile-compare-card ul{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .mobile-compare-card li{
      display:flex;
      gap:8px;
      align-items:flex-start;
      color:var(--muted);
      font-size:14px;
      line-height:1.65;
    }

    .level-card{
      position:relative;
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      border-radius:26px;
      padding:24px;
      box-shadow:0 10px 28px rgba(23,21,31,.05);
      height:100%;
      transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
      overflow:hidden;
    }
    .level-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-strong);
      border-color:rgba(244,63,127,.22);
    }
    .level-card::after{
      content:"";
      position:absolute;
      right:-28px;
      top:-28px;
      width:100px;
      height:100px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(244,63,127,.12), transparent 68%);
      pointer-events:none;
    }
    .level-tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(244,63,127,.10);
      color:var(--primary);
      font-size:12px;
      font-weight:850;
      margin-bottom:14px;
    }
    .level-no{
      position:absolute;
      top:18px;
      right:18px;
      width:38px;
      height:38px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      color:#fff;
      font-weight:900;
      box-shadow:0 10px 20px rgba(244,63,127,.18);
    }
    .level-card h3{
      font-size:21px;
      font-weight:900;
      margin:0 0 10px;
      padding-right:48px;
    }
    .level-card p{
      color:var(--muted);
      margin:0 0 16px;
      min-height:56px;
    }
    .point-list{
      display:grid;
      gap:10px;
      margin:0 0 18px;
      padding:0;
      list-style:none;
    }
    .point-list li{
      display:flex;
      gap:8px;
      color:var(--text);
      font-size:14px;
      line-height:1.65;
    }
    .point-list li::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      margin-top:8px;
      flex:0 0 auto;
    }
    .card-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--primary);
      font-weight:850;
      font-size:14px;
    }
    .card-link::after{
      content:"→";
      transition:transform var(--transition);
    }
    .card-link:hover::after{
      transform:translateX(3px);
    }

    .preview-card{
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      border-radius:26px;
      box-shadow:0 10px 26px rgba(23,21,31,.05);
      overflow:hidden;
      height:100%;
      transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    }
    .preview-card:hover{
      transform:translateY(-6px);
      box-shadow:var(--shadow-strong);
      border-color:rgba(244,63,127,.22);
    }
    .preview-cover{
      min-height:170px;
      background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,.42), transparent 24%),
        linear-gradient(135deg, rgba(244,63,127,.92), rgba(255,138,61,.88));
      padding:18px;
      position:relative;
      overflow:hidden;
    }
    .preview-cover::before,
    .preview-cover::after{
      content:"";
      position:absolute;
      border-radius:50%;
      background:rgba(255,255,255,.12);
    }
    .preview-cover::before{
      width:110px;height:110px;
      right:-26px;top:-18px;
    }
    .preview-cover::after{
      width:160px;height:160px;
      left:-60px;bottom:-88px;
      background:rgba(255,255,255,.10);
    }
    .preview-cover .tag-line{
      position:relative;
      z-index:1;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .mini-tag{
      display:inline-flex;
      align-items:center;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.18);
      color:#fff;
      font-size:12px;
      font-weight:800;
      border:1px solid rgba(255,255,255,.22);
    }
    .preview-body{
      padding:20px;
    }
    .preview-body h3{
      font-size:18px;
      font-weight:900;
      margin:0 0 8px;
    }
    .preview-body p{
      color:var(--muted);
      margin:0 0 14px;
      font-size:14px;
      line-height:1.7;
      min-height:70px;
    }
    .status-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-top:2px;
    }
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(48,213,200,.12);
      color:#0d766d;
      font-size:12px;
      font-weight:850;
    }
    .status-pill .pulse{
      width:8px;height:8px;border-radius:50%;
      background:var(--mint);
      box-shadow:0 0 0 6px rgba(48,213,200,.15);
    }

    .faq-wrap .accordion-item{
      border:1px solid rgba(242,219,226,.95);
      border-radius:18px !important;
      overflow:hidden;
      background:#fff;
      box-shadow:0 10px 22px rgba(23,21,31,.04);
      margin-bottom:14px;
    }
    .faq-wrap .accordion-button{
      background:#fff;
      color:var(--text);
      font-weight:850;
      padding:18px 20px;
      box-shadow:none;
    }
    .faq-wrap .accordion-button:not(.collapsed){
      background:linear-gradient(180deg, rgba(255,240,244,.8), #fff);
      color:var(--text);
      box-shadow:none;
    }
    .faq-wrap .accordion-button:focus{
      border-color:rgba(244,63,127,.35);
      box-shadow:0 0 0 .24rem rgba(244,63,127,.12);
    }
    .faq-wrap .accordion-button::after{
      background-image:none;
      content:"+";
      width:28px;
      height:28px;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:var(--primary);
      font-size:20px;
      font-weight:700;
      line-height:1;
      transform:none;
      margin-left:auto;
    }
    .faq-wrap .accordion-button:not(.collapsed)::after{
      content:"−";
      transform:none;
    }
    .faq-wrap .accordion-body{
      color:var(--muted);
      padding:0 20px 18px;
      border-top:1px solid rgba(242,219,226,.8);
      margin-top:0;
    }
    .faq-wrap .accordion-item:not(:first-of-type){
      border-top:1px solid rgba(242,219,226,.95);
    }

    .cta-panel{
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 28%),
        linear-gradient(135deg, rgba(244,63,127,.95), rgba(255,138,61,.92));
      color:#fff;
      border-radius:34px;
      padding:32px;
      position:relative;
      overflow:hidden;
      box-shadow:0 20px 44px rgba(244,63,127,.20);
    }
    .cta-panel::before{
      content:"";
      position:absolute;
      left:-70px;
      bottom:-80px;
      width:220px;
      height:220px;
      border-radius:50%;
      background:rgba(255,255,255,.10);
    }
    .cta-panel::after{
      content:"";
      position:absolute;
      right:16px;
      top:16px;
      width:110px;
      height:110px;
      border-radius:28px;
      background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.02));
      transform:rotate(10deg);
    }
    .cta-panel h2{
      font-size:clamp(24px, 3vw, 36px);
      line-height:1.2;
      font-weight:900;
      margin:0 0 12px;
      position:relative;
      z-index:1;
    }
    .cta-panel p{
      margin:0 0 18px;
      color:rgba(255,255,255,.92);
      max-width:620px;
      position:relative;
      z-index:1;
    }
    .cta-points{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
      position:relative;
      z-index:1;
    }
    .cta-points li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#fff;
      font-weight:700;
      font-size:14px;
    }
    .cta-points li::before{
      content:"";
      width:9px;height:9px;border-radius:50%;
      background:rgba(255,255,255,.95);
      box-shadow:0 0 0 6px rgba(255,255,255,.12);
      margin-top:8px;
      flex:0 0 auto;
    }
    .form-shell{
      position:relative;
      z-index:1;
      background:rgba(255,255,255,.96);
      border-radius:26px;
      padding:22px;
      color:var(--text);
      box-shadow:0 14px 32px rgba(23,21,31,.08);
    }
    .form-shell label{
      font-weight:800;
      font-size:13px;
      color:var(--text);
      margin-bottom:8px;
    }
    .form-control, .form-select, textarea.form-control{
      border-radius:16px;
      border:1px solid rgba(242,219,226,.95);
      background:#fff;
      padding:.84rem 1rem;
      box-shadow:none;
      color:var(--text);
    }
    .form-control:focus, .form-select:focus, textarea.form-control:focus{
      border-color:rgba(244,63,127,.45);
      box-shadow:0 0 0 .25rem rgba(244,63,127,.12);
    }
    textarea.form-control{min-height:108px;resize:vertical}
    .form-note{
      font-size:12px;
      color:#a196a7;
      margin-top:10px;
    }

    .demo-card{
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      border-radius:26px;
      box-shadow:0 10px 28px rgba(23,21,31,.05);
      padding:24px;
      height:100%;
    }
    .demo-stage{
      background:linear-gradient(180deg, rgba(255,240,244,.7), rgba(255,255,255,.95));
      border-radius:24px;
      border:1px solid rgba(242,219,226,.8);
      padding:22px;
      min-height:100%;
    }
    .demo-step{
      display:flex;
      gap:14px;
      align-items:flex-start;
      padding:14px 0;
      border-bottom:1px dashed rgba(242,219,226,.92);
    }
    .demo-step:last-child{border-bottom:0;padding-bottom:0}
    .demo-step .n{
      width:38px;height:38px;border-radius:14px;
      background:linear-gradient(135deg, rgba(244,63,127,.14), rgba(255,138,61,.14));
      color:var(--primary);
      display:grid;
      place-items:center;
      font-weight:900;
      flex:0 0 auto;
    }
    .demo-step h3{
      font-size:16px;
      font-weight:850;
      margin:0 0 4px;
    }
    .demo-step p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .mini-matrix{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:12px;
    }
    .mini-box{
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      border-radius:18px;
      padding:14px;
    }
    .mini-box strong{
      display:block;
      font-size:14px;
      font-weight:850;
      margin-bottom:6px;
    }
    .mini-box span{
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }

    .bubble-wall{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
    }
    .bubble{
      background:#fff;
      border:1px solid rgba(242,219,226,.95);
      border-radius:22px;
      padding:18px;
      box-shadow:0 10px 26px rgba(23,21,31,.05);
      position:relative;
    }
    .bubble::before{
      content:"";
      position:absolute;
      width:12px;
      height:12px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      left:18px;
      top:-6px;
      box-shadow:0 0 0 6px rgba(244,63,127,.08);
    }
    .bubble-top{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:12px;
    }
    .avatar{
      width:42px;height:42px;border-radius:50%;
      background:linear-gradient(135deg, rgba(244,63,127,.18), rgba(255,138,61,.16));
      border:1px solid rgba(242,219,226,.95);
      display:grid;
      place-items:center;
      font-weight:900;
      color:var(--primary);
      flex:0 0 auto;
    }
    .bubble-top strong{
      display:block;
      font-size:15px;
      font-weight:900;
    }
    .bubble-top span{
      color:var(--muted-2);
      font-size:12px;
    }
    .bubble p{
      margin:0;
      color:var(--text);
      font-size:14px;
      line-height:1.75;
    }

    .footer{
      background:linear-gradient(180deg, #19151f, #141118);
      color:rgba(255,255,255,.88);
      padding:48px 0 30px;
      margin-top:24px;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:14px;
    }
    .footer-brand .brand-mark{
      box-shadow:none;
    }
    .footer h3{
      font-size:17px;
      font-weight:900;
      color:#fff;
      margin:0 0 12px;
    }
    .footer p, .footer li, .footer a{
      color:rgba(255,255,255,.74);
      font-size:14px;
    }
    .footer a:hover{color:#fff}
    .footer-links{
      display:grid;
      gap:10px;
      padding:0;
      list-style:none;
      margin:0;
    }
    .footer-links a{
      display:inline-flex;
      align-items:center;
      gap:8px;
    }
    .footer-links a::before{
      content:"";
      width:6px;height:6px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      flex:0 0 auto;
    }
    .footer-bottom{
      margin-top:28px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.10);
      color:rgba(255,255,255,.58);
      font-size:13px;
    }

    .section-mini-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:18px;
      flex-wrap:wrap;
    }
    .tiny-tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(244,63,127,.10);
      color:var(--primary);
      font-size:12px;
      font-weight:850;
    }
    .tiny-tag .square{
      width:8px;height:8px;border-radius:2px;background:var(--accent);
    }

    .topline-note{
      padding:16px 18px;
      background:rgba(255,255,255,.78);
      border:1px solid rgba(242,219,226,.95);
      border-radius:20px;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
      box-shadow:0 10px 22px rgba(23,21,31,.04);
    }
    .chip-grid{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .chip-grid .pill{
      background:#fff;
    }

    .split-layout{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:18px;
    }

    @media (max-width: 1199.98px){
      .hero-inner{padding:28px}
      .split-layout{grid-template-columns:1fr}
      .nav-search{width:100%}
    }

    @media (max-width: 991.98px){
      .navbar-collapse{
        padding-top:10px;
      }
      .navbar-nav{
        padding:12px 0 6px;
      }
      .nav-search{
        margin:10px 0 12px;
        width:100%;
      }
      .hero-title{
        font-size:clamp(28px, 6vw, 38px);
      }
      .hero-desc{
        font-size:16px;
      }
      .hero-shell{
        border-radius:28px;
      }
      .hero-panel{margin-top:16px}
      .section-wrap{padding:68px 0}
      .bubble-wall{
        grid-template-columns:1fr;
      }
      .mini-matrix{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 767.98px){
      .site-header .navbar{
        padding:10px 0;
      }
      .brand-text strong{
        font-size:14px;
      }
      .brand-text span{
        display:none;
      }
      .hero-section{
        padding:18px 0 36px;
      }
      .hero-inner{
        padding:20px;
      }
      .hero-actions{
        flex-direction:column;
        align-items:stretch;
      }
      .hero-actions .btn{
        width:100%;
      }
      .hero-chips{
        gap:8px;
      }
      .pill{
        width:100%;
        justify-content:center;
      }
      .section-wrap{
        padding:56px 0;
      }
      .section-head{
        margin-bottom:20px;
      }
      .panel-card-head{
        padding:16px;
      }
      .faq-wrap .accordion-button{
        padding:16px;
      }
      .faq-wrap .accordion-body{
        padding:0 16px 16px;
      }
      .cta-panel{
        padding:22px;
        border-radius:28px;
      }
      .form-shell{
        padding:16px;
      }
      .footer{
        padding:38px 0 24px;
      }
    }

    @media (max-width: 575.98px){
      .hero-title{
        font-size:28px;
      }
      .section-title{
        font-size:24px;
      }
      .level-card,
      .preview-card,
      .bubble,
      .demo-card,
      .mobile-compare-card{
        border-radius:20px;
      }
      .hero-shell{
        border-radius:24px;
      }
      .feature-table{
        font-size:13px;
      }
      .hero-panel-head{
        flex-direction:column;
      }
      .score-badge{
        width:100%;
      }
    }

    .mobile-only{display:none}
    @media (max-width: 767.98px){
      .desktop-only{display:none !important}
      .mobile-only{display:block}
    }

/* roulang page: category1 */
:root{
      --bg: #fff9f6;
      --bg-soft: #fff0f4;
      --surface: #ffffff;
      --surface-2: #fff8fb;
      --text: #17151f;
      --muted: #6f6675;
      --line: #f0dfe6;
      --line-strong: #efb9cb;
      --primary: #f43f7f;
      --primary-2: #ff8a3d;
      --accent: #30d5c8;
      --shadow: 0 18px 50px rgba(244, 63, 127, .10);
      --shadow-strong: 0 22px 60px rgba(244, 63, 127, .16);
      --radius-xl: 28px;
      --radius-lg: 22px;
      --radius-md: 18px;
      --radius-sm: 14px;
      --container: 1220px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at top left, rgba(244, 63, 127, .10), transparent 26%),
        radial-gradient(circle at top right, rgba(255, 138, 61, .10), transparent 24%),
        linear-gradient(180deg, #fffdfc 0%, var(--bg) 34%, #fff 100%);
      line-height: 1.75;
      overflow-x: hidden;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: .24s ease;
    }

    a:hover {
      color: var(--primary);
    }

    img {
      max-width: 100%;
      display: block;
    }

    .container {
      max-width: var(--container);
    }

    .section {
      padding: 72px 0;
    }

    .section-tight {
      padding: 48px 0;
    }

    .section-title {
      margin-bottom: 1.4rem;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      border-radius: 999px;
      padding: .42rem .85rem;
      background: rgba(244, 63, 127, .10);
      color: var(--primary);
      font-size: .88rem;
      font-weight: 700;
      letter-spacing: .02em;
    }

    .eyebrow.soft {
      background: rgba(48, 213, 200, .12);
      color: #179b91;
    }

    h1, h2, h3, h4, h5 {
      margin: 0;
      color: var(--text);
      letter-spacing: -.02em;
    }

    .h1-like,
    h1 {
      font-size: clamp(2rem, 4vw, 3.45rem);
      line-height: 1.18;
      font-weight: 800;
    }

    h2 {
      font-size: clamp(1.7rem, 3vw, 2.5rem);
      line-height: 1.22;
      font-weight: 750;
    }

    h3 {
      font-size: clamp(1.2rem, 1.8vw, 1.45rem);
      line-height: 1.28;
      font-weight: 700;
    }

    p {
      margin-bottom: 0;
      color: var(--muted);
      font-size: 1rem;
    }

    .small-note {
      font-size: .94rem;
      color: var(--muted);
    }

    .btn {
      border: none;
      font-weight: 700;
      border-radius: 999px;
      padding: .82rem 1.3rem;
      transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease, border-color .24s ease;
    }

    .btn:focus,
    .form-control:focus,
    .form-select:focus {
      box-shadow: 0 0 0 .25rem rgba(244, 63, 127, .14);
    }

    .btn-brand {
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%);
      color: #fff;
      box-shadow: 0 12px 30px rgba(244, 63, 127, .28);
    }

    .btn-brand:hover {
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 16px 36px rgba(244, 63, 127, .34);
      background: linear-gradient(135deg, var(--primary-2) 0%, var(--primary) 100%);
    }

    .btn-outline-brand {
      background: #fff;
      color: var(--text);
      border: 1px solid rgba(244, 63, 127, .25);
      box-shadow: 0 10px 28px rgba(244, 63, 127, .06);
    }

    .btn-outline-brand:hover {
      color: var(--primary);
      background: rgba(244, 63, 127, .08);
      transform: translateY(-2px);
      border-color: rgba(244, 63, 127, .34);
    }

    .badge-soft {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      padding: .42rem .7rem;
      border-radius: 999px;
      font-size: .82rem;
      font-weight: 700;
      background: rgba(244, 63, 127, .10);
      color: var(--primary);
    }

    .badge-soft.alt {
      background: rgba(255, 138, 61, .12);
      color: #c85b1f;
    }

    .badge-soft.mint {
      background: rgba(48, 213, 200, .12);
      color: #15948c;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1020;
      background: rgba(255, 249, 246, .92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--line);
      box-shadow: 0 6px 26px rgba(23, 21, 31, .04);
    }

    .navbar {
      padding: .82rem 0;
    }

    .brand-wrap {
      display: inline-flex;
      align-items: center;
      gap: .88rem;
    }

    .brand-mark {
      width: 46px;
      height: 46px;
      border-radius: 16px;
      background: linear-gradient(145deg, var(--primary), var(--primary-2));
      box-shadow: 0 12px 28px rgba(244, 63, 127, .28);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
    }

    .brand-mark svg {
      width: 28px;
      height: 28px;
    }

    .brand-text strong {
      display: block;
      font-size: 1rem;
      line-height: 1.1;
      color: var(--text);
    }

    .brand-text span {
      display: block;
      margin-top: .18rem;
      font-size: .82rem;
      color: var(--muted);
    }

    .navbar-nav {
      gap: .28rem;
    }

    .nav-link {
      border-radius: 999px;
      padding: .72rem 1rem !important;
      font-weight: 700;
      color: var(--text);
    }

    .nav-link:hover,
    .nav-link.active {
      color: var(--primary) !important;
      background: rgba(244, 63, 127, .10);
    }

    .nav-search {
      align-items: center;
      gap: .65rem;
    }

    .nav-search .form-control {
      min-width: 240px;
      border-radius: 999px;
      border: 1px solid var(--line);
      padding: .8rem 1rem;
      background: #fff;
      color: var(--text);
    }

    .nav-search .form-control::placeholder {
      color: #9d94a4;
    }

    .nav-search .form-control:focus {
      border-color: var(--primary);
      background: #fff;
    }

    .navbar-toggler {
      border-radius: 14px;
      padding: .55rem .7rem;
      background: #fff;
      border: 1px solid var(--line);
    }

    .navbar-toggler-icon {
      width: 1.25em;
      height: 1.25em;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba%28244,63,127,.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.3' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }

    .category-hero {
      padding: 22px 0 8px;
    }

    .hero-shell {
      background:
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(255, 240, 244, .88) 58%, rgba(255, 241, 232, .92) 100%);
      border: 1px solid rgba(244, 63, 127, .12);
      border-radius: 32px;
      box-shadow: var(--shadow);
      overflow: hidden;
      position: relative;
    }

    .hero-shell::before,
    .hero-shell::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      pointer-events: none;
    }

    .hero-shell::before {
      width: 240px;
      height: 240px;
      top: -130px;
      right: -90px;
      background: radial-gradient(circle, rgba(244, 63, 127, .16), transparent 68%);
    }

    .hero-shell::after {
      width: 180px;
      height: 180px;
      bottom: -90px;
      left: -70px;
      background: radial-gradient(circle, rgba(255, 138, 61, .15), transparent 68%);
    }

    .hero-inner {
      position: relative;
      z-index: 1;
      padding: 1.5rem;
    }

    .breadcrumb {
      margin-bottom: 1rem;
      font-size: .92rem;
    }

    .breadcrumb-item a {
      color: var(--muted);
    }

    .breadcrumb-item.active {
      color: var(--text);
    }

    .breadcrumb-item + .breadcrumb-item::before {
      color: #b9abb5;
    }

    .hero-title {
      max-width: 14ch;
      margin-top: .85rem;
      margin-bottom: .95rem;
    }

    .hero-lead {
      max-width: 60ch;
      font-size: 1.05rem;
      color: #544c5a;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: .78rem;
      margin-top: 1.4rem;
    }

    .hero-kpis {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: .9rem;
      margin-top: 1.4rem;
    }

    .kpi-card {
      background: rgba(255, 255, 255, .82);
      border: 1px solid rgba(240, 223, 230, .94);
      border-radius: 22px;
      padding: 1rem 1rem .95rem;
      box-shadow: 0 10px 30px rgba(244, 63, 127, .08);
      min-height: 110px;
    }

    .kpi-card .kpi-num {
      font-size: 1.38rem;
      font-weight: 800;
      color: var(--text);
      line-height: 1.1;
      margin-bottom: .35rem;
    }

    .kpi-card .kpi-label {
      font-size: .88rem;
      color: var(--muted);
    }

    .kpi-card .kpi-tag {
      display: inline-flex;
      margin-top: .7rem;
      padding: .24rem .52rem;
      border-radius: 999px;
      background: rgba(244, 63, 127, .10);
      color: var(--primary);
      font-size: .78rem;
      font-weight: 700;
    }

    .hero-side {
      padding: 1.5rem 1.5rem 1.5rem 0;
      position: relative;
      z-index: 1;
    }

    .hero-panel {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(244, 63, 127, .10);
      border-radius: 26px;
      padding: 1.2rem;
      box-shadow: 0 12px 34px rgba(244, 63, 127, .08);
      height: 100%;
    }

    .hero-step {
      display: flex;
      gap: .9rem;
      align-items: flex-start;
      padding: .78rem 0;
      border-bottom: 1px dashed rgba(240, 223, 230, .9);
    }

    .hero-step:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }

    .hero-step:first-child {
      padding-top: 0;
    }

    .step-mark {
      width: 34px;
      height: 34px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, rgba(244, 63, 127, .16), rgba(255, 138, 61, .16));
      color: var(--primary);
      font-weight: 800;
      flex: 0 0 auto;
    }

    .step-content strong {
      display: block;
      font-size: .98rem;
      margin-bottom: .1rem;
      color: var(--text);
    }

    .step-content span {
      display: block;
      color: var(--muted);
      font-size: .92rem;
    }

    .mini-tags {
      display: flex;
      flex-wrap: wrap;
      gap: .55rem;
      margin-top: 1rem;
    }

    .mini-tags .chip {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      padding: .42rem .7rem;
      border-radius: 999px;
      background: #fff;
      border: 1px solid var(--line);
      color: var(--text);
      font-size: .84rem;
      font-weight: 700;
    }

    .tag-strip {
      padding-top: 10px;
      padding-bottom: 0;
    }

    .tag-scroll {
      display: flex;
      gap: .72rem;
      overflow-x: auto;
      padding-bottom: .3rem;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

    .tag-scroll::-webkit-scrollbar {
      display: none;
    }

    .pill-link {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      border-radius: 999px;
      padding: .68rem 1rem;
      background: #fff;
      border: 1px solid var(--line);
      color: var(--text);
      font-weight: 700;
      box-shadow: 0 10px 26px rgba(244, 63, 127, .05);
    }

    .pill-link.active {
      background: linear-gradient(135deg, var(--primary), var(--primary-2));
      color: #fff;
      border-color: transparent;
      box-shadow: 0 14px 30px rgba(244, 63, 127, .24);
    }

    .pill-link:hover {
      transform: translateY(-1px);
    }

    .content-grid {
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
      gap: 1.5rem;
      align-items: start;
    }

    .card-stack {
      display: grid;
      gap: 1rem;
    }

    .story-card {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 26px;
      overflow: hidden;
      box-shadow: 0 14px 34px rgba(244, 63, 127, .07);
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      height: 100%;
    }

    .story-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-strong);
      border-color: rgba(244, 63, 127, .20);
    }

    .story-media {
      min-height: 178px;
      padding: 1.15rem;
      background:
        radial-gradient(circle at 25% 25%, rgba(255, 255, 255, .45), transparent 30%),
        linear-gradient(135deg, rgba(244, 63, 127, .95), rgba(255, 138, 61, .92));
      position: relative;
      overflow: hidden;
    }

    .story-media::before,
    .story-media::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      background: rgba(255, 255, 255, .16);
    }

    .story-media::before {
      width: 120px;
      height: 120px;
      right: -25px;
      top: -18px;
    }

    .story-media::after {
      width: 74px;
      height: 74px;
      left: 18px;
      bottom: 18px;
    }

    .story-media .media-tag {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      padding: .34rem .58rem;
      border-radius: 999px;
      background: rgba(255, 255, 255, .18);
      color: #fff;
      font-size: .8rem;
      font-weight: 700;
      border: 1px solid rgba(255, 255, 255, .20);
    }

    .story-media .media-title {
      position: relative;
      z-index: 1;
      margin-top: 1rem;
      max-width: 12ch;
      color: #fff;
      font-size: 1.5rem;
      line-height: 1.15;
      font-weight: 800;
      letter-spacing: -.03em;
    }

    .story-media .media-spot {
      position: absolute;
      inset: auto 18px 18px auto;
      width: 92px;
      height: 92px;
      border-radius: 24px;
      background: linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .04));
      border: 1px solid rgba(255, 255, 255, .18);
      backdrop-filter: blur(6px);
    }

    .story-body {
      padding: 1.15rem 1.15rem 1.2rem;
    }

    .story-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .6rem;
      margin-bottom: .8rem;
    }

    .story-meta .meta-line {
      font-size: .86rem;
      color: var(--muted);
    }

    .story-title {
      margin-bottom: .7rem;
      font-size: 1.18rem;
      line-height: 1.35;
      font-weight: 800;
    }

    .story-excerpt {
      font-size: .98rem;
      color: var(--muted);
      margin-bottom: .95rem;
    }

    .story-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .75rem;
      flex-wrap: wrap;
    }

    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: .48rem;
    }

    .tag-row .mini-badge {
      display: inline-flex;
      align-items: center;
      padding: .28rem .55rem;
      border-radius: 999px;
      background: rgba(244, 63, 127, .10);
      color: var(--primary);
      font-size: .78rem;
      font-weight: 700;
    }

    .sidebar {
      display: grid;
      gap: 1rem;
      position: sticky;
      top: 96px;
    }

    .side-box {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 26px;
      box-shadow: 0 14px 34px rgba(244, 63, 127, .06);
      padding: 1.2rem;
    }

    .side-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .75rem;
      margin-bottom: 1rem;
    }

    .side-head h3 {
      font-size: 1.08rem;
    }

    .chip-list {
      display: flex;
      flex-wrap: wrap;
      gap: .55rem;
    }

    .chip-list .chip {
      padding: .48rem .72rem;
      border-radius: 999px;
      background: var(--surface-2);
      border: 1px solid var(--line);
      color: var(--text);
      font-size: .84rem;
      font-weight: 700;
    }

    .side-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .side-list li {
      display: flex;
      gap: .78rem;
      align-items: flex-start;
      padding: .78rem 0;
      border-bottom: 1px dashed var(--line);
    }

    .side-list li:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }

    .dot {
      width: 10px;
      height: 10px;
      margin-top: .48rem;
      border-radius: 999px;
      background: linear-gradient(135deg, var(--primary), var(--primary-2));
      box-shadow: 0 0 0 4px rgba(244, 63, 127, .10);
      flex: 0 0 auto;
    }

    .side-list strong {
      display: block;
      margin-bottom: .2rem;
      color: var(--text);
    }

    .side-list span {
      color: var(--muted);
      font-size: .92rem;
    }

    .mini-cta {
      border-radius: 24px;
      padding: 1.15rem;
      background: linear-gradient(135deg, rgba(244, 63, 127, .10), rgba(255, 138, 61, .10));
      border: 1px solid rgba(244, 63, 127, .12);
    }

    .mini-cta .btn {
      width: 100%;
    }

    .accordion-wrap .accordion-item {
      border: 1px solid var(--line);
      border-radius: 20px !important;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 12px 30px rgba(244, 63, 127, .05);
      margin-bottom: .9rem;
    }

    .accordion-wrap .accordion-button {
      background: #fff;
      font-weight: 800;
      color: var(--text);
      padding: 1.05rem 1.15rem;
      box-shadow: none !important;
    }

    .accordion-wrap .accordion-button:not(.collapsed) {
      color: var(--text);
      background: linear-gradient(90deg, rgba(244, 63, 127, .08), rgba(255, 255, 255, .95));
    }

    .accordion-wrap .accordion-button:focus {
      box-shadow: none;
    }

    .accordion-wrap .accordion-button::after {
      width: 1rem;
      height: 1rem;
      background-size: 1rem;
      opacity: .88;
      filter: hue-rotate(310deg) saturate(3);
    }

    .accordion-wrap .accordion-body {
      padding: 0 1.15rem 1.05rem;
      color: var(--muted);
    }

    .faq-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .75rem;
      margin-bottom: 1.15rem;
    }

    .faq-title .sticker {
      display: inline-flex;
      align-items: center;
      padding: .4rem .72rem;
      border-radius: 999px;
      background: rgba(244, 63, 127, .10);
      color: var(--primary);
      font-size: .86rem;
      font-weight: 700;
    }

    .cta-panel {
      background:
        radial-gradient(circle at top right, rgba(255, 138, 61, .18), transparent 24%),
        linear-gradient(135deg, #fff 0%, #fff1f5 48%, #ffeae0 100%);
      border: 1px solid rgba(244, 63, 127, .14);
      border-radius: 32px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .cta-panel-inner {
      padding: 1.5rem;
    }

    .cta-bullets {
      list-style: none;
      padding: 0;
      margin: 1rem 0 0;
      display: grid;
      gap: .72rem;
    }

    .cta-bullets li {
      display: flex;
      gap: .72rem;
      align-items: flex-start;
      color: var(--text);
    }

    .cta-bullets .tick {
      width: 22px;
      height: 22px;
      border-radius: 7px;
      background: linear-gradient(135deg, var(--primary), var(--primary-2));
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .8rem;
      font-weight: 800;
      flex: 0 0 auto;
      margin-top: .08rem;
    }

    .form-card {
      background: rgba(255, 255, 255, .8);
      border: 1px solid rgba(244, 63, 127, .14);
      border-radius: 24px;
      padding: 1.15rem;
      box-shadow: 0 14px 34px rgba(244, 63, 127, .07);
    }

    .form-card .form-label {
      font-weight: 700;
      color: var(--text);
      margin-bottom: .45rem;
    }

    .form-control,
    .form-select {
      border-radius: 16px;
      border: 1px solid var(--line);
      padding: .88rem 1rem;
      background: #fff;
      color: var(--text);
    }

    .form-control::placeholder {
      color: #a79cab;
    }

    .form-control:focus,
    .form-select:focus {
      border-color: var(--primary);
    }

    .footer {
      background: #18131d;
      color: #efeaf1;
      padding: 3.6rem 0 1.35rem;
      margin-top: 12px;
    }

    .footer h3 {
      color: #fff;
      font-size: 1.08rem;
      margin-bottom: .95rem;
    }

    .footer p,
    .footer span,
    .footer a {
      color: rgba(255, 255, 255, .78);
    }

    .footer a:hover {
      color: #fff;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: .8rem;
      margin-bottom: 1rem;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: .7rem;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, .12);
      margin-top: 2rem;
      padding-top: 1rem;
      display: flex;
      justify-content: space-between;
      gap: .75rem;
      flex-wrap: wrap;
      font-size: .94rem;
    }

    .copyright-link {
      color: rgba(255, 255, 255, .8);
    }

    .pagination {
      --bs-pagination-padding-x: .9rem;
      --bs-pagination-padding-y: .6rem;
      --bs-pagination-border-radius: 999px;
      --bs-pagination-color: var(--text);
      --bs-pagination-border-color: var(--line);
      --bs-pagination-hover-color: var(--primary);
      --bs-pagination-hover-bg: rgba(244, 63, 127, .08);
      --bs-pagination-hover-border-color: rgba(244, 63, 127, .18);
      --bs-pagination-focus-color: var(--primary);
      --bs-pagination-focus-bg: rgba(244, 63, 127, .08);
      --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(244, 63, 127, .12);
      --bs-pagination-active-bg: linear-gradient(135deg, var(--primary), var(--primary-2));
      --bs-pagination-active-border-color: transparent;
    }

    .pagination .page-link {
      margin: 0 .18rem;
      border-radius: 999px !important;
      border: 1px solid var(--line);
      color: var(--text);
      font-weight: 700;
    }

    .pagination .page-item.active .page-link {
      color: #fff;
      border-color: transparent;
    }

    .search-mini {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: .95rem;
    }

    .search-mini .form-control {
      border-radius: 999px;
      margin-bottom: .75rem;
    }

    .sticky-note {
      padding: .85rem .95rem;
      border-radius: 18px;
      background: rgba(244, 63, 127, .08);
      color: #5d4a56;
      border: 1px solid rgba(244, 63, 127, .12);
      font-size: .93rem;
    }

    .crumb-chip {
      display: inline-flex;
      align-items: center;
      gap: .38rem;
      padding: .38rem .7rem;
      border-radius: 999px;
      background: rgba(255, 255, 255, .82);
      border: 1px solid var(--line);
      color: var(--text);
      font-size: .86rem;
      font-weight: 700;
    }

    .content-wrap {
      position: relative;
      z-index: 1;
    }

    .section-heading {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 1.1rem;
    }

    .section-heading .desc {
      max-width: 52ch;
    }

    .table-like {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 26px;
      overflow: hidden;
      box-shadow: 0 14px 34px rgba(244, 63, 127, .07);
    }

    .table-like .head-row {
      display: grid;
      grid-template-columns: 1.1fr 1fr 1fr;
      background: linear-gradient(135deg, var(--primary), var(--primary-2));
      color: #fff;
    }

    .table-like .head-row div,
    .table-like .body-row div {
      padding: 1rem 1.1rem;
      border-right: 1px solid rgba(255, 255, 255, .12);
    }

    .table-like .head-row div:last-child,
    .table-like .body-row div:last-child {
      border-right: 0;
    }

    .table-like .head-row div {
      font-weight: 800;
    }

    .table-like .body-row {
      display: grid;
      grid-template-columns: 1.1fr 1fr 1fr;
      border-top: 1px solid var(--line);
      background: #fff;
    }

    .table-like .body-row:nth-child(odd) {
      background: #fffdfd;
    }

    .table-like .body-row .row-label {
      color: var(--text);
      font-weight: 700;
    }

    .table-like .body-row .cell {
      color: var(--muted);
    }

    .table-like .body-row .highlight {
      background: rgba(244, 63, 127, .05);
      border-left: 1px solid rgba(244, 63, 127, .08);
      border-right: 1px solid rgba(244, 63, 127, .08);
      position: relative;
    }

    .table-like .body-row .highlight::before {
      content: "推荐";
      position: absolute;
      top: .8rem;
      right: .8rem;
      font-size: .76rem;
      color: var(--primary);
      background: rgba(244, 63, 127, .10);
      border-radius: 999px;
      padding: .24rem .48rem;
      font-weight: 800;
    }

    @media (max-width: 1199.98px) {
      .hero-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .content-grid {
        grid-template-columns: 1fr;
      }
      .sidebar {
        position: static;
      }
    }

    @media (max-width: 991.98px) {
      .nav-search {
        margin-top: .9rem;
      }
      .nav-search .form-control {
        min-width: 0;
      }
      .hero-inner {
        padding: 1.25rem;
      }
      .hero-side {
        padding: 0 1.25rem 1.25rem;
      }
      .section {
        padding: 62px 0;
      }
      .table-like .head-row,
      .table-like .body-row {
        grid-template-columns: 1fr;
      }
      .table-like .head-row div,
      .table-like .body-row div {
        border-right: 0;
        border-bottom: 1px solid rgba(240, 223, 230, .9);
      }
      .table-like .body-row div:last-child {
        border-bottom: 0;
      }
      .table-like .body-row .highlight::before {
        top: .65rem;
      }
    }

    @media (max-width: 767.98px) {
      .brand-text span {
        display: none;
      }
      .hero-title {
        max-width: 100%;
      }
      .hero-kpis {
        grid-template-columns: 1fr;
      }
      .hero-actions {
        flex-direction: column;
      }
      .hero-actions .btn {
        width: 100%;
      }
      .section {
        padding: 52px 0;
      }
      .section-tight {
        padding: 40px 0;
      }
      .story-media {
        min-height: 164px;
      }
      .story-media .media-title {
        max-width: 100%;
      }
      .story-foot .btn {
        width: 100%;
      }
      .cta-panel-inner {
        padding: 1.2rem;
      }
      .footer {
        padding-top: 3rem;
      }
      .footer-bottom {
        flex-direction: column;
      }
    }

    @media (max-width: 575.98px) {
      .navbar {
        padding: .7rem 0;
      }
      .brand-mark {
        width: 42px;
        height: 42px;
        border-radius: 14px;
      }
      .brand-mark svg {
        width: 24px;
        height: 24px;
      }
      .hero-inner {
        padding: 1rem;
      }
      .hero-lead {
        font-size: .98rem;
      }
      .story-body {
        padding: 1rem;
      }
      .side-box {
        padding: 1rem;
      }
      .form-card {
        padding: 1rem;
      }
      .hero-shell,
      .story-card,
      .side-box,
      .cta-panel {
        border-radius: 22px;
      }
      .accordion-wrap .accordion-button {
        padding: .98rem 1rem;
      }
    }
