/* roulang page: index */
:root{
      --bg:#120B1F;
      --bg-2:#1A102B;
      --panel:#1E1531;
      --panel-2:#25183D;
      --light:#F6F1FF;
      --text:#F5F0FF;
      --muted:#C7B9E8;
      --line:rgba(190,165,255,.22);
      --line-strong:rgba(196,181,253,.42);
      --brand:#8E6CFF;
      --brand-2:#A78BFA;
      --brand-3:#C4B5FD;
      --mint:#21E6C1;
      --mint-2:#2FFFD0;
      --pink:#FF6BAA;
      --gold:#FFE66D;
      --shadow:0 20px 50px rgba(11, 6, 22, .42);
      --shadow-soft:0 12px 30px rgba(31, 22, 56, .18);
      --radius:10px;
      --radius-sm:8px;
      --space:24px;
      --container:1240px;
    }
    *{box-sizing:border-box}
    html{overflow-x:hidden}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
      line-height:1.7;
      color:#221533;
      background:
        radial-gradient(circle at 20% 10%, rgba(142,108,255,.18), transparent 28%),
        radial-gradient(circle at 80% 0%, rgba(33,230,193,.10), transparent 24%),
        linear-gradient(180deg, #140b23 0%, #120b1f 24%, #f6f1ff 24%, #f6f1ff 100%);
      overflow-x:hidden;
      padding-bottom:88px;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    .container{max-width:var(--container)}
    .site-header{
      backdrop-filter:saturate(140%) blur(16px);
      background:rgba(18,11,31,.72);
      border-bottom:1px solid rgba(196,181,253,.16);
      box-shadow:0 10px 30px rgba(3,1,10,.18);
    }
    .desktop-nav{
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
      gap:18px;
      min-height:82px;
    }
    .nav-side{
      display:flex;
      gap:10px;
      align-items:center;
    }
    .nav-left{justify-content:flex-end}
    .nav-right{justify-content:flex-start}
    .brand-center,
    .brand-mobile,
    .footer-brand{
      display:inline-flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:2px;
      color:var(--text);
      text-align:center;
    }
    .brand-center span,
    .brand-mobile span,
    .footer-brand span{
      font-size:1.05rem;
      font-weight:800;
      letter-spacing:0;
    }
    .brand-center small,
    .brand-mobile small,
    .footer-brand small{
      color:var(--muted);
      font-size:.8rem;
    }
    .nav-link{
      padding:.72rem .92rem;
      border-radius:999px;
      color:#efe8ff;
      font-weight:600;
      border:1px solid transparent;
      transition:all .22s ease;
    }
    .nav-link:hover,
    .nav-link:focus{
      color:#fff;
      border-color:rgba(196,181,253,.28);
      background:rgba(196,181,253,.08);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg, rgba(142,108,255,.26), rgba(33,230,193,.14));
      border-color:rgba(196,181,253,.28);
      box-shadow:0 12px 28px rgba(63, 38, 128, .26);
    }
    .btn-brand,
    .btn-brand-outline{
      border-radius:10px;
      font-weight:700;
      padding:.82rem 1.1rem;
      border:1px solid transparent;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    }
    .btn-brand{
      color:#fff;
      background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 55%, var(--mint) 130%);
      box-shadow:0 16px 30px rgba(110,71,255,.32);
    }
    .btn-brand:hover,
    .btn-brand:focus{
      color:#fff;
      transform:translateY(-1px);
      box-shadow:0 20px 36px rgba(110,71,255,.42);
    }
    .btn-brand-outline{
      color:var(--text);
      border-color:rgba(196,181,253,.34);
      background:rgba(255,255,255,.02);
    }
    .btn-brand-outline:hover,
    .btn-brand-outline:focus{
      color:#fff;
      border-color:rgba(33,230,193,.55);
      background:rgba(33,230,193,.10);
      transform:translateY(-1px);
    }
    .navbar-toggler{
      border:1px solid rgba(196,181,253,.22);
      color:#fff;
      box-shadow:none;
    }
    .navbar-toggler-icon{
      filter:invert(1) brightness(2);
    }
    .mobile-nav{
      padding:14px 0;
    }
    .mobile-menu{
      margin-top:12px;
    }
    .mobile-links{
      display:flex;
      flex-direction:column;
      gap:8px;
      padding:14px 0 4px;
    }
    .mobile-links .nav-link,
    .mobile-links .nav-cta{
      width:100%;
      text-align:left;
      border-radius:12px;
      justify-content:flex-start;
    }
    .page-shell{
      padding-top:28px;
    }
    .hero,
    .section-band,
    .page-section{
      position:relative;
      overflow:hidden;
    }
    .hero{
      padding:44px 0 28px;
      color:var(--text);
      background:
        linear-gradient(135deg, rgba(142,108,255,.18), rgba(18,11,31,.95) 40%, rgba(18,11,31,.98) 100%);
      border-bottom:1px solid rgba(196,181,253,.14);
    }
    .hero::before,
    .hero::after,
    .section-band::before,
    .page-section::before{
      content:"";
      position:absolute;
      inset:auto;
      pointer-events:none;
    }
    .hero::before{
      width:720px;height:720px;right:-320px;top:-220px;
      background:radial-gradient(circle, rgba(33,230,193,.16) 0%, rgba(33,230,193,0) 66%);
    }
    .hero::after{
      left:0;right:0;bottom:0;height:1px;
      background:linear-gradient(90deg, transparent, rgba(196,181,253,.42), transparent);
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.12fr .88fr;
      gap:28px;
      align-items:stretch;
      position:relative;
      z-index:1;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:.38rem .75rem;
      border-radius:999px;
      border:1px solid rgba(196,181,253,.24);
      background:rgba(255,255,255,.04);
      color:#efe8ff;
      font-size:.92rem;
      margin-bottom:18px;
    }
    .eyebrow .dot{
      width:8px;height:8px;border-radius:50%;
      background:var(--mint);
      box-shadow:0 0 0 4px rgba(33,230,193,.14);
    }
    .hero h1{
      font-size:clamp(2rem, 4vw, 3.55rem);
      line-height:1.08;
      font-weight:800;
      margin:0 0 18px;
      letter-spacing:0;
    }
    .hero p.lead-copy{
      max-width:38rem;
      color:#ddd3f7;
      font-size:1.05rem;
      margin-bottom:24px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-bottom:20px;
    }
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .mini-tag,
    .step-pill,
    .topic-chip,
    .footer-tag,
    .meta-chip{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:.44rem .78rem;
      border-radius:999px;
      border:1px solid rgba(196,181,253,.18);
      background:rgba(255,255,255,.05);
      color:#f1ebff;
      font-size:.86rem;
      white-space:nowrap;
    }
    .trust-strip{
      margin-top:20px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .trust-strip span,
    .trust-strip a{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:.5rem .8rem;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(196,181,253,.16);
      color:#f3edff;
      font-size:.9rem;
    }
    .hero-panel{
      background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
        linear-gradient(180deg, rgba(46,31,78,.92), rgba(20,12,35,.96));
      border:1px solid rgba(196,181,253,.16);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:20px;
      display:flex;
      flex-direction:column;
      gap:16px;
      min-height:100%;
    }
    .panel-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding-bottom:12px;
      border-bottom:1px solid rgba(196,181,253,.14);
    }
    .panel-title strong{
      font-size:1rem;
      color:#fff;
    }
    .panel-title small{
      color:var(--muted);
    }
    .panel-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }
    .panel-block{
      background:rgba(255,255,255,.03);
      border:1px solid rgba(196,181,253,.14);
      border-radius:var(--radius-sm);
      padding:14px;
      min-height:104px;
    }
    .panel-block .num{
      font-size:1.35rem;
      font-weight:800;
      color:var(--mint-2);
      margin-bottom:8px;
    }
    .panel-block h3{
      font-size:1rem;
      margin:0 0 6px;
      color:#fff;
    }
    .panel-block p{
      color:var(--muted);
      font-size:.92rem;
      margin:0;
    }
    .progress-wrap{
      display:grid;
      gap:10px;
    }
    .progress-line{
      height:12px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
      border:1px solid rgba(196,181,253,.16);
    }
    .progress-line .progress-bar{
      background:linear-gradient(90deg, var(--brand), var(--mint));
      border-radius:999px;
    }
    .status-list{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .status-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#f0e8ff;
      font-size:.95rem;
    }
    .status-dot{
      width:10px;height:10px;border-radius:50%;
      margin-top:.45rem;
      background:var(--mint);
      box-shadow:0 0 0 5px rgba(33,230,193,.13);
      flex:0 0 auto;
    }
    .section-band,
    .page-section{
      padding:74px 0;
    }
    .section-band.light{
      background:linear-gradient(180deg, #f6f1ff 0%, #f8f4ff 100%);
      color:#241538;
    }
    .section-band.dark{
      background:linear-gradient(180deg, #140b23 0%, #19102b 100%);
      color:var(--text);
    }
    .section-band::before{
      left:0;right:0;top:0;height:1px;
      background:linear-gradient(90deg, transparent, rgba(142,108,255,.55), transparent);
    }
    .section-head{
      display:flex;
      justify-content:space-between;
      gap:20px;
      align-items:end;
      margin-bottom:28px;
    }
    .section-head h2{
      margin:0;
      font-size:clamp(1.55rem, 2.2vw, 2.35rem);
      line-height:1.15;
      font-weight:800;
      letter-spacing:0;
    }
    .section-head p{
      margin:0;
      max-width:46rem;
      color:inherit;
      opacity:.82;
    }
    .light .section-head p,
    .light .card-copy,
    .light .muted-copy,
    .light .item-copy{
      color:#5a4d75;
      opacity:1;
    }
    .card-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0, 1fr));
      gap:22px;
    }
    .site-card{
      background:rgba(255,255,255,.03);
      border:1px solid rgba(196,181,253,.16);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      padding:18px;
      color:inherit;
      position:relative;
      overflow:hidden;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      min-height:100%;
    }
    .light .site-card{
      background:#fff;
      color:#28193c;
      box-shadow:0 18px 40px rgba(82,58,128,.08);
    }
    .site-card:hover{
      transform:translateY(-2px);
      border-color:rgba(33,230,193,.38);
      box-shadow:0 22px 46px rgba(19,10,39,.22);
    }
    .site-card .card-topline{
      height:3px;
      width:72px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--brand), var(--mint));
      margin-bottom:14px;
    }
    .site-card h3,
    .site-card h4{
      font-size:1.16rem;
      margin:0 0 10px;
      font-weight:800;
    }
    .site-card p{
      margin:0 0 14px;
      color:inherit;
      opacity:.88;
    }
    .card-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:14px;
    }
    .card-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .stat-band{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:16px;
    }
    .stat-box{
      border:1px solid rgba(196,181,253,.16);
      border-radius:var(--radius);
      padding:18px;
      background:rgba(255,255,255,.03);
    }
    .light .stat-box{
      background:#fff;
    }
    .stat-box .value{
      font-size:2rem;
      font-weight:800;
      color:var(--brand-2);
      line-height:1;
      margin-bottom:8px;
    }
    .stat-box .label{
      font-weight:700;
      margin-bottom:8px;
    }
    .stat-box .desc{
      font-size:.95rem;
      color:inherit;
      opacity:.78;
    }
    .timeline{
      display:grid;
      gap:16px;
    }
    .timeline-step{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:start;
      padding:16px 18px;
      border-radius:var(--radius);
      background:rgba(255,255,255,.03);
      border:1px solid rgba(196,181,253,.16);
    }
    .light .timeline-step{
      background:#fff;
    }
    .timeline-index{
      width:42px;height:42px;border-radius:12px;
      display:grid;place-items:center;
      font-weight:800;
      color:#fff;
      background:linear-gradient(135deg, var(--brand), var(--mint));
      box-shadow:0 12px 24px rgba(110,71,255,.22);
    }
    .timeline-step h4{
      margin:0 0 6px;
      font-size:1.05rem;
    }
    .timeline-step p{
      margin:0;
      color:inherit;
      opacity:.84;
    }
    .timeline-step .step-state{
      color:var(--mint-2);
      font-weight:700;
      white-space:nowrap;
    }
    .feature-rail{
      display:grid;
      gap:14px;
    }
    .feature-row{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px 16px;
      border-radius:var(--radius);
      border:1px solid rgba(196,181,253,.16);
      background:rgba(255,255,255,.03);
    }
    .light .feature-row{
      background:#fff;
    }
    .feature-icon{
      width:38px;height:38px;border-radius:10px;
      display:grid;place-items:center;
      color:#fff;
      background:linear-gradient(135deg, var(--brand), var(--mint));
      flex:0 0 auto;
    }
    .feature-row h4{
      font-size:1rem;
      margin:0 0 4px;
    }
    .feature-row p{
      margin:0;
      color:inherit;
      opacity:.84;
      font-size:.95rem;
    }
    .hero-note,
    .small-note{
      color:var(--muted);
      font-size:.92rem;
    }
    .info-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .info-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:12px 14px;
      border-radius:var(--radius-sm);
      border:1px solid rgba(196,181,253,.12);
      background:rgba(255,255,255,.03);
    }
    .light .info-list li{
      background:#fff;
    }
    .info-list i{
      color:var(--mint-2);
      flex:0 0 auto;
      margin-top:.15rem;
    }
    .site-accordion .accordion-item{
      background:transparent;
      border:1px solid rgba(196,181,253,.16);
      border-radius:var(--radius);
      overflow:hidden;
      margin-bottom:12px;
    }
    .light .site-accordion .accordion-item{
      background:#fff;
    }
    .site-accordion .accordion-button{
      background:transparent;
      color:inherit;
      font-weight:700;
      box-shadow:none;
      padding:1rem 1.1rem;
    }
    .site-accordion .accordion-button:not(.collapsed){
      color:#fff;
      background:rgba(142,108,255,.12);
      box-shadow:none;
    }
    .light .site-accordion .accordion-button:not(.collapsed){
      color:#28193c;
    }
    .site-accordion .accordion-button:focus{
      box-shadow:0 0 0 .2rem rgba(167,139,250,.18);
    }
    .site-accordion .accordion-body{
      color:inherit;
      opacity:.9;
      padding:0 1.1rem 1.1rem;
    }
    .cta-strip{
      border-top:1px solid rgba(196,181,253,.16);
      border-bottom:1px solid rgba(196,181,253,.16);
      background:linear-gradient(135deg, rgba(142,108,255,.16), rgba(33,230,193,.10));
      color:#fff;
    }
    .cta-strip .section-head p{
      opacity:.9;
      max-width:34rem;
    }
    .cta-panel{
      padding:22px;
      border-radius:var(--radius);
      background:rgba(255,255,255,.06);
      border:1px solid rgba(196,181,253,.18);
    }
    .consult-form .form-control,
    .consult-form .form-select{
      background:#fff;
      border:1px solid rgba(142,108,255,.22);
      border-radius:10px;
      padding:.82rem .95rem;
      color:#27183d;
      box-shadow:none;
    }
    .consult-form .form-control:focus,
    .consult-form .form-select:focus{
      border-color:rgba(33,230,193,.56);
      box-shadow:0 0 0 .2rem rgba(33,230,193,.12);
    }
    .consult-form label{
      font-weight:700;
      margin-bottom:.45rem;
    }
    .breadcrumb{
      --bs-breadcrumb-divider: ">";
      margin:0 0 18px;
      padding:0;
    }
    .breadcrumb .breadcrumb-item a{
      color:inherit;
      opacity:.78;
    }
    .breadcrumb .breadcrumb-item.active{
      color:inherit;
      opacity:1;
      font-weight:700;
    }
    .topic-filters{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:20px;
    }
    .topic-filters .topic-chip{
      color:inherit;
      background:rgba(255,255,255,.04);
    }
    .topic-filters .topic-chip.active{
      background:linear-gradient(135deg, rgba(142,108,255,.24), rgba(33,230,193,.14));
      border-color:rgba(33,230,193,.38);
      color:#fff;
    }
    .news-layout{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:22px;
      align-items:start;
    }
    .news-list{
      display:grid;
      gap:12px;
    }
    .news-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
      padding:14px 16px;
      border-radius:var(--radius);
      border:1px solid rgba(196,181,253,.14);
      background:rgba(255,255,255,.03);
      color:inherit;
      transition:all .18s ease;
    }
    .light .news-item{
      background:#fff;
    }
    .news-item:hover{
      transform:translateY(-1px);
      border-color:rgba(33,230,193,.34);
    }
    .news-item .news-index{
      width:34px;height:34px;border-radius:10px;
      display:grid;place-items:center;
      font-weight:800;
      color:#fff;
      background:linear-gradient(135deg, var(--brand), var(--mint));
    }
    .news-item h4{
      margin:0 0 4px;
      font-size:1.03rem;
    }
    .news-item p{
      margin:0;
      font-size:.94rem;
      color:inherit;
      opacity:.8;
    }
    .news-item .news-arrow{
      color:var(--mint-2);
      font-size:1.1rem;
    }
    .footer-band{
      background:linear-gradient(180deg, #120b1f 0%, #171027 100%);
      color:#fff;
      padding:42px 0 22px;
      border-top:1px solid rgba(196,181,253,.16);
    }
    .site-footer{
      background:#120b1f;
      color:#fff;
      padding:42px 0 92px;
      border-top:1px solid rgba(196,181,253,.16);
    }
    .footer-note{
      color:#d9cff8;
    }
    .footer-links{
      display:grid;
      gap:8px;
      justify-items:start;
    }
    .footer-links .nav-link{
      padding:.45rem .72rem;
      background:transparent;
    }
    .footer-link{
      color:var(--mint-2);
      font-weight:700;
    }
    .footer-bar{
      margin-top:24px;
      padding-top:18px;
      border-top:1px solid rgba(196,181,253,.14);
      display:flex;
      gap:16px;
      justify-content:space-between;
      color:#cdbff2;
      flex-wrap:wrap;
      font-size:.92rem;
    }
    .bottom-cta{
      position:fixed;
      left:0;right:0;bottom:0;
      z-index:1030;
      background:rgba(16,10,28,.82);
      backdrop-filter:blur(18px);
      border-top:1px solid rgba(196,181,253,.18);
      box-shadow:0 -16px 30px rgba(9,5,18,.28);
      padding:10px 0;
    }
    .bottom-cta-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
    }
    .bottom-cta-copy{
      color:#fff;
      display:flex;
      align-items:flex-start;
      flex-direction:column;
      gap:2px;
      min-width:0;
    }
    .bottom-cta-copy strong{
      font-size:1rem;
    }
    .bottom-cta-copy span{
      color:#d8cdee;
      font-size:.9rem;
    }
    .bottom-cta-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .bottom-cta .btn{
      min-width:148px;
    }
    .compare-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:18px;
    }
    .compare-card{
      padding:18px;
      border-radius:var(--radius);
      border:1px solid rgba(196,181,253,.16);
      background:rgba(255,255,255,.03);
      height:100%;
    }
    .light .compare-card{
      background:#fff;
    }
    .compare-card .compare-head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      margin-bottom:14px;
    }
    .compare-card h3{
      margin:0;
      font-size:1.15rem;
    }
    .compare-card ul{
      margin:0;
      padding-left:1.1rem;
      display:grid;
      gap:8px;
      color:inherit;
      opacity:.88;
    }
    .callout-box{
      border:1px solid rgba(196,181,253,.16);
      border-radius:var(--radius);
      padding:18px;
      background:rgba(255,255,255,.03);
    }
    .light .callout-box{
      background:#fff;
    }
    .profile-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:16px;
    }
    .profile-card{
      padding:18px;
      border-radius:var(--radius);
      border:1px solid rgba(196,181,253,.16);
      background:rgba(255,255,255,.03);
    }
    .light .profile-card{
      background:#fff;
    }
    .profile-card h4{
      margin:0 0 8px;
      font-size:1.05rem;
    }
    .profile-card p{
      margin:0;
      opacity:.86;
    }
    .highlight-wall{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:16px;
    }
    .highlight-item{
      padding:18px;
      border-radius:var(--radius);
      border:1px solid rgba(196,181,253,.16);
      background:rgba(255,255,255,.03);
      min-height:100%;
    }
    .light .highlight-item{
      background:#fff;
    }
    .highlight-item .highlight-icon{
      width:42px;height:42px;border-radius:12px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, var(--brand), var(--mint));
      color:#fff;
      margin-bottom:12px;
    }
    .highlight-item h3{
      margin:0 0 8px;
      font-size:1.08rem;
    }
    .highlight-item p{
      margin:0;
      opacity:.86;
    }
    .compact-hero{
      padding:32px 0 20px;
      background:linear-gradient(135deg, rgba(142,108,255,.16), rgba(18,11,31,.95) 56%, rgba(18,11,31,.98) 100%);
      color:#fff;
      border-bottom:1px solid rgba(196,181,253,.14);
    }
    .compact-hero h1{
      margin:0 0 12px;
      font-size:clamp(1.95rem, 3.1vw, 3rem);
      font-weight:800;
      line-height:1.1;
    }
    .compact-hero p{
      margin:0;
      max-width:46rem;
      color:#ddd3f7;
    }
    .compact-stats{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .compact-stats .meta-chip{
      background:rgba(255,255,255,.05);
      color:#fff;
    }
    .feature-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:18px;
    }
    .sort-rail{
      display:grid;
      gap:14px;
    }
    .sort-panel{
      padding:18px;
      border-radius:var(--radius);
      border:1px solid rgba(196,181,253,.16);
      background:rgba(255,255,255,.03);
    }
    .light .sort-panel{
      background:#fff;
    }
    .sort-panel h3{
      margin:0 0 10px;
      font-size:1.08rem;
    }
    .sort-panel p{margin:0; opacity:.86}
    .sort-panel .mini-tag{margin-top:12px}
    .safe-space{
      padding-bottom:120px;
    }
    @media (max-width: 1199.98px){
      .hero-grid,
      .news-layout,
      .compare-grid,
      .profile-grid,
      .feature-grid{
        grid-template-columns:1fr;
      }
      .highlight-wall,
      .stat-band{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
    }
    @media (max-width: 991.98px){
      body{
        background:
          linear-gradient(180deg, #140b23 0%, #120b1f 20%, #f6f1ff 20%, #f6f1ff 100%);
      }
      .page-shell{padding-top:18px}
      .section-band,
      .page-section{
        padding:58px 0;
      }
      .section-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .desktop-nav{display:none}
      .bottom-cta-inner{
        flex-direction:column;
        align-items:flex-start;
      }
      .bottom-cta .btn{
        min-width:0;
        width:100%;
      }
      .panel-grid,
      .card-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
    }
    @media (max-width: 767.98px){
      .hero{
        padding-top:30px;
      }
      .hero h1,
      .compact-hero h1{
        font-size:2rem;
      }
      .hero p.lead-copy,
      .compact-hero p{
        font-size:1rem;
      }
      .panel-grid,
      .card-grid,
      .highlight-wall,
      .stat-band,
      .feature-grid{
        grid-template-columns:1fr;
      }
      .timeline-step{
        grid-template-columns:1fr;
      }
      .timeline-step .step-state{
        white-space:normal;
      }
      .news-item{
        grid-template-columns:1fr;
      }
      .news-item .news-arrow{
        display:none;
      }
      .site-footer{
        padding-bottom:110px;
      }
    }

/* roulang page: category2 */
:root{
            --bg-dark:#120b1f;
            --bg-deep:#1a102b;
            --bg-soft:#f6f1ff;
            --bg-soft-2:#efe8ff;
            --surface:#231437;
            --surface-2:#2c1845;
            --line:rgba(196,181,253,.18);
            --line-strong:rgba(196,181,253,.34);
            --text:#f7f3ff;
            --text-soft:rgba(247,243,255,.76);
            --text-dark:#241236;
            --muted:#6f6389;
            --primary:#8e6cff;
            --primary-2:#a78bfa;
            --primary-3:#c4b5fd;
            --mint:#21e6c1;
            --mint-2:#2fffd0;
            --pink:#ff6baa;
            --yellow:#ffe66d;
            --shadow-neon:0 18px 40px rgba(142,108,255,.25);
            --shadow-soft:0 18px 36px rgba(39,18,67,.1);
            --radius:10px;
            --radius-sm:8px;
            --container:1230px;
            --section-space:88px;
            --section-space-mobile:56px;
        }

        *{box-sizing:border-box}
        html{overflow-x:hidden}
        body{
            margin:0;
            font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
            color:var(--text-dark);
            background:
                linear-gradient(180deg,#160d25 0%,#120b1f 34%,#f6f1ff 34%,#f6f1ff 100%);
            line-height:1.7;
            overflow-x:hidden;
            padding-bottom:0;
        }

        a{color:inherit;text-decoration:none}
        img{max-width:100%;display:block}
        button,input,textarea,select{font:inherit}
        ::selection{background:rgba(142,108,255,.2);color:#1a102b}

        .container,.container-fluid{
            max-width:var(--container);
        }

        .section-shell{
            padding:var(--section-space) 0;
            position:relative;
        }
        .section-shell.soft{
            background:linear-gradient(180deg,#f6f1ff 0%,#efe8ff 100%);
        }
        .section-shell.dark{
            background:linear-gradient(180deg,#150d24 0%,#1a102b 100%);
            color:var(--text);
        }

        .section-label{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            padding:.36rem .8rem;
            border:1px solid rgba(142,108,255,.2);
            border-radius:999px;
            background:rgba(255,255,255,.5);
            color:#6a4bd4;
            font-size:.9rem;
            font-weight:700;
            letter-spacing:0;
        }
        .section-label.dark{
            background:rgba(255,255,255,.06);
            color:#d9d0ff;
            border-color:rgba(255,255,255,.12);
        }

        .section-title{
            font-size:clamp(1.85rem,2.4vw,2.7rem);
            font-weight:800;
            line-height:1.18;
            margin:.95rem 0 .85rem;
            letter-spacing:0;
        }
        .section-subtitle{
            font-size:1.02rem;
            color:var(--muted);
            max-width:760px;
            margin:0;
        }
        .dark .section-subtitle{color:rgba(247,243,255,.74)}

        .site-header{
            background:rgba(18,11,31,.78);
            border-bottom:1px solid rgba(196,181,253,.12);
            backdrop-filter:blur(14px);
            z-index:1030;
        }
        .site-header .container{
            padding-top:.85rem;
            padding-bottom:.85rem;
        }

        .desktop-nav{
            display:grid;
            grid-template-columns:1fr auto 1fr;
            align-items:center;
            gap:1rem;
        }
        .nav-side{
            display:flex;
            gap:.5rem;
            align-items:center;
        }
        .nav-left{justify-content:flex-end}
        .nav-right{justify-content:flex-start}
        .brand-center,
        .brand-mobile,
        .footer-brand{
            display:inline-flex;
            flex-direction:column;
            align-items:center;
            gap:.1rem;
            color:var(--text);
            text-decoration:none;
        }
        .brand-center .brand-name,
        .brand-mobile span,
        .footer-brand span{
            font-size:1.02rem;
            font-weight:800;
            letter-spacing:0;
            line-height:1.1;
        }
        .brand-center small,
        .brand-mobile small,
        .footer-brand small{
            color:rgba(247,243,255,.7);
            font-size:.78rem;
        }

        .nav-core,
        .nav-cta{
            color:rgba(247,243,255,.78);
            border-radius:999px;
            padding:.58rem .92rem;
            font-weight:700;
            font-size:.96rem;
            border:1px solid transparent;
            transition:transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
        }
        .nav-core:hover,
        .nav-core:focus-visible{
            color:#fff;
            background:rgba(255,255,255,.06);
            border-color:rgba(196,181,253,.15);
            transform:translateY(-1px);
        }
        .nav-core.active{
            color:#fff;
            background:rgba(142,108,255,.16);
            border-color:rgba(142,108,255,.34);
            box-shadow:0 10px 26px rgba(142,108,255,.12);
        }
        .nav-cta{
            color:#120b1f;
            background:linear-gradient(135deg,var(--mint) 0%,#8cf7e2 100%);
            box-shadow:0 12px 28px rgba(33,230,193,.18);
        }
        .nav-cta:hover,
        .nav-cta:focus-visible{
            color:#120b1f;
            transform:translateY(-1px);
            box-shadow:0 15px 32px rgba(33,230,193,.25);
        }

        .navbar-toggler{
            border-color:rgba(255,255,255,.18);
            box-shadow:none !important;
        }
        .navbar-toggler-icon{
            background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28247,243,255,0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }
        .mobile-nav{
            padding:0;
        }
        .mobile-nav .container-fluid{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:.75rem;
        }
        .mobile-menu{
            margin-top:1rem;
        }
        .mobile-links{
            display:grid;
            gap:.5rem;
            padding:.85rem 0 .2rem;
        }
        .mobile-links .nav-core,
        .mobile-links .nav-cta{
            display:flex;
            justify-content:center;
            width:100%;
            padding:.84rem 1rem;
            border-radius:12px;
        }
        .navbar-collapse{
            flex-basis:100%;
        }

        .hero-wrap{
            position:relative;
            background:
                radial-gradient(1200px 500px at 20% 0%, rgba(142,108,255,.26), transparent 60%),
                radial-gradient(900px 420px at 90% 15%, rgba(33,230,193,.12), transparent 48%),
                linear-gradient(180deg,#160d25 0%,#120b1f 100%);
            color:var(--text);
            overflow:hidden;
        }
        .hero-wrap::before{
            content:"";
            position:absolute;
            inset:0;
            background:
                linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px) 0 0/42px 42px,
                linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0/42px 42px;
            opacity:.34;
            pointer-events:none;
            mask-image:linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.15) 78%, transparent 100%);
        }
        .hero-wrap::after{
            content:"";
            position:absolute;
            inset:auto 0 0 0;
            height:1px;
            background:linear-gradient(90deg, transparent 0%, rgba(33,230,193,.4) 25%, rgba(142,108,255,.6) 50%, rgba(255,107,170,.35) 75%, transparent 100%);
        }

        .hero-inner{
            position:relative;
            padding:3rem 0 1.8rem;
        }
        .breadcrumb-wrap{
            margin-bottom:1rem;
        }
        .breadcrumb{
            margin:0;
            padding:0;
            background:transparent;
            gap:.35rem;
            font-size:.92rem;
        }
        .breadcrumb-item,
        .breadcrumb-item a{
            color:rgba(247,243,255,.72);
        }
        .breadcrumb-item.active{
            color:#fff;
        }
        .breadcrumb-item + .breadcrumb-item::before{
            color:rgba(247,243,255,.45);
        }

        .hero-kicker{
            display:flex;
            flex-wrap:wrap;
            gap:.55rem;
            margin-bottom:1.1rem;
        }
        .chip{
            display:inline-flex;
            align-items:center;
            gap:.35rem;
            padding:.38rem .72rem;
            border-radius:999px;
            font-size:.88rem;
            font-weight:700;
            border:1px solid rgba(255,255,255,.14);
            background:rgba(255,255,255,.06);
            color:#f2ecff;
        }
        .chip.mint{
            background:rgba(33,230,193,.12);
            border-color:rgba(33,230,193,.26);
            color:#bbfff2;
        }
        .chip.pink{
            background:rgba(255,107,170,.11);
            border-color:rgba(255,107,170,.22);
            color:#ffd0e2;
        }
        .chip.gold{
            background:rgba(255,230,109,.12);
            border-color:rgba(255,230,109,.22);
            color:#fff4bf;
        }

        .hero-title{
            font-size:clamp(2.25rem,4.7vw,4.25rem);
            line-height:1.08;
            font-weight:800;
            margin:0 0 1rem;
            letter-spacing:0;
            max-width:12.8em;
        }
        .hero-text{
            font-size:1.05rem;
            color:rgba(247,243,255,.78);
            max-width:44rem;
            margin:0 0 1.25rem;
        }
        .hero-actions{
            display:flex;
            flex-wrap:wrap;
            gap:.8rem;
            margin:1.25rem 0 1.5rem;
        }
        .btn{
            border-radius:10px;
            font-weight:800;
            padding:.9rem 1.15rem;
            transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
            letter-spacing:0;
        }
        .btn:hover,
        .btn:focus-visible{
            transform:translateY(-1px);
        }
        .btn-primary{
            background:linear-gradient(135deg,var(--mint) 0%,#94f4e3 100%);
            border:0;
            color:#120b1f;
            box-shadow:0 16px 34px rgba(33,230,193,.2);
        }
        .btn-primary:hover,
        .btn-primary:focus-visible{
            background:linear-gradient(135deg,#56efd3 0%,#c8fff4 100%);
            color:#120b1f;
            box-shadow:0 18px 40px rgba(33,230,193,.26);
        }
        .btn-outline-light{
            color:#fff;
            border:1px solid rgba(255,255,255,.22);
            background:rgba(255,255,255,.03);
        }
        .btn-outline-light:hover,
        .btn-outline-light:focus-visible{
            color:#fff;
            background:rgba(255,255,255,.08);
            border-color:rgba(255,255,255,.35);
        }
        .btn-outline-primary{
            color:#7b56ee;
            border-color:rgba(142,108,255,.35);
            background:rgba(255,255,255,.68);
        }
        .btn-outline-primary:hover,
        .btn-outline-primary:focus-visible{
            color:#5d3fd3;
            background:#fff;
            border-color:rgba(142,108,255,.56);
        }

        .trust-row{
            display:flex;
            flex-wrap:wrap;
            gap:.65rem;
            margin:1rem 0 0;
        }
        .trust-pill{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            padding:.56rem .78rem;
            border-radius:999px;
            font-size:.88rem;
            color:rgba(247,243,255,.82);
            background:rgba(255,255,255,.06);
            border:1px solid rgba(255,255,255,.12);
        }

        .hero-panel{
            position:relative;
            border-radius:var(--radius);
            border:1px solid rgba(196,181,253,.18);
            background:
                linear-gradient(180deg, rgba(40,23,64,.96) 0%, rgba(29,16,48,.96) 100%);
            box-shadow:var(--shadow-neon);
            padding:1.1rem;
            overflow:hidden;
        }
        .hero-panel::before{
            content:"";
            position:absolute;
            inset:10px;
            border:1px solid rgba(255,255,255,.05);
            border-radius:inherit;
            pointer-events:none;
        }
        .hero-panel-head{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:1rem;
            margin-bottom:1rem;
        }
        .panel-title{
            font-weight:800;
            font-size:1.02rem;
            margin:0;
            color:#fff;
        }
        .panel-tag{
            padding:.34rem .62rem;
            border-radius:999px;
            background:rgba(33,230,193,.12);
            border:1px solid rgba(33,230,193,.25);
            color:#bbfff2;
            font-size:.82rem;
            font-weight:700;
            white-space:nowrap;
        }
        .ticket-grid{
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:.78rem;
        }
        .ticket-card{
            background:linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.03) 100%);
            border:1px solid rgba(255,255,255,.1);
            border-radius:var(--radius-sm);
            padding:.95rem;
            min-height:128px;
            position:relative;
            overflow:hidden;
        }
        .ticket-card::after{
            content:"";
            position:absolute;
            right:-16px;
            top:12px;
            width:72px;
            height:72px;
            border-radius:50%;
            border:1px solid rgba(196,181,253,.16);
            opacity:.45;
        }
        .ticket-kicker{
            display:inline-flex;
            align-items:center;
            gap:.3rem;
            font-size:.8rem;
            color:#cbbfff;
            font-weight:700;
            margin-bottom:.6rem;
        }
        .ticket-title{
            font-size:1.02rem;
            font-weight:800;
            color:#fff;
            margin:0 0 .45rem;
        }
        .ticket-copy{
            font-size:.88rem;
            color:rgba(247,243,255,.74);
            margin:0;
        }
        .panel-list{
            display:grid;
            gap:.65rem;
            margin-top:.85rem;
        }
        .panel-line{
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:.75rem;
            padding:.68rem .8rem;
            border-radius:10px;
            background:rgba(255,255,255,.05);
            border:1px solid rgba(255,255,255,.08);
            font-size:.92rem;
            color:rgba(247,243,255,.88);
        }
        .panel-line strong{
            color:#fff;
        }
        .panel-line .state{
            color:#9ef4e4;
            font-weight:800;
            white-space:nowrap;
        }

        .guides-shell{
            background:linear-gradient(180deg,#f6f1ff 0%,#efe8ff 100%);
        }
        .guide-card{
            position:relative;
            border-radius:var(--radius);
            border:1px solid rgba(142,108,255,.16);
            background:#fff;
            box-shadow:var(--shadow-soft);
            padding:1.15rem;
            height:100%;
            overflow:hidden;
        }
        .guide-card::before{
            content:"";
            position:absolute;
            inset:0 auto auto 0;
            height:4px;
            width:100%;
            background:linear-gradient(90deg,var(--primary) 0%, var(--mint) 100%);
        }
        .guide-step{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:2rem;
            height:2rem;
            border-radius:10px;
            background:rgba(142,108,255,.12);
            color:#6a48e7;
            font-weight:800;
            margin-bottom:.85rem;
        }
        .guide-title{
            margin:0 0 .55rem;
            font-size:1.12rem;
            font-weight:800;
            color:#2c1845;
        }
        .guide-text{
            margin:0;
            color:#675a81;
        }

        .tab-shell{
            background:linear-gradient(180deg,#160d25 0%,#1a102b 100%);
            color:var(--text);
            position:relative;
        }
        .tab-shell .section-subtitle{
            color:rgba(247,243,255,.74);
        }
        .compare-grid{
            display:grid;
            grid-template-columns:repeat(12, minmax(0, 1fr));
            gap:1rem;
        }
        .compare-main{
            grid-column:span 7;
        }
        .compare-side{
            grid-column:span 5;
        }
        .compare-box,
        .mini-box{
            background:rgba(255,255,255,.05);
            border:1px solid rgba(255,255,255,.12);
            border-radius:var(--radius);
            padding:1rem;
            box-shadow:0 18px 36px rgba(12,7,20,.22);
        }
        .compare-box{
            height:100%;
        }
        .compare-head{
            display:flex;
            justify-content:space-between;
            gap:1rem;
            align-items:flex-start;
            margin-bottom:1rem;
        }
        .compare-head h3{
            margin:0;
            font-size:1.2rem;
            font-weight:800;
            color:#fff;
        }
        .compare-head p{
            margin:.25rem 0 0;
            color:rgba(247,243,255,.72);
            max-width:36rem;
        }
        .compare-tags{
            display:flex;
            flex-wrap:wrap;
            gap:.4rem;
        }
        .tag{
            display:inline-flex;
            align-items:center;
            gap:.25rem;
            padding:.34rem .6rem;
            border-radius:999px;
            font-size:.78rem;
            font-weight:700;
            border:1px solid rgba(196,181,253,.2);
            color:#dbcfff;
            background:rgba(142,108,255,.09);
            white-space:nowrap;
        }
        .compare-list{
            display:grid;
            gap:.8rem;
        }
        .compare-item{
            display:grid;
            grid-template-columns:auto 1fr;
            gap:.8rem;
            align-items:flex-start;
            padding:.85rem .9rem;
            border-radius:10px;
            background:rgba(255,255,255,.04);
            border:1px solid rgba(255,255,255,.08);
        }
        .compare-num{
            width:2rem;
            height:2rem;
            border-radius:10px;
            display:flex;
            align-items:center;
            justify-content:center;
            background:rgba(33,230,193,.14);
            color:#bffff0;
            border:1px solid rgba(33,230,193,.24);
            font-weight:800;
        }
        .compare-item h4{
            margin:0 0 .25rem;
            font-size:1rem;
            font-weight:800;
            color:#fff;
        }
        .compare-item p{
            margin:0;
            color:rgba(247,243,255,.72);
        }

        .mini-box + .mini-box{margin-top:1rem}
        .mini-title{
            margin:0 0 .8rem;
            font-size:1.02rem;
            font-weight:800;
            color:#fff;
        }
        .mini-row{
            display:flex;
            justify-content:space-between;
            gap:.75rem;
            padding:.75rem 0;
            border-bottom:1px solid rgba(255,255,255,.1);
            color:rgba(247,243,255,.84);
            font-size:.95rem;
        }
        .mini-row:last-child{border-bottom:0;padding-bottom:0}
        .mini-row:first-of-type{padding-top:0}
        .mini-row strong{color:#fff}
        .mini-badge{
            display:inline-flex;
            align-items:center;
            gap:.35rem;
            padding:.32rem .58rem;
            border-radius:999px;
            background:rgba(255,230,109,.12);
            border:1px solid rgba(255,230,109,.22);
            color:#fff0b4;
            font-size:.78rem;
            font-weight:700;
        }

        .process-shell{
            background:linear-gradient(180deg,#f6f1ff 0%,#fff 100%);
        }
        .progress-card{
            background:#fff;
            border:1px solid rgba(142,108,255,.15);
            border-radius:var(--radius);
            box-shadow:var(--shadow-soft);
            padding:1.15rem;
        }
        .step-track{
            display:grid;
            gap:1rem;
        }
        .step-item{
            display:grid;
            grid-template-columns:auto 1fr;
            gap:.85rem;
            align-items:flex-start;
            padding:.9rem 0;
            border-bottom:1px solid rgba(142,108,255,.12);
        }
        .step-item:last-child{border-bottom:0;padding-bottom:0}
        .step-marker{
            width:2.2rem;
            height:2.2rem;
            border-radius:12px;
            display:flex;
            align-items:center;
            justify-content:center;
            background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);
            color:#fff;
            font-weight:800;
            box-shadow:0 12px 24px rgba(142,108,255,.18);
        }
        .step-item h4{
            margin:0 0 .25rem;
            font-size:1.05rem;
            font-weight:800;
            color:#2c1845;
        }
        .step-item p{
            margin:0;
            color:#675a81;
        }

        .progress-wrap{
            margin-top:1.1rem;
            padding:1rem 1.1rem 1.15rem;
            border-radius:var(--radius);
            background:linear-gradient(180deg,#231437 0%,#190f2a 100%);
            color:var(--text);
            border:1px solid rgba(196,181,253,.16);
            box-shadow:0 16px 34px rgba(18,11,31,.18);
        }
        .progress-head{
            display:flex;
            justify-content:space-between;
            gap:1rem;
            align-items:center;
            margin-bottom:.8rem;
        }
        .progress-head h3{
            font-size:1.02rem;
            font-weight:800;
            margin:0;
            color:#fff;
        }
        .progress-head span{
            color:#cbbfff;
            font-size:.88rem;
            white-space:nowrap;
        }
        .progress{
            height:.92rem;
            background:rgba(255,255,255,.08);
            border-radius:999px;
            overflow:hidden;
        }
        .progress-bar{
            background:linear-gradient(90deg,var(--mint) 0%,var(--primary) 55%,var(--pink) 100%);
            box-shadow:0 0 18px rgba(33,230,193,.24);
        }
        .milestones{
            display:grid;
            grid-template-columns:repeat(5, minmax(0,1fr));
            gap:.65rem;
            margin-top:.9rem;
        }
        .milestone{
            border-radius:10px;
            padding:.72rem .6rem;
            background:rgba(255,255,255,.05);
            border:1px solid rgba(255,255,255,.08);
            text-align:center;
            font-size:.84rem;
            color:rgba(247,243,255,.76);
        }
        .milestone strong{
            display:block;
            color:#fff;
            margin-bottom:.2rem;
            font-size:.92rem;
        }

        .table-shell{
            background:linear-gradient(180deg,#f6f1ff 0%,#efe8ff 100%);
        }
        .compare-table{
            background:#fff;
            border:1px solid rgba(142,108,255,.15);
            border-radius:var(--radius);
            overflow:hidden;
            box-shadow:var(--shadow-soft);
        }
        .compare-table table{
            margin:0;
        }
        .compare-table thead th{
            background:linear-gradient(135deg,#f2ecff 0%,#e9e1ff 100%);
            color:#372056;
            border-bottom:1px solid rgba(142,108,255,.12);
            font-weight:800;
            padding:1rem .95rem;
        }
        .compare-table td{
            padding:1rem .95rem;
            color:#4d4166;
            border-color:rgba(142,108,255,.1);
            vertical-align:top;
        }
        .compare-table tbody tr:hover td{
            background:#fbf9ff;
        }
        .row-label{
            color:#2c1845;
            font-weight:800;
            width:22%;
        }
        .focus-note{
            display:inline-flex;
            align-items:center;
            gap:.35rem;
            padding:.32rem .58rem;
            border-radius:999px;
            background:rgba(33,230,193,.12);
            border:1px solid rgba(33,230,193,.22);
            color:#0f7c68;
            font-weight:700;
            font-size:.8rem;
            white-space:nowrap;
        }

        .faq-shell{
            background:linear-gradient(180deg,#160d25 0%,#1a102b 100%);
            color:var(--text);
        }
        .accordion{
            --bs-accordion-bg: rgba(255,255,255,.05);
            --bs-accordion-color: var(--text);
            --bs-accordion-border-color: rgba(255,255,255,.1);
            --bs-accordion-btn-color: var(--text);
            --bs-accordion-btn-bg: rgba(255,255,255,.04);
            --bs-accordion-btn-icon: none;
            --bs-accordion-active-color: #fff;
            --bs-accordion-active-bg: rgba(142,108,255,.12);
            --bs-accordion-btn-focus-box-shadow: 0 0 0 .18rem rgba(142,108,255,.16);
            --bs-accordion-inner-border-radius: var(--radius);
        }
        .accordion-item{
            border-radius:var(--radius);
            overflow:hidden;
            margin-bottom:.85rem;
            background:rgba(255,255,255,.05);
        }
        .accordion-button{
            border:0;
            padding:1rem 1.05rem;
            font-weight:800;
            box-shadow:none !important;
        }
        .accordion-button::after{
            content:"\f282";
            font-family:"bootstrap-icons";
            background:none;
            width:auto;
            height:auto;
            color:var(--primary-3);
            font-size:1rem;
            line-height:1;
        }
        .accordion-button:not(.collapsed)::after{
            color:var(--mint);
            transform:rotate(180deg);
        }
        .accordion-body{
            color:rgba(247,243,255,.78);
            padding:0 1.05rem 1rem;
        }

        .consult-shell{
            background:linear-gradient(180deg,#f6f1ff 0%,#fff 100%);
        }
        .consult-panel{
            background:#fff;
            border:1px solid rgba(142,108,255,.15);
            border-radius:var(--radius);
            box-shadow:var(--shadow-soft);
            padding:1.2rem;
        }
        .consult-note{
            background:linear-gradient(180deg,#221336 0%,#1a102b 100%);
            color:#fff;
            border-radius:var(--radius);
            border:1px solid rgba(196,181,253,.18);
            padding:1.15rem;
            box-shadow:0 18px 34px rgba(18,11,31,.18);
        }
        .consult-note h3{
            font-size:1.08rem;
            font-weight:800;
            margin:0 0 .7rem;
        }
        .consult-note p{
            margin:0 0 .8rem;
            color:rgba(247,243,255,.76);
        }
        .check-list{
            display:grid;
            gap:.55rem;
            margin:0;
            padding:0;
            list-style:none;
        }
        .check-list li{
            display:flex;
            gap:.6rem;
            align-items:flex-start;
            color:rgba(247,243,255,.82);
        }
        .check-list i{
            color:var(--mint);
            margin-top:.18rem;
        }

        .form-label{
            color:#2c1845;
            font-weight:700;
            margin-bottom:.45rem;
        }
        .form-control,
        .form-select{
            border-radius:10px;
            border-color:rgba(142,108,255,.18);
            padding:.82rem .9rem;
            box-shadow:none;
        }
        .form-control:focus,
        .form-select:focus{
            border-color:rgba(142,108,255,.42);
            box-shadow:0 0 0 .2rem rgba(142,108,255,.12);
        }
        textarea.form-control{
            min-height:132px;
            resize:vertical;
        }
        .form-hint{
            color:var(--muted);
            font-size:.88rem;
            margin-top:.45rem;
        }

        .site-footer{
            background:linear-gradient(180deg,#120b1f 0%,#0f0919 100%);
            color:var(--text);
            border-top:1px solid rgba(196,181,253,.14);
            padding:2.6rem 0 1.1rem;
        }
        .footer-note{
            color:rgba(247,243,255,.74);
        }
        .footer-links{
            display:grid;
            gap:.55rem;
        }
        .footer-links a,
        .footer-link{
            color:rgba(247,243,255,.82);
            transition:color .16s ease, transform .16s ease;
        }
        .footer-links a:hover,
        .footer-link:hover{
            color:#fff;
        }
        .footer-tag{
            display:inline-flex;
            align-items:center;
            padding:.34rem .56rem;
            border-radius:999px;
            background:rgba(33,230,193,.12);
            border:1px solid rgba(33,230,193,.24);
            color:#bbfff2;
            font-size:.8rem;
            font-weight:700;
            margin-bottom:.65rem;
        }
        .footer-bar{
            margin-top:1.6rem;
            padding-top:1rem;
            border-top:1px solid rgba(255,255,255,.08);
            display:flex;
            justify-content:space-between;
            gap:1rem;
            flex-wrap:wrap;
            color:rgba(247,243,255,.62);
            font-size:.9rem;
        }

        .mobile-cta{
            position:fixed;
            left:0;
            right:0;
            bottom:0;
            z-index:1040;
            display:none;
            gap:.65rem;
            padding:.75rem .85rem calc(.75rem + env(safe-area-inset-bottom));
            background:linear-gradient(180deg, rgba(18,11,31,.08), rgba(18,11,31,.92) 26%, rgba(18,11,31,.98) 100%);
            border-top:1px solid rgba(196,181,253,.14);
            backdrop-filter:blur(14px);
        }
        .mobile-cta .btn{
            flex:1 1 0;
            min-width:0;
        }

        .sticky-note{
            position:sticky;
            top:92px;
        }

        .quick-strip{
            margin-top:1rem;
            display:grid;
            grid-template-columns:repeat(4, minmax(0,1fr));
            gap:.75rem;
        }
        .quick-item{
            background:rgba(255,255,255,.06);
            border:1px solid rgba(255,255,255,.12);
            border-radius:10px;
            padding:.8rem .85rem;
            color:#fff;
        }
        .quick-item strong{
            display:block;
            font-size:.95rem;
            margin-bottom:.15rem;
        }
        .quick-item span{
            color:rgba(247,243,255,.72);
            font-size:.86rem;
        }

        @media (max-width: 991.98px){
            body{background:linear-gradient(180deg,#160d25 0%,#120b1f 28%,#f6f1ff 28%,#f6f1ff 100%)}
            .desktop-nav{display:none}
            .hero-inner{padding:2.4rem 0 1.4rem}
            .hero-title{max-width:none}
            .compare-main,.compare-side{grid-column:span 12}
            .milestones{grid-template-columns:repeat(2,minmax(0,1fr))}
            .quick-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
            .sticky-note{position:relative;top:auto}
            .mobile-cta{display:flex}
            .section-shell{padding:var(--section-space-mobile) 0}
            .site-footer{padding-bottom:5.5rem}
        }

        @media (max-width: 767.98px){
            .hero-actions{display:grid}
            .hero-actions .btn{width:100%}
            .ticket-grid{grid-template-columns:1fr}
            .quick-strip{grid-template-columns:1fr}
            .progress-head{align-items:flex-start;flex-direction:column}
            .footer-bar{flex-direction:column}
            .section-title{font-size:1.9rem}
            .hero-title{font-size:clamp(2rem,9vw,2.7rem)}
        }

        @media (max-width: 575.98px){
            .hero-inner{padding:2rem 0 1rem}
            .hero-panel{padding:.95rem}
            .ticket-card{min-height:auto}
            .compare-item{
                grid-template-columns:1fr;
            }
            .compare-num{
                width:2rem;height:2rem;
            }
        }

        .focus-ring:focus-visible{
            outline:0;
            box-shadow:0 0 0 .2rem rgba(33,230,193,.18), 0 0 0 .45rem rgba(142,108,255,.14);
        }

        .lead-note{
            margin-top:1rem;
            padding:.85rem 1rem;
            border-radius:var(--radius);
            background:rgba(255,255,255,.06);
            border:1px solid rgba(255,255,255,.1);
            color:rgba(247,243,255,.76);
            font-size:.92rem;
        }

/* roulang page: category1 */
:root {
            --bg-dark: #120b1f;
            --bg-dark-2: #1a102b;
            --bg-light: #f6f1ff;
            --bg-light-2: #efe8ff;
            --panel-dark: rgba(255, 255, 255, 0.06);
            --panel-dark-strong: rgba(255, 255, 255, 0.1);
            --panel-light: #ffffff;
            --text-light: #f7f3ff;
            --text-dark: #281943;
            --muted-light: rgba(247, 243, 255, 0.72);
            --muted-dark: #6d5a8f;
            --line-dark: rgba(196, 181, 253, 0.18);
            --line-light: rgba(119, 88, 175, 0.14);
            --accent: #8e6cff;
            --accent-2: #21e6c1;
            --accent-3: #ff6baa;
            --accent-4: #ffe66d;
            --shadow-dark: 0 22px 60px rgba(5, 4, 14, 0.42);
            --shadow-light: 0 20px 40px rgba(78, 51, 132, 0.12);
            --radius: 10px;
            --radius-sm: 8px;
            --container-max: 1240px;
        }

        * {
            box-sizing: border-box;
        }

        html {
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
            color: var(--text-light);
            background:
                linear-gradient(180deg, #120b1f 0%, #120b1f 34%, #f6f1ff 34%, #f6f1ff 100%);
            overflow-x: hidden;
            padding-bottom: 132px;
        }

        body::before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            background-image:
                linear-gradient(to right, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
            background-size: 88px 88px;
            opacity: 0.45;
            z-index: 0;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        a:hover {
            color: inherit;
        }

        img {
            max-width: 100%;
            display: block;
        }

        button,
        input,
        select,
        textarea {
            font: inherit;
        }

        :focus-visible {
            outline: 2px solid rgba(33, 230, 193, 0.85);
            outline-offset: 2px;
        }

        .container {
            position: relative;
            z-index: 1;
            max-width: var(--container-max);
        }

        .section-band {
            position: relative;
            padding: 86px 0;
            z-index: 1;
        }

        .section-band.dark {
            background: linear-gradient(180deg, #120b1f 0%, #171027 100%);
            color: var(--text-light);
        }

        .section-band.light {
            background: linear-gradient(180deg, #f6f1ff 0%, #f3edff 100%);
            color: var(--text-dark);
        }

        .section-band.compact {
            padding: 68px 0;
        }

        .section-title {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 28px;
        }

        .section-title .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            width: fit-content;
            padding: 6px 12px;
            border-radius: 999px;
            border: 1px solid transparent;
            font-size: 13px;
            letter-spacing: 0;
            line-height: 1;
        }

        .dark .section-title .eyebrow {
            background: rgba(142, 108, 255, 0.16);
            border-color: rgba(142, 108, 255, 0.32);
            color: #d8ceff;
        }

        .light .section-title .eyebrow {
            background: rgba(142, 108, 255, 0.1);
            border-color: rgba(142, 108, 255, 0.22);
            color: #6f4dce;
        }

        .section-title h2 {
            margin: 0;
            font-weight: 800;
            letter-spacing: 0;
            line-height: 1.12;
        }

        .dark .section-title h2 {
            color: var(--text-light);
        }

        .light .section-title h2 {
            color: var(--text-dark);
        }

        .section-title p {
            margin: 0;
            max-width: 720px;
            font-size: 16px;
            line-height: 1.75;
        }

        .dark .section-title p {
            color: var(--muted-light);
        }

        .light .section-title p {
            color: var(--muted-dark);
        }

        .site-header {
            background: rgba(18, 11, 31, 0.88);
            backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(196, 181, 253, 0.14);
            box-shadow: 0 10px 24px rgba(10, 6, 18, 0.14);
            z-index: 1030;
        }

        .site-header .container {
            padding-top: 14px;
            padding-bottom: 14px;
        }

        .desktop-nav {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: 20px;
        }

        .nav-side {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .nav-left {
            justify-content: flex-end;
        }

        .nav-right {
            justify-content: flex-start;
        }

        .brand-center,
        .brand-mobile,
        .footer-brand {
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            line-height: 1.05;
            min-width: 180px;
        }

        .brand-center span,
        .brand-mobile span,
        .footer-brand span {
            font-size: 18px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: 0;
        }

        .brand-center small,
        .brand-mobile small,
        .footer-brand small {
            margin-top: 5px;
            font-size: 12px;
            color: rgba(247, 243, 255, 0.72);
            letter-spacing: 0;
        }

        .brand-mobile {
            align-items: flex-start;
        }

        .nav-link-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 40px;
            padding: 8px 14px;
            border-radius: 999px;
            border: 1px solid transparent;
            background: transparent;
            color: rgba(247, 243, 255, 0.86);
            font-size: 14px;
            transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
            white-space: nowrap;
        }

        .nav-link-pill:hover {
            background: rgba(142, 108, 255, 0.14);
            border-color: rgba(142, 108, 255, 0.25);
            color: #ffffff;
            transform: translateY(-1px);
        }

        .nav-link-pill.active {
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.35), rgba(33, 230, 193, 0.16));
            border-color: rgba(33, 230, 193, 0.35);
            color: #ffffff;
            box-shadow: 0 8px 24px rgba(142, 108, 255, 0.2);
        }

        .nav-link-pill.nav-cta {
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.9), rgba(33, 230, 193, 0.78));
            border-color: rgba(255, 255, 255, 0.22);
            color: #fff;
            box-shadow: 0 10px 24px rgba(33, 230, 193, 0.18);
        }

        .nav-link-pill.nav-cta:hover {
            background: linear-gradient(135deg, #a27dff, #29e7c7);
            box-shadow: 0 14px 28px rgba(33, 230, 193, 0.24);
        }

        .navbar-toggler {
            border: 1px solid rgba(196, 181, 253, 0.26);
            border-radius: 10px;
            padding: 0.5rem 0.65rem;
            color: #fff;
        }

        .navbar-toggler:focus {
            box-shadow: 0 0 0 0.2rem rgba(142, 108, 255, 0.18);
        }

        .navbar-toggler-icon {
            filter: invert(1) brightness(1.2);
        }

        .mobile-nav .navbar-collapse {
            margin-top: 16px;
        }

        .mobile-menu {
            padding: 14px 0 6px;
        }

        .mobile-links {
            display: grid;
            gap: 10px;
        }

        .mobile-links .nav-link-pill {
            width: 100%;
            justify-content: flex-start;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.03);
        }

        .hero-compact {
            position: relative;
            overflow: hidden;
            padding: 40px 0 72px;
            background:
                linear-gradient(180deg, rgba(142, 108, 255, 0.15), rgba(18, 11, 31, 0.86)),
                linear-gradient(135deg, #120b1f 0%, #1a102b 100%);
            border-bottom: 1px solid rgba(196, 181, 253, 0.12);
        }

        .hero-compact::before,
        .hero-compact::after {
            content: "";
            position: absolute;
            inset: auto;
            pointer-events: none;
        }

        .hero-compact::before {
            top: 0;
            left: 0;
            right: 0;
            height: 100%;
            background:
                linear-gradient(90deg, rgba(33, 230, 193, 0.08), transparent 34%, transparent 66%, rgba(142, 108, 255, 0.12));
            opacity: 0.8;
        }

        .hero-compact::after {
            inset: 0;
            background:
                linear-gradient(115deg, transparent 0%, transparent 46%, rgba(255, 255, 255, 0.05) 48%, transparent 50%, transparent 100%);
            opacity: 0.55;
        }

        .hero-wrap {
            position: relative;
            z-index: 1;
        }

        .hero-copy {
            display: flex;
            flex-direction: column;
            gap: 20px;
            padding-right: 12px;
        }

        .hero-tagline {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            width: fit-content;
            padding: 7px 12px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(247, 243, 255, 0.92);
            font-size: 13px;
        }

        .hero-tagline .dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--accent-2);
            box-shadow: 0 0 12px rgba(33, 230, 193, 0.8);
        }

        .hero-copy h1 {
            margin: 0;
            font-size: clamp(32px, 4.6vw, 56px);
            line-height: 1.05;
            font-weight: 800;
            letter-spacing: 0;
            color: #fff;
            max-width: 11ch;
        }

        .hero-copy p {
            margin: 0;
            max-width: 670px;
            font-size: 17px;
            line-height: 1.8;
            color: rgba(247, 243, 255, 0.78);
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        .btn {
            border-radius: 10px;
            padding: 12px 18px;
            font-weight: 700;
            letter-spacing: 0;
            transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
        }

        .btn:focus {
            box-shadow: none;
        }

        .btn-neo-primary,
        .btn-primary {
            background: linear-gradient(135deg, #a78bfa 0%, #8e6cff 48%, #21e6c1 130%);
            border: 0;
            color: #ffffff;
            box-shadow: 0 16px 34px rgba(33, 230, 193, 0.16);
        }

        .btn-neo-primary:hover,
        .btn-primary:hover {
            transform: translateY(-1px);
            color: #ffffff;
            box-shadow: 0 20px 38px rgba(142, 108, 255, 0.28);
        }

        .btn-neo-secondary {
            background: rgba(33, 230, 193, 0.08);
            border: 1px solid rgba(33, 230, 193, 0.34);
            color: #dcfff8;
        }

        .btn-neo-secondary:hover {
            transform: translateY(-1px);
            background: rgba(33, 230, 193, 0.14);
            border-color: rgba(33, 230, 193, 0.48);
            color: #ffffff;
        }

        .hero-trust {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .trust-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 999px;
            border: 1px solid rgba(196, 181, 253, 0.16);
            background: rgba(255, 255, 255, 0.06);
            color: rgba(247, 243, 255, 0.86);
            font-size: 13px;
        }

        .hero-panel {
            position: relative;
            padding: 18px;
            border-radius: 14px;
            border: 1px solid rgba(196, 181, 253, 0.18);
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.045)),
                radial-gradient(120% 120% at 0% 0%, rgba(142, 108, 255, 0.16), transparent 45%),
                rgba(9, 7, 18, 0.52);
            box-shadow: var(--shadow-dark);
            backdrop-filter: blur(12px);
        }

        .panel-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 16px;
        }

        .panel-top .label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            color: rgba(247, 243, 255, 0.82);
        }

        .label .live {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--accent-2);
            box-shadow: 0 0 12px rgba(33, 230, 193, 0.8);
        }

        .panel-top .mini-tag {
            font-size: 12px;
            padding: 6px 10px;
            border-radius: 999px;
            color: #d8ceff;
            background: rgba(142, 108, 255, 0.14);
            border: 1px solid rgba(142, 108, 255, 0.24);
        }

        .hero-checklist {
            display: grid;
            gap: 12px;
        }

        .check-item {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 12px;
            align-items: start;
            padding: 14px 14px 14px 12px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.045);
            border: 1px solid rgba(196, 181, 253, 0.11);
        }

        .check-num {
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 10px;
            font-weight: 800;
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.9), rgba(33, 230, 193, 0.7));
            color: #fff;
            box-shadow: 0 10px 24px rgba(142, 108, 255, 0.22);
        }

        .check-item h3 {
            margin: 0 0 4px;
            font-size: 16px;
            line-height: 1.35;
            color: #fff;
        }

        .check-item p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
            color: rgba(247, 243, 255, 0.74);
        }

        .panel-progress {
            margin-top: 16px;
            padding: 14px;
            border-radius: 12px;
            border: 1px solid rgba(33, 230, 193, 0.16);
            background: rgba(33, 230, 193, 0.04);
        }

        .panel-progress .track-head {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 10px;
            font-size: 13px;
            color: rgba(247, 243, 255, 0.8);
        }

        .progress {
            height: 10px;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 999px;
            overflow: hidden;
        }

        .progress-bar {
            background: linear-gradient(90deg, #8e6cff 0%, #21e6c1 100%);
        }

        .track-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }

        .track-tags span {
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.08);
            font-size: 12px;
            color: rgba(247, 243, 255, 0.82);
        }

        .breadcrumb-wrap {
            margin-top: -10px;
            margin-bottom: 18px;
        }

        .breadcrumb {
            margin: 0;
            padding: 0;
            background: transparent;
            font-size: 13px;
        }

        .breadcrumb-item + .breadcrumb-item::before {
            color: rgba(247, 243, 255, 0.42);
        }

        .light .breadcrumb-item,
        .light .breadcrumb-item a {
            color: var(--muted-dark);
        }

        .light .breadcrumb-item.active {
            color: var(--text-dark);
        }

        .dark .breadcrumb-item,
        .dark .breadcrumb-item a {
            color: rgba(247, 243, 255, 0.72);
        }

        .dark .breadcrumb-item.active {
            color: #fff;
        }

        .surface-card,
        .highlight-card,
        .flow-card,
        .quote-card,
        .faq-card,
        .form-card,
        .info-card {
            border-radius: var(--radius);
            border: 1px solid transparent;
            overflow: hidden;
        }

        .surface-card.dark,
        .highlight-card.dark,
        .flow-card.dark,
        .quote-card.dark,
        .faq-card.dark,
        .form-card.dark,
        .info-card.dark {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
            border-color: rgba(196, 181, 253, 0.12);
            box-shadow: var(--shadow-dark);
            color: var(--text-light);
        }

        .surface-card.light,
        .highlight-card.light,
        .flow-card.light,
        .quote-card.light,
        .faq-card.light,
        .form-card.light,
        .info-card.light {
            background: var(--panel-light);
            border-color: rgba(109, 90, 143, 0.12);
            box-shadow: var(--shadow-light);
            color: var(--text-dark);
        }

        .surface-card .card-head,
        .highlight-card .card-head,
        .flow-card .card-head,
        .faq-card .card-head,
        .form-card .card-head,
        .info-card .card-head {
            padding: 18px 18px 0;
        }

        .surface-card .card-body,
        .highlight-card .card-body,
        .flow-card .card-body,
        .faq-card .card-body,
        .form-card .card-body,
        .info-card .card-body {
            padding: 18px;
        }

        .card-shell {
            position: relative;
            transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
        }

        .card-shell:hover {
            transform: translateY(-2px);
            border-color: rgba(33, 230, 193, 0.32) !important;
            box-shadow: 0 18px 44px rgba(10, 6, 18, 0.14);
        }

        .card-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            padding: 6px 10px;
            border-radius: 999px;
            font-size: 12px;
            line-height: 1;
        }

        .dark .card-kicker {
            background: rgba(142, 108, 255, 0.14);
            border: 1px solid rgba(142, 108, 255, 0.22);
            color: #ddcffd;
        }

        .light .card-kicker {
            background: rgba(142, 108, 255, 0.08);
            border: 1px solid rgba(142, 108, 255, 0.16);
            color: #7b60d4;
        }

        .card-title {
            margin: 0 0 10px;
            font-size: 20px;
            font-weight: 800;
            line-height: 1.25;
            letter-spacing: 0;
        }

        .dark .card-title,
        .dark .card-text,
        .dark .list-line,
        .dark .small-muted {
            color: var(--text-light);
        }

        .light .card-title {
            color: var(--text-dark);
        }

        .card-text {
            margin-bottom: 0;
            font-size: 15px;
            line-height: 1.75;
        }

        .small-muted {
            font-size: 13px;
            line-height: 1.7;
        }

        .light .small-muted {
            color: var(--muted-dark);
        }

        .dark .small-muted {
            color: rgba(247, 243, 255, 0.72);
        }

        .feature-list {
            list-style: none;
            padding: 0;
            margin: 16px 0 0;
            display: grid;
            gap: 10px;
        }

        .feature-list li {
            position: relative;
            padding-left: 22px;
            font-size: 15px;
            line-height: 1.7;
        }

        .feature-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.75em;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: linear-gradient(135deg, #8e6cff, #21e6c1);
            box-shadow: 0 0 0 3px rgba(142, 108, 255, 0.12);
            transform: translateY(-50%);
        }

        .chip-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .topic-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 36px;
            padding: 8px 12px;
            border-radius: 999px;
            font-size: 13px;
            border: 1px solid transparent;
            cursor: default;
        }

        .light .topic-chip {
            background: #ffffff;
            color: #5d478d;
            border-color: rgba(109, 90, 143, 0.12);
            box-shadow: 0 6px 18px rgba(78, 51, 132, 0.06);
        }

        .dark .topic-chip {
            background: rgba(255, 255, 255, 0.05);
            color: rgba(247, 243, 255, 0.86);
            border-color: rgba(196, 181, 253, 0.12);
        }

        .topic-chip strong {
            font-size: 12px;
            color: var(--accent-2);
        }

        .mosaic-grid {
            display: grid;
            grid-template-columns: 1.5fr 1fr;
            gap: 24px;
        }

        .mosaic-subgrid {
            display: grid;
            gap: 24px;
        }

        .info-panel {
            padding: 18px;
            border-radius: var(--radius);
            background: linear-gradient(180deg, rgba(142, 108, 255, 0.08), rgba(33, 230, 193, 0.05));
            border: 1px solid rgba(142, 108, 255, 0.16);
        }

        .info-panel h3 {
            margin: 0 0 14px;
            font-size: 18px;
            font-weight: 800;
            color: inherit;
        }

        .info-grid {
            display: grid;
            gap: 12px;
        }

        .info-row {
            display: grid;
            grid-template-columns: 42px 1fr;
            gap: 12px;
            align-items: start;
            padding: 12px 12px 12px 10px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(196, 181, 253, 0.1);
        }

        .info-row .num {
            width: 42px;
            height: 42px;
            border-radius: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            color: #fff;
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.98), rgba(33, 230, 193, 0.78));
            box-shadow: 0 12px 24px rgba(142, 108, 255, 0.16);
        }

        .info-row h4 {
            margin: 0 0 4px;
            font-size: 16px;
            font-weight: 800;
        }

        .info-row p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
            color: inherit;
            opacity: 0.84;
        }

        .detail-band {
            background: linear-gradient(180deg, #f6f1ff 0%, #ede5ff 100%);
        }

        .detail-card {
            position: relative;
            min-height: 100%;
            padding: 18px;
            border-radius: var(--radius);
            background: #fff;
            border: 1px solid rgba(109, 90, 143, 0.12);
            box-shadow: var(--shadow-light);
        }

        .detail-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 18px;
            right: 18px;
            height: 3px;
            border-radius: 999px;
            background: linear-gradient(90deg, #8e6cff, #21e6c1);
        }

        .detail-card h3 {
            margin: 6px 0 10px;
            font-size: 19px;
            font-weight: 800;
            color: var(--text-dark);
        }

        .detail-card p {
            margin: 0;
            color: var(--muted-dark);
            font-size: 15px;
            line-height: 1.75;
        }

        .badge-soft {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(142, 108, 255, 0.1);
            color: #6f4dce;
            border: 1px solid rgba(142, 108, 255, 0.18);
            font-size: 12px;
            font-weight: 700;
        }

        .timeline-board {
            padding: 20px;
            border-radius: var(--radius);
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(109, 90, 143, 0.12);
            box-shadow: var(--shadow-light);
        }

        .timeline-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 18px;
        }

        .timeline-header h3 {
            margin: 0;
            font-size: 20px;
            font-weight: 800;
            color: var(--text-dark);
        }

        .timeline-header .badge-soft {
            background: rgba(33, 230, 193, 0.08);
            color: #0d7d6a;
            border-color: rgba(33, 230, 193, 0.22);
        }

        .step-track {
            display: grid;
            gap: 16px;
        }

        .step-item {
            display: grid;
            grid-template-columns: 56px 1fr;
            gap: 14px;
            align-items: start;
            padding: 14px 14px 14px 10px;
            border-radius: 12px;
            border: 1px solid rgba(109, 90, 143, 0.1);
            background: linear-gradient(180deg, #fff, #faf7ff);
        }

        .step-index {
            width: 56px;
            height: 56px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 16px;
            font-weight: 800;
            color: #fff;
            background: linear-gradient(135deg, #8e6cff, #21e6c1);
            box-shadow: 0 12px 24px rgba(142, 108, 255, 0.18);
        }

        .step-item h4 {
            margin: 0 0 5px;
            font-size: 17px;
            font-weight: 800;
            color: var(--text-dark);
        }

        .step-item p {
            margin: 0;
            color: var(--muted-dark);
            line-height: 1.75;
            font-size: 14px;
        }

        .step-status {
            display: inline-flex;
            margin-top: 10px;
            align-items: center;
            gap: 6px;
            padding: 5px 10px;
            border-radius: 999px;
            background: rgba(142, 108, 255, 0.08);
            color: #744fda;
            font-size: 12px;
            font-weight: 700;
        }

        .value-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 20px;
        }

        .value-card {
            padding: 18px;
            border-radius: var(--radius);
            background: #fff;
            border: 1px solid rgba(109, 90, 143, 0.12);
            box-shadow: var(--shadow-light);
            min-height: 100%;
        }

        .value-card .icon-box {
            width: 44px;
            height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 14px;
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.12), rgba(33, 230, 193, 0.1));
            color: #7a53db;
            font-size: 20px;
            margin-bottom: 14px;
        }

        .value-card h3 {
            margin: 0 0 10px;
            color: var(--text-dark);
            font-size: 18px;
            font-weight: 800;
        }

        .value-card p {
            margin: 0;
            color: var(--muted-dark);
            font-size: 14px;
            line-height: 1.75;
        }

        .faq-accordion .accordion-item {
            background: transparent;
            border: 0;
            margin-bottom: 12px;
        }

        .faq-accordion .accordion-button {
            border-radius: 12px !important;
            padding: 16px 18px;
            font-weight: 700;
            background: #fff;
            color: var(--text-dark);
            border: 1px solid rgba(109, 90, 143, 0.12);
            box-shadow: var(--shadow-light);
        }

        .faq-accordion .accordion-button:focus {
            box-shadow: none;
        }

        .faq-accordion .accordion-button:not(.collapsed) {
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.08), rgba(33, 230, 193, 0.06));
            color: var(--text-dark);
            box-shadow: none;
        }

        .faq-accordion .accordion-button::after {
            background-size: 1rem;
            filter: hue-rotate(230deg) saturate(1.2);
        }

        .faq-accordion .accordion-body {
            padding: 0 18px 16px;
            background: #fff;
            border: 1px solid rgba(109, 90, 143, 0.12);
            border-top: 0;
            border-radius: 0 0 12px 12px;
            color: var(--muted-dark);
            line-height: 1.8;
            box-shadow: var(--shadow-light);
        }

        .form-grid {
            display: grid;
            gap: 16px;
        }

        .form-control,
        .form-select {
            min-height: 48px;
            border-radius: 10px;
            border: 1px solid rgba(109, 90, 143, 0.16);
            background: #fff;
            color: var(--text-dark);
            padding-left: 14px;
            padding-right: 14px;
        }

        .form-control:focus,
        .form-select:focus {
            border-color: rgba(142, 108, 255, 0.55);
            box-shadow: 0 0 0 0.2rem rgba(142, 108, 255, 0.12);
        }

        .form-label {
            font-size: 14px;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 8px;
        }

        .textarea {
            min-height: 132px;
            resize: vertical;
        }

        .consult-note {
            padding: 16px;
            border-radius: 12px;
            background: linear-gradient(135deg, rgba(142, 108, 255, 0.08), rgba(33, 230, 193, 0.06));
            border: 1px solid rgba(142, 108, 255, 0.15);
            color: var(--text-dark);
        }

        .consult-note p {
            margin: 0;
            line-height: 1.8;
            color: var(--muted-dark);
        }

        .cta-band {
            background: linear-gradient(180deg, #171027 0%, #120b1f 100%);
            color: var(--text-light);
        }

        .cta-shell {
            padding: 22px;
            border-radius: 14px;
            border: 1px solid rgba(196, 181, 253, 0.16);
            background:
                linear-gradient(135deg, rgba(142, 108, 255, 0.18), rgba(33, 230, 193, 0.08)),
                rgba(255, 255, 255, 0.04);
            box-shadow: var(--shadow-dark);
        }

        .cta-shell h2 {
            margin: 0 0 10px;
            font-size: clamp(26px, 3vw, 38px);
            line-height: 1.14;
            font-weight: 800;
        }

        .cta-shell p {
            margin: 0;
            max-width: 720px;
            line-height: 1.8;
            color: rgba(247, 243, 255, 0.78);
        }

        .cta-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 18px;
        }

        .fixed-cta {
            position: fixed;
            left: 50%;
            bottom: 16px;
            transform: translateX(-50%);
            width: min(1240px, calc(100% - 24px));
            z-index: 1040;
            padding: 12px;
            border-radius: 16px;
            border: 1px solid rgba(196, 181, 253, 0.18);
            background: rgba(18, 11, 31, 0.9);
            backdrop-filter: blur(18px);
            box-shadow: 0 16px 40px rgba(5, 4, 14, 0.34);
        }

        .fixed-cta-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            flex-wrap: wrap;
        }

        .fixed-cta-copy {
            display: flex;
            flex-direction: column;
            gap: 3px;
            min-width: 220px;
        }

        .fixed-cta-copy strong {
            font-size: 15px;
            color: #fff;
            font-weight: 800;
        }

        .fixed-cta-copy span {
            font-size: 13px;
            color: rgba(247, 243, 255, 0.7);
        }

        .fixed-cta .cta-actions {
            margin-top: 0;
            margin-left: auto;
        }

        .site-footer {
            position: relative;
            z-index: 1;
            padding: 34px 0 24px;
            background: #120b1f;
            border-top: 1px solid rgba(196, 181, 253, 0.14);
            color: var(--text-light);
        }

        .footer-note {
            color: rgba(247, 243, 255, 0.74);
            font-size: 14px;
            line-height: 1.8;
        }

        .footer-links {
            display: grid;
            gap: 10px;
        }

        .footer-links .nav-link-pill {
            width: fit-content;
            padding-left: 0;
            padding-right: 0;
            min-height: auto;
            border-radius: 0;
            border: 0;
            background: transparent;
            color: rgba(247, 243, 255, 0.82);
            justify-content: flex-start;
        }

        .footer-links .nav-link-pill:hover {
            transform: none;
            background: transparent;
            color: #fff;
        }

        .footer-tag {
            display: inline-flex;
            align-items: center;
            width: fit-content;
            margin-bottom: 10px;
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(33, 230, 193, 0.1);
            border: 1px solid rgba(33, 230, 193, 0.18);
            color: #dffef6;
            font-size: 12px;
            font-weight: 700;
        }

        .footer-link {
            color: #d8ceff;
            font-weight: 700;
        }

        .footer-link:hover {
            color: #fff;
        }

        .footer-bar {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
            padding-top: 18px;
            margin-top: 22px;
            border-top: 1px solid rgba(196, 181, 253, 0.12);
            color: rgba(247, 243, 255, 0.66);
            font-size: 13px;
        }

        .accordion-button::after {
            flex-shrink: 0;
        }

        @media (max-width: 991.98px) {
            body {
                padding-bottom: 172px;
            }

            .section-band {
                padding: 66px 0;
            }

            .hero-compact {
                padding: 28px 0 58px;
            }

            .hero-copy h1 {
                max-width: none;
            }

            .mosaic-grid,
            .value-grid {
                grid-template-columns: 1fr;
            }

            .desktop-nav {
                display: none;
            }

            .mobile-nav {
                display: block;
            }

            .hero-copy {
                padding-right: 0;
            }

            .fixed-cta {
                bottom: 12px;
                width: calc(100% - 20px);
                border-radius: 14px;
            }

            .fixed-cta-inner {
                flex-direction: column;
                align-items: stretch;
            }

            .fixed-cta .cta-actions {
                width: 100%;
            }

            .fixed-cta .cta-actions .btn {
                flex: 1 1 0;
            }
        }

        @media (max-width: 767.98px) {
            body {
                padding-bottom: 210px;
            }

            .section-band {
                padding: 54px 0;
            }

            .hero-actions,
            .cta-actions {
                flex-direction: column;
            }

            .hero-actions .btn,
            .cta-actions .btn,
            .fixed-cta .cta-actions .btn {
                width: 100%;
                justify-content: center;
            }

            .brand-center,
            .brand-mobile {
                min-width: auto;
            }

            .hero-copy p,
            .section-title p,
            .card-text,
            .small-muted,
            .step-item p {
                font-size: 14px;
            }

            .timeline-board {
                padding: 16px;
            }

            .step-item {
                grid-template-columns: 48px 1fr;
            }

            .step-index {
                width: 48px;
                height: 48px;
                border-radius: 14px;
            }

            .hero-panel {
                padding: 16px;
            }
        }

        @media (min-width: 992px) {
            .mobile-nav {
                display: none;
            }
        }

        @media (max-width: 575.98px) {
            .container {
                padding-left: 16px;
                padding-right: 16px;
            }

            .section-title h2 {
                font-size: 26px;
            }

            .hero-copy h1 {
                font-size: 32px;
            }

            .card-title {
                font-size: 18px;
            }

            .cta-shell h2 {
                font-size: 28px;
            }

            .fixed-cta {
                bottom: 10px;
            }
        }
