/* roulang page: index */
:root{
      --bg:#09070d;
      --bg-soft:#110f18;
      --surface:#171423;
      --surface-2:#1f1b2f;
      --surface-3:#251f39;
      --text:#f7f2ff;
      --muted:#b8aecf;
      --muted-2:#8f86a8;
      --line:rgba(255,255,255,.09);
      --line-strong:rgba(255,255,255,.16);
      --accent:#ff4b93;
      --accent-2:#8b63ff;
      --accent-3:#2de4c7;
      --warning:#ffb65a;
      --success:#45df9c;
      --shadow:0 24px 60px rgba(0,0,0,.48);
      --shadow-soft:0 12px 30px rgba(0,0,0,.28);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --radius-sm:12px;
      --gap:24px;
      --max:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      color:var(--text);
      line-height:1.75;
      background:
        radial-gradient(1200px 600px at 15% -5%, rgba(255,75,147,.20), transparent 55%),
        radial-gradient(900px 500px at 90% 10%, rgba(139,99,255,.18), transparent 52%),
        radial-gradient(700px 500px at 65% 110%, rgba(45,228,199,.12), transparent 55%),
        linear-gradient(180deg, #0e0b14 0%, #09070d 35%, #08060c 100%);
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size:72px 72px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.7), rgba(0,0,0,.18) 42%, rgba(0,0,0,.72));
      opacity:.42;
      z-index:-1;
    }
    a{color:inherit;text-decoration:none;transition:color .22s ease, opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{
      outline:2px solid rgba(45,228,199,.95);
      outline-offset:3px;
    }
    ::selection{background:rgba(255,75,147,.24);color:#fff}

    .site-header{
      position:sticky;
      top:0;
      z-index:40;
      backdrop-filter:blur(16px);
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(17,14,26,.86));
      border-bottom:1px solid rgba(255,255,255,.08);
      box-shadow:0 12px 40px rgba(0,0,0,.24);
    }
    .header-inner{
      max-width:var(--max);
      margin:0 auto;
      padding:12px 18px 14px;
    }
    .top-band{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:10px 14px;
      margin-bottom:10px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.12);
      background:linear-gradient(90deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }
    .top-band .notice{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:10px;
      color:var(--muted);
      font-size:13px;
      letter-spacing:.01em;
    }
    .top-band .notice strong{color:#fff;font-weight:700}
    .top-band .notice .age-mark{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:42px;
      height:26px;
      padding:0 10px;
      border-radius:999px;
      background:rgba(255,182,90,.14);
      color:#ffd59c;
      border:1px solid rgba(255,182,90,.36);
      font-size:12px;
      font-weight:700;
    }
    .nav-row{
      display:flex;
      align-items:center;
      gap:16px;
      min-height:56px;
    }
    .brand{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-weight:800;
      letter-spacing:.02em;
      color:#fff;
      font-size:18px;
    }
    .brand::before{
      content:"";
      width:12px;
      height:12px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 0 18px rgba(255,75,147,.55);
      flex:0 0 auto;
    }
    .site-nav{
      position:relative;
      flex:1 1 auto;
      display:flex;
      justify-content:center;
    }
    .site-links{
      list-style:none;
      display:flex;
      align-items:center;
      gap:8px;
      margin:0;
      padding:0;
    }
    .site-links a{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      padding:0 14px;
      border-radius:999px;
      color:var(--muted);
      border:1px solid transparent;
      font-size:14px;
      white-space:nowrap;
    }
    .site-links a:hover,
    .site-links a:focus-visible{
      color:#fff;
      background:rgba(255,255,255,.05);
      border-color:rgba(255,255,255,.09);
      transform:translateY(-1px);
    }
    .site-links a.active{
      color:#fff;
      background:linear-gradient(135deg, rgba(255,75,147,.22), rgba(139,99,255,.18));
      border-color:rgba(255,75,147,.34);
      box-shadow:0 10px 22px rgba(255,75,147,.08);
    }
    .nav-tools{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:10px;
    }
    .age-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:48px;
      height:40px;
      padding:0 12px;
      border-radius:999px;
      color:#ffe0b1;
      background:rgba(255,182,90,.12);
      border:1px solid rgba(255,182,90,.30);
      font-weight:700;
      font-size:13px;
    }
    .mega-trigger,
    .nav-toggle,
    .btn{
      border:none;
      outline:none;
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease, opacity .22s ease;
    }
    .mega-trigger{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:40px;
      padding:0 14px;
      border-radius:999px;
      color:#fff;
      background:linear-gradient(135deg, rgba(255,75,147,.22), rgba(139,99,255,.16));
      border:1px solid rgba(255,75,147,.28);
      box-shadow:0 12px 26px rgba(0,0,0,.22);
      font-weight:700;
      font-size:14px;
    }
    .mega-trigger:hover,
    .mega-trigger:focus-visible{
      transform:translateY(-1px);
      box-shadow:0 16px 30px rgba(255,75,147,.12);
    }
    .nav-toggle{
      display:none;
      align-items:center;
      justify-content:center;
      min-width:44px;
      height:44px;
      padding:0 12px;
      border-radius:14px;
      color:#fff;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
    }

    .mega-zone{
      position:relative;
      max-width:var(--max);
      margin:0 auto;
      padding:0 18px 16px;
    }
    .mega-panel{
      position:absolute;
      right:18px;
      top:0;
      width:min(760px, calc(100vw - 36px));
      padding:18px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.10);
      background:linear-gradient(180deg, rgba(28,24,41,.98), rgba(16,14,24,.96));
      box-shadow:var(--shadow);
      opacity:0;
      visibility:hidden;
      transform:translateY(-8px);
      transition:opacity .22s ease, visibility .22s ease, transform .22s ease;
    }
    .mega-panel.is-open{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }
    .mega-panel .panel-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
      padding-bottom:12px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .mega-panel .panel-title strong{
      font-size:15px;
      letter-spacing:.02em;
    }
    .mega-panel .panel-title span{
      color:var(--muted);
      font-size:13px;
    }
    .mega-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .mega-card{
      display:block;
      padding:16px;
      min-height:116px;
      border-radius:18px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }
    .mega-card:hover,
    .mega-card:focus-visible{
      transform:translateY(-2px);
      border-color:rgba(45,228,199,.35);
      box-shadow:0 14px 28px rgba(0,0,0,.22);
    }
    .mega-card h4{
      margin:0 0 8px;
      font-size:16px;
      line-height:1.25;
    }
    .mega-card p{
      margin:0 0 12px;
      color:var(--muted);
      font-size:13px;
      line-height:1.65;
    }
    .tag-row{display:flex;flex-wrap:wrap;gap:8px}
    .tag{
      display:inline-flex;
      align-items:center;
      min-height:24px;
      padding:0 10px;
      border-radius:999px;
      font-size:12px;
      color:#d8d0ea;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
    }
    .tag-accent{
      color:#ffd8ea;
      background:rgba(255,75,147,.12);
      border-color:rgba(255,75,147,.24);
    }
    .tag-teal{
      color:#c9fff3;
      background:rgba(45,228,199,.12);
      border-color:rgba(45,228,199,.22);
    }

    .site-main{padding:0 0 36px}
    .container-main{
      max-width:var(--max);
      margin:0 auto;
      padding:0 18px;
    }
    .section{
      margin-top:82px;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:22px;
    }
    .section-head .copy{
      max-width:720px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#f9cedf;
      background:rgba(255,75,147,.12);
      border:1px solid rgba(255,75,147,.22);
      padding:6px 12px;
      border-radius:999px;
      font-size:12px;
      letter-spacing:.05em;
      text-transform:uppercase;
      margin-bottom:12px;
    }
    .section h2{
      margin:0;
      font-size:clamp(24px, 3vw, 36px);
      line-height:1.16;
      letter-spacing:.01em;
    }
    .section-desc{
      margin:10px 0 0;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
      max-width:760px;
    }

    .hero-banner{
      position:relative;
      padding:18px 0 0;
    }
    .hero-shell{
      padding:18px;
      border-radius:30px;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(18,15,26,.95) 42%, rgba(15,12,22,.98) 100%);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .hero-shell::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(130deg, rgba(255,75,147,.16), transparent 32%),
        linear-gradient(300deg, rgba(139,99,255,.15), transparent 34%);
      pointer-events:none;
      mix-blend-mode:screen;
      opacity:.85;
    }
    .hero-topline{
      position:relative;
      z-index:1;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-bottom:16px;
      padding:12px 14px;
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }
    .hero-topline .left-note{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:10px;
      color:var(--muted);
      font-size:13px;
    }
    .hero-topline .left-note strong{color:#fff}
    .hero-topline .right-note{
      color:#f6cba0;
      font-size:13px;
      white-space:nowrap;
    }
    .hero-grid{
      position:relative;
      z-index:1;
      align-items:center;
      min-height:430px;
    }
    .hero-copy{
      padding:10px 6px 10px 6px;
    }
    .hero-copy h1{
      margin:0;
      font-size:clamp(32px, 4.4vw, 58px);
      line-height:1.13;
      letter-spacing:.01em;
      text-wrap:balance;
    }
    .hero-copy p{
      margin:16px 0 0;
      max-width:640px;
      font-size:16px;
      line-height:1.88;
      color:var(--muted);
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:26px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 18px;
      border-radius:14px;
      font-size:14px;
      font-weight:700;
      letter-spacing:.01em;
      text-decoration:none;
      will-change:transform;
    }
    .btn:hover,
    .btn:focus-visible{
      transform:translateY(-2px);
    }
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 14px 28px rgba(255,75,147,.18);
    }
    .btn-primary:hover,
    .btn-primary:focus-visible{
      box-shadow:0 18px 34px rgba(255,75,147,.28);
    }
    .btn-secondary{
      color:#fff;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(45,228,199,.32);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }
    .btn-secondary:hover,
    .btn-secondary:focus-visible{
      border-color:rgba(45,228,199,.48);
      box-shadow:0 14px 28px rgba(45,228,199,.12);
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:20px;
    }
    .hero-tags .tag{
      min-height:30px;
      padding:0 12px;
      background:rgba(255,255,255,.05);
    }
    .hero-board{
      position:relative;
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
      padding:14px;
    }
    .hero-board::before{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.08);
      background:
        linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
      transform:rotate(-1.2deg);
      pointer-events:none;
    }
    .hero-mini{
      position:relative;
      z-index:1;
      min-height:126px;
      padding:16px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .hero-mini::after{
      content:"";
      position:absolute;
      inset:auto -20% -35% auto;
      width:120px;
      height:120px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,75,147,.22), transparent 70%);
      pointer-events:none;
    }
    .hero-mini .mini-index{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:30px;
      height:30px;
      border-radius:10px;
      font-weight:800;
      font-size:12px;
      color:#fff;
      background:linear-gradient(135deg, rgba(255,75,147,.85), rgba(139,99,255,.75));
      box-shadow:0 8px 18px rgba(0,0,0,.22);
    }
    .hero-mini h3{
      margin:14px 0 8px;
      font-size:16px;
      line-height:1.28;
    }
    .hero-mini p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .hero-mini.alt{
      background:
        linear-gradient(180deg, rgba(45,228,199,.10), rgba(255,255,255,.03));
    }
    .hero-mini.alt .mini-index{
      background:linear-gradient(135deg, rgba(45,228,199,.92), rgba(77,150,255,.72));
    }

    .panel{
      position:relative;
      border-radius:var(--radius-xl);
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .panel::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(255,255,255,.02), transparent 42%),
        linear-gradient(135deg, rgba(255,75,147,.08), transparent 35%);
      pointer-events:none;
    }
    .panel-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:18px;
      padding:0 4px;
    }
    .panel-head .small{
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
      max-width:650px;
    }

    .topic-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:var(--gap);
    }
    .topic-card{
      position:relative;
      grid-column:span 6;
      padding:22px;
      min-height:220px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.09);
      background:
        linear-gradient(180deg, rgba(23,20,35,.95), rgba(16,13,24,.98));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .topic-card::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(135deg, rgba(255,75,147,.12), transparent 35%),
        linear-gradient(320deg, rgba(45,228,199,.10), transparent 34%);
      opacity:.8;
      pointer-events:none;
    }
    .topic-card h3{
      position:relative;
      z-index:1;
      margin:0 0 10px;
      font-size:22px;
      line-height:1.24;
    }
    .topic-card p{
      position:relative;
      z-index:1;
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
      max-width:420px;
    }
    .topic-card .meta{
      position:relative;
      z-index:1;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }
    .topic-card .actions{
      position:relative;
      z-index:1;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:22px;
    }
    .topic-card .topic-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:0 16px;
      border-radius:14px;
      color:#fff;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 14px 26px rgba(255,75,147,.15);
      font-weight:700;
      font-size:14px;
    }
    .topic-card .topic-link.alt{
      background:rgba(255,255,255,.05);
      border:1px solid rgba(45,228,199,.30);
      box-shadow:none;
    }
    .topic-card .topic-link:hover,
    .topic-card .topic-link:focus-visible{
      transform:translateY(-2px);
    }
    .topic-card.compact{
      grid-column:span 3;
      min-height:220px;
    }
    .topic-card.compact h3{font-size:18px}
    .topic-card.compact p{font-size:13px}
    .poster{
      position:absolute;
      right:16px;
      bottom:16px;
      width:120px;
      height:150px;
      border-radius:18px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.03)),
        radial-gradient(circle at 30% 20%, rgba(255,75,147,.34), transparent 44%),
        radial-gradient(circle at 70% 70%, rgba(45,228,199,.20), transparent 40%),
        linear-gradient(145deg, rgba(139,99,255,.42), rgba(13,10,19,.96));
      border:1px solid rgba(255,255,255,.10);
      opacity:.9;
      transform:rotate(4deg);
      box-shadow:0 18px 30px rgba(0,0,0,.28);
    }
    .poster::before,
    .poster::after{
      content:"";
      position:absolute;
      inset:10px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.09);
    }
    .poster::after{
      inset:auto 14px 14px 14px;
      height:24px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
    }

    .step-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:18px;
    }
    .step-card{
      position:relative;
      padding:20px;
      min-height:210px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.09);
      background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
      box-shadow:var(--shadow-soft);
    }
    .step-card::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:3px;
      background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));
      opacity:.9;
    }
    .step-card .num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:36px;
      height:36px;
      border-radius:12px;
      font-weight:800;
      font-size:13px;
      color:#fff;
      background:linear-gradient(135deg, rgba(255,75,147,.86), rgba(139,99,255,.76));
      box-shadow:0 10px 22px rgba(0,0,0,.24);
    }
    .step-card h3{
      margin:14px 0 10px;
      font-size:18px;
      line-height:1.28;
    }
    .step-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.82;
    }
    .step-card .mini-tip{
      position:absolute;
      left:20px;
      right:20px;
      bottom:18px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }

    .compare-wrap{
      display:grid;
      grid-template-columns:1.6fr .9fr;
      gap:18px;
      align-items:start;
    }
    .compare-card{
      padding:20px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      box-shadow:var(--shadow-soft);
    }
    .table-scroll{overflow-x:auto}
    table.compare-table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      min-width:720px;
      color:var(--text);
    }
    .compare-table th,
    .compare-table td{
      padding:16px 14px;
      border-bottomborder-bottom:1px solid rgba(255,255,255,.08);
      text-align:left;
      vertical-align:top;
      font-size:14px;
      line-height:1.7;
    }
    .compare-table thead th{
      color:#fff;
      font-size:13px;
      text-transform:none;
      letter-spacing:.02em;
      background:rgba(255,255,255,.04);
    }
    .compare-table thead th:first-child{
      border-top-left-radius:18px;
    }
    .compare-table thead th:last-child{
      border-top-right-radius:18px;
    }
    .compare-table tbody tr:hover td{
      background:rgba(255,255,255,.02);
    }
    .compare-table .check{
      color:#d9fff1;
      font-weight:700;
    }
    .compare-table .soft{
      color:var(--muted);
    }
    .compare-side{
      display:grid;
      gap:16px;
    }
    .side-panel{
      padding:18px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      box-shadow:var(--shadow-soft);
    }
    .side-panel h3{
      margin:0 0 10px;
      font-size:18px;
      line-height:1.3;
    }
    .side-panel p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .side-list{
      list-style:none;
      margin:14px 0 0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .side-list li{
      display:flex;
      gap:10px;
      color:#dcd6eb;
      font-size:14px;
      line-height:1.7;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.06);
    }
    .side-list li::before{
      content:"";
      width:8px;
      height:8px;
      margin-top:8px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--accent-3), var(--accent-2));
      box-shadow:0 0 16px rgba(45,228,199,.35);
      flex:0 0 auto;
    }

    .cta-strip{
      position:relative;
      padding:26px;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(135deg, rgba(255,75,147,.16), rgba(139,99,255,.12)),
        linear-gradient(180deg, rgba(20,16,32,.98), rgba(14,12,22,.98));
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .cta-strip::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);
      transform:translateX(-30%);
      opacity:.45;
      pointer-events:none;
    }
    .cta-strip h2{
      margin:0;
      font-size:clamp(24px, 3vw, 34px);
      line-height:1.16;
    }
    .cta-strip p{
      margin:12px 0 0;
      color:#eadff7;
      max-width:760px;
      font-size:15px;
      line-height:1.9;
    }
    .cta-row{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:20px;
    }

    .news-layout{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
      align-items:start;
    }
    .news-list{
      display:grid;
      gap:12px;
    }
    .news-item{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      padding:16px 18px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
      box-shadow:var(--shadow-soft);
    }
    .news-item:hover{
      transform:translateY(-2px);
      border-color:rgba(255,75,147,.25);
    }
    .news-item .txt{
      min-width:0;
    }
    .news-item h3{
      margin:0 0 6px;
      font-size:16px;
      line-height:1.4;
      font-weight:700;
    }
    .news-item p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .news-item .arrow{
      flex:0 0 auto;
      color:#fff;
      opacity:.72;
      margin-top:4px;
    }
    .news-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }
    .ranking-card{
      padding:20px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.09);
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
      box-shadow:var(--shadow-soft);
    }
    .ranking-card h3{
      margin:0 0 12px;
      font-size:18px;
      line-height:1.3;
    }
    .ranking-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .ranking-list li{
      display:grid;
      grid-template-columns:36px 1fr auto;
      gap:12px;
      align-items:center;
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.06);
      background:rgba(255,255,255,.03);
    }
    .ranking-list .rank{
      width:34px;
      height:34px;
      border-radius:12px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-weight:800;
      background:linear-gradient(135deg, rgba(255,75,147,.88), rgba(139,99,255,.74));
    }
    .ranking-list .name{
      min-width:0;
      font-size:14px;
      color:#fff;
    }
    .ranking-list .score{
      color:#d8ccee;
      font-size:12px;
      white-space:nowrap;
    }

    .topic-line{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .topic-line .pill{
      display:inline-flex;
      align-items:center;
      min-height:36px;
      padding:0 14px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.09);
      background:rgba(255,255,255,.035);
      color:#e8def7;
      font-size:13px;
    }
    .topic-line .pill.hot{
      border-color:rgba(255,75,147,.24);
      background:rgba(255,75,147,.12);
    }
    .topic-line .pill.safe{
      border-color:rgba(45,228,199,.24);
      background:rgba(45,228,199,.10);
    }

    .faq-wrap{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:18px;
      align-items:start;
    }
    .accordion{
      border:none;
      background:transparent;
    }
    .accordion-item{
      margin-bottom:12px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .accordion-title{
      color:#fff;
      background:transparent;
      padding:18px 20px;
      font-size:15px;
      line-height:1.5;
    }
    .accordion-title:hover,
    .accordion-title:focus-visible{
      background:rgba(255,255,255,.03);
      color:#fff;
    }
    .accordion-content{
      padding:0 20px 18px;
      color:var(--muted);
      font-size:14px;
      line-height:1.85;
      border-top:1px solid rgba(255,255,255,.06);
      background:rgba(0,0,0,.06);
    }
    .faq-aside{
      display:grid;
      gap:16px;
    }
    .info-box{
      padding:18px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      box-shadow:var(--shadow-soft);
    }
    .info-box h3{
      margin:0 0 10px;
      font-size:18px;
      line-height:1.3;
    }
    .info-box p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }

    .form-wrap{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:18px;
      align-items:start;
    }
    .form-card{
      padding:24px;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      box-shadow:var(--shadow);
    }
    .form-card h2{
      margin:0 0 10px;
      font-size:clamp(24px, 3vw, 34px);
      line-height:1.16;
    }
    .form-card .help{
      margin:0 0 18px;
      color:var(--muted);
      font-size:14px;
      line-height:1.9;
    }
    .form-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
    }
    .field{
      display:grid;
      gap:8px;
    }
    .field.full{grid-column:1 / -1}
    label{
      color:#ede6fb;
      font-size:13px;
      font-weight:700;
      letter-spacing:.01em;
    }
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    select,
    textarea{
      width:100%;
      min-height:46px;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(5,5,10,.48);
      color:#fff;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
      transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
    }
    textarea{
      min-height:128px;
      resize:vertical;
    }
    input::placeholder,
    textarea::placeholder{color:#8f85a5}
    input:focus,
    select:focus,
    textarea:focus{
      border-color:rgba(45,228,199,.5);
      box-shadow:0 0 0 3px rgba(45,228,199,.12);
      background:rgba(10,8,16,.76);
      outline:none;
    }
    .checkbox-row{
      display:flex;
      align-items:flex-start;
      gap:10px;
      margin-top:2px;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .checkbox-row input{
      margin-top:4px;
      width:18px;
      height:18px;
      accent-color:var(--accent);
      flex:0 0 auto;
    }
    .form-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:16px;
    }
    .form-side{
      display:grid;
      gap:16px;
    }
    .status-card{
      padding:20px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.09);
      background:
        linear-gradient(180deg, rgba(255,75,147,.08), rgba(255,255,255,.03));
      box-shadow:var(--shadow-soft);
    }
    .status-card h3{
      margin:0 0 10px;
      font-size:18px;
      line-height:1.3;
    }
    .status-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .status-list{
      list-style:none;
      margin:14px 0 0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .status-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#e9e0f7;
      font-size:13px;
      line-height:1.7;
    }
    .status-list li::before{
      content:"";
      width:10px;
      height:10px;
      margin-top:6px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--warning), var(--accent));
      box-shadow:0 0 14px rgba(255,182,90,.35);
      flex:0 0 auto;
    }

    .site-footer{
      margin-top:84px;
      padding:26px 0 34px;
      border-top:1px solid rgba(255,255,255,.10);
      background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.03));
    }
    .footer-inner{
      max-width:var(--max);
      margin:0 auto;
      padding:0 18px;
    }
    .footer-top{
      display:flex;
      justify-content:space-between;
      gap:24px;
      padding-top:10px;
    }
    .footer-brand{
      max-width:420px;
    }
    .footer-brand .name{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:18px;
      font-weight:800;
      margin-bottom:10px;
    }
    .footer-brand p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.9;
    }
    .footer-links{
      display:grid;
      gap:12px;
      grid-template-columns:repeat(2, minmax(0,1fr));
      min-width:min(460px, 100%);
    }
    .footer-links a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:12px 14px;
      border-radius:16px;
      color:#ede6fb;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.07);
      font-size:14px;
    }
    .footer-links a:hover,
    .footer-links a:focus-visible{
      transform:translateY(-2px);
      border-color:rgba(45,228,199,.30);
    }
    .footer-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-top:18px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--muted-2);
      font-size:13px;
      line-height:1.7;
    }
    .footer-bottom strong{color:#fff}

    .toast{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:80;
      display:none;
      min-width:240px;
      max-width:min(360px, calc(100vw - 36px));
      padding:14px 16px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(15,12,22,.96);
      color:#fff;
      box-shadow:var(--shadow);
    }
    .toast.show{display:block}
    .toast small{display:block;color:var(--muted);margin-top:4px;line-height:1.6}

    @media (max-width: 1140px){
      .topic-card.compact{grid-column:span 6}
      .step-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .compare-wrap,
      .news-layout,
      .faq-wrap,
      .form-wrap,
      .footer-top{
        grid-template-columns:1fr;
      }
      .footer-top{display:grid}
      .footer-links{min-width:0}
      .hero-grid{min-height:0}
    }
    @media (max-width: 920px){
      .nav-toggle{display:inline-flex}
      .site-nav{
        display:none;
        position:absolute;
        left:18px;
        right:18px;
        top:calc(100% - 2px);
        padding:12px;
        border-radius:22px;
        background:rgba(15,12,22,.98);
        border:1px solid rgba(255,255,255,.10);
        box-shadow:var(--shadow);
        z-index:50;
      }
      .site-nav.is-open{display:block}
      .site-links{
        flex-direction:column;
        align-items:stretch;
      }
      .site-links a{
        justify-content:flex-start;
        width:100%;
      }
      .nav-row{
        position:relative;
        justify-content:space-between;
      }
      .nav-tools{
        gap:8px;
      }
      .mega-zone{
        padding:0 18px;
      }
      .mega-panel{
        position:static;
        width:100%;
        margin-top:12px;
      }
      .mega-grid{
        grid-template-columns:1fr;
      }
      .hero-board{
        grid-template-columns:1fr;
      }
      .topic-card,
      .topic-card.compact{
        grid-column:span 12;
      }
      .hero-copy h1{
        font-size:clamp(30px, 8vw, 46px);
      }
    }
    @media (max-width: 640px){
      .header-inner,
      .container-main,
      .footer-inner{
        padding-left:14px;
        padding-right:14px;
      }
      .top-band{
        padding:10px 12px;
        align-items:flex-start;
        flex-direction:column;
      }
      .section{
        margin-top:56px;
      }
      .hero-shell{
        padding:14px;
        border-radius:24px;
      }
      .hero-topline{
        flex-direction:column;
        align-items:flex-start;
      }
      .hero-copy p{
        font-size:15px;
      }
      .hero-actions,
      .cta-row,
      .form-actions{
        flex-direction:column;
      }
      .btn,
      .mega-trigger,
      .nav-toggle{
        width:100%;
      }
      .topic-grid,
      .step-grid,
      .form-grid{
        grid-template-columns:1fr;
      }
      .compare-card,
      .cta-strip,
      .form-card{
        padding:18px;
      }
      .news-item{
        flex-direction:column;
      }
      .news-item .arrow{
        align-self:flex-end;
      }
      .ranking-list li{
        grid-template-columns:32px 1fr;
      }
      .ranking-list .score{
        grid-column:2;
      }
      .footer-links{
        grid-template-columns:1fr;
      }
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
      .toast{
        left:14px;
        right:14px;
        max-width:none;
      }
    }

/* roulang page: category2 */
:root{
      --bg:#09050d;
      --bg-2:#120914;
      --bg-3:#180f1d;
      --card:#17111e;
      --card-2:#1f1426;
      --line:rgba(255,255,255,.10);
      --line-2:rgba(255,255,255,.16);
      --text:#f4eff7;
      --muted:#b9acc4;
      --soft:#8f839b;
      --accent:#ff3ca6;
      --accent-2:#8d53ff;
      --teal:#39e0cf;
      --warning:#ffb35c;
      --success:#7cf1aa;
      --shadow:0 18px 45px rgba(0,0,0,.42);
      --shadow-soft:0 12px 26px rgba(0,0,0,.28);
      --radius:22px;
      --radius-lg:28px;
      --radius-sm:14px;
      --space:clamp(18px, 2vw, 28px);
      --max:1240px;
      --focus:0 0 0 3px rgba(255,60,166,.22), 0 0 0 1px rgba(255,60,166,.32) inset;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--text);
      background:
        radial-gradient(1200px 700px at 18% 0%, rgba(141,83,255,.20), transparent 56%),
        radial-gradient(900px 600px at 100% 8%, rgba(255,60,166,.14), transparent 54%),
        radial-gradient(800px 560px at 50% 100%, rgba(57,224,207,.08), transparent 54%),
        linear-gradient(180deg, #0b0710 0%, #09050d 100%);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size:48px 48px;
      mask-image: linear-gradient(180deg, rgba(0,0,0,.8), rgba(0,0,0,.2) 72%, transparent);
      opacity:.12;
      z-index:0;
    }
    body::after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 20% 20%, rgba(255,60,166,.08), transparent 24%),
        radial-gradient(circle at 80% 30%, rgba(57,224,207,.06), transparent 22%),
        radial-gradient(circle at 55% 82%, rgba(141,83,255,.08), transparent 26%);
      z-index:0;
      opacity:.9;
    }
    a{color:inherit;text-decoration:none;transition:.2s ease}
    a:hover{color:#fff}
    img{max-width:100%;display:block}
    button, input, select, textarea{font:inherit}
    :focus-visible{outline:none;box-shadow:var(--focus)}
    .grid-container{max-width:var(--max)}
    .site-header,
    .site-footer,
    main{position:relative;z-index:1}
    .site-header{
      position:sticky;
      top:0;
      backdrop-filter:saturate(140%) blur(18px);
      background:rgba(11,7,16,.72);
      border-bottom:1px solid rgba(255,255,255,.07);
    }
    .header-inner{
      max-width:var(--max);
      margin:0 auto;
      padding:14px 20px 12px;
    }
    .top-band{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding-bottom:12px;
      border-bottom:1px solid rgba(255,255,255,.08);
      margin-bottom:12px;
    }
    .notice{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }
    .notice strong{color:var(--text)}
    .age-mark,
    .age-pill,
    .tag,
    .pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      border-radius:999px;
      white-space:nowrap;
      letter-spacing:.02em;
    }
    .age-mark,
    .age-pill{
      padding:5px 10px;
      font-weight:700;
      color:#160b08;
      background:linear-gradient(135deg, #ffd18a, #ff9e4f);
      box-shadow:0 8px 18px rgba(255,163,75,.22);
      font-size:12px;
      flex:none;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:11px 18px;
      border-radius:14px;
      border:1px solid transparent;
      font-weight:700;
      letter-spacing:.01em;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
      cursor:pointer;
      line-height:1;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn:active{transform:translateY(0)}
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 14px 28px rgba(255,60,166,.22), 0 0 0 1px rgba(255,255,255,.05) inset;
    }
    .btn-primary:hover{box-shadow:0 18px 32px rgba(255,60,166,.28), 0 0 0 1px rgba(255,255,255,.08) inset}
    .btn-secondary,
    .nav-toggle,
    .mega-trigger{
      color:var(--text);
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.12);
      box-shadow:0 10px 24px rgba(0,0,0,.18);
    }
    .btn-secondary:hover,
    .nav-toggle:hover,
    .mega-trigger:hover{
      color:#fff;
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.18);
    }
    .nav-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-size:18px;
      font-weight:800;
      letter-spacing:.02em;
      color:#fff;
      text-shadow:0 0 24px rgba(255,60,166,.12);
      flex:none;
      white-space:nowrap;
    }
    .brand::before{
      content:"";
      width:14px;
      height:14px;
      border-radius:4px;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 0 16px rgba(255,60,166,.45);
      flex:none;
    }
    .nav-toggle{display:none}
    .site-nav{
      flex:1;
      margin:0 10px;
    }
    .site-links{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:8px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .site-links a{
      display:inline-flex;
      align-items:center;
      min-height:42px;
      padding:10px 14px;
      border-radius:12px;
      color:var(--muted);
      border:1px solid transparent;
      font-size:14px;
      line-height:1;
      background:transparent;
    }
    .site-links a:hover{
      color:#fff;
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.08);
    }
    .site-links a.active,
    .site-links a[aria-current="page"]{
      color:#fff;
      background:linear-gradient(135deg, rgba(255,60,166,.18), rgba(141,83,255,.16));
      border-color:rgba(255,255,255,.12);
      box-shadow:0 10px 22px rgba(0,0,0,.18);
    }
    .nav-tools{
      display:flex;
      align-items:center;
      gap:10px;
      flex:none;
    }
    .mega-trigger{
      min-width:104px;
      padding:11px 14px;
    }
    .mega-zone{
      max-width:var(--max);
      margin:0 auto;
      padding:0 20px 6px;
    }
    .mega-panel{
      margin-top:12px;
      padding:18px;
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
        linear-gradient(135deg, rgba(255,60,166,.06), rgba(57,224,207,.03));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:var(--shadow-soft);
      display:none;
    }
    .mega-panel.is-open{display:block}
    .panel-title{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .panel-title strong{
      font-size:16px;
      letter-spacing:.02em;
    }
    .panel-title span{
      color:var(--muted);
      font-size:13px;
    }
    .mega-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .mega-card{
      display:block;
      padding:16px;
      border-radius:20px;
      background:rgba(6,4,10,.34);
      border:1px solid rgba(255,255,255,.08);
      min-height:144px;
      transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .mega-card:hover{
      transform:translateY(-2px);
      border-color:rgba(255,255,255,.18);
      background:rgba(14,8,19,.6);
      box-shadow:0 16px 28px rgba(0,0,0,.24);
    }
    .mega-card h4{
      margin:0 0 8px;
      font-size:15px;
      color:#fff;
    }
    .mega-card p{
      margin:0 0 14px;
      color:var(--muted);
      font-size:13px;
      line-height:1.68;
    }
    .tag-row,
    .eyebrow,
    .meta-row,
    .subtag-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .tag{
      padding:6px 10px;
      color:#dcd0e9;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      font-size:12px;
      line-height:1;
    }
    .tag-accent{
      color:#fff;
      background:rgba(255,60,166,.13);
      border-color:rgba(255,60,166,.23);
    }
    .tag-teal{
      color:#e8fffb;
      background:rgba(57,224,207,.10);
      border-color:rgba(57,224,207,.20);
    }
    .tag-warning{
      color:#fff6ea;
      background:rgba(255,179,92,.13);
      border-color:rgba(255,179,92,.22);
    }
    .section{
      padding:clamp(52px, 7vw, 92px) 0;
    }
    .section-tight{padding:clamp(34px, 5vw, 56px) 0}
    .hero{
      position:relative;
      overflow:hidden;
      padding-top:clamp(34px, 4vw, 56px);
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:16px 0 auto;
      height:380px;
      background:
        radial-gradient(500px 180px at 20% 12%, rgba(255,60,166,.14), transparent 60%),
        radial-gradient(520px 220px at 86% 6%, rgba(57,224,207,.08), transparent 60%);
      opacity:.8;
      pointer-events:none;
    }
    .hero-panel,
    .feature-card,
    .compare-card,
    .consult-card,
    .faq-wrap,
    .entry-card,
    .note-card{
      position:relative;
      background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
        linear-gradient(180deg, rgba(31,20,38,.94), rgba(18,9,20,.92));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:var(--shadow);
    }
    .hero-panel,
    .compare-card,
    .consult-card,
    .faq-wrap,
    .feature-card,
    .entry-card,
    .note-card{
      border-radius:var(--radius-lg);
      overflow:hidden;
    }
    .hero-copy{
      padding-right:12px;
      position:relative;
      z-index:1;
    }
    .eyebrow{
      margin-bottom:14px;
    }
    .eyebrow .tag{font-weight:700}
    h1,
    .section-title{
      margin:0;
      color:#fff;
      letter-spacing:-.02em;
    }
    h1{
      font-size:clamp(32px, 4.8vw, 58px);
      line-height:1.15;
      max-width:12em;
      text-wrap:balance;
    }
    .hero-copy .lead{
      margin:18px 0 0;
      max-width:54rem;
      color:var(--muted);
      font-size:16px;
      line-height:1.86;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:26px;
    }
    .trust-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:22px;
    }
    .trust-item{
      display:inline-flex;
      align-items:center;
      min-height:36px;
      padding:8px 12px;
      border-radius:999px;
      color:#e9dff0;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      font-size:13px;
      line-height:1;
    }
    .hero-panel{
      padding:18px;
      margin-top:8px;
    }
    .hero-panel .panel-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding-bottom:14px;
      border-bottom:1px solid rgba(255,255,255,.08);
      margin-bottom:14px;
    }
    .hero-panel .panel-top strong{
      font-size:16px;
    }
    .hero-panel .panel-top span{
      color:var(--muted);
      font-size:13px;
    }
    .step-stack{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
    }
    .step-card{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:14px;
      align-items:start;
      padding:14px;
      border-radius:18px;
      background:rgba(0,0,0,.18);
      border:1px solid rgba(255,255,255,.08);
      min-height:88px;
    }
    .step-no{
      width:42px;
      height:42px;
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:14px;
      font-weight:800;
      color:#fff;
      background:linear-gradient(135deg, rgba(255,60,166,.34), rgba(141,83,255,.36));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 12px 22px rgba(0,0,0,.18);
      flex:none;
    }
    .step-card h4{
      margin:0 0 6px;
      font-size:15px;
      color:#fff;
    }
    .step-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.62;
    }
    .status-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:12px;
      margin-top:14px;
    }
    .status-card{
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      min-height:100px;
    }
    .status-card .mini-label{
      display:inline-flex;
      margin-bottom:10px;
      padding:5px 8px;
      border-radius:999px;
      font-size:11px;
      color:#fff;
      background:rgba(57,224,207,.12);
      border:1px solid rgba(57,224,207,.22);
    }
    .status-card strong{
      display:block;
      margin-bottom:6px;
      font-size:14px;
      color:#fff;
    }
    .status-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.58;
    }
    .stage-strip{
      padding-top:0;
    }
    .strip-wrap{
      padding:18px;
      border-radius:24px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
    }
    .strip-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .strip-head h2{
      margin:0;
      font-size:clamp(24px, 2.8vw, 34px);
      line-height:1.18;
      color:#fff;
    }
    .strip-head p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
      max-width:44em;
    }
    .phase-line{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:14px;
      position:relative;
    }
    .phase-line::before{
      content:"";
      position:absolute;
      top:24px;
      left:16%;
      right:16%;
      height:2px;
      background:linear-gradient(90deg, transparent, rgba(255,60,166,.55), rgba(57,224,207,.45), transparent);
      opacity:.65;
    }
    .phase{
      position:relative;
      padding:16px 16px 14px;
      border-radius:18px;
      background:rgba(0,0,0,.16);
      border:1px solid rgba(255,255,255,.08);
      text-align:left;
    }
    .phase .num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;
      height:34px;
      margin-bottom:12px;
      border-radius:12px;
      color:#fff;
      font-weight:800;
      background:linear-gradient(135deg, rgba(255,60,166,.32), rgba(141,83,255,.34));
      border:1px solid rgba(255,255,255,.12);
    }
    .phase strong{
      display:block;
      margin-bottom:7px;
      font-size:15px;
      color:#fff;
    }
    .phase p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.65;
    }
    .compare-grid{
      align-items:stretch;
    }
    .compare-card{
      padding:18px;
      height:100%;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:12px;
      color:#d9d0e1;
      font-size:13px;
      letter-spacing:.02em;
    }
    .section-kicker::before{
      content:"";
      width:32px;
      height:1px;
      background:linear-gradient(90deg, var(--accent), var(--teal));
    }
    .section-title{
      font-size:clamp(24px, 3vw, 36px);
      line-height:1.2;
      margin-bottom:10px;
      text-wrap:balance;
    }
    .section-desc{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.82;
    }
    .table-wrap{
      margin-top:18px;
      border-radius:18px;
      overflow:auto;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(0,0,0,.18);
    }
    table.compare-table{
      width:100%;
      border-collapse:collapse;
      min-width:640px;
      margin:0;
    }
    .compare-table th,
    .compare-table td{
      padding:14px 16px;
      border-bottom:1px solid rgba(255,255,255,.08);
      text-align:left;
      vertical-align:top;
      font-size:14px;
      line-height:1.7;
    }
    .compare-table th{
      color:#fff;
      background:rgba(255,255,255,.03);
      font-weight:700;
    }
    .compare-table td{
      color:var(--muted);
    }
    .compare-table tr:last-child td{border-bottom:none}
    .dot{
      display:inline-block;
      width:9px;
      height:9px;
      margin-right:8px;
      border-radius:999px;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 0 12px rgba(255,60,166,.25);
    }
    .compare-side{
      display:grid;
      gap:14px;
      height:100%;
    }
    .note-card{
      padding:16px;
    }
    .note-card h3{
      margin:0 0 8px;
      font-size:16px;
      color:#fff;
    }
    .note-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .note-list{
      margin:12px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .note-list li{
      position:relative;
      padding-left:18px;
      color:#ddd3e7;
      font-size:13px;
      line-height:1.7;
    }
    .note-list li::before{
      content:"";
      position:absolute;
      left:0;
      top:.7em;
      width:8px;
      height:8px;
      border-radius:999px;
      background:linear-gradient(135deg, var(--teal), var(--accent));
      box-shadow:0 0 10px rgba(57,224,207,.24);
    }
    .entry-grid{
      align-items:stretch;
    }
    .entry-card{
      height:100%;
      padding:18px;
      transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .entry-card:hover{
      transform:translateY(-3px);
      border-color:rgba(255,255,255,.18);
      box-shadow:0 18px 34px rgba(0,0,0,.32);
    }
    .entry-cover{
      height:150px;
      border-radius:18px;
      background:
        radial-gradient(circle at 22% 24%, rgba(255,60,166,.48), transparent 26%),
        radial-gradient(circle at 80% 18%, rgba(57,224,207,.20), transparent 24%),
        linear-gradient(135deg, rgba(22,14,28,.9), rgba(55,19,55,.65)),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
      border:1px solid rgba(255,255,255,.08);
      position:relative;
      overflow:hidden;
      margin-bottom:14px;
    }
    .entry-cover::after{
      content:"";
      position:absolute;
      inset:16px;
      border-radius:14px;
      border:1px dashed rgba(255,255,255,.18);
      opacity:.65;
    }
    .entry-card h3{
      margin:0 0 8px;
      font-size:18px;
      color:#fff;
    }
    .entry-card p{
      margin:0 0 14px;
      color:var(--muted);
      font-size:14px;
      line-height:1.74;
      min-height:4.8em;
    }
    .entry-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:auto;
    }
    .btn-mini{
      min-height:40px;
      padding:9px 14px;
      font-size:13px;
      border-radius:12px;
    }
    .feature-band{
      margin-top:10px;
    }
    .feature-card{
      padding:18px;
      height:100%;
    }
    .feature-card h3{
      margin:0 0 10px;
      font-size:17px;
      color:#fff;
    }
    .feature-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .feature-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:12px;
    }
    .feature-head .num{
      display:inline-flex;
      width:32px;
      height:32px;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      color:#fff;
      background:linear-gradient(135deg, rgba(255,60,166,.28), rgba(57,224,207,.20));
      border:1px solid rgba(255,255,255,.1);
      font-weight:800;
      flex:none;
    }
    .feature-card ul{
      margin:12px 0 0;
      padding-left:18px;
      color:#ddd3e7;
      line-height:1.78;
      font-size:14px;
    }
    .faq-wrap{
      padding:18px;
    }
    .faq-grid{
      display:grid;
      grid-template-columns:1.1fr 1.4fr;
      gap:18px;
      align-items:start;
    }
    .faq-intro{
      padding:6px 0 0;
    }
    .faq-intro .section-desc{max-width:30rem}
    .faq-accordion{
      display:grid;
      gap:12px;
    }
    .faq-item{
      border-radius:18px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      overflow:hidden;
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:16px 18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      color:#fff;
      font-weight:700;
      font-size:15px;
      line-height:1.5;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary::after{
      content:"+";
      font-size:20px;
      color:var(--teal);
      flex:none;
      line-height:1;
    }
    .faq-item[open] summary{
      background:rgba(255,255,255,.02);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .faq-item[open] summary::after{content:"–"}
    .faq-content{
      padding:0 18px 16px;
      color:var(--muted);
      font-size:14px;
      line-height:1.82;
    }
    .faq-content p{margin:12px 0 0}
    .consult-wrap{
      align-items:stretch;
    }
    .consult-card{
      padding:20px;
      height:100%;
    }
    .consult-side{
      display:grid;
      gap:14px;
      align-content:start;
    }
    .mini-info{
      padding:18px;
      border-radius:20px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
    }
    .mini-info h3{
      margin:0 0 8px;
      color:#fff;
      font-size:16px;
    }
    .mini-info p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
    }
    .form-grid .cell{
      margin-bottom:14px;
    }
    .field-label{
      display:block;
      margin:0 0 8px;
      color:#e7dff0;
      font-size:13px;
      font-weight:700;
    }
    .field,
    .form-grid input[type="text"],
    .form-grid input[type="tel"],
    .form-grid input[type="email"],
    .form-grid select,
    .form-grid textarea{
      width:100%;
      border-radius:14px;
      background:rgba(5,3,8,.5);
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      padding:13px 14px;
      min-height:46px;
      box-shadow:none;
      transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }
    .form-grid textarea{min-height:132px;resize:vertical}
    .form-grid input::placeholder,
    .form-grid textarea::placeholder{color:#887a95}
    .form-grid input:focus,
    .form-grid select:focus,
    .form-grid textarea:focus{
      border-color:rgba(255,60,166,.45);
      background:rgba(5,3,8,.72);
      box-shadow:0 0 0 3px rgba(255,60,166,.14);
      outline:none;
    }
    .check-row{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:#ddd3e7;
      font-size:13px;
      line-height:1.65;
    }
    .check-row input{
      margin-top:4px;
      width:18px;
      height:18px;
      accent-color:var(--accent);
      flex:none;
    }
    .form-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      margin-top:6px;
    }
    .form-status{
      margin-top:12px;
      font-size:13px;
      line-height:1.7;
      color:var(--muted);
      min-height:1.7em;
    }
    .form-status.success{color:var(--success)}
    .form-status.error{color:#ffc69a}
    .site-footer{
      margin-top:10px;
      border-top:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(11,7,16,.82), rgba(7,4,10,.98));
    }
    .footer-inner{
      max-width:var(--max);
      margin:0 auto;
      padding:22px 20px 26px;
    }
    .footer-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:22px;
      padding-top:14px;
      border-top:1px solid rgba(255,255,255,.12);
      position:relative;
    }
    .footer-top::before{
      content:"";
      position:absolute;
      left:0;
      top:-1px;
      width:100%;
      height:2px;
      background:linear-gradient(90deg, transparent, rgba(255,60,166,.72), rgba(57,224,207,.44), transparent);
      opacity:.85;
    }
    .footer-brand .name{
      font-size:18px;
      font-weight:800;
      color:#fff;
      margin-bottom:8px;
    }
    .footer-brand p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
      max-width:44rem;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:10px 12px;
      max-width:34rem;
    }
    .footer-links a{
      display:inline-flex;
      align-items:center;
      gap:6px;
      min-height:40px;
      padding:10px 12px;
      border-radius:12px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      color:#e9dfef;
      font-size:13px;
    }
    .footer-links a:hover{
      background:rgba(255,255,255,.06);
      border-color:rgba(255,255,255,.14);
      color:#fff;
    }
    .footer-bottom{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding-top:16px;
      margin-top:16px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
    .footer-bottom strong{color:#fff}
    .sr-only{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }
    .subtle-line{
      width:100%;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
      margin:18px 0;
    }
    @media (max-width: 1024px){
      .mega-grid{grid-template-columns:1fr 1fr}
      .faq-grid,
      .compare-grid{
        grid-template-columns:1fr;
      }
      .hero-copy{padding-right:0}
      .hero{padding-top:26px}
      .phase-line::before{left:12%;right:12%}
    }
    @media (max-width: 768px){
      .top-band{
        flex-direction:column;
        align-items:flex-start;
      }
      .nav-row{
        flex-wrap:wrap;
        align-items:flex-start;
      }
      .nav-toggle{
        display:inline-flex;
      }
      .site-nav{
        display:none;
        width:100%;
        margin:6px 0 0;
      }
      .site-nav.is-open{
        display:block;
      }
      .site-links{
        flex-direction:column;
        align-items:stretch;
      }
      .site-links a{
        width:100%;
        justify-content:flex-start;
      }
      .nav-tools{
        margin-left:auto;
      }
      .mega-zone{padding:0 16px 6px}
      .mega-panel{padding:14px}
      .mega-grid,
      .status-grid,
      .phase-line{
        grid-template-columns:1fr;
      }
      .phase-line::before{display:none}
      .hero-panel{margin-top:22px}
      .hero-actions .btn,
      .form-actions .btn{
        width:100%;
      }
      .footer-top{
        flex-direction:column;
      }
      .footer-links{
        justify-content:flex-start;
      }
      .strip-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .entry-card p{min-height:auto}
    }
    @media (max-width: 520px){
      .header-inner,
      .mega-zone,
      .footer-inner{
        padding-left:14px;
        padding-right:14px;
      }
      .hero-copy .lead,
      .section-desc,
      .footer-brand p{
        font-size:14px;
      }
      h1{font-size:clamp(30px, 8vw, 38px)}
      .section-title{font-size:clamp(22px, 7vw, 28px)}
      .hero-panel,
      .strip-wrap,
      .compare-card,
      .feature-card,
      .entry-card,
      .faq-wrap,
      .consult-card{
        padding:16px;
      }
      .entry-cover{height:124px}
      .compare-table th,
      .compare-table td{padding:12px 13px}
      .footer-links a{width:100%;justify-content:flex-start}
      .notice{font-size:12px}
    }

/* roulang page: category1 */
:root{
      --bg:#0e0914;
      --bg-2:#140d1d;
      --bg-3:#1b1226;
      --panel:#17111f;
      --panel-2:#201528;
      --line:rgba(255,255,255,.10);
      --line-2:rgba(255,255,255,.16);
      --text:#f3edf8;
      --muted:#bcaecb;
      --soft:#8f7ea2;
      --accent:#ff4fd8;
      --accent-2:#7e5cff;
      --teal:#49e1d3;
      --warn:#ffb45b;
      --good:#73f0b3;
      --shadow:0 18px 45px rgba(0,0,0,.40);
      --shadow-soft:0 12px 28px rgba(0,0,0,.26);
      --radius:22px;
      --radius-sm:14px;
      --radius-lg:30px;
      --container:1240px;
      --gap:24px;
      --speed:.24s ease;
    }

    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      background:
        radial-gradient(1200px 700px at 10% 0%, rgba(126,92,255,.18), transparent 55%),
        radial-gradient(900px 560px at 100% 12%, rgba(255,79,216,.14), transparent 50%),
        radial-gradient(700px 420px at 50% 100%, rgba(73,225,211,.08), transparent 55%),
        linear-gradient(180deg, #0b0710 0%, #100913 35%, #0d0913 100%);
      color:var(--text);
      line-height:1.75;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
      background-size: 34px 34px;
      mask-image: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.08) 70%, transparent 100%);
      opacity:.38;
      z-index:-1;
    }
    a{
      color:inherit;
      text-decoration:none;
      transition:transform var(--speed), background var(--speed), border-color var(--speed), color var(--speed), box-shadow var(--speed), opacity var(--speed);
    }
    a:hover{ color:#fff; }
    img{ max-width:100%; display:block; }
    button,
    input,
    select,
    textarea{
      font:inherit;
    }
    ::selection{
      background:rgba(255,79,216,.28);
      color:#fff;
    }
    .grid-container{
      width:min(var(--container), calc(100% - 32px));
      max-width:var(--container);
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:100;
      backdrop-filter: blur(18px);
      background: linear-gradient(180deg, rgba(13,8,18,.92), rgba(13,8,18,.75));
      border-bottom:1px solid rgba(255,255,255,.08);
      box-shadow: 0 8px 26px rgba(0,0,0,.28);
    }
    .header-inner{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
      padding:10px 0 12px;
    }
    .top-band{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:10px 0 12px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .notice{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:10px;
      color:var(--muted);
      font-size:14px;
    }
    .notice strong{ color:#fff; }
    .age-mark,
    .age-pill,
    .tag,
    .badge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      font-size:12px;
      letter-spacing:.02em;
      white-space:nowrap;
    }
    .age-mark,
    .age-pill{
      background:rgba(255,180,91,.14);
      color:#ffd9ad;
      border-color:rgba(255,180,91,.28);
      font-weight:700;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      padding:0 18px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:700;
      letter-spacing:.01em;
      cursor:pointer;
      box-shadow:none;
    }
    .btn-secondary{
      background:rgba(255,255,255,.05);
      border-color:rgba(255,255,255,.12);
      color:#fff;
    }
    .btn-secondary:hover{
      background:rgba(255,255,255,.1);
      border-color:rgba(255,255,255,.2);
      transform:translateY(-1px);
    }
    .btn-secondary:focus,
    .btn:focus,
    .nav-toggle:focus,
    .mega-trigger:focus,
    .site-links a:focus,
    input:focus,
    select:focus,
    textarea:focus{
      outline:none;
      box-shadow:0 0 0 3px rgba(255,79,216,.18), 0 0 0 1px rgba(255,79,216,.55) inset;
    }
    .nav-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding-top:12px;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      letter-spacing:.02em;
      font-size:18px;
      color:#fff;
      text-shadow:0 0 18px rgba(255,79,216,.18);
      white-space:nowrap;
    }
    .brand::before{
      content:"";
      width:12px;
      height:12px;
      border-radius:999px;
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow:0 0 0 4px rgba(255,79,216,.12), 0 0 24px rgba(255,79,216,.45);
      flex:none;
    }
    .nav-toggle{
      display:none;
      min-height:44px;
      padding:0 16px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.05);
      color:#fff;
      cursor:pointer;
    }
    .site-nav{
      flex:1;
      display:block;
    }
    .site-links{
      display:flex;
      align-items:center;
      justify-content:center;
      flex-wrap:wrap;
      gap:8px;
      list-style:none;
      margin:0;
      padding:0;
    }
    .site-links a{
      display:inline-flex;
      align-items:center;
      min-height:40px;
      padding:0 14px;
      border-radius:999px;
      color:var(--muted);
      border:1px solid transparent;
    }
    .site-links a:hover,
    .site-links a.active{
      color:#fff;
      background:rgba(255,255,255,.06);
      border-color:rgba(255,255,255,.10);
      box-shadow:0 10px 24px rgba(0,0,0,.14);
    }
    .nav-tools{
      display:flex;
      align-items:center;
      gap:10px;
      flex:none;
    }
    .mega-trigger{
      min-height:44px;
      padding:0 16px;
      border-radius:999px;
      border:1px solid rgba(73,225,211,.22);
      background:rgba(73,225,211,.08);
      color:#d9fffb;
      cursor:pointer;
      font-weight:700;
    }
    .mega-trigger:hover{
      background:rgba(73,225,211,.14);
      transform:translateY(-1px);
    }
    .mega-zone{
      position:relative;
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    .mega-panel{
      position:absolute;
      right:0;
      top:12px;
      width:min(100%, 740px);
      padding:18px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.10);
      background:linear-gradient(180deg, rgba(24,16,34,.96), rgba(16,10,22,.94));
      box-shadow:var(--shadow);
      transform:translateY(-12px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:var(--speed);
    }
    .mega-panel.is-open{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateY(0);
    }
    .panel-title{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .panel-title strong{
      font-size:16px;
      color:#fff;
    }
    .panel-title span{
      color:var(--muted);
      font-size:13px;
    }
    .mega-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
    }
    .mega-card{
      display:block;
      padding:16px;
      border-radius:20px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      min-height:164px;
    }
    .mega-card:hover{
      transform:translateY(-2px);
      border-color:rgba(255,79,216,.38);
      box-shadow:0 14px 30px rgba(0,0,0,.28);
    }
    .mega-card h4{
      margin:0 0 8px;
      font-size:16px;
      color:#fff;
      line-height:1.35;
    }
    .mega-card p{
      margin:0 0 14px;
      color:var(--muted);
      font-size:14px;
      line-height:1.65;
    }
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .tag{
      background:rgba(255,255,255,.05);
      border-color:rgba(255,255,255,.08);
      color:var(--muted);
    }
    .tag-accent{
      color:#ffe0f6;
      background:rgba(255,79,216,.14);
      border-color:rgba(255,79,216,.24);
    }
    .tag-teal{
      color:#dbfffb;
      background:rgba(73,225,211,.12);
      border-color:rgba(73,225,211,.24);
    }

    .site-main{
      position:relative;
      padding-bottom:30px;
    }
    .hero-section{
      position:relative;
      padding:44px 0 26px;
    }
    .hero-section .grid-container{
      position:relative;
    }
    .crumbs{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:8px;
      margin-bottom:16px;
      color:var(--muted);
      font-size:13px;
    }
    .crumbs a{
      color:#fff;
      opacity:.78;
    }
    .crumbs span{
      color:var(--soft);
    }
    .hero-shell{
      position:relative;
      overflow:hidden;
      padding:28px;
      border-radius:28px;
      background:
        radial-gradient(800px 340px at 20% 0%, rgba(255,79,216,.16), transparent 60%),
        radial-gradient(620px 280px at 100% 0%, rgba(126,92,255,.18), transparent 60%),
        linear-gradient(180deg, rgba(23,16,31,.92), rgba(14,9,20,.96));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:var(--shadow);
    }
    .hero-shell::after{
      content:"";
      position:absolute;
      inset:auto -30px -30px auto;
      width:260px;
      height:260px;
      background:linear-gradient(135deg, rgba(255,79,216,.18), rgba(126,92,255,.06));
      filter:blur(12px);
      border-radius:50%;
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      z-index:1;
    }
    .section-chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:30px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(255,79,216,.12);
      border:1px solid rgba(255,79,216,.22);
      color:#ffd8f5;
      font-size:13px;
      font-weight:700;
      margin-bottom:18px;
    }
    .hero-title{
      margin:0 0 16px;
      font-size:clamp(32px, 5vw, 58px);
      line-height:1.12;
      letter-spacing:-.02em;
      color:#fff;
    }
    .hero-desc{
      margin:0;
      max-width:44rem;
      color:#dbd2e6;
      font-size:17px;
      line-height:1.85;
    }
    .cta-row{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin:24px 0 20px;
    }
    .primary-btn{
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      color:#fff;
      border-color:rgba(255,255,255,.08);
      box-shadow:0 16px 30px rgba(255,79,216,.22);
    }
    .primary-btn:hover{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 20px 36px rgba(255,79,216,.26);
    }
    .secondary-btn{
      background:rgba(255,255,255,.04);
      color:#f6eefc;
      border-color:rgba(126,92,255,.32);
    }
    .secondary-btn:hover{
      background:rgba(126,92,255,.10);
      color:#fff;
      transform:translateY(-2px);
    }
    .trust-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:12px;
    }
    .trust-row span{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.10);
      color:#d9d1e4;
      font-size:13px;
    }

    .hero-panel{
      position:relative;
      padding:18px;
      border-radius:24px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
    }
    .hero-panel-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:14px;
      font-weight:800;
      color:#fff;
    }
    .hero-panel-head::after{
      content:"入口矩阵";
      font-size:13px;
      font-weight:600;
      color:var(--muted);
    }
    .matrix{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }
    .matrix-card{
      position:relative;
      padding:14px;
      min-height:116px;
      border-radius:20px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
        radial-gradient(180px 120px at 100% 0%, rgba(255,79,216,.12), transparent 60%);
      border:1px solid rgba(255,255,255,.08);
      overflow:hidden;
    }
    .matrix-card::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      background:linear-gradient(135deg, rgba(255,79,216,.08), rgba(73,225,211,.06));
      opacity:0;
      transition:var(--speed);
    }
    .matrix-card:hover::before{
      opacity:1;
    }
    .matrix-card:hover{
      transform:translateY(-2px);
      border-color:rgba(255,79,216,.28);
    }
    .matrix-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      margin-bottom:12px;
    }
    .matrix-num{
      width:28px;
      height:28px;
      border-radius:10px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(255,79,216,.14);
      color:#ffd8f6;
      font-weight:800;
      font-size:13px;
      border:1px solid rgba(255,79,216,.22);
    }
    .matrix-state{
      display:inline-flex;
      align-items:center;
      padding:0 10px;
      min-height:26px;
      border-radius:999px;
      background:rgba(73,225,211,.10);
      border:1px solid rgba(73,225,211,.22);
      color:#d8fffa;
      font-size:12px;
      white-space:nowrap;
    }
    .matrix-card h3{
      margin:0 0 8px;
      font-size:16px;
      color:#fff;
      line-height:1.35;
    }
    .matrix-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.65;
    }

    .section-block{
      padding:26px 0;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:18px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      background:rgba(73,225,211,.09);
      border:1px solid rgba(73,225,211,.18);
      color:#dcfffb;
      font-size:12px;
      font-weight:700;
      margin-bottom:10px;
    }
    .section-title{
      margin:0;
      font-size:clamp(24px, 3vw, 38px);
      line-height:1.18;
      letter-spacing:-.02em;
      color:#fff;
    }
    .section-head p{
      margin:0;
      max-width:32rem;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }

    .step-grid{
      margin-top:4px;
    }
    .step-card{
      position:relative;
      padding:18px;
      border-radius:24px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
      min-height:220px;
      overflow:hidden;
    }
    .step-card::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:2px;
      background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--teal));
      opacity:.9;
    }
    .step-card:hover{
      transform:translateY(-3px);
      border-color:rgba(255,79,216,.28);
    }
    .step-num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:44px;
      height:44px;
      border-radius:16px;
      background:rgba(255,79,216,.12);
      border:1px solid rgba(255,79,216,.24);
      color:#ffd9f6;
      font-weight:900;
      margin-bottom:14px;
    }
    .step-card h3{
      margin:0 0 10px;
      font-size:19px;
      color:#fff;
      line-height:1.35;
    }
    .step-card p{
      margin:0 0 14px;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .bullet-list{
      list-style:none;
      margin:0;
      padding:0;
    }
    .bullet-list li{
      position:relative;
      padding-left:18px;
      margin-bottom:8px;
      color:#d9d0e3;
      font-size:14px;
      line-height:1.65;
    }
    .bullet-list li::before{
      content:"";
      position:absolute;
      left:0;
      top:.72em;
      width:8px;
      height:8px;
      border-radius:999px;
      background:linear-gradient(135deg, var(--accent), var(--teal));
      box-shadow:0 0 16px rgba(255,79,216,.2);
    }
    .step-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:14px;
    }
    .step-meta .tag{
      background:rgba(255,255,255,.04);
    }

    .compare-shell{
      padding:18px;
      border-radius:28px;
      background:rgba(255,255,255,.035);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
    }
    .compare-table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      overflow:hidden;
      border-radius:22px;
      background:linear-gradient(180deg, rgba(18,12,25,.94), rgba(12,8,17,.94));
      border:1px solid rgba(255,255,255,.08);
    }
    .compare-table thead th{
      padding:16px 14px;
      text-align:left;
      font-size:14px;
      font-weight:800;
      color:#fff;
      background:rgba(255,255,255,.03);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .compare-table tbody th,
    .compare-table tbody td{
      padding:15px 14px;
      vertical-align:top;
      border-bottom:1px solid rgba(255,255,255,.06);
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .compare-table tbody th{
      color:#f6effd;
      width:26%;
      font-weight:700;
    }
    .compare-table tbody tr:last-child th,
    .compare-table tbody tr:last-child td{
      border-bottom:none;
    }
    .tier-chip{
      display:inline-flex;
      align-items:center;
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      margin-bottom:10px;
      color:#fff;
      font-size:12px;
      font-weight:700;
    }
    .tier-chip.recommend{
      background:rgba(255,79,216,.14);
      border-color:rgba(255,79,216,.26);
      box-shadow:0 0 0 1px rgba(255,79,216,.10) inset;
    }
    .tier-note{
      position:sticky;
      top:104px;
      padding:20px;
      border-radius:24px;
      background:linear-gradient(180deg, rgba(31,19,43,.96), rgba(19,12,27,.96));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
    }
    .tier-note h3{
      margin:0 0 10px;
      font-size:20px;
      color:#fff;
      line-height:1.4;
    }
    .tier-note p{
      margin:0 0 14px;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }

    .cta-banner{
      position:relative;
      overflow:hidden;
      padding:28px;
      border-radius:30px;
      background:
        radial-gradient(560px 280px at 92% 14%, rgba(255,79,216,.18), transparent 56%),
        radial-gradient(480px 240px at 18% 0%, rgba(73,225,211,.10), transparent 56%),
        linear-gradient(180deg, rgba(22,15,31,.96), rgba(11,7,16,.98));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:var(--shadow);
    }
    .cta-banner::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(140deg, transparent 0 44%, rgba(255,255,255,.03) 45%, transparent 46%),
        linear-gradient(0deg, rgba(255,255,255,.03), transparent 18%);
      opacity:.55;
      pointer-events:none;
    }
    .cta-banner-inner{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.3fr .9fr;
      gap:22px;
      align-items:center;
    }
    .cta-banner h2{
      margin:0 0 12px;
      font-size:clamp(24px, 3vw, 36px);
      line-height:1.2;
      color:#fff;
    }
    .cta-banner p{
      margin:0;
      color:#d8d0e1;
      font-size:15px;
      line-height:1.8;
      max-width:48rem;
    }
    .banner-tag{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(255,180,91,.12);
      border:1px solid rgba(255,180,91,.22);
      color:#ffe1bb;
      font-size:12px;
      font-weight:700;
      margin-bottom:14px;
    }
    .cta-steps{
      display:grid;
      gap:12px;
    }
    .mini-step{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
    }
    .mini-step strong{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:30px;
      height:30px;
      border-radius:10px;
      background:rgba(126,92,255,.14);
      border:1px solid rgba(126,92,255,.24);
      color:#f0e8ff;
      flex:none;
    }
    .mini-step div{
      min-width:0;
    }
    .mini-step h4{
      margin:0 0 4px;
      font-size:15px;
      color:#fff;
      line-height:1.35;
    }
    .mini-step p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.65;
    }

    .faq-wrap{
      padding:18px;
      border-radius:28px;
      background:rgba(255,255,255,.035);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
    }
    .accordion{
      background:transparent;
      margin:0;
    }
    .accordion-item{
      margin-bottom:12px;
      border:none;
      border-radius:20px;
      overflow:hidden;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
    }
    .accordion-title{
      color:#fff;
      font-weight:800;
      font-size:15px;
      padding:18px 20px;
      background:transparent;
      border:none;
      line-height:1.5;
    }
    .accordion-title::before{
      color:#fff;
      right:18px;
      top:50%;
      transform:translateY(-50%);
      font-size:22px;
      margin-top:0;
    }
    .accordion-content{
      color:var(--muted);
      background:transparent;
      border:none;
      padding:0 20px 18px;
      line-height:1.75;
      font-size:14px;
    }

    .consult-wrap{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:20px;
      align-items:start;
    }
    .form-shell,
    .consult-side{
      padding:22px;
      border-radius:28px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
    }
    .form-shell h2,
    .consult-side h3{
      margin:0 0 10px;
      font-size:clamp(24px, 2.5vw, 34px);
      color:#fff;
      line-height:1.2;
    }
    .form-shell p,
    .consult-side p{
      margin:0 0 16px;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .form-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
      margin-top:14px;
    }
    .field{
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .field.full{
      grid-column:1/-1;
    }
    .field label{
      font-size:13px;
      color:#e9def4;
      font-weight:700;
    }
    .field input,
    .field select,
    .field textarea{
      width:100%;
      min-height:48px;
      padding:12px 14px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(9,6,14,.68);
      color:#fff;
      transition:var(--speed);
    }
    .field textarea{
      min-height:128px;
      resize:vertical;
    }
    .field input::placeholder,
    .field textarea::placeholder{
      color:#857594;
    }
    .field input:hover,
    .field select:hover,
    .field textarea:hover{
      border-color:rgba(255,255,255,.18);
    }
    .check-row{
      display:flex;
      align-items:flex-start;
      gap:10px;
      margin-top:4px;
      color:var(--muted);
      font-size:13px;
      line-height:1.65;
    }
    .check-row input{
      width:18px;
      height:18px;
      margin-top:3px;
      flex:none;
      accent-color:var(--accent);
    }
    .form-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:18px;
      align-items:center;
    }
    .form-note{
      margin-top:14px;
      min-height:24px;
      color:#d7cdea;
      font-size:13px;
      line-height:1.65;
    }
    .form-note.success{ color:#c8ffe6; }
    .form-note.error{ color:#ffd5b1; }

    .consult-stack{
      display:grid;
      gap:14px;
    }
    .info-card{
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
    }
    .info-card h4{
      margin:0 0 8px;
      font-size:15px;
      color:#fff;
      line-height:1.4;
    }
    .info-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .info-card ul{
      list-style:none;
      margin:0;
      padding:0;
    }
    .info-card li{
      position:relative;
      padding-left:18px;
      margin-bottom:8px;
      color:#d8d0e0;
      font-size:13px;
      line-height:1.65;
    }
    .info-card li::before{
      content:"";
      position:absolute;
      left:0;
      top:.72em;
      width:7px;
      height:7px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--teal), var(--accent));
    }
    .notice-card{
      padding:16px;
      border-radius:20px;
      background:linear-gradient(180deg, rgba(255,180,91,.10), rgba(255,255,255,.03));
      border:1px solid rgba(255,180,91,.18);
      color:#ffe4c4;
      font-size:13px;
      line-height:1.7;
    }

    .site-footer{
      margin-top:28px;
      padding:26px 0 30px;
      background:linear-gradient(180deg, rgba(11,7,16,.2), rgba(8,5,12,.82));
      border-top:1px solid rgba(255,255,255,.08);
      position:relative;
    }
    .site-footer::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,79,216,.45), rgba(73,225,211,.30), transparent);
      opacity:.9;
    }
    .footer-inner{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    .footer-top{
      display:flex;
      justify-content:space-between;
      gap:22px;
      align-items:flex-start;
      padding:20px 0 18px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .footer-brand .name{
      font-size:20px;
      font-weight:900;
      color:#fff;
      margin-bottom:10px;
    }
    .footer-brand p{
      margin:0;
      max-width:38rem;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px 14px;
      justify-content:flex-end;
      max-width:36rem;
    }
    .footer-links a{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:#ddd3e7;
      font-size:14px;
      padding:8px 0;
    }
    .footer-links a span{ color:var(--soft); }
    .footer-links a:hover{
      color:#fff;
      transform:translateX(2px);
    }
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      padding-top:16px;
      color:#ab9cbc;
      font-size:13px;
      line-height:1.7;
    }

    @media screen and (max-width: 1024px){
      .mega-grid{ grid-template-columns:1fr 1fr; }
      .hero-shell{ padding:22px; }
      .cta-banner-inner,
      .consult-wrap{
        grid-template-columns:1fr;
      }
      .tier-note{ position:static; }
    }
    @media screen and (max-width: 768px){
      .top-band{
        align-items:flex-start;
        flex-direction:column;
      }
      .nav-row{
        flex-wrap:wrap;
      }
      .nav-toggle{
        display:inline-flex;
      }
      .site-nav{
        display:none;
        width:100%;
        order:3;
        margin-top:8px;
      }
      .site-nav.is-open{
        display:block;
      }
      .site-links{
        justify-content:flex-start;
        padding:8px 0 4px;
      }
      .nav-tools{
        margin-left:auto;
      }
      .mega-zone{
        width:min(var(--container), calc(100% - 32px));
      }
      .mega-panel{
        position:static;
        width:100%;
        margin-top:10px;
        transform:none;
      }
      .mega-grid{
        grid-template-columns:1fr;
      }
      .hero-section{
        padding-top:28px;
      }
      .hero-shell{
        padding:18px;
      }
      .matrix{
        grid-template-columns:1fr;
      }
      .section-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .step-grid > .cell,
      .consult-wrap > *{
        margin-bottom:16px;
      }
      .compare-table thead th,
      .compare-table tbody th,
      .compare-table tbody td{
        padding:12px 10px;
      }
      .form-grid{
        grid-template-columns:1fr;
      }
      .footer-top{
        flex-direction:column;
      }
      .footer-links{
        justify-content:flex-start;
      }
    }
    @media screen and (max-width: 520px){
      .grid-container{
        width:min(var(--container), calc(100% - 22px));
      }
      .hero-title{
        font-size:clamp(30px, 8vw, 38px);
      }
      .hero-desc,
      .section-head p,
      .cta-banner p{
        font-size:15px;
      }
      .hero-shell,
      .faq-wrap,
      .compare-shell,
      .form-shell,
      .consult-side,
      .cta-banner,
      .site-footer .footer-inner{
        border-radius:22px;
      }
      .btn,
      .btn-secondary,
      .mega-trigger,
      .nav-toggle{
        width:100%;
      }
      .nav-tools{
        width:100%;
        flex-direction:column;
        align-items:stretch;
      }
      .site-links a{
        width:100%;
        justify-content:flex-start;
      }
    }
