/* roulang page: index */
:root{
      --primary:#2563EB;
      --primary-dark:#1D4ED8;
      --secondary:#33A06F;
      --navy:#102A43;
      --text:#203247;
      --muted:#65758B;
      --soft:#F7FAFF;
      --soft-2:#EEF6FF;
      --white:#FFFFFF;
      --line:#DCE8F5;
      --amber:#FFF7E6;
      --amber-line:#F4D48A;
      --green-soft:#EAF8F1;
      --shadow:0 16px 40px rgba(37,99,235,.10);
      --shadow-strong:0 22px 56px rgba(37,99,235,.16);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --radius-sm:12px;
      --side:104px;
      --ease:.22s ease;
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC","Helvetica Neue",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 0%, rgba(51,160,111,.12), transparent 28%),
        radial-gradient(circle at 88% 8%, rgba(37,99,235,.12), transparent 30%),
        linear-gradient(180deg,#F7FAFF 0%,#FFFFFF 42%,#EEF6FF 100%);
      line-height:1.75;
      min-height:100vh;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea{font:inherit}
    button{border:0;background:none;cursor:pointer}
    :focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px;border-radius:12px}
    ::selection{background:rgba(37,99,235,.18);color:var(--navy)}

    .layout{display:flex;min-height:100vh}
    .side-nav{
      width:var(--side);
      position:fixed;
      inset:18px auto 18px 18px;
      z-index:30;
      background:rgba(255,255,255,.9);
      border:1px solid var(--line);
      border-radius:26px;
      box-shadow:var(--shadow);
      backdrop-filter:blur(14px);
      display:flex;
      flex-direction:column;
      align-items:center;
      padding:18px 12px;
    }
    .brand-mark{
      width:68px;
      height:88px;
      border-radius:22px;
      background:linear-gradient(155deg,var(--primary),#74A4FF);
      color:#fff;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      font-weight:800;
      letter-spacing:.04em;
      box-shadow:0 12px 28px rgba(37,99,235,.22);
      position:relative;
      text-align:center;
      line-height:1.12;
      font-size:13px;
    }
    .brand-mark:after{
      content:"97碰碰视频人人干";
      position:absolute;
      left:78px;
      top:14px;
      width:max-content;
      max-width:220px;
      padding:10px 14px;
      background:var(--navy);
      color:#fff;
      border-radius:12px;
      font-size:13px;
      opacity:0;
      pointer-events:none;
      transform:translateX(-6px);
      transition:var(--ease);
      box-shadow:var(--shadow);
    }
    .brand-mark:hover:after{opacity:1;transform:translateX(0)}
    .nav-links{
      margin-top:34px;
      display:flex;
      flex-direction:column;
      gap:12px;
      width:100%;
      align-items:center;
    }
    .nav-item{
      width:76px;
      min-height:66px;
      border-radius:20px;
      border:1px solid transparent;
      color:var(--muted);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:5px;
      font-size:12px;
      font-weight:700;
      transition:var(--ease);
      position:relative;
      background:transparent;
    }
    .nav-item .ico{font-size:20px;line-height:1}
    .nav-item:hover{
      color:var(--primary);
      background:var(--soft-2);
      border-color:var(--line);
      transform:translateY(-2px);
    }
    .nav-item.active{
      color:var(--primary);
      background:#EEF5FF;
      border-color:#CFE0FF;
    }
    .nav-item.active:before{
      content:"";
      position:absolute;
      left:-7px;
      top:15px;
      width:4px;
      height:36px;
      border-radius:999px;
      background:linear-gradient(180deg,var(--primary),var(--secondary));
    }
    .side-status{
      margin-top:auto;
      display:grid;
      gap:8px;
      width:76px;
    }
    .side-status span{
      display:block;
      text-align:center;
      font-size:11px;
      font-weight:700;
      color:#2D6B50;
      background:var(--green-soft);
      border:1px solid #CBECDC;
      border-radius:999px;
      padding:7px 6px;
      line-height:1.2;
    }

    .mobile-header{
      display:none;
      position:sticky;
      top:0;
      z-index:40;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line);
      padding:12px 16px;
    }
    .mobile-bar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .mobile-brand{
      font-weight:800;
      color:var(--navy);
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
    }
    .mobile-brand span:first-child{
      width:38px;height:38px;border-radius:14px;
      background:linear-gradient(155deg,var(--primary),#7BACFF);
      color:#fff;display:grid;place-items:center;
      flex:0 0 auto;
    }
    .mobile-brand span:last-child{
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .menu-toggle{
      width:44px;height:44px;border-radius:14px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--navy);
      font-weight:800;
      transition:var(--ease);
    }
    .menu-toggle:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
    .mobile-drawer{
      display:none;
      padding:14px 0 4px;
      border-top:1px solid var(--line);
      margin-top:12px;
      position:relative;
    }
    .mobile-drawer:after{
      content:"";
      position:absolute;left:0;right:0;bottom:-5px;height:3px;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--secondary));
    }
    .mobile-drawer.open{display:block}
    .mobile-drawer a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:13px 4px;
      color:var(--text);
      font-weight:700;
      border-bottom:1px solid rgba(220,232,245,.75);
    }
    .mobile-drawer a.active{color:var(--primary)}

    .page{
      width:100%;
      padding-left:calc(var(--side) + 38px);
    }
    .container{
      width:min(1200px, calc(100% - 48px));
      margin:0 auto;
    }
    main{padding:28px 0 0}
    section{position:relative}
    .section-pad{padding:88px 0}
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:28px;
      margin-bottom:34px;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:#EAF2FF;
      color:var(--primary);
      border:1px solid #D4E4FF;
      font-size:13px;
      font-weight:800;
      letter-spacing:.04em;
      margin-bottom:14px;
    }
    .section-kicker:before{
      content:"";
      width:8px;height:8px;border-radius:50%;
      background:var(--secondary);
      box-shadow:0 0 0 5px rgba(51,160,111,.12);
    }
    h1,h2,h3{color:var(--navy);line-height:1.16}
    h1{font-size:clamp(32px,5vw,54px);font-weight:800;letter-spacing:-.04em}
    h2{font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.03em}
    h3{font-size:21px;font-weight:800}
    .lead{font-size:18px;color:var(--muted);max-width:760px}
    .muted{color:var(--muted)}
    .btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:48px;
      padding:13px 22px;
      border-radius:999px;
      font-weight:800;
      transition:var(--ease);
      border:1px solid transparent;
      white-space:nowrap;
    }
    .btn-primary{
      background:var(--primary);
      color:#fff;
      box-shadow:0 14px 28px rgba(37,99,235,.22);
    }
    .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-strong)}
    .btn-secondary{
      background:#fff;
      color:var(--primary);
      border-color:#CFE0FF;
    }
    .btn-secondary:hover{background:#F3F8FF;transform:translateY(-2px);box-shadow:var(--shadow)}
    .btn-ghost{
      color:var(--navy);
      background:rgba(255,255,255,.66);
      border-color:var(--line);
    }
    .btn-ghost:hover{color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}
    .badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:7px 12px;
      font-size:13px;
      font-weight:800;
      background:#EEF5FF;
      color:var(--primary);
      border:1px solid #D4E4FF;
    }
    .badge.green{background:var(--green-soft);color:#21704C;border-color:#CBECDC}
    .badge.amber{background:var(--amber);color:#8A620E;border-color:var(--amber-line)}

    .hero{
      padding:34px 0 72px;
    }
    .hero-stage{
      border:1px solid var(--line);
      border-radius:34px;
      background:
        linear-gradient(90deg,rgba(37,99,235,.06) 1px, transparent 1px) 0 0/74px 74px,
        linear-gradient(180deg,#FFFFFF 0%,#EFF6FF 100%);
      box-shadow:var(--shadow);
      padding:34px;
      overflow:hidden;
      position:relative;
    }
    .hero-stage:before{
      content:"";
      position:absolute;
      width:520px;height:520px;border:1px solid rgba(51,160,111,.20);
      border-radius:50%;
      right:-230px;top:-250px;
    }
    .hero-stage:after{
      content:"";
      position:absolute;
      width:430px;height:150px;border:1px solid rgba(37,99,235,.12);
      border-radius:999px;
      left:42%;bottom:-76px;
      transform:rotate(-8deg);
    }
    .hero-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:28px;
      align-items:stretch;
    }
    .hero-copy{
      padding:30px 10px 24px 4px;
    }
    .hero-copy p{
      margin:22px 0 26px;
      font-size:18px;
      color:var(--muted);
      max-width:720px;
    }
    .trust-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .demo-board{
      min-height:430px;
      display:grid;
      grid-template-columns:1fr 1fr;
      grid-template-rows:auto 1fr auto;
      gap:14px;
    }
    .demo-card{
      background:rgba(255,255,255,.88);
      border:1px solid var(--line);
      border-radius:24px;
      padding:22px;
      box-shadow:0 12px 30px rgba(16,42,67,.07);
      transition:var(--ease);
      position:relative;
      overflow:hidden;
    }
    .demo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong);border-color:#BFD6FF}
    .demo-card.wide{grid-column:1/-1}
    .demo-card.tall{grid-row:span 2}
    .demo-label{font-size:12px;font-weight:900;color:var(--primary);letter-spacing:.08em}
    .demo-number{font-size:42px;line-height:1;font-weight:900;color:var(--navy);margin:8px 0}
    .demo-text{color:var(--muted);font-size:15px}
    .field-lines{
      display:grid;
      gap:10px;
      margin-top:18px;
    }
    .field-line{
      height:10px;border-radius:999px;
      background:#E7F0FF;
      overflow:hidden;
    }
    .field-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary))}
    .pain-strip{
      margin-top:24px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .pain-item{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:15px;
      font-weight:700;
      color:var(--text);
      box-shadow:0 10px 26px rgba(37,99,235,.07);
    }
    .pain-item span{display:block;color:var(--muted);font-size:13px;font-weight:600;margin-top:3px}

    .countdown{
      padding:0 0 82px;
    }
    .count-box{
      border-radius:28px;
      border:1px solid #CFE0FF;
      background:linear-gradient(135deg,#FFFFFF 0%,#EEF6FF 72%);
      box-shadow:var(--shadow);
      padding:28px;
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:24px;
      align-items:center;
    }
    .timer{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .time-cell{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:18px 10px;
      text-align:center;
      box-shadow:0 8px 22px rgba(37,99,235,.08);
    }
    .time-cell strong{
      display:block;
      color:var(--primary);
      font-size:31px;
      line-height:1;
      font-weight:900;
    }
    .time-cell span{font-size:13px;color:var(--muted);font-weight:800}

    .highlight-wall{
      background:rgba(255,255,255,.52);
      border-top:1px solid rgba(220,232,245,.65);
      border-bottom:1px solid rgba(220,232,245,.65);
    }
    .wall-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:18px;
    }
    .bracket-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:30px;
      min-height:360px;
      position:relative;
      overflow:hidden;
    }
    .bracket-card:before,.plan-card:before,.news-list:before,.quote-card:before{
      content:"";
      position:absolute;
      left:0;right:0;top:0;height:4px;
      background:linear-gradient(90deg,var(--primary),var(--secondary));
      opacity:0;
      transition:var(--ease);
    }
    .bracket-card:hover:before,.plan-card:hover:before,.news-list:hover:before,.quote-card:hover:before{opacity:1}
    .route{
      display:grid;
      grid-template-columns:1fr 40px 1fr;
      gap:12px;
      margin-top:24px;
      align-items:center;
    }
    .route-node{
      border:1px solid var(--line);
      background:#F9FCFF;
      border-radius:18px;
      padding:18px;
    }
    .route-node b{color:var(--navy);display:block;margin-bottom:4px}
    .route-node p{color:var(--muted);font-size:15px;line-height:1.55}
    .route-mid{
      width:40px;height:2px;background:linear-gradient(90deg,var(--primary),var(--secondary));
      position:relative;
    }
    .route-mid:after{
      content:"";
      position:absolute;right:-2px;top:-4px;
      width:10px;height:10px;border-radius:50%;background:var(--secondary);
    }
    .topic-stack{
      display:grid;
      gap:14px;
    }
    .topic-item{
      border:1px solid var(--line);
      background:#fff;
      border-radius:22px;
      padding:20px;
      box-shadow:0 10px 28px rgba(16,42,67,.06);
      transition:var(--ease);
    }
    .topic-item:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#CFE0FF}
    .topic-item h3{font-size:19px;margin:8px 0 6px}
    .topic-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

    .plans{
      background:linear-gradient(180deg,#F7FAFF 0%,#FFFFFF 100%);
    }
    .plans-layout{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:22px;
      align-items:start;
    }
    .score-card{
      background:var(--navy);
      color:#DCE8F5;
      border-radius:28px;
      padding:30px;
      box-shadow:0 18px 42px rgba(16,42,67,.18);
      position:sticky;
      top:28px;
      overflow:hidden;
    }
    .score-card:before{
      content:"";
      position:absolute;
      width:220px;height:220px;border-radius:50%;
      border:1px solid rgba(255,255,255,.14);
      right:-90px;top:-96px;
    }
    .score-card h2{color:#fff;font-size:30px}
    .score-card p{color:#B8C8DA;margin:14px 0 22px}
    .score-row{
      display:flex;
      justify-content:space-between;
      gap:14px;
      padding:15px 0;
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .score-row b{color:#fff;font-size:24px}
    .plan-list{
      display:grid;
      gap:16px;
    }
    .plan-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:24px;
      padding:24px;
      box-shadow:0 12px 30px rgba(37,99,235,.07);
      position:relative;
      overflow:hidden;
      transition:var(--ease);
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:center;
    }
    .plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong);border-color:#BFD6FF}
    .plan-card p{color:var(--muted);margin-top:6px}
    .plan-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .plan-action{text-align:right;min-width:130px}

    .news-area{
      background:#fff;
    }
    .news-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:22px;
      align-items:start;
    }
    .news-list,.recommend-box{
      background:#fff;
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:26px;
      position:relative;
      overflow:hidden;
    }
    .news-list ul{list-style:none;display:grid;gap:4px}
    .news-list li a{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
      padding:16px 0;
      border-bottom:1px solid rgba(220,232,245,.78);
      transition:var(--ease);
    }
    .news-list li:last-child a{border-bottom:0}
    .news-list li a:hover{color:var(--primary);transform:translateX(4px)}
    .news-index{
      width:34px;height:34px;border-radius:12px;
      background:#EEF5FF;color:var(--primary);
      display:grid;place-items:center;font-weight:900;
    }
    .news-title{font-weight:800;color:var(--navy)}
    .news-desc{display:block;color:var(--muted);font-size:14px;font-weight:500;margin-top:2px}
    .news-date{color:var(--muted);font-size:13px;white-space:nowrap}
    .recommend-box{
      background:linear-gradient(180deg,#FFFFFF,#F4F9FF);
    }
    .recommend-box h3{margin-bottom:14px}
    .tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
    .topic-link{
      display:inline-flex;
      padding:9px 13px;
      border-radius:999px;
      border:1px solid #D4E4FF;
      background:#fff;
      color:var(--primary);
      font-weight:800;
      font-size:13px;
      transition:var(--ease);
    }
    .topic-link:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 10px 20px rgba(37,99,235,.18)}

    .rewards{
      background:linear-gradient(180deg,#EEF6FF 0%,#F7FAFF 100%);
    }
    .reward-board{
      display:grid;
      grid-template-columns:.75fr 1.25fr;
      gap:22px;
      align-items:stretch;
    }
    .reward-intro,.reward-track{
      border:1px solid var(--line);
      border-radius:28px;
      background:#fff;
      box-shadow:var(--shadow);
      padding:28px;
    }
    .reward-track{
      display:grid;
      gap:15px;
    }
    .track-item{
      display:grid;
      grid-template-columns:52px 1fr auto;
      gap:14px;
      align-items:center;
      padding:16px;
      border-radius:20px;
      border:1px solid var(--line);
      background:#FAFCFF;
      transition:var(--ease);
    }
    .track-item:hover{border-color:#BFD6FF;box-shadow:0 12px 26px rgba(37,99,235,.08);transform:translateY(-2px)}
    .track-icon{
      width:52px;height:52px;border-radius:18px;
      background:linear-gradient(155deg,#EEF5FF,#EAF8F1);
      display:grid;place-items:center;font-size:24px;
    }
    .track-item p{color:var(--muted);font-size:15px}
    .progress{
      height:9px;
      background:#E7F0FF;
      border-radius:999px;
      overflow:hidden;
      margin-top:18px;
    }
    .progress span{display:block;height:100%;width:68%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px}

    .quotes{
      background:#fff;
    }
    .quote-wall{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      align-items:start;
    }
    .quote-col{display:grid;gap:18px}
    .quote-col:nth-child(2){padding-top:34px}
    .quote-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:24px;
      padding:24px;
      box-shadow:0 12px 32px rgba(37,99,235,.08);
      position:relative;
      overflow:hidden;
      transition:var(--ease);
    }
    .quote-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong);border-color:#BFD6FF}
    .quote-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
    .avatar{
      display:flex;align-items:center;gap:10px;font-weight:900;color:var(--navy);
    }
    .avatar i{
      width:38px;height:38px;border-radius:50%;
      background:linear-gradient(155deg,var(--primary),#88B4FF);
      color:#fff;display:grid;place-items:center;font-style:normal;
    }
    .quote-card p{color:var(--muted)}

    .signup{
      background:
        linear-gradient(135deg,rgba(37,99,235,.08),rgba(51,160,111,.07)),
        #F7FAFF;
    }
    .signup-card{
      border:1px solid #CFE0FF;
      border-radius:32px;
      background:#fff;
      box-shadow:var(--shadow-strong);
      padding:34px;
      display:grid;
      grid-template-columns:.95fr 1.05fr;
      gap:28px;
      align-items:center;
      position:relative;
      overflow:hidden;
    }
    .signup-card:before{
      content:"";
      position:absolute;
      inset:14px;
      border:1px dashed rgba(37,99,235,.18);
      border-radius:24px;
      pointer-events:none;
    }
    .signup-form{
      position:relative;
      z-index:1;
      display:grid;
      gap:14px;
    }
    .field{
      display:grid;
      gap:8px;
    }
    .field label{
      font-weight:800;
      color:var(--navy);
      font-size:14px;
    }
    .field input,.field textarea{
      width:100%;
      border:1px solid var(--line);
      background:#FAFCFF;
      border-radius:16px;
      padding:13px 14px;
      color:var(--text);
      transition:var(--ease);
    }
    .field textarea{min-height:104px;resize:vertical}
    .field input:focus,.field textarea:focus{
      border-color:#9EC0FF;
      box-shadow:0 0 0 4px rgba(37,99,235,.12);
      outline:0;
      background:#fff;
    }
    .form-note{
      background:#F1F7FF;
      border:1px solid #D4E4FF;
      border-radius:16px;
      padding:12px 14px;
      color:var(--muted);
      font-size:14px;
    }

    .faq{
      background:#fff;
    }
    .faq-wrap{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:26px;
      align-items:start;
    }
    .faq-aside{
      background:linear-gradient(180deg,#F3F8FF,#FFFFFF);
      border:1px solid var(--line);
      border-radius:28px;
      padding:28px;
      box-shadow:var(--shadow);
      position:sticky;
      top:28px;
    }
    .faq-list{display:grid;gap:12px}
    .faq-item{
      border:1px solid var(--line);
      border-radius:20px;
      background:#fff;
      overflow:hidden;
      transition:var(--ease);
    }
    .faq-item:hover{border-color:#BFD6FF;box-shadow:0 10px 24px rgba(37,99,235,.07)}
    .faq-q{
      width:100%;
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:center;
      padding:18px 20px;
      color:var(--navy);
      font-weight:900;
      text-align:left;
    }
    .faq-icon{
      width:28px;height:28px;border-radius:50%;
      display:grid;place-items:center;
      background:#EEF5FF;
      color:var(--primary);
      flex:0 0 auto;
      transition:var(--ease);
    }
    .faq-a{
      display:none;
      padding:0 20px 18px 20px;
      color:var(--muted);
      border-left:4px solid var(--secondary);
      margin-left:20px;
    }
    .faq-item.open{
      background:#F8FBFF;
      border-color:#CFE0FF;
    }
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:var(--primary);color:#fff}

    .final-cta{
      padding:88px 0 96px;
      background:linear-gradient(180deg,#FFFFFF,#EEF6FF);
    }
    .cta-panel{
      border-radius:34px;
      background:
        linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.78)),
        linear-gradient(135deg,rgba(37,99,235,.18),rgba(51,160,111,.14));
      border:1px solid #CFE0FF;
      box-shadow:var(--shadow-strong);
      padding:42px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:26px;
      align-items:center;
      position:relative;
      overflow:hidden;
    }
    .cta-panel:before{
      content:"";
      position:absolute;
      width:520px;height:180px;
      border:1px solid rgba(37,99,235,.14);
      border-radius:999px;
      right:-190px;top:-84px;
      transform:rotate(-12deg);
    }
    .cta-panel > *{position:relative;z-index:1}
    .cta-panel p{margin-top:12px;color:var(--muted);max-width:720px}
    .footer{
      border-top:1px solid var(--line);
      background:rgba(255,255,255,.82);
      padding:34px 0;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1fr auto;
      gap:24px;
      align-items:center;
    }
    .footer-brand{
      font-weight:900;
      color:var(--navy);
      margin-bottom:6px;
    }
    .footer p,.footer small{color:var(--muted)}
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:flex-end;
    }
    .footer-links a{
      padding:9px 12px;
      border-radius:999px;
      color:var(--muted);
      font-weight:800;
      border:1px solid transparent;
      transition:var(--ease);
    }
    .footer-links a:hover{color:var(--primary);border-color:#D4E4FF;background:#F3F8FF}

    .age-tip{
      position:fixed;
      right:22px;
      bottom:22px;
      z-index:50;
      max-width:390px;
      background:#fff;
      border:1px solid var(--amber-line);
      border-radius:22px;
      box-shadow:var(--shadow-strong);
      padding:18px;
      display:none;
    }
    .age-tip.show{display:block}
    .age-tip h3{font-size:18px;margin-bottom:6px}
    .age-tip p{color:var(--muted);font-size:14px;margin-bottom:14px}
    .age-actions{display:flex;gap:10px;flex-wrap:wrap}
    .age-actions .btn{min-height:40px;padding:9px 14px;font-size:14px}

    .backtop{
      position:fixed;
      right:22px;
      bottom:22px;
      z-index:35;
      width:46px;height:46px;
      border-radius:16px;
      background:var(--primary);
      color:#fff;
      box-shadow:0 12px 24px rgba(37,99,235,.26);
      display:none;
      align-items:center;
      justify-content:center;
      font-weight:900;
      transition:var(--ease);
    }
    .backtop.show{display:flex}
    .backtop:hover{background:var(--primary-dark);transform:translateY(-2px)}

    @media (max-width:1023px){
      :root{--side:78px}
      .side-nav{width:78px;left:12px;inset-top:12px;bottom:12px;padding:14px 8px}
      .brand-mark{width:54px;height:70px;font-size:11px;border-radius:18px}
      .nav-item{width:58px;min-height:58px;font-size:11px;border-radius:17px}
      .side-status{width:58px}
      .container{width:min(100% - 36px, 920px)}
      .hero-grid,.count-box,.wall-grid,.plans-layout,.news-grid,.reward-board,.signup-card,.faq-wrap{grid-template-columns:1fr}
      .score-card,.faq-aside{position:relative;top:auto}
      .hero-copy{padding:16px 0}
      .pain-strip{grid-template-columns:repeat(2,1fr)}
      .demo-board{min-height:auto}
      .section-pad{padding:72px 0}
      .cta-panel{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start}
    }
    @media (max-width:767px){
      .layout{display:block}
      .side-nav{display:none}
      .mobile-header{display:block}
      .page{padding-left:0}
      main{padding-top:16px}
      .container{width:min(100% - 28px, 620px)}
      .hero{padding:10px 0 56px}
      .hero-stage{padding:22px;border-radius:26px}
      .demo-board{grid-template-columns:1fr}
      .demo-card.wide,.demo-card.tall{grid-column:auto;grid-row:auto}
      .pain-strip{grid-template-columns:1fr}
      .timer{grid-template-columns:repeat(2,1fr)}
      .section-head{display:block}
      .route{grid-template-columns:1fr;gap:10px}
      .route-mid{height:34px;width:2px;margin-left:20px;background:linear-gradient(180deg,var(--primary),var(--secondary))}
      .route-mid:after{right:-4px;top:auto;bottom:-2px}
      .plan-card{grid-template-columns:1fr}
      .plan-action{text-align:left}
      .news-list li a{grid-template-columns:auto 1fr}
      .news-date{grid-column:2}
      .quote-wall{grid-template-columns:1fr}
      .quote-col:nth-child(2){padding-top:0}
      .track-item{grid-template-columns:52px 1fr}
      .track-item .badge{grid-column:1/-1;width:max-content}
      .signup-card,.cta-panel{padding:26px}
      .btn-row .btn{width:100%}
      .age-tip{left:14px;right:14px;bottom:14px;max-width:none}
      .backtop{right:16px;bottom:16px}
    }
    @media (max-width:420px){
      h1{font-size:30px}
      h2{font-size:24px}
      .hero-stage,.count-box,.bracket-card,.news-list,.recommend-box,.reward-intro,.reward-track,.signup-card,.faq-aside,.cta-panel{padding:20px}
      .time-cell strong{font-size:26px}
      .demo-number{font-size:34px}
      .mobile-brand span:last-child{max-width:220px}
    }

/* roulang page: category1 */
:root{
      --blue:#2F6FED;
      --blue-deep:#2563EB;
      --blue-soft:#EEF6FF;
      --green:#33A06F;
      --green-soft:#EAF8F1;
      --navy:#102A43;
      --text:#1F2D3D;
      --muted:#5F7186;
      --line:#DCE8F5;
      --bg:#F7FAFF;
      --card:#FFFFFF;
      --shadow:0 16px 40px rgba(37, 99, 235, .10);
      --shadow-hover:0 20px 50px rgba(37, 99, 235, .16);
      --r-xl:28px;
      --r-lg:22px;
      --r-md:16px;
      --r-sm:12px;
      --container:1240px;
      --nav-w:108px;
      --topbar:74px;
      --space-1:8px;
      --space-2:12px;
      --space-3:16px;
      --space-4:20px;
      --space-5:24px;
      --space-6:32px;
      --space-7:40px;
      --space-8:56px;
      --space-9:72px;
      --space-10:96px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:PingFang SC, Microsoft YaHei, Noto Sans SC, Helvetica Neue, Arial, sans-serif;
      background:
        radial-gradient(circle at top left, rgba(47,111,237,.08), transparent 26%),
        radial-gradient(circle at 88% 10%, rgba(51,160,111,.08), transparent 22%),
        linear-gradient(180deg, #F9FBFF 0%, #F4F8FF 100%);
      color:var(--text);
      line-height:1.75;
      overflow-x:hidden;
    }
    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    ::selection{background:rgba(47,111,237,.18)}
    .page-content{
      margin-left:var(--nav-w);
      min-height:100vh;
      padding-top:0;
    }
    .content-wrap{
      max-width:var(--container);
      margin:0 auto;
      padding:28px 28px 0;
    }
    .mobile-header{
      display:none;
    }
    .side-nav{
      position:fixed;
      inset:0 auto 0 0;
      width:var(--nav-w);
      background:rgba(255,255,255,.92);
      border-right:1px solid rgba(220,232,245,.9);
      box-shadow:10px 0 30px rgba(16,42,67,.04);
      z-index:70;
      backdrop-filter:blur(14px);
      display:flex;
      flex-direction:column;
      padding:16px 12px 14px;
    }
    .side-nav-logo{
      display:flex;
      flex-direction:column;
      gap:6px;
      align-items:flex-start;
      padding:10px 10px 14px;
      border:1px solid var(--line);
      border-radius:18px;
      background:linear-gradient(180deg, #FFF 0%, #F7FBFF 100%);
      box-shadow:0 10px 24px rgba(37,99,235,.06);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
      min-height:88px;
      justify-content:center;
    }
    .side-nav-logo:hover{transform:translateY(-1px); box-shadow:var(--shadow-hover); border-color:#bfd4f2}
    .logo-main{
      font-size:16px;
      font-weight:800;
      line-height:1.15;
      color:var(--navy);
      letter-spacing:.2px;
    }
    .logo-sub{
      font-size:11px;
      color:var(--muted);
      letter-spacing:.2px;
    }
    .side-nav-links{
      list-style:none;
      padding:14px 0 0;
      margin:0;
      display:flex;
      flex-direction:column;
      gap:8px;
      flex:1;
    }
    .side-nav-link{
      display:flex;
      align-items:center;
      gap:10px;
      min-height:54px;
      padding:0 12px;
      border-radius:16px;
      border:1px solid transparent;
      color:var(--navy);
      transition:background .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
      position:relative;
      overflow:hidden;
    }
    .side-nav-link::before{
      content:"";
      position:absolute;
      left:0;
      top:10px;
      bottom:10px;
      width:3px;
      border-radius:999px;
      background:transparent;
      transition:background .2s ease;
    }
    .side-nav-link:hover{
      background:rgba(47,111,237,.06);
      border-color:#cfe0fb;
      transform:translateY(-1px);
      box-shadow:0 10px 18px rgba(37,99,235,.08);
    }
    .side-nav-link.active{
      background:linear-gradient(180deg, rgba(47,111,237,.12), rgba(47,111,237,.06));
      border-color:#bfd4f2;
      font-weight:700;
    }
    .side-nav-link.active::before{background:linear-gradient(180deg, var(--blue), var(--green))}
    .nav-icon{
      width:24px;
      height:24px;
      border-radius:999px;
      background:var(--blue-soft);
      color:var(--blue);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:14px;
      flex:0 0 auto;
    }
    .side-nav-link.active .nav-icon{
      background:var(--blue);
      color:#fff;
    }
    .side-nav-footer{
      border-top:1px solid var(--line);
      padding:12px 10px 0;
      font-size:11px;
      color:var(--muted);
      text-align:center;
      letter-spacing:.2px;
    }
    .desktop-status{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      padding:12px 0 0;
      justify-content:center;
    }
    .status-pill{
      font-size:11px;
      line-height:1;
      padding:7px 9px;
      border-radius:999px;
      border:1px solid #dbe7f7;
      background:#fff;
      color:#34506e;
      box-shadow:0 6px 14px rgba(16,42,67,.05);
    }
    .status-pill.green{
      background:var(--green-soft);
      color:#156b49;
      border-color:#caeadb;
    }
    .status-pill.blue{
      background:var(--blue-soft);
      color:var(--blue);
      border-color:#d4e4fb;
    }

    .section{
      padding:0 0 var(--space-8);
    }
    .section + .section{margin-top:8px}
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:20px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--blue);
      background:rgba(47,111,237,.08);
      border:1px solid rgba(47,111,237,.12);
      padding:8px 12px;
      border-radius:999px;
    }
    .section-title{
      margin:10px 0 0;
      font-size:clamp(24px, 2.5vw, 34px);
      line-height:1.18;
      letter-spacing:-.02em;
      color:var(--navy);
    }
    .section-desc{
      margin:10px 0 0;
      color:var(--muted);
      max-width:760px;
      font-size:16px;
    }
    .crumbs{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      font-size:13px;
      color:#6c7e92;
      margin-bottom:14px;
    }
    .crumbs span{
      color:#a2b2c5;
    }
    .crumbs a{
      color:#55718f;
    }
    .crumbs a:hover{color:var(--blue)}
    .hero{
      padding-top:6px;
    }
    .hero-panel{
      position:relative;
      overflow:hidden;
      border-radius:32px;
      border:1px solid #d8e6f6;
      background:
        linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(242,247,255,.98) 100%);
      box-shadow:var(--shadow);
    }
    .hero-panel::before{
      content:"";
      position:absolute;
      inset:-1px -1px auto -1px;
      height:4px;
      background:linear-gradient(90deg, var(--blue), var(--green));
    }
    .hero-inner{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:26px;
      padding:30px;
      position:relative;
      z-index:1;
    }
    .hero-copy{
      min-width:0;
    }
    .hero-tagrow{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:16px;
    }
    .hero-badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid #dbe7f7;
      background:#fff;
      color:#33506d;
      font-size:12px;
      box-shadow:0 8px 18px rgba(37,99,235,.06);
    }
    .hero-badge strong{color:var(--green)}
    .hero h1{
      margin:0;
      font-size:clamp(34px, 4.6vw, 56px);
      line-height:1.12;
      letter-spacing:-.04em;
      color:var(--navy);
      max-width:12ch;
    }
    .hero-lead{
      margin:16px 0 0;
      font-size:17px;
      line-height:1.8;
      color:#42566d;
      max-width:720px;
    }
    .cta-row{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:22px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:48px;
      padding:0 20px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:700;
      font-size:15px;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
      box-shadow:0 10px 20px rgba(16,42,67,.06);
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-2px); box-shadow:var(--shadow-hover)}
    .btn-primary{
      background:linear-gradient(180deg, var(--blue), var(--blue-deep));
      color:#fff;
    }
    .btn-primary:hover{background:linear-gradient(180deg, #2a67ea, #2357d3)}
    .btn-secondary{
      background:#fff;
      color:var(--blue);
      border-color:#cfe0fb;
    }
    .btn-secondary:hover{
      background:var(--blue-soft);
      border-color:#b9d0fa;
    }
    .hero-notes{
      display:grid;
      gap:10px;
      margin-top:22px;
      max-width:640px;
    }
    .hero-note{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#48607a;
      font-size:14px;
    }
    .hero-note i{
      width:20px;
      height:20px;
      border-radius:999px;
      background:var(--green-soft);
      color:var(--green);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      font-style:normal;
      font-size:12px;
      margin-top:2px;
    }
    .coupon-wall{
      display:grid;
      grid-template-columns:1.25fr .8fr;
      gap:14px;
      align-content:start;
    }
    .coupon{
      position:relative;
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.98));
      border:1px solid #dce8f5;
      box-shadow:0 14px 28px rgba(16,42,67,.08);
      overflow:hidden;
      min-height:148px;
    }
    .coupon::before{
      content:"";
      position:absolute;
      inset:0 auto 0 0;
      width:4px;
      background:linear-gradient(180deg, var(--blue), var(--green));
    }
    .coupon::after{
      content:"";
      position:absolute;
      inset:auto 14px 14px auto;
      width:90px;
      height:90px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(47,111,237,.12) 0%, rgba(47,111,237,0) 72%);
    }
    .coupon-inner{
      padding:18px 18px 18px 22px;
      position:relative;
      z-index:1;
    }
    .coupon-label{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(51,160,111,.10);
      color:#16714f;
      border:1px solid rgba(51,160,111,.14);
      font-size:12px;
      font-weight:700;
    }
    .coupon-title{
      margin:12px 0 0;
      font-size:22px;
      line-height:1.24;
      letter-spacing:-.02em;
      color:var(--navy);
    }
    .coupon-text{
      margin:10px 0 0;
      color:#4b5f77;
      font-size:14px;
      line-height:1.7;
    }
    .coupon-action{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-top:14px;
    }
    .coupon-small{
      display:grid;
      grid-template-columns:1fr;
      gap:14px;
    }
    .coupon-mini{
      min-height:112px;
      background:
        linear-gradient(180deg, #fff 0%, #f9fcff 100%);
    }
    .coupon-stat{
      font-size:28px;
      font-weight:800;
      line-height:1;
      color:var(--blue);
      letter-spacing:-.04em;
      margin-top:12px;
    }
    .coupon-stat small{
      font-size:12px;
      color:#6c7e92;
      font-weight:600;
      margin-left:6px;
    }
    .hero-kicker{
      display:flex;
      align-items:center;
      gap:12px;
      margin-top:18px;
      padding:12px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.84);
      border:1px solid rgba(220,232,245,.95);
      color:#4d627c;
      font-size:13px;
      flex-wrap:wrap;
    }
    .hero-kicker span{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:#fff;
      border:1px solid #dbe7f7;
    }

    .filter-bar{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:16px;
      background:rgba(255,255,255,.72);
      border:1px solid #dce8f5;
      border-radius:24px;
      box-shadow:0 12px 28px rgba(16,42,67,.06);
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid #dce8f5;
      background:#fff;
      color:#4e6480;
      font-size:13px;
      font-weight:600;
      transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .chip:hover{
      transform:translateY(-1px);
      border-color:#bfd4f2;
      box-shadow:0 10px 18px rgba(37,99,235,.08);
    }
    .chip.active{
      background:linear-gradient(180deg, var(--blue), var(--blue-deep));
      color:#fff;
      border-color:transparent;
    }
    .chip.soft{
      background:var(--green-soft);
      color:#156b49;
      border-color:#caeadb;
    }

    .content-split{
      display:grid;
      grid-template-columns:minmax(0,1.72fr) 320px;
      gap:22px;
      align-items:start;
    }
    .panel{
      border-radius:28px;
      border:1px solid #dce8f5;
      background:rgba(255,255,255,.95);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .panel-topline{
      height:4px;
      background:linear-gradient(90deg, var(--blue), var(--green));
    }
    .panel-body{
      padding:24px;
    }
    .panel-title{
      margin:0;
      font-size:clamp(24px, 2.5vw, 30px);
      line-height:1.18;
      color:var(--navy);
      letter-spacing:-.03em;
    }
    .panel-text{
      margin:10px 0 0;
      color:#4e6279;
      font-size:15px;
      line-height:1.8;
    }
    .step-list{
      margin-top:20px;
      display:grid;
      gap:14px;
    }
    .step-item{
      display:grid;
      grid-template-columns:40px 1fr;
      gap:14px;
      padding:16px;
      border-radius:20px;
      background:linear-gradient(180deg, #fff, #f9fcff);
      border:1px solid #dce8f5;
      position:relative;
      overflow:hidden;
    }
    .step-item::after{
      content:"";
      position:absolute;
      left:18px;
      top:48px;
      bottom:-10px;
      width:2px;
      background:linear-gradient(180deg, rgba(51,160,111,.55), rgba(47,111,237,.12));
    }
    .step-num{
      width:40px;
      height:40px;
      border-radius:14px;
      background:var(--blue-soft);
      color:var(--blue);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:800;
      font-size:18px;
      box-shadow:inset 0 0 0 1px rgba(47,111,237,.08);
      position:relative;
      z-index:1;
    }
    .step-title{
      margin:2px 0 6px;
      font-size:18px;
      color:var(--navy);
      line-height:1.35;
    }
    .step-desc{
      margin:0;
      color:#54677f;
      font-size:14px;
      line-height:1.75;
    }
    .step-tagrow{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }
    .mini-tag{
      font-size:12px;
      padding:6px 10px;
      border-radius:999px;
      background:#fff;
      border:1px solid #dce8f5;
      color:#51657d;
    }
    .side-rail{
      display:grid;
      gap:14px;
    }
    .side-card{
      border-radius:22px;
      border:1px solid #dce8f5;
      background:#fff;
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .side-card .panel-topline{height:3px}
    .side-card-body{padding:18px}
    .side-card-title{
      margin:0;
      font-size:18px;
      color:var(--navy);
      line-height:1.25;
    }
    .side-card-text{
      margin:8px 0 0;
      color:#53677f;
      font-size:14px;
      line-height:1.75;
    }
    .bullet-list{
      list-style:none;
      padding:0;
      margin:14px 0 0;
      display:grid;
      gap:10px;
    }
    .bullet-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#42566d;
      font-size:14px;
      line-height:1.72;
    }
    .bullet-list li::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      margin-top:8px;
      background:linear-gradient(180deg, var(--blue), var(--green));
      flex:0 0 auto;
      box-shadow:0 0 0 4px rgba(47,111,237,.08);
    }

    .metric-band{
      border-radius:30px;
      border:1px solid #dce8f5;
      background:
        linear-gradient(180deg, rgba(238,246,255,.96), rgba(255,255,255,.98));
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .metric-inner{
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:0;
    }
    .metric{
      padding:24px 20px;
      position:relative;
      min-height:142px;
      background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.2));
      border-right:1px solid rgba(220,232,245,.9);
    }
    .metric:last-child{border-right:none}
    .metric::before{
      content:"";
      position:absolute;
      left:20px;
      right:20px;
      top:0;
      height:3px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--blue), var(--green));
    }
    .metric-num{
      margin-top:18px;
      font-size:40px;
      line-height:1;
      font-weight:800;
      letter-spacing:-.05em;
      color:var(--navy);
    }
    .metric-num small{
      font-size:14px;
      color:#6c7e92;
      font-weight:700;
      margin-left:6px;
    }
    .metric-label{
      margin-top:10px;
      font-size:14px;
      font-weight:700;
      color:#324a64;
    }
    .metric-text{
      margin-top:8px;
      color:#54677f;
      font-size:13px;
      line-height:1.7;
    }

    .waterfall{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:16px;
    }
    .info-card{
      border-radius:24px;
      border:1px solid #dce8f5;
      background:#fff;
      box-shadow:var(--shadow);
      overflow:hidden;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .info-card:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-hover);
      border-color:#bfd4f2;
    }
    .info-topline{
      height:3px;
      background:linear-gradient(90deg, var(--blue), var(--green));
    }
    .info-body{
      padding:20px;
    }
    .info-title{
      margin:0;
      font-size:18px;
      line-height:1.3;
      color:var(--navy);
    }
    .info-text{
      margin:10px 0 0;
      color:#53677f;
      font-size:14px;
      line-height:1.75;
    }
    .meta-row{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:8px;
      margin-top:14px;
    }
    .meta-chip{
      padding:6px 10px;
      font-size:12px;
      border-radius:999px;
      border:1px solid #dce8f5;
      background:var(--blue-soft);
      color:var(--blue);
    }
    .meta-chip.green{
      background:var(--green-soft);
      color:#166b4a;
      border-color:#cceadf;
    }
    .meta-foot{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-top:16px;
    }
    .meta-time{
      color:#6c7e92;
      font-size:12px;
    }
    .view-link{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--blue);
      font-size:13px;
      font-weight:700;
    }
    .view-link:hover{color:var(--blue-deep)}

    .more-band{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:20px 22px;
      border-radius:22px;
      border:1px solid #dce8f5;
      background:linear-gradient(180deg, #fff, #f8fbff);
      box-shadow:0 12px 24px rgba(16,42,67,.06);
    }
    .page-pager{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .pager{
      min-width:40px;
      height:40px;
      padding:0 14px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:999px;
      border:1px solid #dce8f5;
      background:#fff;
      color:#4e6480;
      font-weight:700;
      font-size:13px;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
    }
    .pager:hover{
      transform:translateY(-1px);
      border-color:#bfd4f2;
      box-shadow:0 10px 18px rgba(37,99,235,.08);
      color:var(--blue);
    }
    .pager.active{
      background:linear-gradient(180deg, var(--blue), var(--blue-deep));
      color:#fff;
      border-color:transparent;
    }

    .feedback-grid{
      display:grid;
      grid-template-columns:1fr 420px;
      gap:20px;
      align-items:start;
    }
    .comment-wall{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }
    .comment{
      border-radius:22px;
      border:1px solid #dce8f5;
      background:#fff;
      box-shadow:var(--shadow);
      padding:20px;
      position:relative;
      overflow:hidden;
    }
    .comment:nth-child(2n){transform:translateY(10px)}
    .comment::before{
      content:"";
      position:absolute;
      inset:0 auto auto 0;
      width:100%;
      height:3px;
      background:linear-gradient(90deg, var(--blue), var(--green));
    }
    .comment-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:12px;
    }
    .comment-name{
      font-weight:800;
      color:var(--navy);
    }
    .comment-tag{
      font-size:12px;
      color:#166b4a;
      background:var(--green-soft);
      border:1px solid #cceadf;
      padding:6px 10px;
      border-radius:999px;
      white-space:nowrap;
    }
    .comment-text{
      margin:0;
      color:#4b6078;
      font-size:14px;
      line-height:1.8;
    }
    .form-card{
      border-radius:24px;
      border:1px solid #dce8f5;
      background:linear-gradient(180deg, #fff, #f8fbff);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .form-body{padding:22px}
    .form-title{
      margin:0;
      font-size:20px;
      line-height:1.25;
      color:var(--navy);
    }
    .form-text{
      margin:8px 0 0;
      color:#556a82;
      font-size:14px;
      line-height:1.75;
    }
    .form-grid{
      display:grid;
      gap:12px;
      margin-top:16px;
    }
    .field{
      display:grid;
      gap:8px;
    }
    .field label{
      font-size:13px;
      font-weight:700;
      color:#435971;
    }
    .input, .textarea{
      width:100%;
      border:1px solid #dce8f5;
      border-radius:14px;
      background:#fff;
      color:var(--text);
      padding:12px 14px;
      outline:none;
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .textarea{
      min-height:112px;
      resize:vertical;
    }
    .input:focus, .textarea:focus{
      border-color:#9dc1f6;
      box-shadow:0 0 0 4px rgba(47,111,237,.12);
    }
    .helper{
      font-size:12px;
      color:#6c7e92;
      line-height:1.7;
    }
    .form-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:6px;
    }
    .toast{
      margin-top:12px;
      display:none;
      padding:12px 14px;
      border-radius:14px;
      background:var(--green-soft);
      border:1px solid #cbe8d9;
      color:#166b4a;
      font-size:13px;
    }
    .toast.show{display:block}

    .faq{
      display:grid;
      gap:12px;
    }
    .faq-item{
      border:1px solid #dce8f5;
      border-radius:18px;
      background:#fff;
      box-shadow:0 10px 22px rgba(16,42,67,.05);
      overflow:hidden;
    }
    .faq-btn{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:18px 20px;
      border:0;
      background:transparent;
      color:var(--navy);
      font-weight:700;
      text-align:left;
    }
    .faq-btn span{
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .faq-btn i{
      width:28px;
      height:28px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:var(--blue-soft);
      color:var(--blue);
      font-style:normal;
      font-weight:800;
      flex:0 0 auto;
      transition:transform .2s ease;
    }
    .faq-item.open .faq-btn{
      background:rgba(47,111,237,.05);
    }
    .faq-item.open .faq-btn i{transform:rotate(45deg)}
    .faq-panel{
      max-height:0;
      overflow:hidden;
      transition:max-height .28s ease;
      border-top:1px solid rgba(220,232,245,.9);
      background:linear-gradient(180deg, rgba(238,246,255,.48), rgba(255,255,255,.95));
    }
    .faq-item.open .faq-panel{max-height:240px}
    .faq-panel-inner{
      padding:0 20px 18px 20px;
      color:#50657e;
      font-size:14px;
      line-height:1.8;
      border-left:3px solid var(--green);
      margin-left:20px;
      padding-left:16px;
      margin-top:14px;
      margin-bottom:16px;
    }

    .cta-section{
      margin-bottom:10px;
    }
    .cta-shell{
      position:relative;
      overflow:hidden;
      border-radius:32px;
      border:1px solid #dce8f5;
      background:
        linear-gradient(135deg, rgba(238,246,255,.98) 0%, rgba(255,255,255,.98) 100%);
      box-shadow:var(--shadow);
    }
    .cta-shell::before{
      content:"";
      position:absolute;
      inset:0 auto 0 0;
      width:6px;
      background:linear-gradient(180deg, var(--blue), var(--green));
    }
    .cta-shell::after{
      content:"";
      position:absolute;
      right:-60px;
      top:-60px;
      width:220px;
      height:220px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(47,111,237,.12) 0%, rgba(47,111,237,0) 70%);
    }
    .cta-inner{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:20px;
      padding:28px;
      position:relative;
      z-index:1;
    }
    .cta-title{
      margin:0;
      font-size:clamp(26px, 3vw, 38px);
      line-height:1.16;
      color:var(--navy);
      letter-spacing:-.03em;
    }
    .cta-text{
      margin:12px 0 0;
      color:#4c6079;
      font-size:16px;
      line-height:1.82;
      max-width:760px;
    }
    .cta-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
    }
    .cta-note{
      margin-top:16px;
      padding:14px 16px;
      border-radius:18px;
      border:1px solid #dce8f5;
      background:rgba(255,255,255,.88);
      color:#50657e;
      font-size:13px;
      line-height:1.75;
    }

    .footer{
      margin-top:24px;
      background:rgba(255,255,255,.86);
      border-top:1px solid #dce8f5;
      box-shadow:0 -10px 30px rgba(16,42,67,.03);
    }
    .footer .container{
      max-width:var(--container);
      margin:0 auto;
      padding:28px 28px 34px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:22px;
      align-items:start;
    }
    .footer-brand{
      font-size:22px;
      font-weight:800;
      color:var(--navy);
      line-height:1.18;
      margin-bottom:10px;
    }
    .footer p{
      margin:0;
      color:#52667d;
      font-size:14px;
      line-height:1.8;
      max-width:620px;
    }
    .footer small{
      display:block;
      margin-top:14px;
      color:#7b8ca0;
      font-size:12px;
      line-height:1.7;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px 12px;
      justify-content:flex-end;
      align-content:start;
    }
    .footer-links a{
      color:#4d6380;
      font-weight:600;
      font-size:13px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid transparent;
      background:#fff;
      transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
      box-shadow:0 8px 16px rgba(16,42,67,.05);
    }
    .footer-links a:hover{
      transform:translateY(-1px);
      border-color:#bfd4f2;
      color:var(--blue);
      box-shadow:0 12px 20px rgba(37,99,235,.10);
    }

    .backtop{
      position:fixed;
      right:18px;
      bottom:18px;
      width:48px;
      height:48px;
      border-radius:999px;
      border:1px solid #cfe0fb;
      background:linear-gradient(180deg, #fff, #eef6ff);
      color:var(--blue);
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:var(--shadow);
      z-index:50;
      transition:transform .2s ease, box-shadow .2s ease;
    }
    .backtop:hover{transform:translateY(-2px); box-shadow:var(--shadow-hover)}

    @media (max-width: 1190px){
      .content-split,
      .feedback-grid,
      .cta-inner,
      .hero-inner{
        grid-template-columns:1fr;
      }
      .metric-inner{grid-template-columns:repeat(2, 1fr)}
      .waterfall{grid-template-columns:repeat(2, minmax(0,1fr))}
      .hero h1{max-width:14ch}
      .coupon-wall{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start}
    }
    @media (max-width: 1023px){
      .page-content{margin-left:0}
      .side-nav{display:none}
      .mobile-header{
        display:block;
        position:sticky;
        top:0;
        z-index:90;
        background:rgba(247,250,255,.92);
        backdrop-filter:blur(14px);
        border-bottom:1px solid rgba(220,232,245,.95);
      }
      .mobile-bar{
        max-width:var(--container);
        margin:0 auto;
        padding:12px 18px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
      }
      .mobile-brand{
        display:flex;
        align-items:center;
        gap:10px;
        font-weight:800;
        color:var(--navy);
        min-width:0;
      }
      .mobile-brand span:first-child{
        width:34px;
        height:34px;
        border-radius:12px;
        background:linear-gradient(180deg, var(--blue), var(--blue-deep));
        color:#fff;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        font-size:14px;
        flex:0 0 auto;
      }
      .mobile-brand span:last-child{
        font-size:14px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .mobile-actions{
        display:flex;
        align-items:center;
        gap:10px;
      }
      .top-cta{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:40px;
        padding:0 14px;
        border-radius:999px;
        background:#fff;
        border:1px solid #cfe0fb;
        color:var(--blue);
        font-size:13px;
        font-weight:700;
      }
      .menu-toggle{
        width:42px;
        height:42px;
        border-radius:14px;
        border:1px solid #d7e5f6;
        background:#fff;
        color:var(--navy);
        font-size:18px;
        box-shadow:0 10px 20px rgba(16,42,67,.05);
      }
      .mobile-drawer{
        position:fixed;
        left:0;
        right:0;
        top:64px;
        transform:translateY(-10px);
        opacity:0;
        visibility:hidden;
        transition:transform .22s ease, opacity .22s ease, visibility .22s ease;
        background:#fff;
        border-bottom:1px solid #dce8f5;
        box-shadow:0 18px 34px rgba(16,42,67,.08);
        z-index:85;
        padding:12px 16px 16px;
      }
      .mobile-drawer.show{
        transform:translateY(0);
        opacity:1;
        visibility:visible;
      }
      .mobile-drawer a{
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:13px 14px;
        border-radius:16px;
        color:var(--navy);
        border:1px solid transparent;
        margin-top:8px;
        background:#fff;
      }
      .mobile-drawer a.active{
        background:rgba(47,111,237,.08);
        border-color:#cfe0fb;
        font-weight:700;
      }
      .mobile-drawer a span{
        color:#6f8194;
        font-size:12px;
      }
      .content-wrap{
        padding:18px 16px 0;
      }
      .hero h1{max-width:100%}
      .hero-panel,
      .panel,
      .metric-band,
      .cta-shell{
        border-radius:24px;
      }
      .waterfall{grid-template-columns:1fr}
      .comment-wall{grid-template-columns:1fr}
      .comment:nth-child(2n){transform:none}
      .metric-inner{grid-template-columns:1fr}
      .metric{border-right:none; border-bottom:1px solid rgba(220,232,245,.9)}
      .metric:last-child{border-bottom:none}
      .more-band{
        flex-direction:column;
        align-items:flex-start;
      }
      .page-pager{width:100%}
      .pager{flex:1 0 auto}
      .filter-bar{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding:14px;
        scrollbar-width:thin;
      }
      .filter-bar::-webkit-scrollbar{height:6px}
      .filter-bar::-webkit-scrollbar-thumb{background:#cddcf1; border-radius:999px}
    }
    @media (max-width: 767px){
      .hero-inner,
      .panel-body,
      .side-card-body,
      .info-body,
      .form-body,
      .cta-inner{
        padding:20px;
      }
      .hero-panel,
      .panel,
      .info-card,
      .side-card,
      .form-card,
      .cta-shell{
        border-radius:22px;
      }
      .hero h1{
        font-size:clamp(30px, 8vw, 38px);
      }
      .hero-lead,
      .section-desc,
      .cta-text{
        font-size:15px;
      }
      .step-item{
        grid-template-columns:36px 1fr;
        padding:14px;
      }
      .step-num{
        width:36px;
        height:36px;
        font-size:16px;
      }
      .step-item::after{left:16px}
      .coupon-title{
        font-size:20px;
      }
      .coupon-action{
        flex-direction:column;
        align-items:flex-start;
      }
      .btn{
        width:auto;
      }
      .cta-row .btn{
        width:100%;
      }
      .hero-kicker{
        padding:10px 12px;
      }
      .hero-kicker span{
        width:100%;
        justify-content:flex-start;
      }
      .faq-btn{
        padding:16px;
      }
      .faq-panel-inner{
        margin-left:14px;
        padding-left:12px;
      }
      .footer .container{
        padding:24px 16px 28px;
      }
      .footer-links{
        gap:8px;
      }
      .footer-links a{
        width:calc(50% - 6px);
        text-align:center;
      }
    }
    @media (max-width: 420px){
      .content-wrap{padding:16px 12px 0}
      .btn,
      .pager,
      .top-cta{
        width:100%;
      }
      .cta-row,
      .form-actions{
        flex-direction:column;
      }
      .cta-row .btn,
      .form-actions .btn{
        width:100%;
      }
      .hero-tagrow,
      .meta-row,
      .cta-tags{
        gap:8px;
      }
      .hero-badge,
      .chip,
      .meta-chip{
        width:100%;
        justify-content:center;
      }
      .footer-links a{
        width:100%;
      }
    }
