/* roulang page: index */
:root{
      --bg:#f5f1fb;
      --bg-2:#ffffff;
      --bg-dark:#251433;
      --bg-dark-2:#34174a;
      --surface:#fffefe;
      --surface-soft:#faf7ff;
      --line:#e6dbf3;
      --line-strong:#cdb8e8;
      --text:#231c32;
      --muted:#675c7f;
      --muted-2:#897ca3;
      --primary:#7b4bd6;
      --primary-2:#9c6df0;
      --accent:#ff5d73;
      --accent-2:#ff8758;
      --accent-3:#ffcc66;
      --success:#1f9c70;
      --shadow:0 14px 34px rgba(31, 19, 51, .10);
      --shadow-soft:0 8px 22px rgba(31, 19, 51, .08);
      --radius:8px;
      --radius-sm:6px;
      --gap:24px;
      --container:1240px;
      --focus:0 0 0 3px rgba(123, 75, 214, .22);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        linear-gradient(180deg,#f7f2fc 0%, #fbf9fe 24%, #f4effb 100%);
      line-height:1.72;
      letter-spacing:0;
      overflow-x:hidden;
    }
    img{max-width:100%;display:block}
    a{color:inherit;text-decoration:none}
    a:hover{color:var(--primary)}
    button, input, select, textarea{
      font:inherit;
      color:inherit;
    }
    ::selection{background:rgba(255,93,115,.18)}
    .container{
      width:min(100% - 32px, var(--container));
      margin-inline:auto;
    }

    .skip-link{
      position:absolute;
      left:-9999px;
      top:auto;
      width:1px;
      height:1px;
      overflow:hidden;
    }
    .skip-link:focus{
      left:16px;
      top:16px;
      width:auto;
      height:auto;
      padding:10px 14px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius-sm);
      z-index:9999;
      box-shadow:var(--shadow-soft);
    }

    .off-canvas-wrapper{background:transparent}
    .off-canvas{
      background:linear-gradient(180deg,#28183a 0%, #1e122a 100%);
      color:#fff;
    }
    .off-canvas .mobile-menu-head{
      padding:18px 18px 10px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .off-canvas .menu a{
      color:#f7f1ff;
      padding:14px 0;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .off-canvas .menu a.is-active{
      color:#fff;
      font-weight:700;
    }
    .off-canvas .mobile-cta{
      margin:18px 0 0;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:60;
      background:rgba(255,255,255,.92);
      backdrop-filter:saturate(140%) blur(10px);
      border-bottom:1px solid rgba(198,177,225,.55);
      box-shadow:0 1px 0 rgba(255,255,255,.6);
    }
    .topbar-inner{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:max-content;
    }
    .brand-mark{
      width:38px;
      height:38px;
      border-radius:10px;
      background:
        linear-gradient(145deg,var(--primary) 0%, #9259ec 52%, #ef6b82 100%);
      box-shadow:0 10px 24px rgba(123, 75, 214, .22);
      position:relative;
      flex:none;
    }
    .brand-mark::before,
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:auto;
      background:rgba(255,255,255,.92);
      border-radius:999px;
      transform:rotate(-34deg);
      opacity:.96;
    }
    .brand-mark::before{
      width:18px;
      height:8px;
      left:8px;
      top:9px;
    }
    .brand-mark::after{
      width:14px;
      height:8px;
      left:12px;
      top:20px;
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      gap:2px;
      line-height:1.15;
    }
    .brand-name{
      font-size:1.02rem;
      font-weight:800;
      letter-spacing:0;
      color:var(--text);
    }
    .brand-sub{
      font-size:.78rem;
      color:var(--muted);
    }

    .desktop-nav{
      display:flex;
      align-items:center;
      gap:20px;
      margin:0 auto 0 24px;
      flex-wrap:wrap;
    }
    .desktop-nav a{
      position:relative;
      padding:10px 0;
      color:var(--muted);
      font-size:.95rem;
      transition:color .18s ease;
    }
    .desktop-nav a::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:4px;
      height:2px;
      background:var(--primary);
      transform:scaleX(0);
      transform-origin:left;
      transition:transform .2s ease;
    }
    .desktop-nav a:hover,
    .desktop-nav a.is-active{
      color:var(--text);
    }
    .desktop-nav a:hover::after,
    .desktop-nav a.is-active::after{
      transform:scaleX(1);
    }

    .header-actions{
      display:flex;
      align-items:center;
      gap:10px;
      flex:none;
    }

    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
      color:var(--text);
      box-shadow:var(--shadow-soft);
      align-items:center;
      justify-content:center;
    }
    .menu-toggle:focus,
    .primary-btn:focus,
    .ghost-btn:focus,
    .inline-link:focus,
    input:focus,
    select:focus,
    textarea:focus,
    button:focus{
      outline:none;
      box-shadow:var(--focus);
    }

    .primary-btn,
    .ghost-btn,
    .tiny-btn,
    .modal-submit{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:0 16px;
      border-radius:8px;
      border:1px solid transparent;
      font-weight:700;
      letter-spacing:0;
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
      cursor:pointer;
      white-space:nowrap;
    }
    .primary-btn,
    .modal-submit{
      background:linear-gradient(135deg,var(--accent) 0%, #ff725e 55%, #ff9858 100%);
      color:#fff;
      box-shadow:0 12px 24px rgba(255, 93, 115, .23);
    }
    .primary-btn:hover,
    .modal-submit:hover{
      transform:translateY(-1px);
      color:#fff;
      box-shadow:0 16px 28px rgba(255, 93, 115, .28);
    }
    .ghost-btn{
      background:rgba(255,255,255,.15);
      border-color:rgba(255,255,255,.24);
      color:#fff;
    }
    .ghost-btn:hover{
      background:rgba(255,255,255,.22);
      color:#fff;
      transform:translateY(-1px);
    }
    .tiny-btn{
      min-height:38px;
      padding:0 12px;
      border-radius:7px;
      background:#fff;
      border-color:var(--line);
      color:var(--text);
    }
    .tiny-btn:hover{
      transform:translateY(-1px);
      box-shadow:var(--shadow-soft);
    }

    .menu-icon{
      display:none;
      width:18px;
      height:2px;
      background:currentColor;
      border-radius:999px;
      position:relative;
    }
    .menu-icon::before,
    .menu-icon::after{
      content:"";
      position:absolute;
      left:0;
      width:18px;
      height:2px;
      background:currentColor;
      border-radius:999px;
    }
    .menu-icon::before{top:-6px}
    .menu-icon::after{top:6px}

    .alert-strip{
      background:linear-gradient(90deg,#ff5d73 0%, #ff7b58 60%, #ffcc66 100%);
      color:#fff;
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .alert-strip-inner{
      padding:12px 0;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .alert-tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.16);
      font-size:.82rem;
      font-weight:700;
    }
    .countdown{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .count-box{
      min-width:52px;
      padding:8px 10px;
      border-radius:8px;
      background:rgba(255,255,255,.18);
      text-align:center;
      font-weight:800;
      line-height:1.1;
    }
    .count-box span{
      display:block;
      font-size:1.08rem;
    }
    .count-box small{
      font-size:.72rem;
      opacity:.92;
    }
    .alert-copy{
      font-size:.94rem;
      opacity:.97;
    }

    .hero{
      position:relative;
      padding:28px 0 18px;
      background:
        linear-gradient(180deg,rgba(38,20,55,.98) 0%, rgba(55,22,78,.98) 100%);
      color:#fff;
      overflow:hidden;
      isolation:isolate;
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(135deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 42%),
        radial-gradient(circle at top right, rgba(255,93,115,.22), transparent 34%),
        radial-gradient(circle at 16% 20%, rgba(156,109,240,.18), transparent 26%);
      pointer-events:none;
      z-index:-1;
    }
    .hero-inner{
      display:grid;
      grid-template-columns:1.12fr .88fr;
      gap:24px;
      align-items:stretch;
      padding:18px 0 34px;
    }
    .hero-copy{
      padding:18px 0 16px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      color:#f3eaff;
      font-size:.84rem;
      font-weight:700;
      margin-bottom:14px;
    }
    .hero h1{
      margin:0;
      font-size:clamp(2rem, 4.1vw, 3.35rem);
      line-height:1.12;
      letter-spacing:0;
      max-width:12.8em;
    }
    .hero-subtitle{
      margin:16px 0 0;
      max-width:36rem;
      font-size:1.05rem;
      color:rgba(255,255,255,.84);
    }
    .hero-cta{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin:24px 0 18px;
    }
    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:8px;
    }
    .meta-chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      min-height:36px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      color:#fff;
      border:1px solid rgba(255,255,255,.14);
      font-size:.84rem;
    }

    .hero-panel{
      background:rgba(255,255,255,.95);
      color:var(--text);
      border-radius:16px;
      padding:18px;
      box-shadow:0 20px 42px rgba(12, 8, 20, .24);
      position:relative;
      overflow:hidden;
    }
    .hero-panel::before{
      content:"";
      position:absolute;
      inset:auto -22px -22px auto;
      width:150px;
      height:150px;
      background:linear-gradient(145deg, rgba(123,75,214,.12), rgba(255,93,115,.12));
      border-radius:32px;
      transform:rotate(15deg);
      pointer-events:none;
    }
    .panel-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .panel-title{
      margin:0;
      font-size:1.08rem;
      font-weight:800;
      color:var(--text);
    }
    .ribbon{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 11px;
      border-radius:6px;
      background:linear-gradient(135deg,var(--accent) 0%, #ff7b58 100%);
      color:#fff;
      font-size:.76rem;
      font-weight:800;
      transform:rotate(-6deg);
      box-shadow:0 10px 20px rgba(255, 93, 115, .18);
      white-space:nowrap;
    }
    .diagnosis-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .diagnosis-card{
      border:1px solid var(--line);
      background:var(--surface-soft);
      border-radius:12px;
      padding:14px;
      min-height:108px;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .diagnosis-card:hover{
      transform:translateY(-2px);
      border-color:rgba(123,75,214,.45);
      box-shadow:var(--shadow-soft);
    }
    .diagnosis-tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:.72rem;
      font-weight:800;
      color:var(--primary);
      margin-bottom:10px;
      text-transform:none;
    }
    .diagnosis-card h3{
      margin:0 0 6px;
      font-size:1rem;
      line-height:1.25;
    }
    .diagnosis-card p{
      margin:0;
      font-size:.86rem;
      color:var(--muted);
      line-height:1.55;
    }
    .panel-foot{
      margin-top:14px;
      padding-top:14px;
      border-top:1px solid var(--line);
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .panel-foot .tiny-btn{
      background:#fff;
    }
    .mini-rank{
      margin-top:16px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:12px;
      padding:12px;
      position:relative;
    }
    .mini-rank h4{
      margin:0 0 10px;
      font-size:.92rem;
      color:var(--text);
    }
    .rank-row{
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 0;
      border-top:1px dashed #ebe1f7;
    }
    .rank-row:first-of-type{border-top:none;padding-top:0}
    .rank-num{
      width:24px;
      height:24px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:#f2e9ff;
      color:var(--primary);
      font-size:.8rem;
      font-weight:800;
      flex:none;
    }
    .rank-text{
      min-width:0;
      flex:1;
    }
    .rank-text strong{
      display:block;
      font-size:.88rem;
      line-height:1.35;
    }
    .rank-text span{
      font-size:.78rem;
      color:var(--muted);
    }
    .rank-val{
      font-size:.9rem;
      font-weight:800;
      color:var(--accent);
      flex:none;
    }

    .section{
      padding:72px 0;
    }
    .section.tight{
      padding:54px 0;
    }
    .section.alt{
      background:linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(246,240,250,.82) 100%);
      border-top:1px solid rgba(203,181,228,.3);
      border-bottom:1px solid rgba(203,181,228,.3);
    }
    .section.dark-band{
      background:linear-gradient(180deg,#2b173d 0%, #241433 100%);
      color:#fff;
    }
    .section-head{
      margin-bottom:24px;
    }
    .section-head .tagline{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 11px;
      border-radius:999px;
      background:rgba(123,75,214,.09);
      color:var(--primary);
      font-size:.82rem;
      font-weight:800;
      margin-bottom:10px;
    }
    .section.dark-band .tagline{
      background:rgba(255,255,255,.12);
      color:#f1e7ff;
    }
    .section-head h2{
      margin:0;
      font-size:clamp(1.6rem, 2.8vw, 2.35rem);
      line-height:1.18;
      letter-spacing:0;
      color:inherit;
    }
    .section-head p{
      margin:10px 0 0;
      max-width:48rem;
      font-size:1rem;
      color:inherit;
      opacity:.84;
    }

    .issue-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:16px;
    }
    .issue-card,
    .solution-card,
    .data-card,
    .news-item,
    .guarantee-card,
    .privacy-card,
    .update-item{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
    }
    .issue-card{
      padding:18px;
      min-height:170px;
      position:relative;
      overflow:hidden;
    }
    .issue-card::after{
      content:"";
      position:absolute;
      right:-18px;
      top:-18px;
      width:58px;
      height:58px;
      background:linear-gradient(135deg, rgba(255,93,115,.18), rgba(123,75,214,.16));
      border-radius:18px;
      transform:rotate(15deg);
    }
    .issue-badge,
    .solution-badge,
    .news-tag,
    .update-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:5px 10px;
      border-radius:999px;
      font-size:.72rem;
      font-weight:800;
      margin-bottom:12px;
    }
    .issue-badge{
      background:#f7eefc;
      color:var(--primary);
    }
    .issue-card h3{
      margin:0 0 8px;
      font-size:1.02rem;
      line-height:1.35;
    }
    .issue-card p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
      line-height:1.6;
    }

    .solutions-wrap{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:18px;
      align-items:stretch;
    }
    .solution-feature{
      background:
        linear-gradient(135deg, #ffffff 0%, #fcf9ff 100%);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:22px;
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .solution-feature::before{
      content:"";
      position:absolute;
      inset:auto -48px -48px auto;
      width:180px;
      height:180px;
      background:radial-gradient(circle, rgba(255,93,115,.12) 0%, rgba(255,93,115,0) 68%);
      pointer-events:none;
    }
    .solution-feature h3{
      margin:0 0 10px;
      font-size:1.35rem;
      line-height:1.25;
    }
    .solution-feature p{
      margin:0 0 14px;
      color:var(--muted);
    }
    .solution-feature .feature-list{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .solution-feature .feature-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      font-size:.95rem;
      color:var(--text);
    }
    .solution-feature .feature-list i{
      color:var(--accent);
      margin-top:4px;
      flex:none;
    }
    .solution-feature .action-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:18px;
    }
    .solution-stack{
      display:grid;
      gap:14px;
      grid-template-columns:1fr 1fr;
    }
    .solution-card{
      padding:16px;
      min-height:184px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .solution-card:hover{
      transform:translateY(-2px);
      border-color:rgba(123,75,214,.45);
      box-shadow:var(--shadow);
    }
    .solution-badge{
      background:#f0fbf6;
      color:var(--success);
    }
    .solution-card h4{
      margin:0 0 8px;
      font-size:1rem;
      line-height:1.35;
    }
    .solution-card p{
      margin:0 0 10px;
      font-size:.9rem;
      color:var(--muted);
    }
    .solution-card ul{
      margin:0;
      padding-left:18px;
      color:var(--text);
      display:grid;
      gap:6px;
      font-size:.9rem;
    }
    .solution-card .card-actions{
      margin-top:12px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .stats-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:14px;
    }
    .data-card{
      padding:18px;
    }
    .data-kpi{
      display:flex;
      align-items:flex-end;
      gap:8px;
      margin-bottom:10px;
      flex-wrap:wrap;
    }
    .data-kpi strong{
      font-size:2rem;
      line-height:1;
      color:var(--primary);
    }
    .data-kpi span{
      font-size:.84rem;
      color:var(--muted);
      font-weight:700;
      margin-bottom:4px;
    }
    .data-card p{
      margin:0;
      font-size:.9rem;
      color:var(--text);
    }
    .evidence-layout{
      margin-top:18px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      align-items:start;
    }
    .evidence-board{
      background:rgba(255,255,255,.92);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      padding:18px;
    }
    .evidence-board h3{
      margin:0 0 12px;
      font-size:1.08rem;
    }
    .evidence-row{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:12px 0;
      border-top:1px dashed #e9def7;
    }
    .evidence-row:first-of-type{border-top:none;padding-top:0}
    .evidence-mark{
      width:30px;
      height:30px;
      border-radius:8px;
      display:grid;
      place-items:center;
      background:#f5eefe;
      color:var(--primary);
      font-weight:800;
      flex:none;
    }
    .evidence-text strong{
      display:block;
      font-size:.96rem;
      line-height:1.35;
    }
    .evidence-text span{
      color:var(--muted);
      font-size:.84rem;
    }
    .quote-stack{
      display:grid;
      gap:12px;
    }
    .quote{
      background:linear-gradient(135deg,#fff 0%, #fbf7ff 100%);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:16px;
      box-shadow:var(--shadow-soft);
    }
    .quote p{
      margin:0 0 8px;
      font-size:.94rem;
      color:var(--text);
    }
    .quote small{
      color:var(--muted);
      font-size:.8rem;
    }

    .form-cta{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      align-items:stretch;
    }
    .cta-block{
      background:linear-gradient(135deg, #33184b 0%, #44235e 100%);
      color:#fff;
      border-radius:16px;
      padding:24px;
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .cta-block::before{
      content:"";
      position:absolute;
      inset:auto -28px -28px auto;
      width:200px;
      height:200px;
      background:radial-gradient(circle, rgba(255,205,102,.14) 0%, rgba(255,205,102,0) 66%);
      pointer-events:none;
    }
    .cta-block h3{
      margin:0 0 10px;
      font-size:1.4rem;
      line-height:1.25;
    }
    .cta-block p{
      margin:0 0 16px;
      opacity:.88;
      font-size:.96rem;
    }
    .cta-points{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .cta-points li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:#f8f1ff;
      font-size:.94rem;
    }
    .cta-points i{color:#ffcc66;margin-top:4px;flex:none}
    .inline-form{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:16px;
      padding:20px;
      box-shadow:var(--shadow-soft);
    }
    .inline-form h4{
      margin:0 0 10px;
      font-size:1.06rem;
    }
    .inline-form p{
      margin:0 0 16px;
      color:var(--muted);
      font-size:.92rem;
    }
    .field-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .field-grid .full{grid-column:1 / -1}
    .field{
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .field label{
      font-size:.82rem;
      font-weight:700;
      color:var(--text);
    }
    .field input,
    .field select,
    .field textarea{
      width:100%;
      min-height:46px;
      border-radius:8px;
      border:1px solid var(--line);
      background:#fff;
      padding:10px 12px;
      color:var(--text);
      transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .field textarea{
      min-height:108px;
      resize:vertical;
    }
    .field input::placeholder,
    .field textarea::placeholder{
      color:#9b8eb1;
    }
    .field input:focus,
    .field select:focus,
    .field textarea:focus{
      border-color:rgba(123,75,214,.55);
      box-shadow:var(--focus);
    }
    .consent{
      display:flex;
      align-items:flex-start;
      gap:10px;
      font-size:.84rem;
      color:var(--muted);
      margin:12px 0 0;
    }
    .consent input{
      margin-top:4px;
      width:16px;
      height:16px;
      flex:none;
    }
    .form-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:14px;
    }

    .privacy-card{
      padding:18px;
      background:linear-gradient(135deg,#fff 0%, #faf7ff 100%);
      display:grid;
      grid-template-columns:auto 1fr;
      gap:14px;
      align-items:start;
    }
    .privacy-icon{
      width:44px;
      height:44px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:#f4eefe;
      color:var(--primary);
      font-size:1.1rem;
      flex:none;
    }
    .privacy-copy h3{
      margin:0 0 8px;
      font-size:1.08rem;
    }
    .privacy-copy p{
      margin:0 0 8px;
      color:var(--muted);
      font-size:.94rem;
    }
    .privacy-copy ul{
      margin:0;
      padding-left:18px;
      color:var(--text);
      display:grid;
      gap:6px;
      font-size:.92rem;
    }

    .faq-wrap{
      display:grid;
      grid-template-columns:1fr;
      gap:18px;
    }
    .accordion{
      border:none;
      background:transparent;
    }
    .accordion-item{
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      margin-bottom:12px;
      box-shadow:var(--shadow-soft);
    }
    .accordion-title{
      background:#fff;
      color:var(--text);
      font-weight:700;
      font-size:1rem;
      padding:16px 18px;
      border:none;
      line-height:1.45;
    }
    .accordion-title:hover{
      background:#fbf8ff;
      color:var(--primary);
    }
    .accordion-content{
      border-top:1px solid var(--line);
      background:linear-gradient(180deg,#fff 0%, #fcf9ff 100%);
      color:var(--muted);
      padding:16px 18px 18px;
      font-size:.94rem;
    }
    .accordion-content p{
      margin:0;
    }

    .news-layout{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
      align-items:start;
    }
    .news-list{
      display:grid;
      gap:12px;
    }
    .news-item{
      padding:16px 18px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:10px 14px;
      align-items:center;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .news-item:hover{
      transform:translateY(-2px);
      border-color:rgba(123,75,214,.45);
      box-shadow:var(--shadow);
    }
    .news-item h3{
      margin:0;
      font-size:1rem;
      line-height:1.4;
      color:var(--text);
    }
    .news-item p{
      margin:6px 0 0;
      font-size:.88rem;
      color:var(--muted);
    }
    .news-meta{
      display:flex;
      align-items:center;
      gap:10px;
      color:var(--muted-2);
      font-size:.78rem;
      justify-self:end;
      white-space:nowrap;
    }
    .news-tag{
      background:#f2f8ff;
      color:#4f6bb9;
    }
    .news-side{
      background:linear-gradient(135deg,#ffffff 0%, #fbf7ff 100%);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      box-shadow:var(--shadow-soft);
    }
    .news-side h3{
      margin:0 0 10px;
      font-size:1.04rem;
    }
    .chip-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      min-height:34px;
      padding:0 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      font-size:.84rem;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .chip:hover{
      transform:translateY(-1px);
      border-color:rgba(123,75,214,.4);
      box-shadow:var(--shadow-soft);
    }
    .news-side .note{
      margin-top:14px;
      padding:14px;
      border-radius:12px;
      background:#f7f1ff;
      color:#47315f;
      font-size:.9rem;
      line-height:1.6;
      border:1px solid #eadfff;
    }

    .update-layout{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      align-items:start;
    }
    .update-list{
      display:grid;
      gap:12px;
    }
    .update-item{
      padding:16px 18px;
    }
    .update-badge{
      background:#f8eef0;
      color:var(--accent);
    }
    .update-item h3{
      margin:0 0 6px;
      font-size:1rem;
    }
    .update-item p{
      margin:0;
      font-size:.9rem;
      color:var(--muted);
    }
    .guarantee-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:12px;
    }
    .guarantee-card{
      padding:16px;
      display:flex;
      align-items:flex-start;
      gap:12px;
      min-height:112px;
    }
    .guarantee-icon{
      width:40px;
      height:40px;
      border-radius:12px;
      background:#f2e9ff;
      color:var(--primary);
      display:grid;
      place-items:center;
      flex:none;
    }
    .guarantee-card h4{
      margin:0 0 6px;
      font-size:.98rem;
    }
    .guarantee-card p{
      margin:0;
      color:var(--muted);
      font-size:.9rem;
      line-height:1.55;
    }

    footer{
      background:linear-gradient(180deg,#241433 0%, #1b1127 100%);
      color:#e7dff4;
      padding:42px 0 28px;
      border-top:1px solid rgba(255,255,255,.08);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:20px;
      align-items:start;
    }
    .footer-brand{
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .footer-brand strong{
      font-size:1.15rem;
      color:#fff;
    }
    .footer-brand p{
      margin:0;
      color:#cfc3e2;
      max-width:32rem;
      font-size:.93rem;
      line-height:1.7;
    }
    .footer-links h4{
      margin:0 0 10px;
      font-size:.95rem;
      color:#fff;
    }
    .footer-links a{
      display:block;
      color:#d8cdee;
      padding:6px 0;
      font-size:.92rem;
      transition:color .18s ease;
    }
    .footer-links a:hover{color:#fff}
    .footer-bottom{
      margin-top:22px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.08);
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      font-size:.84rem;
      color:#b8aacd;
    }

    .reveal{
      border-radius:16px;
      border:none;
      box-shadow:0 24px 60px rgba(17, 12, 27, .38);
      overflow:hidden;
    }
    .reveal .modal-head{
      padding:20px 20px 12px;
      background:linear-gradient(135deg,#2d1841 0%, #44235f 100%);
      color:#fff;
    }
    .reveal .modal-head h3{
      margin:0 0 8px;
      font-size:1.28rem;
    }
    .reveal .modal-head p{
      margin:0;
      opacity:.86;
      font-size:.92rem;
    }
    .reveal .modal-body{
      padding:18px 20px 20px;
      background:#fff;
    }
    .reveal .field input,
    .reveal .field select,
    .reveal .field textarea{
      background:#fff;
    }

    .label-bar{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      margin-bottom:12px;
    }
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      min-height:32px;
      padding:0 10px;
      border-radius:999px;
      background:#fff0f2;
      color:var(--accent);
      font-size:.8rem;
      font-weight:800;
      border:1px solid rgba(255,93,115,.16);
    }

    .section-anchor{
      scroll-margin-top:92px;
    }

    .notice-line{
      margin-top:16px;
      padding:12px 14px;
      border-radius:12px;
      background:#fff8e7;
      border:1px solid #f7e0a6;
      color:#7a5a10;
      font-size:.9rem;
      line-height:1.6;
    }

    @media (max-width: 1024px){
      .hero-inner,
      .solutions-wrap,
      .news-layout,
      .update-layout,
      .form-cta,
      .evidence-layout,
      .footer-grid{
        grid-template-columns:1fr;
      }
      .stats-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .issue-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .guarantee-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .desktop-nav{display:none}
      .menu-toggle{display:inline-flex}
      .topbar-inner{gap:12px}
    }

    @media (max-width: 768px){
      .section{padding:56px 0}
      .section.tight{padding:44px 0}
      .hero{
        padding-top:20px;
      }
      .hero h1{
        max-width:none;
      }
      .hero-subtitle{
        font-size:1rem;
      }
      .diagnosis-grid,
      .solution-stack,
      .stats-grid,
      .issue-grid,
      .guarantee-grid,
      .field-grid{
        grid-template-columns:1fr;
      }
      .news-item{
        grid-template-columns:1fr;
      }
      .news-meta{justify-self:start}
      .countdown{
        width:100%;
      }
      .count-box{
        min-width:48px;
      }
    }

    @media (max-width: 520px){
      .container{
        width:min(100% - 22px, var(--container));
      }
      .brand-name{
        font-size:.98rem;
      }
      .brand-sub{
        font-size:.72rem;
      }
      .topbar-inner{
        min-height:68px;
      }
      .primary-btn,
      .ghost-btn{
        width:100%;
      }
      .header-actions .primary-btn{
        display:none;
      }
      .hero-cta{
        display:grid;
        grid-template-columns:1fr;
      }
      .alert-strip-inner{
        padding:10px 0;
      }
      .alert-copy{
        font-size:.86rem;
      }
      .hero-panel{
        padding:16px;
      }
      .solution-feature,
      .inline-form,
      .evidence-board,
      .news-side,
      .cta-block,
      .privacy-card,
      .update-item,
      .guarantee-card,
      .issue-card,
      .data-card,
      .news-item{
        padding:16px;
      }
      .reveal .modal-head,
      .reveal .modal-body{
        padding-left:16px;
        padding-right:16px;
      }
      .footer-bottom{
        flex-direction:column;
      }
    }

    .reveal-overlay{
      background:rgba(24, 14, 34, .65);
    }

    .anchor-link{
      color:var(--primary);
      font-weight:700;
    }

/* roulang page: category1 */
:root{
      --bg:#f6f1fb;
      --bg-soft:#faf7ff;
      --surface:#ffffff;
      --surface-soft:#fcf9ff;
      --text:#20172f;
      --muted:#655d77;
      --line:#e4d7ef;
      --primary:#7a4cd7;
      --primary-deep:#5f36ba;
      --accent:#ff5c7a;
      --accent-2:#ff8a3d;
      --success:#1f8f6a;
      --shadow:0 18px 40px rgba(31,23,47,.08);
      --shadow-soft:0 10px 24px rgba(31,23,47,.06);
      --radius:8px;
      --radius-sm:6px;
      --container:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        linear-gradient(180deg,#ffffff 0,#f9f5ff 200px,#f6f1fb 100%);
      line-height:1.7;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{
      outline:3px solid rgba(122,76,215,.28);
      outline-offset:2px;
    }

    .container,.grid-container{
      width:min(calc(100% - 32px),var(--container));
      margin:0 auto;
    }

    .off-canvas-wrapper{
      min-height:100vh;
      background:transparent;
    }

    .off-canvas{
      background:#fff;
      border-right:1px solid var(--line);
      padding:18px;
      width:300px;
    }
    .mobile-menu-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:18px;
    }
    .mobile-nav{
      display:grid;
      gap:8px;
    }
    .mobile-nav a{
      display:block;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:8px;
      background:#fff;
      font-weight:700;
      color:var(--text);
    }
    .mobile-nav a.is-active{
      color:var(--primary);
      border-color:rgba(122,76,215,.28);
      background:#f4edff;
    }
    .mobile-cta{
      margin-top:16px;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:1000;
      background:rgba(255,255,255,.98);
      border-bottom:1px solid var(--line);
      box-shadow:0 1px 0 rgba(31,23,47,.03);
    }
    .topbar-inner{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:14px;
      min-width:0;
    }
    .brand-mark{
      width:40px;
      height:40px;
      border-radius:12px;
      position:relative;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 10px 20px rgba(122,76,215,.18);
      flex:none;
    }
    .brand-mark::before,
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:auto;
      border-radius:999px;
      background:rgba(255,255,255,.9);
      opacity:.95;
    }
    .brand-mark::before{
      width:10px;height:10px;left:9px;top:9px;
      box-shadow:12px 4px 0 rgba(255,255,255,.9), 6px 14px 0 rgba(255,255,255,.9);
    }
    .brand-mark::after{
      width:22px;height:2px;left:9px;bottom:10px;
      background:rgba(255,255,255,.88);
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      min-width:0;
    }
    .brand-name{
      font-size:18px;
      font-weight:800;
      color:var(--text);
      line-height:1.15;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .brand-sub{
      font-size:12px;
      color:var(--muted);
      line-height:1.35;
    }

    .desktop-nav{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      flex:1;
    }
    .desktop-nav a{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:10px 14px;
      border-radius:999px;
      color:var(--muted);
      font-weight:700;
      font-size:14px;
      transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
    }
    .desktop-nav a:hover{
      background:#f2ebfb;
      color:var(--primary);
    }
    .desktop-nav a.is-active,
    .desktop-nav a[aria-current="page"]{
      color:var(--primary);
      background:rgba(122,76,215,.1);
      box-shadow:inset 0 0 0 1px rgba(122,76,215,.18);
    }

    .header-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex:none;
    }
    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border-radius:10px;
      border:1px solid var(--line);
      background:#fff;
      align-items:center;
      justify-content:center;
      padding:0;
    }
    .menu-icon{
      display:block;
      width:18px;
      height:2px;
      background:var(--text);
      position:relative;
      border-radius:2px;
    }
    .menu-icon::before,
    .menu-icon::after{
      content:"";
      position:absolute;
      left:0;
      width:18px;
      height:2px;
      background:var(--text);
      border-radius:2px;
    }
    .menu-icon::before{top:-6px}
    .menu-icon::after{top:6px}

    .button{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      padding:12px 18px;
      border-radius:8px;
      font-weight:700;
      font-size:14px;
      border:1px solid transparent;
      transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
      white-space:nowrap;
    }
    .button:hover{
      transform:translateY(-1px);
    }
    .primary-btn{
      background:linear-gradient(135deg,var(--accent),var(--primary));
      color:#fff;
      box-shadow:0 12px 22px rgba(122,76,215,.18);
    }
    .primary-btn:hover,
    .primary-btn:focus{
      color:#fff;
      box-shadow:0 16px 28px rgba(122,76,215,.22);
    }
    .secondary-btn{
      background:#fff;
      color:var(--text);
      border-color:var(--line);
      box-shadow:var(--shadow-soft);
    }
    .secondary-btn:hover,
    .secondary-btn:focus{
      color:var(--primary);
      border-color:rgba(122,76,215,.32);
      box-shadow:var(--shadow);
    }
    .ghost-btn{
      background:transparent;
      color:var(--primary);
      border-color:rgba(122,76,215,.2);
    }
    .ghost-btn:hover{
      background:#f6efff;
    }

    .signal-bar{
      background:linear-gradient(135deg,var(--accent),var(--primary));
      color:#fff;
    }
    .signal-bar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:12px 0;
      font-size:14px;
    }
    .signal-left{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
    }
    .signal-flag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.2);
      font-weight:700;
    }
    .countdown{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .count-box{
      min-width:58px;
      padding:8px 10px;
      text-align:center;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.24);
      border-radius:8px;
    }
    .count-box strong{
      display:block;
      font-size:18px;
      line-height:1.1;
    }
    .count-box span{
      display:block;
      font-size:11px;
      opacity:.85;
      line-height:1.2;
      margin-top:2px;
    }

    .page-hero{
      padding:34px 0 20px;
      background:linear-gradient(180deg,#ffffff 0,#faf7ff 100%);
      border-bottom:1px solid var(--line);
    }
    .breadcrumb{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      font-size:13px;
      color:var(--muted);
      margin-bottom:18px;
    }
    .breadcrumb a{
      color:var(--muted);
    }
    .breadcrumb a:hover{
      color:var(--primary);
    }
    .breadcrumb .sep{
      color:#b7a9ca;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
      gap:26px;
      align-items:stretch;
    }
    .hero-copy h1{
      margin:12px 0 14px;
      font-size:clamp(30px,4vw,52px);
      line-height:1.08;
      letter-spacing:0;
    }
    .hero-copy .lead{
      margin:0;
      color:var(--muted);
      font-size:17px;
      max-width:650px;
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:20px 0;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:#fff;
      border:1px solid var(--line);
      font-size:13px;
      color:var(--text);
      box-shadow:var(--shadow-soft);
    }
    .tag i{
      color:var(--primary);
    }
    .hero-actions,
    .cta-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:24px;
    }
    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:22px;
    }
    .point{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 12px;
      border-radius:8px;
      background:#fff;
      border:1px solid var(--line);
      font-size:13px;
      color:var(--muted);
      box-shadow:var(--shadow-soft);
    }
    .point i{
      color:var(--accent);
    }

    .hero-panel{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:20px;
      box-shadow:var(--shadow);
    }
    .panel-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .panel-head h3{
      margin:0;
      font-size:18px;
      line-height:1.2;
    }
    .panel-head p{
      margin:4px 0 0;
      color:var(--muted);
      font-size:13px;
    }
    .panel-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:#fff3f6;
      color:#c62c4a;
      border:1px solid rgba(255,92,122,.18);
      font-size:12px;
      font-weight:700;
      flex:none;
    }
    .hero-graphic{
      border-radius:var(--radius);
      background:linear-gradient(180deg,#fcf8ff 0,#fff 100%);
      border:1px solid var(--line);
      padding:14px;
      margin-bottom:14px;
    }
    .hero-graphic svg{
      width:100%;
      height:auto;
    }
    .mini-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
    }
    .mini-item{
      padding:12px;
      border-radius:8px;
      background:#fcf9ff;
      border:1px solid #eee3f7;
    }
    .mini-item strong{
      display:block;
      font-size:14px;
      margin-bottom:4px;
    }
    .mini-item span{
      font-size:12px;
      color:var(--muted);
    }

    .section-block{
      padding:72px 0;
    }
    .section-block.compact{
      padding-top:54px;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:20px;
      margin-bottom:24px;
    }
    .section-head h2{
      margin:0;
      font-size:clamp(24px,3vw,34px);
      line-height:1.15;
    }
    .section-head p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:15px;
      max-width:720px;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background:#f0e8ff;
      color:var(--primary);
      font-size:13px;
      font-weight:700;
      border:1px solid rgba(122,76,215,.15);
      margin-bottom:12px;
    }

    .card-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }
    .info-card{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:20px;
      box-shadow:var(--shadow-soft);
      transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
      height:100%;
    }
    .info-card:hover{
      transform:translateY(-2px);
      border-color:rgba(122,76,215,.35);
      box-shadow:var(--shadow);
    }
    .card-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:12px;
    }
    .card-index{
      width:32px;
      height:32px;
      border-radius:8px;
      background:#f0e8ff;
      color:var(--primary);
      font-weight:800;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:none;
    }
    .card-chip{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:5px 9px;
      border-radius:999px;
      background:#fff5f0;
      border:1px solid rgba(255,138,61,.18);
      color:#cb5d1a;
      font-size:12px;
      font-weight:700;
    }
    .info-card h3{
      margin:0 0 8px;
      font-size:18px;
      line-height:1.35;
    }
    .info-card p{
      margin:0;
      color:var(--muted);
      font-size:15px;
    }

    .solution-grid{
      display:grid;
      grid-template-columns:repeat(12,minmax(0,1fr));
      gap:18px;
    }
    .solution-feature{
      grid-column:span 7;
      background:linear-gradient(180deg,#fff 0,#fbf7ff 100%);
      border:1px solid rgba(122,76,215,.18);
      border-radius:var(--radius);
      padding:24px;
      box-shadow:var(--shadow);
    }
    .solution-side{
      grid-column:span 5;
      display:grid;
      gap:18px;
    }
    .solution-mini{
      padding:18px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .solution-mini .card-chip{
      margin-bottom:10px;
    }
    .solution-mini h4{
      margin:0 0 8px;
      font-size:17px;
    }
    .solution-mini p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }
    .offer-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:#fff2f5;
      color:#cf3556;
      border:1px solid rgba(255,92,122,.18);
      font-size:12px;
      font-weight:800;
      margin-bottom:12px;
    }
    .solution-feature h3{
      margin:0 0 10px;
      font-size:22px;
      line-height:1.25;
    }
    .solution-feature p{
      margin:0;
      color:var(--muted);
      font-size:15px;
    }
    .plan-list{
      display:grid;
      gap:10px;
      margin:18px 0 0;
      padding:0;
      list-style:none;
    }
    .plan-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      font-size:15px;
      color:var(--muted);
    }
    .plan-list li i{
      color:var(--primary);
      margin-top:4px;
      flex:none;
    }
    .solution-foot{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:20px;
    }
    .solution-foot .button{
      min-width:150px;
    }

    .stats-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
    }
    .stat-card{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .stat-card strong{
      display:block;
      font-size:30px;
      line-height:1;
      color:var(--primary);
      letter-spacing:0;
    }
    .stat-card span.label{
      display:block;
      margin-top:8px;
      font-weight:700;
      color:var(--text);
    }
    .stat-card p{
      margin:8px 0 0;
      color:var(--muted);
      font-size:13px;
    }
    .update-strip{
      margin-top:20px;
      background:#fff;
      border:1px solid var(--line);
      border-left:4px solid var(--accent);
      border-radius:var(--radius);
      padding:14px 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .update-strip strong{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:15px;
    }
    .update-list{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .update-pill{
      padding:8px 10px;
      border-radius:999px;
      background:#f7f2ff;
      border:1px solid #ece0fb;
      font-size:13px;
      color:var(--text);
    }
    .quote-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      margin-top:18px;
    }
    .quote{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .quote p{
      margin:0;
      color:var(--text);
      font-size:15px;
    }
    .quote span{
      display:block;
      margin-top:10px;
      color:var(--muted);
      font-size:13px;
    }

    .cta-band{
      background:linear-gradient(135deg,#fff1f4 0,#f6f0ff 100%);
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .form-grid{
      display:grid;
      grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
      gap:18px;
      align-items:start;
    }
    .cta-card,
    .form-panel,
    .privacy-panel{
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .cta-card{
      padding:24px;
    }
    .cta-burst{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:8px;
      background:linear-gradient(135deg,#ff5c7a,#ff8a3d);
      color:#fff;
      font-size:12px;
      font-weight:800;
      box-shadow:0 10px 18px rgba(255,92,122,.2);
      transform:skew(-8deg);
      margin-bottom:14px;
    }
    .cta-burst span{
      transform:skew(8deg);
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .cta-card h3{
      margin:0 0 10px;
      font-size:24px;
      line-height:1.2;
    }
    .cta-card p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      max-width:500px;
    }
    .cta-actions{
      margin-top:18px;
    }

    .form-panel{
      padding:24px;
    }
    .form-panel h3{
      margin:0 0 8px;
      font-size:22px;
      line-height:1.25;
    }
    .form-panel p{
      margin:0 0 18px;
      color:var(--muted);
      font-size:14px;
    }
    .form-row{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    .field{
      margin-bottom:12px;
    }
    .field label{
      display:block;
      font-size:13px;
      font-weight:700;
      margin-bottom:8px;
      color:var(--text);
    }
    .field input,
    .field select,
    .field textarea{
      width:100%;
      min-height:46px;
      border:1px solid var(--line);
      border-radius:8px;
      padding:12px 14px;
      background:#fff;
      color:var(--text);
      transition:border-color .2s ease,box-shadow .2s ease;
    }
    .field textarea{
      min-height:120px;
      resize:vertical;
    }
    .field input:focus,
    .field select:focus,
    .field textarea:focus{
      border-color:var(--primary);
      box-shadow:0 0 0 4px rgba(122,76,215,.1);
      outline:none;
    }
    .checkline{
      display:flex;
      align-items:flex-start;
      gap:10px;
      font-size:13px;
      color:var(--muted);
      margin:14px 0;
    }
    .checkline input{
      margin-top:4px;
      accent-color:var(--primary);
      flex:none;
    }
    .form-note{
      font-size:13px;
      color:var(--muted);
      margin-top:10px;
    }

    .privacy-section{
      padding-top:0;
    }
    .privacy-panel{
      display:grid;
      grid-template-columns:72px minmax(0,1fr) auto;
      gap:18px;
      align-items:center;
      padding:20px;
    }
    .shield{
      width:72px;
      height:72px;
      border-radius:18px;
      background:rgba(122,76,215,.1);
      display:flex;
      align-items:center;
      justify-content:center;
      color:var(--primary);
      font-size:28px;
      flex:none;
    }
    .privacy-panel h3{
      margin:0 0 6px;
      font-size:20px;
      line-height:1.2;
    }
    .privacy-panel p{
      margin:0;
      color:var(--muted);
      font-size:15px;
    }
    .privacy-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      justify-content:flex-end;
    }
    .privacy-tags .tag{
      background:#f9f5ff;
    }

    .faq-wrap .accordion{
      background:transparent;
      border:0;
      margin:0;
    }
    .faq-wrap .accordion-item{
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      margin-bottom:12px;
      overflow:hidden;
    }
    .faq-wrap .accordion-title{
      font-size:16px;
      font-weight:700;
      color:var(--text);
      padding:18px 18px 18px 52px;
      border:0;
      background:#fff;
    }
    .faq-wrap .accordion-title:before{
      left:18px;
      color:var(--primary);
      font-size:22px;
      margin-top:-11px;
    }
    .faq-wrap .accordion-content{
      border:0;
      padding:0 18px 18px 52px;
      color:var(--muted);
      font-size:15px;
    }

    footer{
      background:#241a34;
      color:#f5f0ff;
      padding:42px 0 20px;
      margin-top:0;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.4fr .8fr .8fr;
      gap:26px;
    }
    .footer-brand p{
      margin:14px 0 0;
      color:#d8cdea;
      font-size:14px;
      max-width:420px;
    }
    .footer-links h4{
      margin:0 0 12px;
      font-size:15px;
      color:#fff;
    }
    .footer-links a{
      display:block;
      color:#d8cdea;
      font-size:14px;
      padding:6px 0;
    }
    .footer-links a:hover{
      color:#fff;
    }
    .footer-bottom{
      margin-top:24px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.12);
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      color:#cbbfdf;
      font-size:13px;
    }

    .section-note{
      margin-top:14px;
      color:var(--muted);
      font-size:13px;
    }

    @media (max-width:63.99em){
      .desktop-nav{display:none}
      .menu-toggle{display:inline-flex}
      .hero-grid,
      .form-grid,
      .privacy-panel{
        grid-template-columns:1fr;
      }
      .solution-grid{
        grid-template-columns:1fr;
      }
      .solution-feature,
      .solution-side{
        grid-column:1 / -1;
      }
      .stats-grid,
      .quote-grid,
      .card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .footer-grid{
        grid-template-columns:1fr 1fr;
      }
    }

    @media (max-width:47.99em){
      .topbar-inner{
        min-height:68px;
      }
      .brand-sub{
        display:none;
      }
      .signal-bar-inner,
      .section-head,
      .update-strip,
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
      .stats-grid,
      .quote-grid,
      .card-grid,
      .form-row,
      .footer-grid,
      .mini-grid{
        grid-template-columns:1fr;
      }
      .hero-copy h1{
        font-size:clamp(30px,9vw,40px);
      }
      .hero-actions .button,
      .cta-actions .button,
      .solution-foot .button{
        width:100%;
        justify-content:center;
      }
      .privacy-tags{
        justify-content:flex-start;
      }
      .privacy-panel{
        padding:18px;
      }
      .shield{
        width:60px;
        height:60px;
        border-radius:16px;
      }
      .solution-feature,
      .solution-mini,
      .info-card,
      .stat-card,
      .quote,
      .cta-card,
      .form-panel{
        padding:18px;
      }
      .faq-wrap .accordion-title{
        padding-left:48px;
      }
      .faq-wrap .accordion-content{
        padding-left:48px;
      }
    }
