:root{
      --bg0:#fff7f1;
      --bg1:#ffffff;
      --ink:#1f2328;
      --muted:#5a616b;
      --muted2:#7a8290;
      --line:rgba(20,24,28,.10);
      --line2:rgba(20,24,28,.14);
      --card:#ffffff;
      --shadow: 0 14px 40px rgba(20, 24, 28, .10);
      --shadow2: 0 8px 22px rgba(20, 24, 28, .08);
      --shadow3: 0 10px 30px rgba(255, 92, 43, .18);
      --brand:#ff5b2e;
      --brand2:#ff8a00;
      --brand3:#ff3d7f;
      --ring: rgba(255, 91, 46, .35);
      --radius:18px;
      --radius2:24px;
      --container: 1120px;
      --pad: 20px;
      --navH: 78px;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      color:var(--ink);
      font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "PingFang SC","Hiragino Sans GB","Microsoft YaHei", Arial, "Noto Sans", "Helvetica Neue", sans-serif;
      background:
        radial-gradient(1200px 600px at 20% -10%, rgba(255, 91, 46, .18), transparent 60%),
        radial-gradient(800px 420px at 90% 0%, rgba(255, 138, 0, .14), transparent 55%),
        linear-gradient(180deg, var(--bg0), var(--bg1) 45%);
    }

    .skip-link{
      position:absolute; left:12px; top:10px;
      transform: translateY(-140%);
      padding:10px 12px; border-radius:12px;
      background:#111827; color:#fff;
      z-index:9999;
      transition:transform .2s ease;
      text-decoration:none;
      font-weight:600;
      font-size:14px;
    }
    .skip-link:focus{ transform: translateY(0); outline:none; }

    .container{
      width: min(var(--container), calc(100% - var(--pad) * 2));
      margin: 0 auto;
    }

    .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;
    }

    .site-header{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(10px);
      background: rgba(255,255,255,.72);
      border-bottom: 1px solid rgba(20,24,28,.07);
    }

    .header-inner{
      height: var(--navH);
      display:flex; align-items:center; justify-content:space-between;
      gap:18px;
    }

    .brand{display:flex; align-items:center; gap:12px; min-width: 260px;}
    .brand-link{display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit;}
    .ai-page-logo{width:44px; border-radius:12px; box-shadow: 0 10px 30px rgba(255, 91, 46, .18); background: #fff; padding:6px;}
    .brand-text{display:flex; flex-direction:column; line-height:1.1}
    .brand-name{font-weight:860; letter-spacing:.2px;}
    .brand-sub{font-size:12px; color:var(--muted); margin-top:4px}

    .nav-desktop{display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:center}
    .nav-item{
      text-decoration:none; color:#2b3138;
      font-weight:650; font-size:14px;
      padding:10px 10px;
      border-radius:12px;
      transition: background .2s ease, transform .2s ease;
      border:1px solid transparent;
    }
    .nav-item:hover{ background: rgba(255, 91, 46, .08); border-color: rgba(255, 91, 46, .18); transform: translateY(-1px); }

    .header-actions{display:flex; align-items:center; gap:10px;}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      padding:11px 14px;
      border-radius:14px;
      border:1px solid transparent;
      text-decoration:none;
      color: #111827;
      font-weight:760;
      font-size:14px;
      transition: transform .15s ease, box-shadow .15s ease, background .2s ease, border-color .2s ease;
      white-space:nowrap;
    }
    .btn:active{ transform: translateY(1px); }
    .btn-solid{
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      color:#fff;
      box-shadow: 0 14px 36px rgba(255, 91, 46, .26);
    }
    .btn-solid:hover{
      box-shadow: 0 18px 46px rgba(255, 91, 46, .34);
      transform: translateY(-1px);
    }
    .btn-ghost{
      background: rgba(255,255,255,.8);
      border-color: rgba(20,24,28,.10);
      color:#1f2328;
      box-shadow: 0 10px 24px rgba(20,24,28,.06);
    }
    .btn-ghost:hover{
      border-color: rgba(255, 91, 46, .30);
      box-shadow: 0 14px 30px rgba(255, 91, 46, .14);
      transform: translateY(-1px);
    }
    .btn-link{
      text-decoration:none;
      color: var(--brand);
      font-weight:820;
      padding:10px 0;
    }
    .btn-link:hover{text-decoration:underline}
    .btn-lg{ padding:14px 16px; border-radius:16px; font-size:15px; }
    .w-100{ width:100%; }

    .nav-toggle{
      display:none;
      width:44px; height:44px;
      border-radius:14px;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.85);
      box-shadow: 0 10px 24px rgba(20,24,28,.06);
      cursor:pointer;
      align-items:center; justify-content:center;
      flex-direction:column; gap:5px;
    }
    .nav-toggle-bar{
      width:18px; height:2px; background:#111827; border-radius:999px;
      display:block;
    }

    .mobile-nav{
      display:none;
      position:fixed; inset:0;
      background: rgba(17,24,39,.18);
      z-index:100;
      padding: 16px;
    }
    .mobile-nav.open{ display:block; }
    .mobile-nav-inner{
      height:100%;
      background: rgba(255,255,255,.92);
      border:1px solid rgba(20,24,28,.10);
      border-radius:22px;
      padding: 14px 14px 16px;
      overflow:auto;
      box-shadow: var(--shadow);
    }
    .mobile-nav-top{ display:flex; align-items:center; justify-content:space-between; padding:4px 4px 10px; }
    .mobile-nav-title{ font-weight:900; letter-spacing:.2px;}
    .mobile-close{
      width:40px; height:40px; border-radius:14px; border:1px solid rgba(20,24,28,.12);
      background: rgba(255,255,255,.9); cursor:pointer; font-size:22px; line-height:1;
      display:flex; align-items:center; justify-content:center;
    }
    .mobile-nav-grid{
      display:grid; gap:10px;
      margin-top:10px;
      grid-template-columns: 1fr;
    }
    .mobile-nav-item{
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.85);
      text-decoration:none; color:#1f2328;
      font-weight:780;
    }
    .mobile-nav-item:hover{
      border-color: rgba(255, 91, 46, .30);
      box-shadow: 0 14px 30px rgba(255, 91, 46, .12);
      transform: translateY(-1px);
    }
    .mobile-nav-cta{display:grid; gap:10px; margin-top:16px}

    .no-scroll{ overflow:hidden; }

    .hero{
      padding: 34px 0 16px;
    }
    .hero-inner{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 18px;
      align-items:stretch;
    }
    .hero-copy{
      border-radius: var(--radius2);
      padding: 22px 18px;
      position:relative;
    }
    .pill{
      display:inline-flex; align-items:center; gap:10px;
      border:1px solid rgba(255, 91, 46, .22);
      background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.7));
      padding: 9px 12px;
      border-radius: 999px;
      box-shadow: 0 14px 34px rgba(255, 91, 46, .10);
      font-weight:820;
      color:#2b3138;
      font-size:13px;
    }
    .pill-dot{
      width:10px; height:10px; border-radius:50%;
      background: radial-gradient(circle at 30% 30%, #fff, rgba(255,255,255,.1) 30%), linear-gradient(135deg, var(--brand), var(--brand3));
      box-shadow: 0 0 0 6px rgba(255, 91, 46, .13);
      display:inline-block;
    }

    .hero-title{
      margin: 16px 0 0;
      font-size: clamp(26px, 3.2vw, 40px);
      letter-spacing: .2px;
      line-height:1.15;
      font-weight:940;
    }
    .hero-lead{
      margin: 14px 0 0;
      color: var(--muted);
      font-size: 15px;
      line-height:1.8;
      max-width: 640px;
    }
    .hero-cta{
      display:flex; gap:12px; flex-wrap:wrap;
      margin-top: 18px;
    }
    .hero-meta{
      margin-top: 18px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .meta-item{
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.72);
      border-radius: var(--radius);
      padding: 12px 12px;
      box-shadow: 0 12px 24px rgba(20,24,28,.04);
    }
    .meta-top{display:flex; align-items:center; gap:10px;}
    .icon-badge{
      width:28px; height:28px;
      border-radius: 12px;
      background: linear-gradient(135deg, rgba(255,91,46,.18), rgba(255,138,0,.16));
      border:1px solid rgba(255,91,46,.25);
      display:flex; align-items:center; justify-content:center;
      font-size:14px;
    }
    .meta-label{font-weight:900}
    .meta-value{ margin-top: 8px; color: var(--muted2); font-weight:650; font-size:13px; line-height:1.5 }

    .hero-panel{
      border-radius: var(--radius2);
      border:1px solid rgba(255, 91, 46, .18);
      background:
        radial-gradient(600px 320px at 20% 0%, rgba(255, 91, 46, .18), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
      box-shadow: var(--shadow);
      padding: 18px 16px;
      position:relative;
      overflow:hidden;
    }
    .panel-glow{
      position:absolute; inset:-60px -90px auto auto;
      width: 260px; height: 260px;
      background: radial-gradient(circle at 30% 30%, rgba(255, 61, 127, .35), rgba(255, 91, 46, .12) 40%, transparent 70%);
      filter: blur(2px);
      pointer-events:none;
      opacity:.8;
    }
    .panel-top{ position:relative; z-index:1; }
    .panel-title{ font-weight:940; font-size:16px; letter-spacing:.2px; }
    .panel-sub{ margin-top:6px; color:var(--muted); font-weight:650; font-size:13px; line-height:1.5; }

    .metrics{
      position:relative; z-index:1;
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
      margin-top: 14px;
    }
    .metric-card{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.78);
      padding: 14px 12px;
      box-shadow: 0 10px 24px rgba(20,24,28,.06);
      transition: transform .2s ease, box-shadow .2s ease;
    }
    .metric-card:hover{ transform: translateY(-2px); box-shadow: 0 18px 40px rgba(20,24,28,.10); }
    .metric-value{ font-size:18px; font-weight:980; letter-spacing:.2px; }
    .metric-label{ margin-top:6px; color:var(--muted2); font-weight:700; font-size:13px; line-height:1.5 }

    .panel-divider{ height:1px; background: rgba(20,24,28,.10); margin: 14px 0; position:relative; z-index:1; }
    .panel-list{ position:relative; z-index:1; display:grid; gap:10px; }
    .panel-list-row{ display:flex; align-items:flex-start; gap:10px; color:#2b3138; font-weight:700; }
    .check{
      width:22px; height:22px; border-radius:10px;
      background: rgba(255, 91, 46, .14);
      border:1px solid rgba(255, 91, 46, .22);
      display:flex; align-items:center; justify-content:center;
      font-size:13px;
      color: var(--brand);
      flex:0 0 auto;
      margin-top:1px;
    }

    .panel-action{ position:relative; z-index:1; margin-top: 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
    .soft-text{ color:var(--muted2); font-weight:650; font-size:13px; }

    .section{
      padding: 46px 0;
    }
    .section.alt-surface{
      background:
        radial-gradient(900px 420px at 20% 0%, rgba(255, 91, 46, .10), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.0));
    }
    .section.compact{ padding: 26px 0 42px; }

    .section-head{
      display:flex; flex-direction:column;
      gap:10px;
      margin-bottom: 22px;
    }
    .section-kicker{
      font-weight:980; letter-spacing:.26px;
      color: rgba(255, 91, 46, .95);
      text-transform: none;
      font-size: 13px;
    }
    .section-title{
      margin:0;
      font-size: clamp(20px, 2.2vw, 30px);
      letter-spacing:.2px;
      font-weight:950;
      line-height:1.25;
    }
    .section-desc{
      margin:0;
      color: var(--muted);
      font-weight:650;
      line-height:1.8;
      max-width: 860px;
      font-size: 15px;
    }

    .about-grid{
      display:grid;
      grid-template-columns: 1fr 1.1fr;
      gap: 14px;
      align-items:stretch;
    }
    .about-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.78);
      box-shadow: 0 12px 26px rgba(20,24,28,.05);
      padding: 18px 16px;
      overflow:hidden;
    }
    .about-card-highlight{
      background:
        radial-gradient(600px 300px at 20% 0%, rgba(255, 91, 46, .18), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
      border-color: rgba(255, 91, 46, .18);
      box-shadow: var(--shadow2);
      position:relative;
    }
    .card-icon{
      width:44px; height:44px;
      border-radius: 16px;
      background: linear-gradient(135deg, rgba(255,91,46,.18), rgba(255,138,0,.14));
      border:1px solid rgba(255,91,46,.22);
      display:flex; align-items:center; justify-content:center;
      font-size:18px;
      color: rgba(255, 91, 46, .95);
      margin-bottom: 12px;
    }
    .card-title{ margin:0; font-size:18px; font-weight:950; letter-spacing:.2px; }
    .muted{ color:var(--muted); font-weight:650; line-height:1.8; margin: 10px 0 0; }
    .check-list{ margin: 14px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
    .check-dot{
      width:10px; height:10px; border-radius:50%;
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      box-shadow: 0 0 0 5px rgba(255, 91, 46, .12);
      display:inline-block;
      margin-right:10px;
      position:relative; top:1px;
    }
    .check-list li{
      display:flex; align-items:center;
      font-weight:760; color:#2b3138;
    }

    .highlight-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .highlight-tag{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(255, 91, 46, .22);
      background: rgba(255, 255, 255, .72);
      font-weight:900; font-size:13px;
      color:#2b3138;
    }
    .highlight-badge{
      padding:8px 10px;
      border-radius: 14px;
      background: rgba(255, 91, 46, .10);
      border: 1px solid rgba(255, 91, 46, .18);
      font-weight:950;
      letter-spacing:.3px;
      color: rgba(255, 91, 46, .95);
    }

    .highlight-steps{ margin-top:14px; display:grid; gap:12px; }
    .mini-step{ display:flex; align-items:flex-start; gap:12px; padding: 12px 12px; border-radius: 18px; background: rgba(255,255,255,.66); border:1px solid rgba(20,24,28,.08);}
    .mini-num{
      width:30px; height:30px; border-radius: 14px;
      background: linear-gradient(135deg, rgba(255,91,46,.18), rgba(255,138,0,.14));
      border:1px solid rgba(255,91,46,.22);
      display:flex; align-items:center; justify-content:center;
      font-weight:980;
      color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
    }
    .mini-title{ font-weight:950; letter-spacing:.2px; }
    .mini-text{ margin-top:6px; color:var(--muted2); font-weight:680; font-size:13px; line-height:1.5; }

    .about-card-action{ margin-top: 14px; }

    .logos-strip{
      margin-top: 14px;
      display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 10px;
    }
    .strip-item{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.07);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      display:flex; gap:10px; align-items:flex-start;
      box-shadow: 0 10px 20px rgba(20,24,28,.04);
    }
    .strip-ico{ width:28px; height:28px; border-radius:12px; background: rgba(255,91,46,.10); border:1px solid rgba(255,91,46,.18); display:flex; align-items:center; justify-content:center; }
    .strip-text{ font-weight:720; color:var(--muted); line-height:1.5; font-size:13px; }

    .service-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .svc-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.05);
      padding: 16px 14px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      position:relative;
      overflow:hidden;
      min-height: 188px;
      display:flex; flex-direction:column;
    }
    .svc-card:hover{
      transform: translateY(-3px);
      box-shadow: 0 18px 40px rgba(20,24,28,.10);
      border-color: rgba(255, 91, 46, .22);
    }
    .svc-top{ display:flex; align-items:center; gap:12px; }
    .svc-icon{
      width:44px; height:44px; border-radius: 16px;
      background: linear-gradient(135deg, rgba(255,91,46,.18), rgba(255,61,127,.12));
      border:1px solid rgba(255,91,46,.22);
      display:flex; align-items:center; justify-content:center;
      font-size:18px; color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
    }
    .svc-title{ margin:0; font-weight:980; letter-spacing:.2px; font-size:17px; }
    .svc-text{ margin:12px 0 0; color:var(--muted); font-weight:650; line-height:1.8; font-size:14px; }
    .svc-tags{ margin-top:auto; display:flex; gap:8px; flex-wrap:wrap; padding-top: 12px; }
    .tag{
      font-size:12px;
      font-weight:860;
      color:#2b3138;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.72);
      padding: 7px 10px;
      border-radius: 999px;
    }

    .platform-wall{
      margin-top: 16px;
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.65);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .platform-wall-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .platform-wall-title{ font-weight:980; letter-spacing:.2px; font-size:16px; }
    .platform-wall-note{ color:var(--muted); font-weight:680; font-size:13px; }
    .chip-row{ margin-top: 12px; display:flex; gap:10px; flex-wrap:wrap; }
    .chip{
      padding:9px 12px;
      border-radius: 999px;
      border:1px solid rgba(255, 91, 46, .18);
      background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.62));
      font-weight:900;
      color:#2b3138;
      box-shadow: 0 10px 20px rgba(255, 91, 46, .06);
      font-size:13px;
    }

    .two-col{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 14px;
      align-items:start;
    }

    .step-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.05);
      padding: 16px 14px;
    }
    .step-head{ margin-bottom: 12px; }
    .steps{ display:grid; gap: 10px; }
    .step{
      display:flex; gap:12px; align-items:flex-start;
      padding: 12px 12px;
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.65);
      transition: transform .18s ease, border-color .18s ease;
    }
    .step:hover{ transform: translateY(-2px); border-color: rgba(255, 91, 46, .22); }
    .step-num{
      width:42px; height:42px; border-radius: 16px;
      background: linear-gradient(135deg, rgba(255,91,46,.18), rgba(255,138,0,.12));
      border:1px solid rgba(255,91,46,.22);
      display:flex; align-items:center; justify-content:center;
      font-weight:980;
      color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
      letter-spacing:.5px;
    }
    .step-title{ font-weight:980; letter-spacing:.2px; }
    .step-text{ margin-top:6px; color:var(--muted2); font-weight:680; font-size:13px; line-height:1.5; }

    .step-action{ margin-top: 14px; }

    .side-stack{ display:grid; gap: 12px; }
    .cap-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.74);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .cap-card-warm{
      background:
        radial-gradient(520px 260px at 20% 0%, rgba(255, 91, 46, .14), transparent 60%),
        rgba(255,255,255,.78);
    }
    .cap-card-cool{
      background:
        radial-gradient(520px 260px at 90% 0%, rgba(255, 61, 127, .11), transparent 60%),
        rgba(255,255,255,.78);
    }
    .cap-card-ink{
      background:
        radial-gradient(520px 260px at 10% 10%, rgba(255, 138, 0, .14), transparent 60%),
        rgba(255,255,255,.78);
      border-color: rgba(255, 91, 46, .18);
    }

    .cap-title{ font-weight:980; letter-spacing:.2px; font-size:16px; }
    .cap-grid{ margin-top: 12px; display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
    .cap-item{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      display:flex; align-items:center; gap:10px;
    }
    .cap-ico{
      width:34px; height:34px; border-radius:14px;
      background: rgba(255,91,46,.10);
      border:1px solid rgba(255,91,46,.16);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .cap-text{ font-weight:820; color:#2b3138; font-size:13px; line-height:1.35; }

    .price-grid{ margin-top: 12px; border-radius: 18px; overflow:hidden; border:1px solid rgba(20,24,28,.08); }
    .price-row{ display:grid; grid-template-columns: 1.1fr 1.2fr 1fr; gap:10px; padding: 12px 12px; align-items:flex-start; }
    .price-head{
      background: rgba(255,255,255,.86);
      border-bottom: 1px solid rgba(20,24,28,.08);
      font-weight:980;
      color:#2b3138;
      font-size:13px;
    }
    .price-row:not(.price-head){ background: rgba(255,255,255,.60); font-weight:700; }
    .price-row .muted{ color:var(--muted); }
    .cap-action{ margin-top: 12px; }
    .tiny-note{ margin-top: 10px; color: var(--muted2); font-weight:650; font-size:12px; line-height:1.5; }

    .solution-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }
    .sol-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      min-height: 210px;
      display:flex; flex-direction:column;
    }
    .sol-card:hover{
      transform: translateY(-3px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 18px 40px rgba(20,24,28,.10);
    }
    .sol-top{ display:flex; align-items:center; gap:12px; }
    .sol-ico{
      width:44px; height:44px; border-radius: 16px;
      background: linear-gradient(135deg, rgba(255,91,46,.18), rgba(255,138,0,.12));
      border:1px solid rgba(255,91,46,.22);
      display:flex; align-items:center; justify-content:center;
      font-size:18px;
      color: rgba(255, 91, 46, .95);
    }
    .sol-title{ font-weight:980; letter-spacing:.2px; margin:0; font-size:16px; }
    .sol-text{ margin-top: 12px; color:var(--muted); font-weight:650; line-height:1.8; font-size:14px; }
    .mini-bullets{ margin: 12px 0 0; padding-left: 18px; color:#2b3138; font-weight:740; }
    .mini-bullets li{ margin: 6px 0; color: var(--muted); font-weight:700; font-size:13px; line-height:1.55; }

    .network-grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 14px;
      align-items:start;
    }

    .map-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      position:relative;
      overflow:hidden;
    }
    .map-card:before{
      content:"";
      position:absolute; inset:-140px -120px auto auto;
      width: 300px; height: 300px;
      background: radial-gradient(circle at 30% 30%, rgba(255, 91, 46, .25), transparent 60%);
      pointer-events:none;
      opacity:.55;
    }
    .map-head{ position:relative; z-index:1; }
    .map-title{ font-weight:980; letter-spacing:.2px; font-size:16px; }
    .map-note{ margin-top:6px; color:var(--muted); font-weight:670; font-size:13px; line-height:1.5; }
    .map-rows{ position:relative; z-index:1; margin-top: 12px; display:grid; gap:12px; }
    .map-row{ display:flex; gap:12px; align-items:flex-start; }
    .map-dot{
      width:14px; height:14px; border-radius:50%;
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      box-shadow: 0 0 0 6px rgba(255, 91, 46, .12);
      margin-top:6px;
      flex:0 0 auto;
    }
    .map-row-title{ font-weight:980; letter-spacing:.2px; }
    .map-row-text{ margin-top:6px; color:var(--muted2); font-weight:680; font-size:13px; line-height:1.5; }
    .map-action{ position:relative; z-index:1; margin-top: 14px; }

    .quick-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .quick-head{ display:flex; flex-direction:column; gap:6px; }
    .quick-title{ font-weight:980; letter-spacing:.2px; font-size:16px; }
    .quick-sub{ color:var(--muted); font-weight:670; font-size:13px; line-height:1.6; }
    .quick-grid{ margin-top: 12px; display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .quick-item{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      text-decoration:none; color:#2b3138;
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      font-weight:880;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .quick-item:hover{
      transform: translateY(-2px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 16px 34px rgba(20,24,28,.10);
    }
    .quick-ico{
      width:34px; height:34px; border-radius:14px;
      background: rgba(255,91,46,.10);
      border:1px solid rgba(255,91,46,.16);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .quick-text{ flex:1; text-align:left; font-size:13px; }
    .quick-arrow{ color: var(--brand); font-weight:980; }

    .tag-cloud{ margin-top: 16px; border-radius: var(--radius2); border:1px solid rgba(20,24,28,.08); background: rgba(255,255,255,.62); padding: 14px 12px; }
    .tag-cloud.compact{ margin-top: 0; padding: 12px 12px; }
    .cloud-title{ font-weight:980; letter-spacing:.2px; font-size:14px; margin-bottom:10px; }
    .cloud-row{ display:flex; flex-wrap:wrap; gap:8px; }
    .cloud-chip{
      border-radius: 999px;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.84);
      padding: 8px 10px;
      font-weight:860;
      color:#2b3138;
      cursor:pointer;
      transition: transform .15s ease, box-shadow .15s ease, border-color .2s ease;
      font-size:13px;
    }
    .cloud-chip:hover{
      transform: translateY(-2px);
      border-color: rgba(255, 91, 46, .26);
      box-shadow: 0 16px 34px rgba(255, 91, 46, .10);
    }

    .divider-slim{ height:1px; background: rgba(20,24,28,.10); margin: 12px 0; }

    .social-card{
      margin-top: 14px;
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 14px 12px;
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .social-left .social-title{ font-weight:980; letter-spacing:.2px; }
    .social-left .social-text{ margin-top:6px; color:var(--muted); font-weight:680; line-height:1.6; font-size:13px; }
    .social-right{ display:flex; gap:14px; align-items:flex-start; }
    .qr-wrap{ width:96px; flex:0 0 auto; }
    .qr-img{ width:100%; height:auto; border-radius: 18px; border:1px solid rgba(20,24,28,.10); background:#fff; box-shadow: 0 14px 34px rgba(20,24,28,.10); }
    .qr-img.big{ border-radius: 22px; }
    .qr-meta{ display:flex; flex-direction:column; gap:8px; }
    .qr-line{ font-weight:720; color:#2b3138; font-size:13px; }
    .qr-label{ color:var(--muted); font-weight:680; margin-right:6px; }
    .qr-value{ font-weight:860; }

    .case-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }
    .case-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 14px 14px;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      display:flex; flex-direction:column;
      min-height: 220px;
    }
    .case-card:hover{
      transform: translateY(-3px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 18px 40px rgba(20,24,28,.10);
    }
    .case-media{
      border-radius: 18px;
      border:1px solid rgba(255, 91, 46, .18);
      background:
        radial-gradient(420px 160px at 20% 0%, rgba(255, 91, 46, .22), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.58));
      padding: 14px 12px;
      position:relative;
      overflow:hidden;
      height: 88px;
    }
    .case-media-grad{
      position:absolute; inset:-40px -60px auto auto;
      width: 180px; height: 180px;
      background: radial-gradient(circle at 30% 30%, rgba(255, 61, 127, .20), transparent 60%);
      pointer-events:none;
    }
    .case-media-mark{
      position:relative;
      z-index:1;
      font-weight:980;
      color: rgba(255, 91, 46, .95);
      font-size:14px;
      background: rgba(255,255,255,.70);
      border:1px solid rgba(255, 91, 46, .18);
      padding: 8px 10px;
      border-radius: 999px;
      display:inline-block;
      box-shadow: 0 10px 24px rgba(255, 91, 46, .08);
    }
    .case-body{ margin-top: 12px; display:flex; flex-direction:column; gap:10px; }
    .case-title{ margin:0; font-weight:980; letter-spacing:.2px; font-size:16px; }
    .case-text{ margin:0; color:var(--muted); font-weight:650; line-height:1.8; font-size:14px; }
    .case-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; }

    .case-footer{
      margin-top: 16px;
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background:
        radial-gradient(700px 280px at 20% 0%, rgba(255, 91, 46, .12), transparent 60%),
        rgba(255,255,255,.70);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      flex-wrap:wrap;
    }
    .case-note-title{ font-weight:980; letter-spacing:.2px; font-size:16px; }
    .case-note-text{ margin-top:8px; color:var(--muted); font-weight:680; line-height:1.7; font-size:14px; }

    .compare-grid{
      display:grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 14px;
      align-items:start;
    }
    .score-card{
      border-radius: var(--radius2);
      border:1px solid rgba(255, 91, 46, .20);
      background:
        radial-gradient(640px 280px at 20% 0%, rgba(255, 91, 46, .16), transparent 60%),
        rgba(255,255,255,.78);
      box-shadow: 0 16px 40px rgba(255, 91, 46, .10);
      padding: 16px 14px;
      position:relative;
      overflow:hidden;
    }
    .score-top{ display:flex; flex-direction:column; gap:10px; }
    .score-stars{ font-size:22px; letter-spacing:2px; color: rgba(255, 138, 0, .95); }
    .score-number{ display:flex; align-items:baseline; gap:8px; }
    .score-num{ font-weight:990; font-size:44px; line-height:1; letter-spacing:-.5px; color:#1b1f25;}
    .score-unit{ color:var(--muted); font-weight:880; }
    .score-desc{ margin-top: 6px; color:var(--muted); font-weight:680; line-height:1.7; }
    .score-detail{ margin-top: 12px; display:grid; gap:10px; }
    .score-detail-row{ display:flex; align-items:center; gap:10px; font-weight:800; color:#2b3138; }
    .score-badge{
      width:22px; height:22px; border-radius: 10px;
      background: rgba(255, 91, 46, .14);
      border:1px solid rgba(255, 91, 46, .22);
      display:flex; align-items:center; justify-content:center;
      color: var(--brand);
      font-weight:980;
      flex:0 0 auto;
    }
    .score-action{ margin-top: 14px; }

    .compare-wrap{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .compare-head{ display:flex; flex-direction:column; gap:6px; margin-bottom: 10px; }
    .compare-title{ font-weight:980; letter-spacing:.2px; font-size:16px; }
    .compare-note{ color:var(--muted); font-weight:670; font-size:13px; line-height:1.5; }

    .table-wrap{
      overflow:auto;
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
    }
    .compare-table{
      width:100%;
      border-collapse: collapse;
      min-width: 720px;
      font-size: 14px;
    }
    .compare-table th, .compare-table td{
      border-bottom: 1px solid rgba(20,24,28,.08);
      padding: 12px 12px;
      vertical-align:top;
      text-align:left;
      line-height:1.6;
    }
    .compare-table thead th{
      background: rgba(255,255,255,.86);
      font-weight:980;
      color:#2b3138;
    }
    .ok{
      display:inline-flex; align-items:center;
      padding: 5px 8px;
      border-radius: 999px;
      border:1px solid rgba(255, 91, 46, .18);
      background: rgba(255, 91, 46, .10);
      font-weight:980;
      color: rgba(255, 91, 46, .95);
      margin-right: 8px;
      transform: translateY(-1px);
    }
    .compare-bottom{
      margin-top: 12px;
      display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    }
    .compare-bottom-note{ color:var(--muted); font-weight:680; line-height:1.6; }

    .match-grid{
      display:grid;
      grid-template-columns: 1fr 1.1fr;
      gap: 14px;
      align-items:stretch;
    }
    .match-left{ display:flex; flex-direction:column; gap:12px; }
    .match-steps{ border-radius: var(--radius2); border:1px solid rgba(20,24,28,.08); background: rgba(255,255,255,.76); box-shadow: 0 12px 26px rgba(20,24,28,.04); padding: 16px 14px; }
    .match-step{
      display:flex; gap:12px; align-items:flex-start;
      padding: 12px 12px;
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      margin-top: 10px;
    }
    .match-step:first-child{ margin-top: 0; }
    .match-num{
      width:42px; height:42px; border-radius: 16px;
      border:1px solid rgba(255, 91, 46, .20);
      background: rgba(255, 91, 46, .10);
      display:flex; align-items:center; justify-content:center;
      font-weight:980; color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
    }
    .match-title{ font-weight:980; letter-spacing:.2px; }
    .match-text{ margin-top:6px; color:var(--muted2); font-weight:680; font-size:13px; line-height:1.5; }

    .form-card{
      border-radius: var(--radius2);
      border:1px solid rgba(255, 91, 46, .18);
      background:
        radial-gradient(620px 280px at 20% 0%, rgba(255, 91, 46, .16), transparent 60%),
        rgba(255,255,255,.78);
      box-shadow: 0 16px 44px rgba(255, 91, 46, .10);
      padding: 16px 14px;
      display:grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .form-top{ margin-bottom: 6px; }
    .form-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .form-sub{ margin-top:6px; color:var(--muted); font-weight:680; line-height:1.6; font-size:13px; }
    .form{ display:grid; gap: 10px; }
    .form-row{ display:grid; gap: 10px; }
    .form-row.form-action{ align-items:center; }
    .form-row:not(.form-action){ grid-template-columns: 1fr; }
    .form-row input, .form-row select, .form-row textarea{
      width:100%;
      padding: 12px 12px;
      border-radius: 14px;
      border:1px solid rgba(20,24,28,.12);
      background: rgba(255,255,255,.86);
      font-size:14px;
      color:#111827;
      outline:none;
      transition: box-shadow .2s ease, border-color .2s ease;
      font-weight:700;
    }
    .field-label{ display:block; font-weight:860; color:#2b3138; font-size:13px; margin: 0 0 8px; }
    .field:focus-within input, .field:focus-within select, .field:focus-within textarea{
      border-color: rgba(255, 91, 46, .40);
      box-shadow: 0 0 0 6px rgba(255, 91, 46, .14);
    }
    textarea{ resize: vertical; min-height: 96px; }
    select{ appearance: none; background-image: linear-gradient(45deg, transparent 50%, rgba(31,35,40,.65) 50%), linear-gradient(135deg, rgba(31,35,40,.65) 50%, transparent 50%); background-position: calc(100% - 18px) calc(1em + 2px), calc(100% - 12px) calc(1em + 2px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 34px; }

    .form-row{
      grid-template-columns: 1fr 1fr;
    }
    .form-row.form-action{
      grid-template-columns: 1fr;
      display:flex; align-items:center; justify-content:flex-start; gap:12px; flex-wrap:wrap;
    }
    .form-row:has(.field){}

    .form-row .field:first-child{ }
    .form-row.form-action .btn{ flex: 0 0 auto; }
    .form-hint{ display:flex; align-items:center; gap:10px; color:var(--muted); font-weight:680; font-size:13px; }
    .hint-dot{
      width:10px; height:10px; border-radius:50%;
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      box-shadow: 0 0 0 6px rgba(255, 91, 46, .12);
    }
    .fine-print{
      display:flex; align-items:center; gap:10px;
      color: var(--muted2);
      font-weight:670;
      font-size:12px;
      line-height:1.5;
      padding: 8px 10px;
      border-radius: 16px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.55);
    }
    .fine-icon{ width:22px; height:22px; border-radius: 12px; border:1px solid rgba(20,24,28,.10); display:flex; align-items:center; justify-content:center; background: rgba(255,255,255,.85); }

    .form-side{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 14px 12px;
      display:grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .side-block{ }
    .side-title{ font-weight:980; letter-spacing:.2px; }
    .side-list{ margin:10px 0 0; padding-left: 18px; color:var(--muted); font-weight:680; }
    .side-list li{ margin: 8px 0; line-height:1.6; font-size:13px; }
    .contact-lines{ margin-top: 10px; display:grid; gap: 10px; }
    .contact-line{ font-weight:720; color:#2b3138; font-size:13px; }
    .contact-label{ color:var(--muted); font-weight:680; margin-right:6px; }
    .contact-link{ color: var(--brand); font-weight:900; text-decoration:none; }
    .contact-link:hover{ text-decoration:underline; }

    .train-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:start;
    }
    .train-left{ display:grid; gap: 12px; }
    .train-right{ display:grid; gap: 12px; }

    .train-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .train-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .train-sub{ margin-top:6px; color:var(--muted); font-weight:680; font-size:13px; line-height:1.6; }
    .train-list{ margin: 12px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
    .train-list li{ display:flex; align-items:flex-start; gap:10px; color:#2b3138; font-weight:780; }
    .train-action{ margin-top: 14px; }

    .train-quote{
      border-radius: var(--radius2);
      border:1px solid rgba(255, 91, 46, .18);
      background:
        radial-gradient(600px 260px at 10% 0%, rgba(255, 91, 46, .14), transparent 60%),
        rgba(255,255,255,.76);
      box-shadow: 0 14px 36px rgba(255, 91, 46, .08);
      padding: 16px 14px;
      position:relative;
      overflow:hidden;
    }
    .quote-mark{
      font-size: 46px;
      color: rgba(255, 91, 46, .35);
      font-weight:980;
      line-height:1;
    }
    .quote-text{
      margin-top: 6px;
      font-weight:920;
      letter-spacing:.2px;
      font-size:15px;
      line-height:1.8;
    }
    .quote-by{ margin-top: 10px; color:var(--muted); font-weight:760; font-size:13px; }

    .value-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .value-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .value-grid{ margin-top: 12px; display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
    .value-item{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      display:flex; gap:10px; align-items:flex-start;
    }
    .value-ico{
      width:34px; height:34px; border-radius: 14px;
      background: rgba(255,91,46,.10);
      border:1px solid rgba(255,91,46,.16);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .value-text{ font-weight:820; color:#2b3138; font-size:13px; line-height:1.5; }
    .value-divider{ height:1px; background: rgba(20,24,28,.10); margin: 14px 0; }
    .value-mini{ display:flex; gap:10px; flex-wrap:wrap; }
    .mini-pill{
      padding: 8px 10px;
      border-radius: 999px;
      border:1px solid rgba(255, 91, 46, .18);
      background: rgba(255, 91, 46, .10);
      font-weight:900;
      font-size:13px;
      color: rgba(255, 91, 46, .95);
    }
    .value-action{ margin-top: 14px; }

    .train-review{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .review-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .review-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .review-note{ color:var(--muted); font-weight:680; font-size:13px; }
    .review-chips{ margin-top: 12px; display:grid; gap:10px; }
    .review-chip{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      font-weight:820; color:#2b3138;
      display:flex; gap:10px; align-items:center;
    }
    .chip-ico{
      width:26px; height:26px; border-radius: 12px;
      border:1px solid rgba(255, 91, 46, .18);
      background: rgba(255, 91, 46, .10);
      display:flex; align-items:center; justify-content:center;
      color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
      font-size:13px;
    }

    .review-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .review-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.78);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      min-height: 230px;
      display:flex; flex-direction:column; gap:10px;
    }
    .review-card:hover{
      transform: translateY(-3px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 18px 40px rgba(20,24,28,.10);
    }
    .review-top{ display:flex; align-items:center; gap:12px; }
    .review-avatar{
      width:44px; height:44px; border-radius: 16px;
      background: rgba(255,91,46,.12);
      border:1px solid rgba(255,91,46,.20);
      display:flex; align-items:center; justify-content:center;
      font-weight:980; color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
      font-size:13px;
    }
    .review-name{ font-weight:980; letter-spacing:.2px; }
    .review-rating{ color: rgba(255, 138, 0, .95); letter-spacing:2px; font-size:16px; }
    .review-text{ margin:0; color:var(--muted); font-weight:670; line-height:1.85; font-size:14px; }

    .faq-wrap{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .faq-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .faq-col{ display:grid; gap: 10px; }
    .faq-item{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      overflow:hidden;
    }
    .faq-q{
      width:100%;
      text-align:left;
      padding: 12px 12px;
      background: transparent;
      border:0;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      cursor:pointer;
      font-weight:930;
      color:#2b3138;
      font-size:14px;
    }
    .faq-icon{
      width:28px; height:28px; border-radius: 14px;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.72);
      position:relative;
      flex:0 0 auto;
    }
    .faq-icon:before, .faq-icon:after{
      content:"";
      position:absolute; left:50%; top:50%;
      width:12px; height:2px;
      background: rgba(31,35,40,.70);
      transform: translate(-50%,-50%);
      border-radius:2px;
      transition: transform .2s ease, opacity .2s ease;
    }
    .faq-icon:after{
      width:2px; height:12px;
    }
    .faq-item[data-open="true"] .faq-icon:after{ opacity:0; }
    .faq-a{
      max-height:0;
      overflow:hidden;
      transition: max-height .25s ease;
      padding: 0 12px;
    }
    .faq-a p{
      margin: 12px 0 14px;
      color: var(--muted);
      font-weight:670;
      line-height:1.85;
      font-size:14px;
    }
    .faq-bottom{
      margin-top: 14px;
      border-radius: var(--radius2);
      border:1px solid rgba(255, 91, 46, .18);
      background:
        radial-gradient(720px 240px at 20% 0%, rgba(255, 91, 46, .14), transparent 60%),
        rgba(255,255,255,.70);
      padding: 14px 12px;
      display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    }
    .faq-callout-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .faq-callout-text{ margin-top:8px; color:var(--muted); font-weight:680; line-height:1.7; font-size:14px; }

    .wiki-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .wiki-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      min-height: 190px;
      display:flex; flex-direction:column;
    }
    .wiki-card:hover{
      transform: translateY(-3px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 18px 40px rgba(20,24,28,.10);
    }
    .wiki-title{ margin:0; font-weight:990; letter-spacing:.2px; font-size:16px; }
    .wiki-text{ margin: 12px 0 0; color:var(--muted); font-weight:680; line-height:1.85; font-size:14px; }
    .wiki-link{ margin-top:auto; text-decoration:none; color: var(--brand); font-weight:900; padding: 12px 0 0; }
    .wiki-link:hover{text-decoration:underline}

    .news-grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 14px;
      align-items:start;
    }
    .news-list{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .news-head{ display:flex; flex-direction:column; gap:6px; margin-bottom: 12px; }
    .news-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .news-sub{ color:var(--muted); font-weight:680; font-size:13px; line-height:1.5; }
    .news-ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
    .news-li{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      overflow:hidden;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .news-li:hover{
      transform: translateY(-2px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 16px 34px rgba(20,24,28,.10);
    }
    .news-link{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding: 12px 12px;
      text-decoration:none;
      color:#2b3138;
    }
    .news-item-title{ font-weight:980; letter-spacing:.2px; font-size:14px; line-height:1.4; }
    .news-item-meta{ margin-top:6px; color:var(--muted2); font-weight:680; font-size:12.5px; line-height:1.4; }
    .news-arrow{ color: var(--brand); font-weight:980; font-size:16px; }
    .news-actions{ margin-top: 14px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }

    .news-side{ display:grid; gap: 12px; }
    .side-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .side-card-head{ display:flex; flex-direction:column; gap:6px; }
    .side-card-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .side-card-note{ color:var(--muted); font-weight:680; font-size:13px; line-height:1.5; }
    .side-card-links{ margin-top: 12px; display:grid; gap:10px; }
    .side-link{
      text-decoration:none;
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      color:#2b3138;
      font-weight:900;
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .side-link:hover{
      transform: translateY(-2px);
      border-color: rgba(255, 91, 46, .22);
      box-shadow: 0 16px 34px rgba(20,24,28,.10);
    }
    .side-card-desc{ margin-top: 12px; color:var(--muted); font-weight:680; line-height:1.7; font-size:14px; }
    .gallery{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .gallery-head{ display:flex; flex-direction:column; gap:6px; margin-bottom: 12px; }
    .gallery-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .gallery-note{ color:var(--muted); font-weight:680; font-size:13px; line-height:1.5; }
    .gallery-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .gallery-row.compact{ grid-template-columns: 1fr; }
    .img-card{ border-radius: 18px; border:1px solid rgba(20,24,28,.08); background: rgba(255,255,255,.62); padding: 10px 10px; }
    .img-frame{ border-radius: 14px; border:1px solid rgba(20,24,28,.08); background: rgba(255,255,255,.85); overflow:hidden; }
    .gallery-img{ width:100%; height:auto; display:block; object-fit:contain; }
    .img-caption{ margin-top: 8px; font-weight:860; color:var(--muted); font-size:13px; line-height:1.5; }
    .gallery-action{ margin-top: 12px; }

    .contact-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:stretch;
    }
    .contact-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .contact-card-cta{
      background:
        radial-gradient(700px 260px at 20% 0%, rgba(255, 91, 46, .14), transparent 60%),
        rgba(255,255,255,.76);
      border-color: rgba(255, 91, 46, .18);
    }
    .contact-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .contact-cta-text{ margin-top: 10px; color:var(--muted); font-weight:680; line-height:1.8; font-size:14px; }
    .contact-cta-actions{ margin-top: 14px; display:grid; gap:10px; }
    .contact-divider{ height:1px; background: rgba(20,24,28,.10); margin: 14px 0; }
    .contact-qrcode{ margin-top: 6px; }
    .qrcode-title{ font-weight:980; letter-spacing:.2px; }
    .qrcode-sub{ margin-top:6px; color:var(--muted); font-weight:680; line-height:1.6; font-size:13px; }
    .qrcode-wrap{ margin-top: 12px; }
    .qrcode-note{ margin-top: 10px; color:var(--muted2); font-weight:680; font-size:13px; line-height:1.6; }
    .contact-bullets{ margin-top: 14px; display:grid; gap:10px; }
    .bullet-row{ display:flex; gap:10px; align-items:flex-start; color:#2b3138; font-weight:760; }
    .bullet-ico{
      width:24px; height:24px; border-radius: 12px;
      border:1px solid rgba(255, 91, 46, .18);
      background: rgba(255, 91, 46, .10);
      color: rgba(255, 91, 46, .95);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
      margin-top:1px;
      font-weight:980;
    }

    .join-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:start;
    }
    .join-card{
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.76);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
      overflow:hidden;
    }
    .join-card-alt{
      background:
        radial-gradient(700px 260px at 90% 0%, rgba(255, 61, 127, .12), transparent 60%),
        rgba(255,255,255,.76);
      border-color: rgba(255, 61, 127, .18);
    }
    .join-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .join-list{ margin-top: 12px; display:grid; gap:10px; color:#2b3138; font-weight:760; }
    .join-item{ display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-weight:700; line-height:1.7; }
    .join-dot{
      width:12px; height:12px; border-radius:50%;
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      box-shadow: 0 0 0 6px rgba(255, 91, 46, .12);
      margin-top:6px;
      flex:0 0 auto;
    }
    .join-action{ margin-top: 14px; }
    .join-steps{ margin-top: 12px; display:grid; gap:12px; }
    .join-step{ display:flex; gap:12px; align-items:flex-start; padding: 12px 12px; border-radius: 18px; border:1px solid rgba(20,24,28,.08); background: rgba(255,255,255,.62); }
    .join-step-num{
      width:42px; height:42px; border-radius: 16px;
      border:1px solid rgba(255, 91, 46, .20);
      background: rgba(255, 91, 46, .10);
      display:flex; align-items:center; justify-content:center;
      font-weight:980; color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
    }
    .join-step-title{ font-weight:980; letter-spacing:.2px; }
    .join-step-text{ margin-top:6px; color:var(--muted2); font-weight:680; font-size:13px; line-height:1.5; }
    .join-cta-row{ margin-top: 14px; display:flex; gap:12px; flex-wrap:wrap; }

    .links-strip{
      margin-top: 14px;
      border-radius: var(--radius2);
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.74);
      box-shadow: 0 12px 26px rgba(20,24,28,.04);
      padding: 16px 14px;
    }
    .links-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .links-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .links-note{ color:var(--muted); font-weight:680; font-size:13px; }
    .links-row{ margin-top: 12px; display:flex; gap:10px; flex-wrap:wrap; }
    .link-pill{
      text-decoration:none;
      padding: 10px 12px;
      border-radius: 999px;
      border:1px solid rgba(255, 91, 46, .18);
      background: rgba(255,255,255,.72);
      color:#2b3138;
      font-weight:900;
      font-size:13px;
      transition: transform .15s ease, box-shadow .15s ease, border-color .2s ease;
    }
    .link-pill:hover{
      transform: translateY(-2px);
      border-color: rgba(255, 91, 46, .30);
      box-shadow: 0 16px 34px rgba(255, 91, 46, .10);
    }

    .cta-strip{
      border-radius: var(--radius2);
      border:1px solid rgba(255, 91, 46, .18);
      background:
        radial-gradient(900px 280px at 10% 0%, rgba(255, 91, 46, .18), transparent 60%),
        rgba(255,255,255,.76);
      box-shadow: 0 16px 44px rgba(255, 91, 46, .10);
      padding: 16px 14px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap: 12px;
      flex-wrap:wrap;
    }
    .cta-strip-title{ font-weight:990; letter-spacing:.2px; font-size:16px; }
    .cta-strip-text{ margin-top: 8px; color:var(--muted); font-weight:680; line-height:1.7; font-size:14px; }

    .site-footer{
      background: linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,.8));
      border-top: 1px solid rgba(20,24,28,.08);
      padding: 28px 0 26px;
    }
    .footer-inner{ }
    .footer-top{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 14px;
      align-items:start;
    }
    .footer-brand-row{ display:flex; gap:12px; align-items:center; }
    .footer-logo{ width:48px; border-radius: 16px; padding:6px; background:#fff; border:1px solid rgba(20,24,28,.08); box-shadow: 0 14px 34px rgba(255, 91, 46, .10); }
    .footer-name{ font-weight:990; letter-spacing:.2px; font-size:18px; }
    .footer-sub{ margin-top:6px; color:var(--muted); font-weight:680; font-size:13px; line-height:1.5; }
    .footer-desc{ margin-top: 12px; color:var(--muted); font-weight:670; line-height:1.8; font-size:14px; }

    .footer-cols{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items:start; }
    .footer-col{
      border-radius: 18px;
      border:1px solid rgba(20,24,28,.08);
      background: rgba(255,255,255,.62);
      padding: 14px 12px;
    }
    .footer-title{ font-weight:990; letter-spacing:.2px; font-size:14px; margin-bottom: 10px; }
    .footer-link{
      display:block;
      text-decoration:none;
      color:#2b3138;
      font-weight:750;
      padding: 8px 0;
      border-radius: 10px;
    }
    .footer-link:hover{ color: var(--brand); text-decoration:underline; }
    .footer-col-cta .footer-mini{ margin-top: 12px; display:grid; gap: 8px; }
    .mini-line{ color:var(--muted); font-weight:680; font-size:13px; line-height:1.5; }
    .mini-label{ color:var(--muted2); font-weight:680; margin-right:6px; }

    .footer-bottom{ height:1px; background: rgba(20,24,28,.10); margin: 18px 0 14px; }
    .footer-bottom-row{ display:flex; align-items:center; justify-content:space-between; gap: 12px; flex-wrap:wrap; }
    .footer-copy{ color:var(--muted2); font-weight:680; font-size:13px; }
    .footer-legal{ display:flex; gap: 14px; flex-wrap:wrap; }
    .footer-legal-link{
      text-decoration:none;
      color: var(--brand);
      font-weight:900;
      font-size:13px;
    }
    .footer-legal-link:hover{text-decoration:underline}

    .to-top{
      position:fixed; right: 16px; bottom: 20px;
      width:44px; height:44px;
      border-radius: 16px;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.92);
      box-shadow: 0 18px 44px rgba(20,24,28,.14);
      cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      font-size:18px;
      color:#2b3138;
      opacity:0;
      transform: translateY(10px);
      pointer-events:none;
      transition: opacity .2s ease, transform .2s ease;
      z-index:90;
    }
    .to-top.show{
      opacity:1;
      transform: translateY(0);
      pointer-events:auto;
    }

    .float-contact{
      position:fixed; left: 12px; bottom: 18px;
      z-index:95;
      display:flex; gap: 10px;
      align-items:flex-end;
    }
    .float-btn, .float-quick{
      text-decoration:none;
      border-radius: 18px;
      padding: 12px 12px;
      border:1px solid rgba(20,24,28,.10);
      background: rgba(255,255,255,.94);
      box-shadow: 0 18px 44px rgba(20,24,28,.16);
      display:flex; align-items:center; gap:10px;
      transition: transform .15s ease, box-shadow .15s ease, border-color .2s ease;
      color:#2b3138;
      font-weight:900;
      white-space:nowrap;
    }
    .float-btn:hover, .float-quick:hover{
      transform: translateY(-2px);
      border-color: rgba(255, 91, 46, .30);
      box-shadow: 0 22px 60px rgba(255, 91, 46, .18);
    }
    .float-ico{
      width:32px; height:32px;
      border-radius: 14px;
      border:1px solid rgba(255, 91, 46, .18);
      background: rgba(255, 91, 46, .10);
      display:flex; align-items:center; justify-content:center;
      color: rgba(255, 91, 46, .95);
      flex:0 0 auto;
    }
    .float-text{ font-size:13px; color:#2b3138; }

    /* reveal */
    .reveal{
      opacity:0;
      transform: translateY(10px);
      transition: opacity .55s ease, transform .55s ease;
    }
    .reveal.in{ opacity:1; transform: translateY(0); }
    .delay{ transition-delay: .06s; }
    .delay2{ transition-delay: .12s; }

    @media (max-width: 980px){
      .hero-inner{ grid-template-columns: 1fr; }
      .hero-panel{ order: 2; }
      .hero-meta{ grid-template-columns: 1fr; }
      .about-grid{ grid-template-columns: 1fr; }
      .logos-strip{ grid-template-columns: 1fr; }
      .service-grid{ grid-template-columns: repeat(2, 1fr); }
      .two-col{ grid-template-columns: 1fr; }
      .solution-grid{ grid-template-columns: repeat(2, 1fr); }
      .network-grid{ grid-template-columns: 1fr; }
      .case-grid{ grid-template-columns: repeat(2, 1fr); }
      .compare-grid{ grid-template-columns: 1fr; }
      .match-grid{ grid-template-columns: 1fr; }
      .train-grid{ grid-template-columns: 1fr; }
      .review-grid{ grid-template-columns: 1fr; }
      .faq-grid{ grid-template-columns: 1fr; }
      .wiki-grid{ grid-template-columns: 1fr; }
      .news-grid{ grid-template-columns: 1fr; }
      .contact-grid{ grid-template-columns: 1fr; }
      .join-grid{ grid-template-columns: 1fr; }
      .footer-top{ grid-template-columns: 1fr; }
      .footer-cols{ grid-template-columns: 1fr; }
      .float-contact{ left: 10px; bottom: 14px; }
    }

    @media (max-width: 860px){
      .nav-desktop{ display:none; }
      .nav-toggle{ display:flex; }
      .header-actions .btn-ghost{ display:none; }
      .brand{ min-width:auto; }
    }

    @media (max-width: 520px){
      .container{ width: min(var(--container), calc(100% - 14px * 2)); }
      .hero{ padding-top: 18px; }
      .svc-card{ min-height: auto; }
      .service-grid{ grid-template-columns: 1fr; }
      .solution-grid{ grid-template-columns: 1fr; }
      .case-grid{ grid-template-columns: 1fr; }
      .float-contact{ flex-direction:column; align-items:flex-start; }
      .float-btn, .float-quick{ width: 170px; }
      .form-row{ grid-template-columns: 1fr; }
      .price-row{ grid-template-columns: 1fr; gap: 6px; }
      .table-wrap{ overflow:auto; }
      .compare-table{ min-width: 680px; }
    }