/* roulang page: index */
:root{
      --bg: #0b0f14;
      --bg-soft: #101622;
      --bg-soft-2: #0f1520;
      --card: rgba(17, 23, 34, .88);
      --card-strong: rgba(20, 28, 41, .96);
      --text: #eef4ff;
      --muted: #95a2b8;
      --soft: #c7d0e2;
      --line: rgba(255,255,255,.08);
      --line-strong: rgba(255,255,255,.14);
      --accent: #35e0c0;
      --accent-2: #8b7bff;
      --accent-3: #6fe0ff;
      --warm: #ffd56b;
      --danger: #ff6b8a;
      --success: #5adf8d;
      --shadow: 0 18px 52px rgba(0,0,0,.38);
      --shadow-soft: 0 12px 30px rgba(0,0,0,.22);
      --radius: 20px;
      --radius-lg: 28px;
      --radius-sm: 14px;
      --container: 1180px;
      --gap: 24px;
      --gap-lg: 32px;
      --speed: 180ms;
      --speed-slow: 280ms;
      --focus: 0 0 0 4px rgba(53, 224, 192, .18);
      --header-h: 78px;
    }

    *{box-sizing:border-box}
    html{
      scroll-behavior:smooth;
      -webkit-text-size-adjust:100%;
      text-rendering:optimizeLegibility;
    }
    body{
      margin:0;
      min-height:100vh;
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Helvetica Neue", Arial, sans-serif;
      color:var(--text);
      background:
        radial-gradient(900px 500px at 12% -8%, rgba(53,224,192,.18), transparent 62%),
        radial-gradient(800px 460px at 92% 4%, rgba(139,123,255,.14), transparent 58%),
        radial-gradient(900px 600px at 50% 110%, rgba(111,224,255,.08), transparent 58%),
        linear-gradient(180deg, #090d12 0%, #0b1016 45%, #0a0d12 100%);
      line-height:1.7;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(115deg, rgba(255,255,255,.03), transparent 28%),
        linear-gradient(250deg, rgba(255,255,255,.03), transparent 24%);
      opacity:.75;
      mix-blend-mode:screen;
      z-index:-1;
    }
    a{
      color:inherit;
      text-decoration:none;
      transition: color var(--speed), border-color var(--speed), background var(--speed), transform var(--speed), box-shadow var(--speed), opacity var(--speed);
    }
    img{max-width:100%;display:block}
    button,input,textarea,select{
      font:inherit;
      color:inherit;
    }
    button{
      cursor:pointer;
    }
    ::selection{
      background: rgba(53,224,192,.24);
      color: var(--text);
    }
    :focus{outline:none}
    :focus-visible{
      outline:none;
      box-shadow: var(--focus);
    }
    .sr-only{
      position:absolute!important;
      width:1px;height:1px;
      padding:0;margin:-1px;
      overflow:hidden;clip:rect(0,0,0,0);
      white-space:nowrap;border:0;
    }
    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      background: rgba(10, 14, 20, .72);
      backdrop-filter: blur(16px);
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .nav-wrap{
      min-height:var(--header-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      letter-spacing:.2px;
      white-space:nowrap;
    }
    .brand-mark{
      width:42px;height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      font-size:14px;
      font-weight:900;
      color:#081018;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      box-shadow: 0 14px 30px rgba(53,224,192,.24);
      flex:0 0 auto;
    }
    .brand-text{
      font-size:1.02rem;
      letter-spacing:.3px;
    }
    .top-nav{
      display:flex;
      align-items:center;
      gap:12px;
      margin-left:auto;
      margin-right:8px;
    }
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:11px 16px;
      border-radius:999px;
      color:var(--soft);
      border:1px solid transparent;
      background: transparent;
      line-height:1;
    }
    .nav-link:hover{
      color:var(--text);
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.08);
    }
    .nav-link.active,
    .nav-link[aria-current="page"]{
      color: var(--text);
      background: linear-gradient(135deg, rgba(53,224,192,.14), rgba(139,123,255,.12));
      border-color: rgba(53,224,192,.22);
      box-shadow: 0 10px 30px rgba(0,0,0,.18);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex:0 0 auto;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 18px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:700;
      letter-spacing:.1px;
      white-space:nowrap;
      transition: transform var(--speed), box-shadow var(--speed), background var(--speed), border-color var(--speed), color var(--speed), opacity var(--speed);
      user-select:none;
    }
    .btn:hover{
      transform: translateY(-1px);
    }
    .btn:active{
      transform: translateY(0);
    }
    .btn-primary{
      color:#071019;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      box-shadow: 0 16px 36px rgba(53,224,192,.22);
    }
    .btn-primary:hover{
      box-shadow: 0 18px 42px rgba(53,224,192,.28);
    }
    .btn-secondary{
      color: var(--text);
      background: rgba(255,255,255,.03);
      border-color: rgba(255,255,255,.1);
    }
    .btn-secondary:hover{
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.16);
    }
    .btn-ghost{
      color: var(--soft);
      background: transparent;
      border-color: rgba(255,255,255,.08);
    }
    .btn-ghost:hover{
      color: var(--text);
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.14);
    }
    .btn-text{
      color: var(--accent);
      background: transparent;
      border-color: transparent;
      min-height:auto;
      padding:0;
      border-radius:0;
    }
    .btn-text:hover{
      color: var(--text);
      transform:none;
    }

    main{
      display:block;
      padding-bottom: 108px;
    }
    .section{
      padding: 78px 0;
      scroll-margin-top: 96px;
    }
    .section:first-of-type{
      padding-top: 36px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 12px;
      border-radius:999px;
      color: var(--accent);
      background: rgba(53,224,192,.08);
      border:1px solid rgba(53,224,192,.14);
      font-size:.86rem;
      font-weight:700;
      letter-spacing:.4px;
    }
    .eyebrow .dot{
      width:7px;height:7px;
      border-radius:50%;
      background: var(--accent);
      box-shadow: 0 0 0 4px rgba(53,224,192,.12);
      flex:0 0 auto;
    }
    .section-head{
      display:flex;
      flex-direction:column;
      gap:14px;
      max-width: 760px;
      margin-bottom: 28px;
    }
    .section-head h2{
      margin:0;
      font-size: clamp(1.55rem, 1.2rem + 1.4vw, 2.4rem);
      line-height:1.12;
      letter-spacing:-.03em;
    }
    .section-head p{
      margin:0;
      color:var(--muted);
      font-size:1.02rem;
      max-width: 64ch;
    }

    .hero{
      padding-top: 28px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 26px;
      align-items: stretch;
    }
    .hero-copy,
    .hero-stage,
    .pain-card,
    .solution-panel,
    .result-panel,
    .update-card,
    .update-aside,
    .quote-card,
    .faq-wrap,
    .cta-panel,
    .footer-card{
      position:relative;
      border:1px solid var(--line);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
        linear-gradient(180deg, var(--card), rgba(13,18,27,.86));
      box-shadow: var(--shadow-soft);
      overflow:hidden;
    }
    .hero-copy{
      padding: 34px;
      min-height: 100%;
    }
    .hero-copy::before,
    .hero-stage::before,
    .cta-panel::before{
      content:"";
      position:absolute;
      inset:auto -12% -25% auto;
      width:220px;
      height:220px;
      background: radial-gradient(circle, rgba(53,224,192,.18) 0%, rgba(53,224,192,0) 68%);
      pointer-events:none;
      filter: blur(2px);
    }
    .hero-copy::after{
      content:"";
      position:absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(53,224,192,.04), transparent 28%, transparent 72%, rgba(139,123,255,.04));
      pointer-events:none;
    }
    .hero-copy > *{position:relative;z-index:1}
    .hero-copy h1{
      margin: 18px 0 14px;
      font-size: clamp(2.2rem, 1.4rem + 3.8vw, 4.6rem);
      line-height: .96;
      letter-spacing:-.05em;
      max-width: 10ch;
    }
    .hero-copy .lead{
      margin:0;
      max-width: 62ch;
      font-size: 1.04rem;
      color: var(--soft);
      line-height:1.82;
    }
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin: 24px 0 22px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:34px;
      padding: 0 13px;
      border-radius:999px;
      color: var(--text);
      font-size:.88rem;
      font-weight:700;
      border:1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.035);
    }
    .badge.accent{
      color:#071019;
      background: linear-gradient(135deg, rgba(53,224,192,.95), rgba(111,224,255,.92));
      border-color: transparent;
    }
    .badge.warm{
      color:#201700;
      background: linear-gradient(135deg, rgba(255,213,107,.96), rgba(255,187,96,.9));
      border-color: transparent;
    }
    .badge.subtle{
      color: var(--soft);
      background: rgba(255,255,255,.03);
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top: 4px;
    }
    .hero-search{
      display:grid;
      grid-template-columns: 1fr auto;
      gap:12px;
      margin-top: 22px;
      padding: 12px;
      border-radius: 22px;
      border:1px solid rgba(255,255,255,.08);
      background: rgba(6,10,15,.48);
    }
    .hero-search .search-field{
      position:relative;
      min-width:0;
    }
    .hero-search .search-field::before{
      content:"⌕";
      position:absolute;
      left:16px;
      top:50%;
      transform:translateY(-50%);
      color: rgba(238,244,255,.45);
      font-size:1rem;
      pointer-events:none;
    }
    .hero-search input{
      width:100%;
      min-height: 48px;
      padding: 0 16px 0 42px;
      border:none;
      border-radius: 16px;
      background: rgba(255,255,255,.03);
      color: var(--text);
      border:1px solid rgba(255,255,255,.08);
      transition: border-color var(--speed), background var(--speed), box-shadow var(--speed);
    }
    .hero-search input::placeholder{
      color: rgba(238,244,255,.45);
    }
    .hero-search input:focus{
      border-color: rgba(53,224,192,.4);
      background: rgba(255,255,255,.05);
      box-shadow: var(--focus);
    }
    .hero-search button{
      min-width: 112px;
      border:none;
    }
    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top: 18px;
    }
    .meta-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height: 40px;
      padding: 0 14px;
      border-radius: 999px;
      color: var(--soft);
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.025);
    }
    .meta-pill strong{
      color: var(--text);
      font-weight:800;
    }

    .hero-stage{
      padding: 24px;
      display:grid;
      gap: 16px;
      align-content:start;
      min-height: 100%;
    }
    .hero-stage > *{position:relative;z-index:1}
    .stage-card{
      padding: 22px;
      border-radius: 24px;
      background:
        linear-gradient(180deg, rgba(53,224,192,.12), rgba(255,255,255,.03)),
        rgba(10,15,22,.66);
      border:1px solid rgba(53,224,192,.16);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    }
    .stage-card h3{
      margin:0 0 8px;
      font-size:1.05rem;
      line-height:1.25;
    }
    .stage-card p{
      margin:0;
      color: var(--muted);
      font-size:.95rem;
      line-height:1.75;
    }
    .stage-spot{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:14px;
      margin-bottom: 14px;
    }
    .spot-num{
      font-size: 2rem;
      font-weight:900;
      letter-spacing:-.05em;
      line-height:1;
    }
    .spot-num small{
      font-size:.92rem;
      color:var(--muted);
      font-weight:700;
      margin-left:8px;
    }
    .spot-chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding: 8px 12px;
      border-radius: 999px;
      color: #071019;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      font-size:.84rem;
      font-weight:800;
    }
    .mini-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }
    .mini-card{
      padding: 16px;
      border-radius: 20px;
      border:1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.03);
      min-height: 104px;
    }
    .mini-card .label{
      display:block;
      font-size:.84rem;
      color: var(--muted);
      margin-bottom: 8px;
    }
    .mini-card .value{
      display:block;
      font-size:1.18rem;
      font-weight:850;
      letter-spacing:-.02em;
      line-height:1.2;
      margin-bottom: 8px;
    }
    .mini-card .desc{
      color: var(--muted);
      font-size:.88rem;
      line-height:1.6;
    }
    .feed-list{
      display:grid;
      gap:12px;
    }
    .feed-item{
      display:flex;
      align-items:center;
      gap:12px;
      padding: 14px 15px;
      border-radius: 18px;
      background: rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.06);
    }
    .feed-dot{
      width:10px;height:10px;
      border-radius:50%;
      background: var(--accent);
      box-shadow: 0 0 0 5px rgba(53,224,192,.12);
      flex:0 0 auto;
    }
    .feed-item strong{
      display:block;
      font-size:.95rem;
      line-height:1.35;
    }
    .feed-item span{
      display:block;
      color: var(--muted);
      font-size:.84rem;
      margin-top:2px;
    }

    .grid-4{
      display:grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: var(--gap);
    }
    .pain-grid{
      display:grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: var(--gap);
    }
    .pain-card{
      padding: 22px;
      min-height: 216px;
      transition: transform var(--speed-slow), border-color var(--speed), box-shadow var(--speed), background var(--speed);
    }
    .pain-card:hover,
    .solution-panel:hover,
    .result-panel:hover,
    .update-card:hover,
    .quote-card:hover,
    .faq-item:hover,
    .cta-panel:hover{
      transform: translateY(-3px);
      border-color: rgba(53,224,192,.18);
      box-shadow: 0 18px 48px rgba(0,0,0,.34);
    }
    .pain-icon{
      width:48px;height:48px;
      border-radius:16px;
      display:grid;
      place-items:center;
      font-size:1.2rem;
      font-weight:900;
      color:#071019;
      background: linear-gradient(135deg, rgba(53,224,192,.95), rgba(111,224,255,.92));
      box-shadow: 0 14px 28px rgba(53,224,192,.22);
      margin-bottom: 16px;
    }
    .pain-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      line-height:1.28;
    }
    .pain-card p{
      margin:0;
      color:var(--muted);
      line-height:1.8;
      font-size:.96rem;
    }

    .solution-grid{
      display:grid;
      grid-template-columns: 1.08fr .92fr;
      gap: var(--gap);
      align-items:stretch;
    }
    .solution-copy,
    .solution-panel,
    .result-panel,
    .update-aside,
    .cta-panel{
      padding: 30px;
    }
    .steps{
      display:grid;
      gap: 14px;
      margin-top: 12px;
    }
    .step{
      display:grid;
      grid-template-columns: 44px 1fr;
      gap: 14px;
      align-items:start;
      padding: 16px 0;
      border-top: 1px solid rgba(255,255,255,.07);
    }
    .step:first-child{
      border-top:none;
      padding-top:0;
    }
    .step-num{
      width:44px;height:44px;
      border-radius: 15px;
      display:grid;
      place-items:center;
      font-weight:900;
      color:#071019;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      box-shadow: 0 12px 24px rgba(53,224,192,.16);
      flex:0 0 auto;
    }
    .step h3{
      margin:0 0 6px;
      font-size:1.02rem;
      line-height:1.3;
    }
    .step p{
      margin:0;
      color:var(--muted);
      line-height:1.76;
      font-size:.95rem;
    }
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top: 20px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:32px;
      padding:0 12px;
      border-radius:999px;
      font-size:.86rem;
      color: var(--soft);
      background: rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
    }
    .tag.emph{
      color:#071019;
      border-color:transparent;
      background: linear-gradient(135deg, rgba(139,123,255,.95), rgba(53,224,192,.9));
    }
    .solution-panel{
      display:grid;
      gap: 16px;
      align-content:start;
    }
    .panel-block{
      padding: 18px;
      border-radius: 20px;
      background: rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.06);
    }
    .panel-block h3{
      margin:0 0 10px;
      font-size:1rem;
    }
    .panel-block p{
      margin:0;
      color:var(--muted);
      font-size:.94rem;
      line-height:1.72;
    }
    .panel-list{
      display:grid;
      gap:12px;
      margin-top: 14px;
    }
    .panel-list .row{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding: 13px 14px;
      border-radius:16px;
      background: rgba(255,255,255,.025);
      border:1px solid rgba(255,255,255,.06);
    }
    .panel-list .row i{
      width:30px;height:30px;
      border-radius:10px;
      display:grid;
      place-items:center;
      font-style:normal;
      font-weight:900;
      color:#071019;
      background: linear-gradient(135deg, rgba(255,213,107,.96), rgba(255,186,96,.9));
      flex:0 0 auto;
    }
    .panel-list .row strong{
      display:block;
      margin-bottom:4px;
      font-size:.94rem;
    }
    .panel-list .row span{
      color:var(--muted);
      font-size:.88rem;
      line-height:1.6;
    }

    .results-grid{
      display:grid;
      grid-template-columns: 1.02fr .98fr;
      gap: var(--gap);
      align-items:stretch;
    }
    .metrics-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: var(--gap);
    }
    .metric-card{
      padding: 22px;
      border-radius: 24px;
      background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
      border:1px solid rgba(255,255,255,.07);
      min-height: 172px;
    }
    .metric-card .kicker{
      color: var(--muted);
      font-size:.86rem;
      margin-bottom: 12px;
      display:inline-flex;
      align-items:center;
      gap:8px;
    }
    .metric-card .num{
      font-size: clamp(2rem, 1.2rem + 1.9vw, 3rem);
      line-height:1;
      font-weight:900;
      letter-spacing:-.05em;
      margin-bottom: 12px;
    }
    .metric-card p{
      margin:0;
      color:var(--muted);
      line-height:1.78;
      font-size:.95rem;
    }
    .bar{
      margin-top: 16px;
      height: 10px;
      border-radius: 999px;
      background: rgba(255,255,255,.06);
      overflow:hidden;
    }
    .bar > span{
      display:block;
      height:100%;
      width: calc(var(--value) * 1%);
      border-radius:inherit;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow: 0 12px 28px rgba(53,224,192,.18);
    }
    .timeline{
      display:grid;
      gap: 14px;
      margin-top: 4px;
    }
    .timeline-item{
      display:grid;
      grid-template-columns: 46px 1fr;
      gap: 14px;
      align-items:start;
      padding: 16px 0;
      border-top:1px solid rgba(255,255,255,.07);
    }
    .timeline-item:first-child{
      border-top:none;
      padding-top:0;
    }
    .timeline-idx{
      width:46px;height:46px;
      border-radius: 16px;
      display:grid;
      place-items:center;
      color:#071019;
      font-weight:900;
      background: linear-gradient(135deg, rgba(53,224,192,.95), rgba(139,123,255,.9));
      flex:0 0 auto;
    }
    .timeline-item strong{
      display:block;
      margin-bottom:5px;
      font-size:.98rem;
    }
    .timeline-item p{
      margin:0;
      color:var(--muted);
      line-height:1.74;
      font-size:.94rem;
    }

    .updates-layout{
      display:grid;
      grid-template-columns: 1.18fr .82fr;
      gap: var(--gap);
      align-items:start;
    }
    .updates-main{
      min-width:0;
    }
    .updates-list{
      display:grid;
      gap: 16px;
    }
    .update-card{
      display:grid;
      gap: 12px;
      padding: 22px;
      border-radius: 24px;
      border:1px solid rgba(255,255,255,.07);
      background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)),
        rgba(17, 23, 34, .92);
    }
    .update-card:hover{
      border-color: rgba(53,224,192,.22);
    }
    .update-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .update-badges{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      min-height:30px;
      padding:0 11px;
      border-radius:999px;
      font-size:.82rem;
      color:var(--soft);
      background: rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.07);
    }
    .chip.dot-accent{
      color:#071019;
      border-color:transparent;
      background: linear-gradient(135deg, rgba(53,224,192,.95), rgba(111,224,255,.92));
    }
    .chip.dot-warm{
      color:#231700;
      border-color:transparent;
      background: linear-gradient(135deg, rgba(255,213,107,.96), rgba(255,186,96,.9));
    }
    .update-time{
      color: var(--muted);
      font-size:.84rem;
      white-space:nowrap;
    }
    .update-card h3{
      margin:0;
      font-size:1.13rem;
      line-height:1.36;
      letter-spacing:-.02em;
    }
    .update-card p{
      margin:0;
      color: var(--muted);
      line-height:1.78;
      font-size:.95rem;
      display:-webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow:hidden;
    }
    .update-foot{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
      color: var(--accent);
      font-weight:700;
      font-size:.92rem;
    }
    .update-foot .arrow{
      transition: transform var(--speed);
    }
    .update-card:hover .arrow{
      transform: translateX(3px);
    }
    .empty-state{
      padding: 26px;
      border-radius: 24px;
      border:1px dashed rgba(255,255,255,.14);
      color: var(--soft);
      background: rgba(255,255,255,.03);
      text-align:center;
    }

    .update-aside{
      display:grid;
      gap: 14px;
      position:sticky;
      top: 96px;
    }
    .aside-card{
      padding: 18px;
      border-radius: 20px;
      border:1px solid rgba(255,255,255,.07);
      background: rgba(255,255,255,.03);
    }
    .aside-card h3{
      margin:0 0 10px;
      font-size:1rem;
    }
    .aside-card p{
      margin:0;
      color:var(--muted);
      line-height:1.74;
      font-size:.94rem;
    }
    .tips{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top: 12px;
    }
    .tip{
      display:inline-flex;
      align-items:center;
      padding: 8px 11px;
      border-radius:999px;
      background: rgba(255,255,255,.03);
      color: var(--soft);
      border:1px solid rgba(255,255,255,.07);
      font-size:.83rem;
      line-height:1;
    }

    .testimonials-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: var(--gap);
    }
    .quote-card{
      padding: 24px;
    }
    .quote-mark{
      width:44px;height:44px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#071019;
      font-size:1.3rem;
      font-weight:900;
      background: linear-gradient(135deg, rgba(139,123,255,.96), rgba(53,224,192,.92));
      box-shadow: 0 14px 30px rgba(139,123,255,.2);
      margin-bottom: 16px;
    }
    .quote-card p{
      margin:0;
      color: var(--soft);
      line-height:1.82;
      font-size:.97rem;
    }
    .quote-meta{
      margin-top: 18px;
      padding-top: 14px;
      border-top:1px solid rgba(255,255,255,.07);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .quote-meta strong{
      display:block;
      font-size:.95rem;
      margin-bottom:2px;
    }
    .quote-meta span{
      color: var(--muted);
      font-size:.84rem;
    }
    .stars{
      display:inline-flex;
      gap:5px;
      color: var(--warm);
      font-size:.9rem;
      letter-spacing:2px;
      white-space:nowrap;
    }

    .faq-wrap{
      padding: 12px;
    }
    .faq-list{
      display:grid;
      gap:12px;
    }
    .faq-item{
      border-radius: 20px;
      border:1px solid rgba(255,255,255,.07);
      background: rgba(255,255,255,.03);
      overflow:hidden;
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding: 18px 18px;
      font-weight:700;
      font-size:1rem;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary::after{
      content:"＋";
      flex:0 0 auto;
      width:30px;height:30px;
      display:grid;
      place-items:center;
      border-radius:10px;
      background: rgba(255,255,255,.04);
      color: var(--soft);
      transition: transform var(--speed), background var(--speed), color var(--speed);
    }
    .faq-item[open] summary::after{
      content:"—";
      color: #071019;
      background: linear-gradient(135deg, rgba(53,224,192,.95), rgba(111,224,255,.92));
    }
    .faq-item[open]{
      border-color: rgba(53,224,192,.18);
      background: rgba(255,255,255,.04);
    }
    .faq-content{
      padding: 0 18px 18px;
      color: var(--muted);
      line-height:1.82;
      font-size:.95rem;
      max-width: 72ch;
    }

    .cta-section{
      padding-top: 56px;
    }
    .cta-panel{
      padding: 34px;
      background:
        radial-gradient(800px 320px at 16% 0%, rgba(53,224,192,.16), transparent 54%),
        radial-gradient(700px 300px at 100% 0%, rgba(139,123,255,.18), transparent 52%),
        linear-gradient(180deg, rgba(18,25,35,.96), rgba(10,15,22,.98));
      border-color: rgba(255,255,255,.1);
    }
    .cta-panel h2{
      margin: 14px 0 12px;
      font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3.2rem);
      line-height:1.08;
      letter-spacing:-.05em;
      max-width: 12ch;
    }
    .cta-panel p{
      margin:0;
      color: var(--soft);
      max-width: 70ch;
      line-height:1.82;
      font-size: 1.02rem;
    }
    .cta-actions{
      display:flex;
      flex-wrap:wrap;
      gap: 12px;
      margin-top: 22px;
    }

    .site-footer{
      padding: 26px 0 18px;
      border-top:1px solid rgba(255,255,255,.08);
      background: linear-gradient(180deg, rgba(8,12,17,.1), rgba(8,12,17,.72));
    }
    .footer-grid{
      display:grid;
      grid-template-columns: 1.25fr .75fr 1fr;
      gap: var(--gap);
      align-items:start;
    }
    .footer-brand{
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .footer-brand .brand-text{
      font-size:1.08rem;
    }
    .footer-brand p{
      margin:0;
      color:var(--muted);
      line-height:1.8;
      max-width: 44ch;
    }
    .footer-links{
      display:grid;
      gap:10px;
      justify-items:start;
    }
    .footer-links a{
      color: var(--soft);
      padding: 6px 0;
    }
    .footer-links a:hover{
      color: var(--accent);
    }
    .footer-note{
      display:grid;
      gap:10px;
      color: var(--muted);
      font-size:.92rem;
      line-height:1.72;
    }
    .footer-note strong{
      color: var(--text);
      font-size:.98rem;
    }
    .footer-bottom{
      margin-top: 18px;
      padding-top: 16px;
      border-top:1px solid rgba(255,255,255,.07);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color: var(--muted);
      font-size:.88rem;
      flex-wrap:wrap;
    }
    .to-top{
      color: var(--soft);
      border:1px solid rgba(255,255,255,.08);
      border-radius:999px;
      padding:9px 14px;
      background: rgba(255,255,255,.03);
    }
    .to-top:hover{
      color: var(--text);
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.12);
    }

    .mobile-tabs{
      position:fixed;
      left:50%;
      transform:translateX(-50%);
      bottom: calc(env(safe-area-inset-bottom) + 10px);
      z-index:60;
      width: min(94vw, 520px);
      display:none;
      gap:8px;
      padding: 10px;
      border-radius: 22px;
      background: rgba(11, 16, 22, .82);
      backdrop-filter: blur(16px);
      border:1px solid rgba(255,255,255,.08);
      box-shadow: var(--shadow);
    }
    .mobile-tab{
      flex:1 1 0;
      min-width:0;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:6px;
      min-height: 62px;
      border-radius: 16px;
      color: var(--soft);
      border:1px solid transparent;
      padding: 8px 6px;
      font-size:.75rem;
      line-height:1;
    }
    .mobile-tab .icon{
      width:24px;height:24px;
      display:grid;
      place-items:center;
      font-size:1rem;
      border-radius:8px;
      background: rgba(255,255,255,.04);
      color: var(--text);
    }
    .mobile-tab.active,
    .mobile-tab[aria-current="page"]{
      color: var(--text);
      background: linear-gradient(135deg, rgba(53,224,192,.12), rgba(139,123,255,.08));
      border-color: rgba(53,224,192,.14);
    }
    .mobile-tab.active .icon,
    .mobile-tab[aria-current="page"] .icon{
      color:#071019;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
    }

    @media (max-width: 1200px){
      .grid-4,
      .pain-grid,
      .testimonials-grid{
        grid-template-columns: repeat(2, minmax(0,1fr));
      }
      .hero-grid,
      .solution-grid,
      .results-grid,
      .updates-layout,
      .footer-grid{
        grid-template-columns: 1fr;
      }
      .update-aside{
        position:relative;
        top:auto;
      }
    }

    @media (max-width: 920px){
      .top-nav{display:none}
      .nav-actions .btn-ghost{display:none}
      .section{padding: 64px 0}
      .hero-copy{padding: 28px}
      .hero-stage,
      .solution-copy,
      .solution-panel,
      .result-panel,
      .update-aside,
      .cta-panel{
        padding: 24px;
      }
      .metrics-grid{
        grid-template-columns: 1fr 1fr;
      }
      .footer-grid{
        grid-template-columns: 1fr 1fr;
      }
      .footer-note{
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 780px){
      .nav-wrap{
        min-height: 72px;
      }
      .brand-mark{
        width:38px;height:38px;
        border-radius:13px;
      }
      .nav-actions .btn-primary{
        min-height:42px;
        padding:0 14px;
      }
      .hero-copy h1{
        max-width: 12ch;
      }
      .hero-search{
        grid-template-columns: 1fr;
      }
      .hero-search button{
        width:100%;
      }
      .mobile-tabs{
        display:flex;
      }
      main{
        padding-bottom: 112px;
      }
      .grid-4,
      .pain-grid,
      .testimonials-grid,
      .metrics-grid,
      .footer-grid{
        grid-template-columns: 1fr;
      }
      .mini-grid{
        grid-template-columns: 1fr;
      }
      .hero-copy,
      .hero-stage,
      .pain-card,
      .solution-copy,
      .solution-panel,
      .result-panel,
      .update-card,
      .update-aside,
      .quote-card,
      .faq-wrap,
      .cta-panel{
        border-radius: 22px;
      }
      .cta-panel h2{
        max-width: 14ch;
      }
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
    }

    @media (max-width: 520px){
      :root{
        --radius-lg: 22px;
        --gap: 18px;
      }
      .container{
        width:min(var(--container), calc(100% - 24px));
      }
      .hero-copy h1{
        font-size: clamp(2rem, 1.4rem + 3vw, 3rem);
      }
      .hero-copy,
      .hero-stage,
      .pain-card,
      .solution-copy,
      .solution-panel,
      .result-panel,
      .update-card,
      .update-aside,
      .quote-card,
      .faq-wrap,
      .cta-panel{
        padding: 20px;
      }
      .section{
        padding: 54px 0;
      }
      .section-head h2{
        font-size: clamp(1.35rem, 1rem + 1.7vw, 2rem);
      }
      .step,
      .timeline-item{
        grid-template-columns: 1fr;
      }
      .step-num,
      .timeline-idx{
        width:38px;height:38px;
      }
      .faq-item summary{
        padding: 16px;
        font-size:.96rem;
      }
      .faq-content{
        padding: 0 16px 16px;
      }
      .mobile-tabs{
        width: calc(100vw - 16px);
        border-radius: 20px;
        padding: 8px;
        gap:6px;
      }
      .mobile-tab{
        min-height: 58px;
      }
      .mobile-tab .icon{
        width:22px;height:22px;
      }
    }

    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *, *::before, *::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
      }
    }

