/* roulang page: index */
:root{
      --color-bg:#0a0b12;
      --color-bg-soft:#111421;
      --color-surface:#171b2b;
      --color-surface-2:#20263a;
      --color-card:#ffffff;
      --color-primary:#ff5a2d;
      --color-primary-dark:#dc3f17;
      --color-primary-soft:#fff1ec;
      --color-secondary:#8b5cf6;
      --color-accent:#22d3ee;
      --color-gold:#ffd166;
      --color-text:#161824;
      --color-muted:#687082;
      --color-light:#f8fafc;
      --color-border:rgba(20,24,36,.12);
      --color-border-dark:rgba(255,255,255,.14);
      --radius-xs:10px;
      --radius-sm:14px;
      --radius-md:20px;
      --radius-lg:28px;
      --radius-pill:999px;
      --shadow-sm:0 10px 30px rgba(15,23,42,.08);
      --shadow-md:0 18px 50px rgba(15,23,42,.14);
      --shadow-glow:0 24px 80px rgba(255,90,45,.22);
      --container:1180px;
      --nav-height:76px;
      --transition:.25s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--color-text);
      background:
        radial-gradient(circle at 12% 8%, rgba(255,90,45,.16), transparent 30%),
        radial-gradient(circle at 88% 4%, rgba(139,92,246,.16), transparent 28%),
        linear-gradient(180deg,#fff 0%,#f7f8fc 44%,#fff 100%);
      line-height:1.7;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }

    a{
      color:inherit;
      text-decoration:none;
      transition:color var(--transition), background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
    }
    a:hover{color:var(--color-primary)}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    button{border:0}
    ::selection{background:rgba(255,90,45,.18);color:#111}

    .container-custom{
      width:min(100% - 32px,var(--container));
      margin-inline:auto;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      backdrop-filter:blur(18px);
      background:rgba(10,11,18,.84);
      border-bottom:1px solid var(--color-border-dark);
      box-shadow:0 12px 36px rgba(0,0,0,.18);
    }
    .navbar{
      min-height:var(--nav-height);
      padding:12px 0;
    }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#fff !important;
      font-weight:900;
      letter-spacing:-.02em;
      font-size:1.12rem;
      white-space:normal;
      max-width:360px;
      line-height:1.2;
    }
    .brand-mark{
      width:42px;
      height:42px;
      flex:0 0 42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      color:#130901;
      font-weight:950;
      background:
        linear-gradient(135deg,var(--color-gold),var(--color-primary) 62%,#ff8a65);
      box-shadow:0 10px 24px rgba(255,90,45,.35);
    }
    .navbar-toggler{
      border:1px solid rgba(255,255,255,.18);
      border-radius:14px;
      padding:10px 12px;
      color:#fff;
      box-shadow:none !important;
    }
    .navbar-toggler:focus{outline:3px solid rgba(255,90,45,.35)}
    .navbar-toggler-icon{
      filter:invert(1);
    }
    .nav-link{
      color:rgba(255,255,255,.76) !important;
      font-weight:700;
      padding:10px 14px !important;
      border-radius:var(--radius-pill);
      position:relative;
    }
    .nav-link:hover,
    .nav-link.active{
      color:#fff !important;
      background:rgba(255,255,255,.1);
    }
    .nav-action{
      display:flex;
      align-items:center;
      gap:12px;
      margin-left:12px;
    }
    .nav-badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:9px 12px;
      border-radius:var(--radius-pill);
      background:rgba(255,209,102,.12);
      color:#ffe19b;
      border:1px solid rgba(255,209,102,.24);
      font-size:.88rem;
      font-weight:800;
      white-space:nowrap;
    }

    .btn-modern{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:46px;
      padding:12px 20px;
      border-radius:var(--radius-pill);
      font-weight:900;
      letter-spacing:.01em;
      border:1px solid transparent;
      cursor:pointer;
      transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
    }
    .btn-modern:hover{transform:translateY(-2px)}
    .btn-modern:active{transform:translateY(0)}
    .btn-modern:focus-visible{
      outline:3px solid rgba(255,90,45,.35);
      outline-offset:3px;
    }
    .btn-primary-modern{
      color:#fff;
      background:linear-gradient(135deg,var(--color-primary),#ff7a45);
      box-shadow:0 14px 32px rgba(255,90,45,.32);
    }
    .btn-primary-modern:hover{
      color:#fff;
      background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));
      box-shadow:0 18px 42px rgba(255,90,45,.42);
    }
    .btn-light-modern{
      color:#111421;
      background:#fff;
      border-color:rgba(255,255,255,.65);
      box-shadow:0 14px 32px rgba(0,0,0,.12);
    }
    .btn-light-modern:hover{color:#111421;background:#fff8f5}
    .btn-ghost-modern{
      color:#fff;
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.18);
    }
    .btn-ghost-modern:hover{
      color:#fff;
      background:rgba(255,255,255,.14);
      border-color:rgba(255,255,255,.28);
    }
    .btn-outline-modern{
      color:var(--color-primary);
      background:#fff;
      border-color:rgba(255,90,45,.28);
    }
    .btn-outline-modern:hover{
      color:#fff;
      background:var(--color-primary);
      box-shadow:0 14px 30px rgba(255,90,45,.22);
    }

    .section{
      padding:88px 0;
      position:relative;
    }
    .section-compact{padding:64px 0}
    .section-dark{
      color:#fff;
      background:
        radial-gradient(circle at 20% 20%, rgba(255,90,45,.2), transparent 26%),
        radial-gradient(circle at 82% 12%, rgba(34,211,238,.14), transparent 30%),
        linear-gradient(135deg,#0b0c14,#171b2b 52%,#0e1220);
      overflow:hidden;
    }
    .section-title-wrap{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:28px;
      margin-bottom:34px;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:var(--radius-pill);
      background:var(--color-primary-soft);
      color:var(--color-primary-dark);
      font-weight:900;
      font-size:.9rem;
      margin-bottom:12px;
    }
    .section h2{
      font-size:clamp(1.85rem,3.2vw,2.9rem);
      line-height:1.15;
      font-weight:950;
      letter-spacing:-.04em;
      margin:0;
    }
    .section-desc{
      color:var(--color-muted);
      max-width:680px;
      font-size:1.04rem;
      margin:14px 0 0;
    }
    .section-dark .section-desc{color:rgba(255,255,255,.72)}
    .section-dark .section-kicker{
      color:#ffe9dd;
      background:rgba(255,90,45,.18);
      border:1px solid rgba(255,90,45,.28);
    }

    .hero{
      padding:28px 0 76px;
      color:#fff;
      background:
        linear-gradient(180deg,rgba(10,11,18,.95),rgba(10,11,18,.9)),
        radial-gradient(circle at 18% 18%,rgba(255,90,45,.28),transparent 32%),
        radial-gradient(circle at 80% 10%,rgba(139,92,246,.22),transparent 28%),
        #0a0b12;
      overflow:hidden;
    }
    .flash-strip{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:14px 18px;
      border-radius:22px;
      background:
        linear-gradient(90deg,rgba(255,90,45,.24),rgba(255,209,102,.14),rgba(139,92,246,.16));
      border:1px solid rgba(255,255,255,.14);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 50px rgba(0,0,0,.24);
      margin:24px 0 26px;
    }
    .flash-left{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:10px 14px;
      font-weight:900;
    }
    .status-dot{
      width:10px;
      height:10px;
      border-radius:50%;
      background:#34d399;
      box-shadow:0 0 0 6px rgba(52,211,153,.14);
    }
    .countdown{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .time-box{
      min-width:42px;
      padding:7px 9px;
      text-align:center;
      border-radius:12px;
      color:#150800;
      background:#fff;
      font-weight:950;
      box-shadow:0 8px 20px rgba(0,0,0,.16);
    }

    .hero-stage{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
      gap:30px;
      align-items:stretch;
    }
    .hero-copy{
      border-radius:var(--radius-lg);
      padding:46px;
      min-height:500px;
      background:
        linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.05)),
        radial-gradient(circle at 12% 20%,rgba(255,209,102,.16),transparent 34%);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 30px 90px rgba(0,0,0,.25);
      display:flex;
      flex-direction:column;
      justify-content:center;
      position:relative;
      overflow:hidden;
    }
    .hero-copy:before{
      content:"";
      position:absolute;
      width:260px;
      height:260px;
      border-radius:50%;
      right:-90px;
      bottom:-110px;
      background:linear-gradient(135deg,rgba(255,90,45,.38),rgba(139,92,246,.22));
      filter:blur(2px);
    }
    .hero-badge-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom:18px;
      position:relative;
      z-index:1;
    }
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 12px;
      border-radius:var(--radius-pill);
      font-size:.9rem;
      font-weight:900;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.09);
      color:#fff;
    }
    .hero h1{
      position:relative;
      z-index:1;
      font-size:clamp(2.25rem,5.2vw,5.1rem);
      line-height:.98;
      letter-spacing:-.065em;
      font-weight:1000;
      margin:0 0 22px;
    }
    .hero-intro{
      position:relative;
      z-index:1;
      max-width:760px;
      color:rgba(255,255,255,.76);
      font-size:1.12rem;
      margin:0 0 28px;
    }
    .hero-actions{
      position:relative;
      z-index:1;
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin-bottom:30px;
    }
    .hero-metrics{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:auto;
    }
    .metric{
      padding:16px;
      border-radius:18px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
    }
    .metric strong{
      display:block;
      font-size:1.38rem;
      line-height:1;
      color:#fff;
      margin-bottom:6px;
    }
    .metric span{
      color:rgba(255,255,255,.66);
      font-size:.92rem;
      font-weight:700;
    }

    .product-card{
      position:relative;
      border-radius:var(--radius-lg);
      padding:26px;
      background:
        linear-gradient(180deg,#fff,#fff8f3);
      color:var(--color-text);
      box-shadow:var(--shadow-glow);
      overflow:hidden;
      min-height:500px;
      display:flex;
      flex-direction:column;
    }
    .product-card:after{
      content:"";
      position:absolute;
      right:-72px;
      top:-72px;
      width:210px;
      height:210px;
      border-radius:50%;
      background:rgba(255,90,45,.12);
    }
    .deal-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      align-self:flex-start;
      padding:8px 12px;
      border-radius:var(--radius-pill);
      background:#130b07;
      color:#fff;
      font-weight:900;
      font-size:.9rem;
      position:relative;
      z-index:1;
    }
    .product-title{
      position:relative;
      z-index:1;
      margin:20px 0 8px;
      font-size:2rem;
      line-height:1.15;
      font-weight:1000;
      letter-spacing:-.04em;
    }
    .product-desc{
      color:var(--color-muted);
      margin:0 0 22px;
      position:relative;
      z-index:1;
    }
    .price-line{
      position:relative;
      z-index:1;
      display:flex;
      align-items:flex-end;
      gap:10px;
      margin-bottom:18px;
    }
    .price-line .free{
      font-size:3.2rem;
      line-height:.9;
      color:var(--color-primary);
      font-weight:1000;
      letter-spacing:-.06em;
    }
    .price-line .note{
      color:var(--color-muted);
      font-weight:800;
      padding-bottom:5px;
    }
    .benefit-list{
      position:relative;
      z-index:1;
      display:grid;
      gap:12px;
      margin:4px 0 24px;
      padding:0;
      list-style:none;
    }
    .benefit-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:13px 14px;
      border-radius:16px;
      background:#fff;
      border:1px solid rgba(255,90,45,.1);
      box-shadow:0 8px 22px rgba(15,23,42,.05);
      color:#34394a;
      font-weight:750;
    }
    .check{
      width:22px;
      height:22px;
      display:grid;
      place-items:center;
      flex:0 0 22px;
      border-radius:50%;
      color:#fff;
      background:linear-gradient(135deg,#22c55e,#16a34a);
      font-size:.78rem;
      margin-top:2px;
    }
    .coupon-code{
      margin-top:auto;
      position:relative;
      z-index:1;
      padding:16px;
      border-radius:20px;
      border:1px dashed rgba(255,90,45,.4);
      background:rgba(255,90,45,.07);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .coupon-code span{color:var(--color-muted);font-weight:800}
    .coupon-code strong{
      color:var(--color-primary-dark);
      font-size:1.1rem;
      letter-spacing:.08em;
    }

    .rights-grid{
      display:grid;
      grid-template-columns:1.2fr repeat(2,.9fr);
      gap:18px;
    }
    .right-card{
      background:#fff;
      border:1px solid var(--color-border);
      border-radius:var(--radius-md);
      padding:26px;
      box-shadow:var(--shadow-sm);
      transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
      height:100%;
    }
    .right-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-md);
      border-color:rgba(255,90,45,.26);
    }
    .right-card.featured{
      color:#fff;
      background:
        radial-gradient(circle at 100% 0%,rgba(255,209,102,.26),transparent 32%),
        linear-gradient(135deg,#171b2b,#251a33);
      border-color:rgba(255,255,255,.14);
      grid-row:span 2;
    }
    .icon-bubble{
      width:48px;
      height:48px;
      border-radius:16px;
      display:grid;
      place-items:center;
      margin-bottom:18px;
      background:var(--color-primary-soft);
      color:var(--color-primary);
      font-size:1.35rem;
      font-weight:950;
    }
    .featured .icon-bubble{
      color:#15100a;
      background:linear-gradient(135deg,var(--color-gold),var(--color-primary));
    }
    .right-card h3{
      font-size:1.25rem;
      font-weight:950;
      margin:0 0 10px;
      letter-spacing:-.02em;
    }
    .right-card p{
      margin:0;
      color:var(--color-muted);
    }
    .featured p{color:rgba(255,255,255,.72)}
    .mini-list{
      margin:22px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:11px;
    }
    .mini-list li{
      display:flex;
      align-items:center;
      gap:10px;
      color:rgba(255,255,255,.82);
      font-weight:750;
    }
    .mini-list li:before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--color-gold);
      box-shadow:0 0 0 5px rgba(255,209,102,.12);
    }

    .pricing-wrap{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:18px;
      align-items:stretch;
    }
    .price-card{
      position:relative;
      background:#fff;
      border:1px solid var(--color-border);
      border-radius:var(--radius-lg);
      padding:28px;
      box-shadow:var(--shadow-sm);
      display:flex;
      flex-direction:column;
      min-height:100%;
      overflow:hidden;
      transition:transform var(--transition), box-shadow var(--transition);
    }
    .price-card:hover{
      transform:translateY(-6px);
      box-shadow:var(--shadow-md);
    }
    .price-card.hot{
      border-color:rgba(255,90,45,.42);
      box-shadow:0 22px 60px rgba(255,90,45,.18);
    }
    .price-tag-top{
      position:absolute;
      right:18px;
      top:18px;
      padding:7px 11px;
      border-radius:var(--radius-pill);
      color:#fff;
      background:var(--color-primary);
      font-weight:900;
      font-size:.82rem;
    }
    .plan-name{
      font-size:1.28rem;
      font-weight:950;
      margin:0 0 6px;
    }
    .plan-price{
      display:flex;
      align-items:flex-end;
      gap:8px;
      margin:16px 0;
    }
    .plan-price strong{
      font-size:2.6rem;
      line-height:1;
      letter-spacing:-.05em;
      font-weight:1000;
    }
    .plan-price span{color:var(--color-muted);font-weight:800}
    .plan-desc{
      color:var(--color-muted);
      min-height:54px;
      margin-bottom:18px;
    }
    .plan-features{
      padding:0;
      margin:0 0 24px;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .plan-features li{
      display:flex;
      gap:9px;
      color:#333949;
      font-weight:720;
    }
    .plan-features li:before{
      content:"✓";
      color:#16a34a;
      font-weight:950;
    }
    .price-card .btn-modern{margin-top:auto;width:100%}

    .news-layout{
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
      gap:24px;
      align-items:start;
    }
    .news-panel,
    .recommend-panel{
      background:#fff;
      border:1px solid var(--color-border);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
    .news-list{
      margin:0;
      padding:0;
      list-style:none;
    }
    .news-list li{
      border-bottom:1px solid var(--color-border);
    }
    .news-list li:last-child{border-bottom:0}
    .news-link{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:16px;
      align-items:center;
      padding:20px 22px;
    }
    .news-link:hover{
      background:#fff7f3;
      color:var(--color-text);
    }
    .news-date{
      width:56px;
      height:56px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:#f4f6fb;
      color:var(--color-muted);
      font-weight:950;
      line-height:1.05;
      text-align:center;
      font-size:.85rem;
    }
    .news-text strong{
      display:block;
      font-weight:950;
      margin-bottom:3px;
    }
    .news-text span{
      color:var(--color-muted);
      font-size:.95rem;
    }
    .arrow{
      width:34px;
      height:34px;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:var(--color-primary);
      background:var(--color-primary-soft);
      font-weight:950;
    }
    .recommend-panel{padding:24px}
    .recommend-panel h3{
      font-size:1.25rem;
      font-weight:950;
      margin:0 0 14px;
    }
    .topic-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:22px;
    }
    .topic-tags a{
      padding:9px 12px;
      border-radius:var(--radius-pill);
      background:#f5f6fb;
      color:#34394a;
      font-weight:800;
      font-size:.92rem;
    }
    .topic-tags a:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}
    .side-callout{
      padding:18px;
      border-radius:20px;
      color:#fff;
      background:
        radial-gradient(circle at 100% 0%,rgba(255,209,102,.25),transparent 36%),
        linear-gradient(135deg,#151826,#30203d);
    }
    .side-callout p{color:rgba(255,255,255,.72);margin:8px 0 16px}

    .signup-card{
      display:grid;
      grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
      gap:28px;
      align-items:center;
      padding:34px;
      border-radius:32px;
      background:
        radial-gradient(circle at 12% 0%,rgba(255,209,102,.18),transparent 28%),
        linear-gradient(135deg,#121522,#1d2438);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 26px 80px rgba(0,0,0,.24);
      color:#fff;
    }
    .signup-points{
      display:grid;
      gap:14px;
      margin-top:24px;
    }
    .signup-point{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.1);
    }
    .signup-point strong{display:block;margin-bottom:2px}
    .signup-point span{color:rgba(255,255,255,.68)}
    .lead-form{
      background:#fff;
      color:var(--color-text);
      border-radius:26px;
      padding:26px;
      box-shadow:var(--shadow-glow);
    }
    .form-label{
      font-weight:900;
      color:#303548;
      margin-bottom:8px;
    }
    .form-control,.form-select{
      min-height:52px;
      border-radius:16px;
      border:1px solid rgba(20,24,36,.14);
      background:#fafbff;
      padding:12px 14px;
      box-shadow:none !important;
    }
    .form-control:focus,.form-select:focus{
      border-color:rgba(255,90,45,.55);
      outline:0;
      box-shadow:0 0 0 4px rgba(255,90,45,.12) !important;
      background:#fff;
    }
    .privacy-note{
      color:var(--color-muted);
      font-size:.9rem;
      margin:12px 0 0;
    }
    .form-message{
      display:none;
      margin-top:12px;
      padding:10px 12px;
      border-radius:14px;
      background:#ecfdf5;
      color:#047857;
      font-weight:800;
    }

    .reviews-grid{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:24px;
      align-items:stretch;
    }
    .score-card{
      border-radius:var(--radius-lg);
      padding:32px;
      color:#fff;
      background:
        radial-gradient(circle at 80% 20%,rgba(255,209,102,.28),transparent 32%),
        linear-gradient(135deg,#1b1025,#121522);
      box-shadow:var(--shadow-md);
    }
    .score-card .score{
      font-size:4.6rem;
      line-height:.9;
      font-weight:1000;
      letter-spacing:-.08em;
      color:var(--color-gold);
      margin-bottom:14px;
    }
    .score-card p{color:rgba(255,255,255,.72);margin:0 0 22px}
    .review-list{
      display:grid;
      gap:16px;
    }
    .review-item{
      background:#fff;
      border:1px solid var(--color-border);
      border-radius:var(--radius-md);
      padding:22px;
      box-shadow:var(--shadow-sm);
      transition:transform var(--transition), box-shadow var(--transition);
    }
    .review-item:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-md);
    }
    .review-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:10px;
    }
    .avatar-name{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:950;
    }
    .avatar{
      width:42px;
      height:42px;
      border-radius:15px;
      display:grid;
      place-items:center;
      background:var(--color-primary-soft);
      color:var(--color-primary-dark);
      font-weight:950;
    }
    .stars{color:#f59e0b;letter-spacing:1px}
    .review-item p{color:#4a5162;margin:0}

    .faq-wrap{
      display:grid;
      grid-template-columns:.72fr 1.28fr;
      gap:28px;
      align-items:start;
    }
    .faq-aside{
      position:sticky;
      top:calc(var(--nav-height) + 24px);
      padding:26px;
      border-radius:var(--radius-lg);
      background:var(--color-primary-soft);
      border:1px solid rgba(255,90,45,.18);
    }
    .faq-aside h3{
      font-size:1.35rem;
      font-weight:950;
      margin:0 0 10px;
    }
    .faq-aside p{color:#73402d;margin:0 0 18px}
    .accordion{
      display:grid;
      gap:14px;
    }
    .accordion-item{
      border:1px solid var(--color-border) !important;
      border-radius:20px !important;
      overflow:hidden;
      box-shadow:var(--shadow-sm);
      background:#fff;
    }
    .accordion-button{
      font-weight:950;
      color:var(--color-text);
      padding:20px 22px;
      box-shadow:none !important;
      background:#fff;
    }
    .accordion-button:not(.collapsed){
      color:var(--color-primary-dark);
      background:#fff7f3;
    }
    .accordion-button:focus{
      border-color:transparent;
      box-shadow:0 0 0 4px rgba(255,90,45,.14) !important;
    }
    .accordion-body{
      color:#4d5568;
      padding:0 22px 22px;
    }

    .site-footer{
      color:#d8deea;
      background:#090a10;
      padding:54px 0 28px;
      border-top:1px solid rgba(255,255,255,.1);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:28px;
      align-items:start;
      padding-bottom:30px;
      border-bottom:1px solid rgba(255,255,255,.1);
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:950;
      color:#fff;
      font-size:1.15rem;
      margin-bottom:14px;
    }
    .footer-brand .brand-mark{width:40px;height:40px}
    .footer-desc{
      color:rgba(255,255,255,.62);
      max-width:620px;
      margin:0;
    }
    .footer-links{
      display:flex;
      justify-content:flex-end;
      gap:14px;
      flex-wrap:wrap;
    }
    .footer-links a{
      padding:10px 13px;
      border-radius:var(--radius-pill);
      color:rgba(255,255,255,.72);
      background:rgba(255,255,255,.06);
      font-weight:800;
    }
    .footer-links a:hover{
      color:#fff;
      background:rgba(255,90,45,.18);
    }
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      color:rgba(255,255,255,.52);
      padding-top:22px;
      font-size:.92rem;
    }

    .floating-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:990;
      width:min(100% - 28px,720px);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 14px 12px 18px;
      border-radius:22px;
      background:rgba(17,20,33,.88);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 18px 60px rgba(0,0,0,.32);
      backdrop-filter:blur(18px);
      color:#fff;
    }
    .floating-cta strong{font-weight:950}
    .floating-cta span{color:rgba(255,255,255,.68);font-size:.92rem}

    @media (max-width:1024px){
      :root{--nav-height:70px}
      .section{padding:72px 0}
      .hero-stage,
      .signup-card,
      .reviews-grid,
      .faq-wrap,
      .news-layout{
        grid-template-columns:1fr;
      }
      .hero-copy,.product-card{min-height:auto}
      .rights-grid{
        grid-template-columns:1fr 1fr;
      }
      .right-card.featured{grid-row:auto;grid-column:span 2}
      .pricing-wrap{grid-template-columns:1fr}
      .faq-aside{position:relative;top:auto}
    }

    @media (max-width:768px){
      .navbar-collapse{
        padding:14px 0 8px;
      }
      .nav-action{
        margin-left:0;
        margin-top:10px;
        flex-direction:column;
        align-items:stretch;
      }
      .nav-badge,.nav-action .btn-modern{justify-content:center;width:100%}
      .flash-strip{
        align-items:flex-start;
        flex-direction:column;
      }
      .hero-copy{padding:30px 24px}
      .product-card{padding:24px}
      .hero-metrics{grid-template-columns:1fr}
      .section-title-wrap{
        display:block;
      }
      .rights-grid{grid-template-columns:1fr}
      .right-card.featured{grid-column:auto}
      .news-link{
        grid-template-columns:auto 1fr;
      }
      .news-link .arrow{display:none}
      .signup-card{padding:22px}
      .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start}
      .floating-cta{
        align-items:stretch;
        flex-direction:column;
        border-radius:20px;
      }
      .floating-cta .btn-modern{width:100%}
    }

    @media (max-width:520px){
      .container-custom{width:min(100% - 22px,var(--container))}
      .section{padding:58px 0}
      .hero{padding-bottom:54px}
      .navbar-brand{font-size:1rem;max-width:265px}
      .brand-mark{width:38px;height:38px;flex-basis:38px}
      .hero h1{font-size:2.35rem}
      .hero-intro{font-size:1rem}
      .hero-actions .btn-modern{width:100%}
      .coupon-code{align-items:flex-start;flex-direction:column}
      .price-line .free{font-size:2.6rem}
      .section h2{font-size:1.82rem}
      .news-link{padding:17px 16px;gap:12px}
      .news-date{width:50px;height:50px;border-radius:16px}
      .lead-form{padding:20px}
      .score-card .score{font-size:3.6rem}
      .footer-bottom{display:block}
      .footer-bottom span{display:block;margin-top:8px}
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