/* roulang page: article */
:root{
      --bg: #0b0f14;
      --bg-soft: #101622;
      --bg-soft-2: #0f1520;
      --card: rgba(17, 23, 34, .88);
      --card-strong: rgba(20, 28, 41, .96);
      --text: #eef4ff;
      --muted: #95a2b8;
      --soft: #c7d0e2;
      --line: rgba(255,255,255,.08);
      --line-strong: rgba(255,255,255,.14);
      --accent: #35e0c0;
      --accent-2: #8b7bff;
      --accent-3: #6fe0ff;
      --warm: #ffd56b;
      --danger: #ff6b8a;
      --success: #5adf8d;
      --shadow: 0 18px 52px rgba(0,0,0,.38);
      --shadow-soft: 0 12px 30px rgba(0,0,0,.22);
      --radius: 20px;
      --radius-lg: 28px;
      --radius-sm: 14px;
      --container: 1180px;
      --gap: 24px;
      --gap-lg: 32px;
      --speed: 180ms;
      --speed-slow: 280ms;
      --focus: 0 0 0 4px rgba(53, 224, 192, .18);
      --header-h: 78px;
    }
    :root{
      --radius-lg: 22px;
      --gap: 18px;
    }
    *{box-sizing:border-box}
    html{
      scroll-behavior:smooth;
      -webkit-text-size-adjust:100%;
      text-rendering:optimizeLegibility;
    }
    body{
      margin:0;
      min-height:100vh;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Helvetica Neue",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(900px 500px at 12% -8%, rgba(53,224,192,.18), transparent 62%),
        radial-gradient(800px 460px at 92% 4%, rgba(139,123,255,.14), transparent 58%),
        radial-gradient(900px 600px at 50% 110%, rgba(111,224,255,.08), transparent 58%),
        linear-gradient(180deg, #090d12 0%, #0b1016 45%, #0a0d12 100%);
      line-height:1.7;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(115deg, rgba(255,255,255,.03), transparent 28%),
        linear-gradient(250deg, rgba(255,255,255,.03), transparent 24%);
      opacity:.75;
      mix-blend-mode:screen;
      z-index:-1;
    }
    ::selection{
      background: rgba(53,224,192,.25);
      color: #fff;
    }
    a{
      color:inherit;
      text-decoration:none;
      transition: color var(--speed), border-color var(--speed), background var(--speed), transform var(--speed), box-shadow var(--speed), opacity var(--speed);
    }
    a:hover{color:var(--text)}
    img{max-width:100%;display:block}
    button,input,textarea,select{
      font:inherit;
      color:inherit;
    }
    button{cursor:pointer}
    button:focus-visible,
    a:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    summary:focus-visible{
      outline:none;
      box-shadow:var(--focus);
      border-color:rgba(53,224,192,.38)!important;
    }
    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      background: rgba(10, 14, 20, .72);
      backdrop-filter: blur(16px);
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .nav-wrap{
      min-height:var(--header-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      letter-spacing:.2px;
      white-space:nowrap;
      flex:0 0 auto;
    }
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      font-size:14px;
      font-weight:900;
      color:#081018;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      box-shadow: 0 14px 30px rgba(53,224,192,.24);
      flex:0 0 auto;
    }
    .brand-text{
      font-size:1.02rem;
      letter-spacing:.3px;
    }
    .top-nav{
      display:flex;
      align-items:center;
      gap:12px;
      margin-left:auto;
      margin-right:8px;
    }
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:11px 16px;
      border-radius:999px;
      color:var(--soft);
      border:1px solid transparent;
      background: transparent;
      line-height:1;
    }
    .nav-link:hover{
      color:var(--text);
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.08);
    }
    .nav-link.active,
    .nav-link[aria-current="page"]{
      color:var(--text);
      background: linear-gradient(135deg, rgba(53,224,192,.14), rgba(139,123,255,.12));
      border-color: rgba(53,224,192,.22);
      box-shadow: 0 10px 30px rgba(0,0,0,.18);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex:0 0 auto;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 18px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:700;
      letter-spacing:.1px;
      white-space:nowrap;
      transition: transform var(--speed), box-shadow var(--speed), background var(--speed), border-color var(--speed), color var(--speed), opacity var(--speed);
      user-select:none;
    }
    .btn:hover{transform: translateY(-1px)}
    .btn:active{transform: translateY(0)}
    .btn-primary{
      color:#071019;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      box-shadow: 0 16px 36px rgba(53,224,192,.22);
    }
    .btn-primary:hover{box-shadow: 0 18px 42px rgba(53,224,192,.28)}
    .btn-secondary{
      color:var(--text);
      background: rgba(255,255,255,.03);
      border-color: rgba(255,255,255,.1);
    }
    .btn-secondary:hover{
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.16);
    }
    .btn-ghost{
      color:var(--soft);
      background: transparent;
      border-color: rgba(255,255,255,.08);
    }
    .btn-ghost:hover{
      color:var(--text);
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.14);
    }
    .btn-text{
      color:var(--accent);
      background: transparent;
      border-color: transparent;
      min-height:auto;
      padding:0;
      border-radius:0;
    }
    .btn-text:hover{
      color:var(--text);
      transform:none;
    }
    main{
      display:block;
      padding-bottom:108px;
    }
    .section{
      padding:78px 0;
      scroll-margin-top:96px;
    }
    .section:first-of-type{padding-top:36px}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid rgba(53,224,192,.18);
      background: rgba(53,224,192,.08);
      color:var(--accent-3);
      font-size:.84rem;
      font-weight:700;
      letter-spacing:.24px;
      width:max-content;
    }
    .eyebrow::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:999px;
      background:var(--accent);
      box-shadow:0 0 0 6px rgba(53,224,192,.14);
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:20px;
      margin-bottom:26px;
    }
    .section-head h2{
      margin:0;
      font-size:clamp(1.5rem, 2vw, 2.1rem);
      line-height:1.15;
      letter-spacing:-.02em;
    }
    .section-head p{
      margin:0;
      color:var(--muted);
      max-width: 56ch;
      font-size:.98rem;
    }
    .panel,
    .info-card,
    .side-card,
    .faq-item,
    .update-card,
    .cta-panel,
    .empty-state{
      position:relative;
      background:var(--card);
      border:1px solid var(--line);
      box-shadow:var(--shadow-soft);
      border-radius:var(--radius-lg);
      overflow:hidden;
    }
    .panel::before,
    .info-card::before,
    .side-card::before,
    .faq-item::before,
    .update-card::before,
    .cta-panel::before,
    .empty-state::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(145deg, rgba(255,255,255,.06), transparent 24%);
      opacity:.6;
    }
    .panel:hover,
    .info-card:hover,
    .side-card:hover,
    .faq-item:hover,
    .update-card:hover,
    .cta-panel:hover{
      border-color:rgba(53,224,192,.18);
      box-shadow:0 18px 40px rgba(0,0,0,.28);
    }
    .article-hero{
      padding-top:34px;
      padding-bottom:26px;
    }
    .article-hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
      gap:var(--gap-lg);
      align-items:stretch;
      margin-top:18px;
    }
    .article-hero-main{
      padding:30px;
      border-radius:var(--radius-lg);
      background:
        linear-gradient(180deg, rgba(20,28,41,.94), rgba(14,19,29,.94)),
        linear-gradient(135deg, rgba(53,224,192,.08), transparent 55%);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .article-hero-main::after{
      content:"";
      position:absolute;
      inset:auto -12% -24% auto;
      width:220px;
      height:220px;
      border-radius:50%;
      background: radial-gradient(circle, rgba(139,123,255,.18), transparent 64%);
      filter: blur(2px);
      pointer-events:none;
    }
    .breadcrumb{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      color:var(--muted);
      font-size:.9rem;
      margin-bottom:14px;
    }
    .breadcrumb a{
      color:var(--soft);
    }
    .breadcrumb a:hover{color:var(--text)}
    .breadcrumb span.sep{
      opacity:.45;
    }
    .hero-meta-strip{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
    }
    .meta-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background: rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:var(--soft);
      font-size:.88rem;
    }
    .meta-pill strong{color:var(--text)}
    .meta-pill.accent{
      background: rgba(53,224,192,.09);
      border-color: rgba(53,224,192,.18);
      color:var(--accent-3);
    }
    .article-title{
      margin:0;
      font-size:clamp(2rem, 5vw, 3.45rem);
      line-height:1.08;
      letter-spacing:-.04em;
      max-width:11ch;
      word-break:break-word;
    }
    .article-subtitle{
      margin:16px 0 0;
      max-width:68ch;
      color:var(--soft);
      font-size:1.02rem;
      line-height:1.82;
    }
    .article-meta{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:20px;
    }
    .article-meta .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 12px;
      border-radius:999px;
      background: rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:var(--soft);
      font-size:.88rem;
    }
    .article-meta .badge strong{
      color:var(--text);
      font-weight:700;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:26px;
    }
    .article-hero-side{
      display:grid;
      gap:16px;
      align-content:start;
    }
    .info-card{
      padding:20px;
    }
    .info-card.highlight{
      background:
        linear-gradient(180deg, rgba(18,25,37,.96), rgba(14,19,29,.94)),
        linear-gradient(135deg, rgba(53,224,192,.12), rgba(139,123,255,.08));
      border-color: rgba(53,224,192,.18);
    }
    .info-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-bottom:12px;
      font-weight:800;
      letter-spacing:.1px;
    }
    .info-title small{
      color:var(--muted);
      font-weight:600;
    }
    .stat-list{
      display:grid;
      gap:12px;
      margin-top:8px;
    }
    .stat-item{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:12px 0;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .stat-item:last-child{border-bottom:none;padding-bottom:0}
    .stat-label{
      color:var(--muted);
      font-size:.92rem;
    }
    .stat-value{
      color:var(--text);
      font-weight:700;
      text-align:right;
    }
    .quick-links{
      display:grid;
      gap:10px;
    }
    .quick-links .btn{
      width:100%;
      justify-content:space-between;
    }
    .article-layout{
      display:grid;
      grid-template-columns:minmax(0,1fr) 320px;
      gap:var(--gap-lg);
      align-items:start;
    }
    .article-panel{
      min-width:0;
    }
    .article-box{
      padding:28px;
    }
    .content-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-bottom:18px;
      padding-bottom:16px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .content-head h2{
      margin:0;
      font-size:1.2rem;
      line-height:1.25;
    }
    .content-head p{
      margin:0;
      color:var(--muted);
      font-size:.9rem;
    }
    .article-content{
      color:var(--soft);
      font-size:1.02rem;
      line-height:1.88;
      overflow-wrap:anywhere;
      word-break:break-word;
    }
    .article-content > * + *{margin-top:18px}
    .article-content h2,
    .article-content h3,
    .article-content h4{
      color:var(--text);
      line-height:1.28;
      letter-spacing:-.02em;
      margin:34px 0 14px;
    }
    .article-content h2{
      font-size:1.58rem;
      padding-top:6px;
    }
    .article-content h3{
      font-size:1.24rem;
    }
    .article-content h4{
      font-size:1.06rem;
    }
    .article-content p{
      margin:0;
    }
    .article-content ul,
    .article-content ol{
      margin:0;
      padding-left:1.25em;
    }
    .article-content li + li{margin-top:8px}
    .article-content a{
      color:var(--accent-3);
      text-decoration: none;
      border-bottom:1px solid rgba(111,224,255,.25);
    }
    .article-content a:hover{
      color:#fff;
      border-bottom-color:rgba(255,255,255,.4);
    }
    .article-content blockquote{
      margin:26px 0;
      padding:18px 18px 18px 20px;
      border-left:3px solid var(--accent);
      background: rgba(53,224,192,.06);
      border-radius: 16px;
      color:var(--text);
    }
    .article-content blockquote p{color:var(--text)}
    .article-content code{
      padding:.2em .45em;
      border-radius:10px;
      background: rgba(255,255,255,.06);
      color: #fff;
      border:1px solid rgba(255,255,255,.08);
      font-size:.94em;
    }
    .article-content pre{
      margin:22px 0;
      padding:18px 20px;
      overflow:auto;
      background: rgba(7,11,17,.92);
      border:1px solid rgba(255,255,255,.08);
      border-radius: 18px;
      color:#dce7ff;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    }
    .article-content pre code{
      padding:0;
      background:transparent;
      border:none;
      color:inherit;
    }
    .article-content img{
      margin:24px auto;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.08);
      box-shadow:0 18px 36px rgba(0,0,0,.24);
    }
    .article-content figure{
      margin:24px 0;
    }
    .article-content figcaption{
      margin-top:10px;
      color:var(--muted);
      font-size:.88rem;
      text-align:center;
    }
    .article-content hr{
      border:none;
      border-top:1px solid rgba(255,255,255,.08);
      margin:28px 0;
    }
    .article-content table{
      width:100%;
      border-collapse:collapse;
      display:block;
      overflow-x:auto;
      margin:22px 0;
      border:1px solid rgba(255,255,255,.08);
      border-radius:16px;
      background: rgba(255,255,255,.02);
    }
    .article-content th,
    .article-content td{
      padding:12px 14px;
      border-bottom:1px solid rgba(255,255,255,.06);
      text-align:left;
      white-space:nowrap;
    }
    .article-content th{
      color:var(--text);
      background: rgba(255,255,255,.04);
    }
    .article-content td{color:var(--soft)}
    .article-content tr:last-child td{border-bottom:none}
    .article-content strong{color:var(--text)}
    .article-content em{color:#fff}
    .article-content .aligncenter,
    .article-content .center{
      display:block;
      text-align:center;
      margin-left:auto;
      margin-right:auto;
    }
    .article-content .wp-caption,
    .article-content .caption{
      color:var(--muted);
      font-size:.88rem;
    }
    .empty-state{
      padding:42px 28px;
      text-align:center;
    }
    .empty-state h2{
      margin:0;
      font-size:1.6rem;
      line-height:1.2;
    }
    .empty-state p{
      margin:14px auto 0;
      color:var(--muted);
      max-width:42ch;
    }
    .empty-state .btn{
      margin-top:22px;
    }
    .article-sidebar{
      position:relative;
    }
    .sticky-stack{
      position:sticky;
      top: calc(var(--header-h) + 18px);
      display:grid;
      gap:16px;
    }
    .side-card{
      padding:20px;
    }
    .side-title{
      margin:0 0 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      color:var(--text);
      font-weight:800;
      letter-spacing:.1px;
    }
    .side-list{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
    }
    .side-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:var(--soft);
      font-size:.94rem;
    }
    .mini-mark{
      width:8px;
      height:8px;
      margin-top:.55em;
      border-radius:999px;
      background: linear-gradient(135deg, var(--accent), var(--accent-3));
      box-shadow:0 0 0 5px rgba(53,224,192,.12);
      flex:0 0 auto;
    }
    .side-meta{
      display:grid;
      gap:12px;
    }
    .side-meta .meta-row{
      display:flex;
      justify-content:space-between;
      gap:16px;
      padding-bottom:12px;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .side-meta .meta-row:last-child{
      padding-bottom:0;
      border-bottom:none;
    }
    .side-meta .k{
      color:var(--muted);
      font-size:.9rem;
    }
    .side-meta .v{
      color:var(--text);
      font-weight:700;
      text-align:right;
    }
    .side-actions{
      display:grid;
      gap:10px;
    }
    .side-actions .btn{
      width:100%;
      justify-content:space-between;
    }
    .tip{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
      line-height:1.8;
    }
    .faq-grid{
      display:grid;
      gap:14px;
      grid-template-columns:repeat(3, minmax(0,1fr));
    }
    .faq-item{
      padding:0;
      background:rgba(17,23,34,.9);
    }
    .faq-item summary{
      list-style:none;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:20px;
      cursor:pointer;
      color:var(--text);
      font-weight:750;
      letter-spacing:.1px;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary .arrow{
      width:28px;
      height:28px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background: rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:var(--soft);
      transition: transform var(--speed), background var(--speed), color var(--speed);
      flex:0 0 auto;
    }
    .faq-item[open] summary .arrow{
      transform: rotate(180deg);
      background: rgba(53,224,192,.1);
      color: var(--accent-3);
    }
    .faq-body{
      padding:0 20px 20px;
      color:var(--muted);
      line-height:1.86;
    }
    .updates-grid{
      display:grid;
      gap:16px;
      grid-template-columns:repeat(3, minmax(0,1fr));
    }
    .update-card{
      padding:20px;
      display:flex;
      flex-direction:column;
      gap:14px;
      min-height:220px;
    }
    .update-tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      padding:7px 10px;
      border-radius:999px;
      background: rgba(53,224,192,.08);
      color: var(--accent-3);
      border:1px solid rgba(53,224,192,.16);
      font-size:.84rem;
      font-weight:700;
    }
    .update-title{
      margin:0;
      font-size:1.16rem;
      line-height:1.32;
      letter-spacing:-.02em;
    }
    .update-desc{
      margin:0;
      color:var(--muted);
      line-height:1.82;
      font-size:.95rem;
      flex:1 1 auto;
    }
    .update-meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:var(--muted);
      font-size:.88rem;
      padding-top:14px;
      border-top:1px solid rgba(255,255,255,.06);
    }
    .update-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent-3);
      font-weight:700;
    }
    .cta-panel{
      padding:28px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      background:
        linear-gradient(180deg, rgba(16,22,34,.98), rgba(10,14,21,.98)),
        radial-gradient(500px 200px at 10% 20%, rgba(53,224,192,.12), transparent 58%),
        radial-gradient(420px 220px at 90% 80%, rgba(139,123,255,.12), transparent 60%);
      border-color:rgba(255,255,255,.08);
    }
    .cta-panel h2{
      margin:10px 0 10px;
      font-size:clamp(1.5rem, 3vw, 2.35rem);
      line-height:1.15;
      letter-spacing:-.03em;
    }
    .cta-panel p{
      margin:0;
      max-width:60ch;
      color:var(--soft);
      line-height:1.82;
    }
    .cta-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex:0 0 auto;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .site-footer{
      padding:34px 0 26px;
      border-top:1px solid rgba(255,255,255,.06);
      background: linear-gradient(180deg, rgba(8,12,18,.72), rgba(8,12,18,.96));
      backdrop-filter: blur(14px);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .9fr;
      gap:24px;
      padding: 22px 0 18px;
    }
    .footer-brand p{
      margin:14px 0 0;
      color:var(--muted);
      max-width:42ch;
      line-height:1.82;
    }
    .footer-links{
      display:grid;
      gap:12px;
      align-content:start;
      justify-items:start;
    }
    .footer-links a{
      color:var(--soft);
      padding:4px 0;
      position:relative;
    }
    .footer-links a:hover{
      color:var(--text);
      transform: translateX(2px);
    }
    .footer-note{
      display:grid;
      gap:10px;
      color:var(--muted);
      line-height:1.82;
    }
    .footer-note strong{color:var(--text)}
    .footer-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--muted);
      font-size:.92rem;
    }
    .to-top{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--soft);
    }
    .to-top:hover{color:var(--text)}
    .muted{color:var(--muted)}
    .sr-only{
      position:absolute!important;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }
    .grid-2{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:var(--gap);
    }
    .grid-3{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:var(--gap);
    }
    .grid-auto{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
      gap:var(--gap);
    }
    .pill-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .subtle-line{
      width:100%;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
      margin:0;
      border:none;
    }
    @media (max-width: 1100px){
      .article-hero-grid,
      .article-layout{
        grid-template-columns:1fr;
      }
      .sticky-stack{
        position:static;
      }
      .faq-grid,
      .updates-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .footer-grid{
        grid-template-columns:1fr 1fr;
      }
    }
    @media (max-width: 768px){
      :root{
        --header-h: 72px;
      }
      .container{
        width:min(var(--container), calc(100% - 24px));
      }
      .nav-wrap{
        flex-wrap:wrap;
        padding:10px 0 14px;
      }
      .top-nav{
        order:3;
        width:100%;
        justify-content:flex-start;
        margin:0;
        overflow-x:auto;
        padding-bottom:2px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
      }
      .top-nav::-webkit-scrollbar{display:none}
      .nav-actions{
        order:2;
        margin-left:auto;
        gap:10px;
      }
      .nav-actions .btn{
        min-height:42px;
        padding:0 14px;
        font-size:.92rem;
      }
      .section{
        padding:56px 0;
      }
      .article-hero{
        padding-top:24px;
      }
      .article-hero-main,
      .article-box,
      .info-card,
      .side-card,
      .cta-panel{
        padding:20px;
      }
      .article-title{
        max-width:none;
      }
      .faq-grid,
      .updates-grid,
      .grid-2,
      .grid-3,
      .footer-grid{
        grid-template-columns:1fr;
      }
      .section-head,
      .cta-panel{
        align-items:flex-start;
        flex-direction:column;
      }
      .cta-actions{
        width:100%;
        justify-content:flex-start;
      }
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
    }
    @media (max-width: 520px){
      body{
        line-height:1.68;
      }
      .brand-text{
        font-size:.98rem;
      }
      .nav-link{
        padding:10px 14px;
      }
      .article-title{
        font-size:clamp(1.8rem, 11vw, 2.7rem);
      }
      .article-subtitle{
        font-size:.98rem;
      }
      .hero-actions .btn,
      .cta-actions .btn,
      .quick-links .btn,
      .side-actions .btn{
        width:100%;
      }
      .hero-actions,
      .cta-actions{
        width:100%;
      }
      .meta-pill,
      .article-meta .badge{
        width:100%;
        justify-content:space-between;
      }
      .content-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .update-card,
      .faq-item summary{
        padding:18px;
      }
      .faq-body{
        padding:0 18px 18px;
      }
    }
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,
      *::before,
      *::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
      }
    }
