:root{
    --ink:#141a2b;
    --ink-2:#3a4459;
    --muted:#6a7590;
    --line:#e6e9f3;
    --bg:#fbfbfe;
    --indigo:#5b5bd6;
    --sky:#0ea5e9;
    --pink:#e0508f;
    --amber:#f59e0b;
    --green:#10b981;
    --shadow-sm:0 2px 12px rgba(20,26,43,.05);
    --shadow-md:0 16px 38px rgba(20,26,43,.10);
    --radius:18px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:86px;-webkit-text-size-adjust:100%}
  body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
    font-size:15px;
    line-height:1.75;
    color:var(--ink);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    -webkit-tap-highlight-color:transparent;
  }
  .bg-aura{
    position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(60vw 40vw at 6% -4%, rgba(99,102,241,.15), transparent 62%),
      radial-gradient(52vw 36vw at 94% 2%, rgba(236,72,153,.12), transparent 62%),
      radial-gradient(58vw 42vw at 50% 104%, rgba(14,165,233,.12), transparent 64%),
      radial-gradient(46vw 32vw at 92% 62%, rgba(245,158,11,.09), transparent 66%);
  }
  img{max-width:100%}
  a{color:var(--indigo)}
  .container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}

  /* ---------- header ---------- */
  .site-header{
    position:sticky;top:0;z-index:60;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .nav-bar{
    position:relative;
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;min-height:70px;
  }
  .brand{
    display:flex;align-items:center;gap:10px;
    text-decoration:none;color:var(--ink);flex:0 0 auto;
  }
  .brand .ai-page-logo{width:38px;display:block;border-radius:9px}
  .brand-text{display:flex;flex-direction:column;line-height:1.2}
  .brand-text b{font-size:16.5px;letter-spacing:.01em}
  .brand-text span{font-size:11.5px;color:var(--muted);letter-spacing:.04em}
  .nav-links{
    display:flex;align-items:center;justify-content:flex-end;
    gap:0;list-style:none;margin:0;padding:0;flex:1 1 auto;
  }
  .nav-links a{
    display:block;padding:8px 10px;
    font-size:14.5px;color:var(--ink-2);text-decoration:none;
    border-radius:9px;white-space:nowrap;
    transition:color .22s ease,background .22s ease;
  }
  .nav-links a:hover{color:var(--indigo);background:#f1f2ff}
  .nav-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
  .btn-nav{
    display:inline-flex;align-items:center;justify-content:center;
    padding:10px 20px;border-radius:999px;font-size:14px;font-weight:600;
    color:#fff;text-decoration:none;
    background:linear-gradient(120deg,#5b5bd6,#7c6cf0 48%,#0ea5e9);
    box-shadow:0 10px 22px rgba(91,91,214,.26);
    transition:transform .2s ease,box-shadow .25s ease;
  }
  .btn-nav:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(91,91,214,.34)}
  .nav-toggle{
    display:none;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:11px;
    border:1px solid #dfe3ef;background:#fff;color:var(--ink);
    font-size:17px;line-height:1;cursor:pointer;
    transition:background .2s ease,border-color .2s ease;
  }
  .nav-toggle:hover{background:#f5f6fd;border-color:#c9cff0}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:13px 28px;border-radius:999px;font-size:15px;font-weight:600;
    text-decoration:none;border:1px solid transparent;cursor:pointer;
    font-family:inherit;
    transition:transform .2s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
  }
  .btn:active{transform:scale(.975)}
  .btn-primary{
    background:linear-gradient(120deg,#5b5bd6,#7c6cf0 46%,#0ea5e9);
    color:#fff;box-shadow:0 12px 26px rgba(91,91,214,.28);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(91,91,214,.36)}
  .btn-ghost{
    background:#fff;color:var(--ink);border-color:#dfe3ef;box-shadow:var(--shadow-sm);
  }
  .btn-ghost:hover{transform:translateY(-2px);border-color:#bfc6e8;box-shadow:0 14px 26px rgba(20,26,43,.09)}

  /* ---------- hero ---------- */
  .hero{padding:64px 0 54px;position:relative;overflow:hidden}
  .hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
  .eyebrow{
    display:inline-block;padding:6px 14px;border-radius:999px;
    font-size:13px;font-weight:600;letter-spacing:.04em;
    color:#443fb4;background:#eeeefe;border:1px solid #e0e0fb;
    margin-bottom:16px;
  }
  h1{
    font-size:clamp(28px,4vw,44px);line-height:1.25;
    letter-spacing:-.02em;margin:0 0 18px;color:var(--ink);
  }
  h1 .hl{
    background:linear-gradient(120deg,#5b5bd6,#0ea5e9 55%,#e0508f);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:#4b46c4;
  }
  .hero-lead{
    margin:0 0 26px;font-size:16px;color:var(--ink-2);max-width:560px;
  }
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}
  .hero-note{font-size:13.5px;color:var(--muted)}

  .hero-panel{
    background:linear-gradient(180deg,#ffffff,#f8f9ff);
    border:1px solid #e6e8f7;border-radius:24px;padding:22px;
    box-shadow:0 24px 52px rgba(60,64,140,.13);
    animation:floatY 7s ease-in-out infinite;
  }
  @keyframes floatY{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-9px)}
  }
  .panel-head{
    display:flex;align-items:center;gap:9px;
    font-size:13.5px;font-weight:600;color:var(--ink-2);
  }
  .panel-head .dot{
    width:9px;height:9px;border-radius:50%;
    background:linear-gradient(120deg,#5b5bd6,#0ea5e9);
    box-shadow:0 0 0 4px rgba(91,91,214,.12);
  }
  .panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
  .chip{
    display:block;text-align:center;padding:12px 8px;border-radius:13px;
    font-size:14px;font-weight:600;border:1px solid transparent;
  }
  .chip-a{background:#eef0ff;border-color:#dfe3ff;color:#3f3aa8}
  .chip-b{background:#e8f6ff;border-color:#d4ecfb;color:#0b6f9e}
  .chip-c{background:#fdeef6;border-color:#fbdcec;color:#a83267}
  .chip-d{background:#fff5e6;border-color:#ffe7c4;color:#96590f}
  .chip-e{background:#eafaf2;border-color:#d3f2e2;color:#0b7355}
  .chip-f{background:#f3efff;border-color:#e4dcfb;color:#5343a8}
  .panel-foot{
    display:flex;flex-wrap:wrap;gap:8px;
    border-top:1px dashed #e6e8f7;padding-top:14px;
  }
  .panel-foot span{
    font-size:12.5px;color:var(--muted);
    background:#f5f6fd;border-radius:999px;padding:5px 12px;
  }

  .metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
  .metric{
    background:#fff;border:1px solid var(--line);border-radius:16px;
    padding:18px 18px;text-align:center;box-shadow:var(--shadow-sm);
    transition:transform .28s ease,box-shadow .28s ease;
  }
  .metric:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .metric strong{
    display:block;font-size:25px;line-height:1.3;color:#4b46c4;letter-spacing:-.02em;
  }
  .metric span{font-size:13px;color:var(--muted)}

  /* ---------- sections ---------- */
  .section{padding:62px 0}
  .section-soft{
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.62));
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .section-head{max-width:760px;margin:0 auto 40px;text-align:center}
  h2{
    font-size:clamp(23px,3.1vw,32px);line-height:1.35;
    letter-spacing:-.01em;margin:0 0 12px;color:var(--ink);
  }
  .section-sub{margin:0;color:var(--muted);font-size:15.5px}
  h3{font-size:16.5px;margin:0 0 8px;color:var(--ink);line-height:1.5}

  .card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:24px;box-shadow:var(--shadow-sm);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }
  .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9ddf5}
  .card p{margin:0;color:var(--muted);font-size:14.5px}

  /* about */
  .about-lead{
    display:grid;grid-template-columns:1fr 1fr;gap:28px;
    align-items:start;margin-bottom:32px;
  }
  .about-lead p{margin:0 0 14px;color:var(--ink-2);font-size:15.5px}
  .about-points{display:grid;gap:12px}
  .about-points li{
    list-style:none;display:flex;gap:10px;align-items:flex-start;
    font-size:14.5px;color:var(--ink-2);
  }
  .about-points{margin:0;padding:0}
  .about-points .mk{
    flex:0 0 auto;width:20px;height:20px;border-radius:50%;
    background:linear-gradient(120deg,#5b5bd6,#0ea5e9);
    color:#fff;font-size:12px;line-height:20px;text-align:center;
    margin-top:3px;
  }
  .cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .cap-card{
    background:#fff;border:1px solid var(--line);border-radius:15px;
    padding:20px 18px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }
  .cap-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9ddf5}
  .cap-card h3{font-size:15.5px;margin:0 0 6px}
  .cap-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7}
  .cap-num{
    display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;
    color:#5b5bd6;background:#eef0ff;border-radius:6px;padding:2px 8px;margin-bottom:10px;
  }

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .svc-card{
    position:relative;overflow:hidden;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:24px 22px 22px;
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }
  .svc-card::before{
    content:"";position:absolute;left:0;top:0;width:100%;height:3px;
    background:linear-gradient(90deg,var(--c1),var(--c2));
  }
  .svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9ddf5}
  .svc-card h3{font-size:16px;margin:0 0 8px}
  .svc-card p{margin:0;font-size:14px;color:var(--muted);line-height:1.75}
  .svc-card:nth-child(3n+1){--c1:#5b5bd6;--c2:#3b82f6}
  .svc-card:nth-child(3n+2){--c1:#0ea5e9;--c2:#10b981}
  .svc-card:nth-child(3n+3){--c1:#e0508f;--c2:#f59e0b}

  .tag-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
  .tag-cloud span{
    display:inline-block;padding:8px 16px;border-radius:999px;
    font-size:13.5px;color:var(--ink-2);background:#fff;
    border:1px solid var(--line);
    transition:transform .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;
  }
  .tag-cloud span:hover{
    transform:translateY(-3px);color:#4b46c4;border-color:#c9cff0;
    box-shadow:0 10px 20px rgba(20,26,43,.07);
  }

  /* steps */
  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .step{
    position:relative;background:#fff;border:1px solid var(--line);
    border-radius:16px;padding:22px 18px;
    transition:transform .28s ease,box-shadow .28s ease;
  }
  .step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .step-num{
    display:inline-flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:11px;margin-bottom:12px;
    font-size:14px;font-weight:700;color:#fff;
    background:linear-gradient(135deg,#5b5bd6,#0ea5e9);
  }
  .step:nth-child(2) .step-num{background:linear-gradient(135deg,#0ea5e9,#10b981)}
  .step:nth-child(3) .step-num{background:linear-gradient(135deg,#10b981,#f59e0b)}
  .step:nth-child(4) .step-num{background:linear-gradient(135deg,#f59e0b,#e0508f)}
  .step:nth-child(5) .step-num{background:linear-gradient(135deg,#e0508f,#5b5bd6)}
  .step h3{font-size:15.5px;margin:0 0 7px}
  .step p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7}

  /* solutions */
  .sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .sol-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:24px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }
  .sol-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9ddf5}
  .sol-card h3{display:flex;align-items:center;gap:9px;font-size:16px;margin:0 0 10px}
  .sol-card h3 i{
    width:8px;height:8px;border-radius:50%;flex:0 0 auto;
    background:linear-gradient(120deg,#5b5bd6,#0ea5e9);
  }
  .sol-card p{margin:0;font-size:14px;color:var(--muted);line-height:1.75}

  /* network */
  .net-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .net-card{
    background:#fff;border:1px solid var(--line);border-radius:15px;
    padding:20px 18px;transition:transform .28s ease,box-shadow .28s ease;
  }
  .net-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .net-card h3{font-size:15px;margin:0 0 7px}
  .net-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7}
  .region-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
  .region-tags span{
    font-size:13.5px;color:var(--ink-2);background:#fff;
    border:1px solid var(--line);border-radius:999px;padding:7px 16px;
  }

  /* process */
  .proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .proc-card{
    background:#fff;border:1px solid var(--line);border-radius:16px;
    padding:26px 22px;position:relative;
    transition:transform .28s ease,box-shadow .28s ease;
  }
  .proc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .proc-card .pn{
    font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1;
    color:#e3e6f7;margin-bottom:12px;
  }
  .proc-card h3{font-size:15.5px;margin:0 0 8px}
  .proc-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.75}

  /* cases */
  .case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .case-grid.small{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
  .case-grid figure{margin:0}
  .media-box{
    background:#f6f7fc;border:1px solid var(--line);border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    padding:10px;overflow:hidden;aspect-ratio:4/3;
  }
  .media-box.wide{aspect-ratio:16/10}
  .media-box img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px}
  .case-grid figcaption{
    margin-top:10px;font-size:13.5px;color:var(--muted);text-align:center;
  }

  /* review score */
  .score-panel{
    display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:stretch;
    margin-bottom:28px;
  }
  .score-card{
    background:linear-gradient(160deg,#f4f5ff,#fdf3f9);
    border:1px solid #e8e6fb;border-radius:20px;
    padding:28px 24px;text-align:center;
    display:flex;flex-direction:column;justify-content:center;gap:6px;
  }
  .score-stars{font-size:20px;letter-spacing:4px;color:#f59e0b;line-height:1.2}
  .score-value{font-size:46px;font-weight:800;line-height:1.1;color:#4b46c4;letter-spacing:-.03em}
  .score-value small{font-size:17px;font-weight:600;color:var(--muted);margin-left:2px}
  .score-label{font-size:13.5px;color:var(--ink-2);font-weight:600}
  .score-desc{font-size:13px;color:var(--muted)}
  .score-notes{
    background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 26px;
    display:flex;flex-direction:column;justify-content:center;gap:10px;
  }
  .score-notes h3{margin:0 0 4px;font-size:16.5px}
  .score-notes ul{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
  .score-notes li{list-style:none;font-size:14px;color:var(--ink-2);display:flex;gap:8px;align-items:flex-start}
  .score-notes li::before{
    content:"✓";color:#10b981;font-weight:700;flex:0 0 auto;
  }

  /* table */
  .table-wrap{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    border:1px solid var(--line);border-radius:16px;background:#fff;
    box-shadow:var(--shadow-sm);
  }
  table{border-collapse:collapse;width:100%;min-width:720px;font-size:14.5px}
  thead th{
    background:#f5f6fd;color:var(--ink);font-weight:600;text-align:left;
    padding:15px 18px;white-space:nowrap;border-bottom:1px solid var(--line);
  }
  tbody td{
    padding:14px 18px;border-bottom:1px solid #f0f2f8;color:var(--ink-2);
    vertical-align:top;
  }
  tbody tr:last-child td{border-bottom:none}
  tbody tr:hover{background:#fafbff}
  tbody td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
  .tick{color:#0b7355;font-weight:600}

  /* token cards */
  .token-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
  .token-note{
    background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 18px;
    transition:transform .28s ease,box-shadow .28s ease;
  }
  .token-note:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .token-note h3{font-size:15px;margin:0 0 7px}
  .token-note p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7}

  /* form */
  .match-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start}
  .match-aside{
    background:linear-gradient(165deg,#f4f5ff,#eef9ff);
    border:1px solid #e5e7fa;border-radius:20px;padding:28px 26px;
  }
  .match-aside h3{margin:0 0 10px;font-size:17px}
  .match-aside p{margin:0 0 16px;font-size:14px;color:var(--ink-2)}
  .match-aside ul{margin:0;padding:0;display:grid;gap:12px}
  .match-aside li{list-style:none;font-size:14px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start}
  .match-aside li .mk{
    flex:0 0 auto;width:20px;height:20px;border-radius:50%;
    background:linear-gradient(120deg,#5b5bd6,#0ea5e9);color:#fff;
    font-size:12px;line-height:20px;text-align:center;margin-top:3px;
  }
  .match-aside .aside-foot{
    margin-top:18px;padding-top:16px;border-top:1px dashed #d9ddf5;
    font-size:13.5px;color:var(--muted);
  }
  .form-card{
    background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:28px;box-shadow:var(--shadow-sm);
  }
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field{display:flex;flex-direction:column;gap:8px}
  .field.full{grid-column:1 / -1}
  .field label{font-size:14px;font-weight:600;color:var(--ink-2)}
  .field input,.field select,.field textarea{
    width:100%;padding:12px 14px;border:1px solid #dfe3ef;border-radius:12px;
    background:#fff;font-size:14.5px;color:var(--ink);font-family:inherit;
    transition:border-color .2s ease,box-shadow .2s ease;outline:none;
  }
  .field input:focus,.field select:focus,.field textarea:focus{
    border-color:#8b86e8;box-shadow:0 0 0 3px rgba(91,91,214,.14);
  }
  .field textarea{min-height:120px;resize:vertical}
  .form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .form-actions .btn{padding:13px 34px}
  .form-tip{font-size:13px;color:var(--muted)}

  /* testimonials */
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .review-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:24px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }
  .review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9ddf5}
  .review-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .avatar{
    width:42px;height:42px;border-radius:50%;flex:0 0 auto;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-weight:700;font-size:15px;
    background:linear-gradient(135deg,#5b5bd6,#0ea5e9);
  }
  .review-card:nth-child(2) .avatar{background:linear-gradient(135deg,#0ea5e9,#10b981)}
  .review-card:nth-child(3) .avatar{background:linear-gradient(135deg,#10b981,#f59e0b)}
  .review-card:nth-child(4) .avatar{background:linear-gradient(135deg,#f59e0b,#e0508f)}
  .review-card:nth-child(5) .avatar{background:linear-gradient(135deg,#e0508f,#5b5bd6)}
  .review-card:nth-child(6) .avatar{background:linear-gradient(135deg,#5b5bd6,#10b981)}
  .review-name{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4}
  .review-role{font-size:12.5px;color:var(--muted)}
  .review-card p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}

  /* help */
  .help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .help-card{
    background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px 20px;
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }
  .help-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9ddf5}
  .help-card h3{font-size:15px;margin:0 0 8px}
  .help-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7}

  /* faq */
  .faq-list{max-width:900px;margin:0 auto}
  .faq-item{
    background:#fff;border:1px solid var(--line);border-radius:14px;
    margin-bottom:12px;overflow:hidden;
    transition:border-color .25s ease,box-shadow .25s ease;
  }
  .faq-item:hover{border-color:#cfd4ee}
  .faq-item[open]{border-color:#cdd2f0;box-shadow:0 10px 26px rgba(20,26,43,.07)}
  .faq-item summary{
    list-style:none;cursor:pointer;position:relative;
    padding:17px 52px 17px 22px;
    font-size:15.5px;font-weight:600;color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{
    content:"+";position:absolute;right:22px;top:50%;
    transform:translateY(-50%);font-size:20px;font-weight:400;
    color:#5b5bd6;line-height:1;transition:transform .25s ease;
  }
  .faq-item[open] summary::after{content:"−";transform:translateY(-50%) rotate(180deg)}
  .faq-body{padding:0 22px 18px;font-size:14.5px;color:var(--muted);line-height:1.85}
  .faq-body p{margin:0}

  /* wiki */
  .wiki-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .wiki-card{
    background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 18px;
    transition:transform .28s ease,box-shadow .28s ease;
  }
  .wiki-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .wiki-card h3{font-size:15px;margin:0 0 7px}
  .wiki-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7}

  /* articles */
  .article-list{display:grid;gap:12px;max-width:920px;margin:0 auto}
  .article-item{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:18px 22px;background:#fff;border:1px solid var(--line);
    border-radius:14px;text-decoration:none;color:var(--ink);font-size:15px;
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
  }
  .article-item:hover{
    transform:translateX(4px);border-color:#cdd2f0;
    box-shadow:0 12px 26px rgba(20,26,43,.07);color:#4b46c4;
  }
  .article-item .arrow{color:#8f97b5;font-size:15px;flex:0 0 auto}

  /* partner */
  .partner-box{
    background:linear-gradient(125deg,#eef1ff,#fdf2f8 62%,#ecfbff);
    border:1px solid #e4e6fb;border-radius:24px;
    padding:44px 40px;display:grid;grid-template-columns:1.15fr .85fr;
    gap:32px;align-items:center;
  }
  .partner-box h2{margin:0 0 12px}
  .partner-box p{margin:0 0 18px;color:var(--ink-2);font-size:15px}
  .partner-list{display:grid;gap:10px;margin:0 0 22px;padding:0}
  .partner-list li{
    list-style:none;font-size:14.5px;color:var(--ink-2);
    display:flex;gap:10px;align-items:flex-start;
  }
  .partner-list li::before{
    content:"◆";color:#5b5bd6;font-size:11px;line-height:1.9;flex:0 0 auto;
  }
  .partner-side{
    background:rgba(255,255,255,.85);border:1px solid #e8e9fb;
    border-radius:18px;padding:24px;text-align:center;
  }
  .partner-side strong{display:block;font-size:30px;color:#4b46c4;letter-spacing:-.02em;line-height:1.3}
  .partner-side span{font-size:13.5px;color:var(--muted)}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}
  .contact-list{
    background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;
  }
  .contact-item{display:flex;flex-direction:column;gap:4px}
  .contact-item .ci-label{font-size:12.5px;color:var(--muted);letter-spacing:.02em}
  .contact-item .ci-value{font-size:15px;color:var(--ink);font-weight:600;word-break:break-all}
  .contact-item .ci-value a{color:#4b46c4;text-decoration:none}
  .contact-item .ci-value a:hover{text-decoration:underline}
  .qr-card{
    background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:24px;text-align:center;box-shadow:var(--shadow-sm);
  }
  .qr-card .qr-box{
    display:flex;align-items:center;justify-content:center;
    background:#f7f8fc;border:1px solid var(--line);border-radius:14px;
    padding:12px;margin-bottom:14px;
  }
  .qr-card .qr-box img{display:block;width:100%;max-width:210px;height:auto;border-radius:8px}
  .qr-card p{margin:0;font-size:14px;color:var(--ink-2);font-weight:600}
  .qr-card span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}

  /* footer */
  .site-footer{
    background:#111527;color:#c3cade;padding:54px 0 26px;margin:0;
  }
  .footer-top{
    display:grid;grid-template-columns:1.3fr .7fr;gap:36px;
    padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer-brand{display:flex;flex-direction:column;gap:12px}
  .footer-brand .fb-line{display:flex;align-items:center;gap:10px}
  .footer-brand .fb-line img{width:34px;display:block;border-radius:8px}
  .footer-brand .fb-line b{font-size:16.5px;color:#ffffff}
  .footer-brand p{margin:0;font-size:13.5px;color:#a9b2c9;max-width:520px;line-height:1.8}
  .footer-brand a{color:#dfe4f2;text-decoration:none}
  .footer-brand a:hover{text-decoration:underline}
  .footer-links h3{font-size:15px;color:#ffffff;margin:0 0 14px}
  .footer-links ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 18px}
  .footer-links li{list-style:none}
  .footer-links a{
    font-size:13.5px;color:#b9c1d6;text-decoration:none;
    transition:color .2s ease;
  }
  .footer-links a:hover{color:#ffffff}
  .footer-bottom{
    display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;
    padding-top:20px;font-size:12.5px;color:#8d97b0;
  }

  /* floating */
  .float-actions{
    position:fixed;right:18px;bottom:26px;z-index:70;
    display:flex;flex-direction:column;gap:10px;
  }
  .float-btn{
    display:flex;align-items:center;justify-content:center;
    width:50px;height:50px;border-radius:50%;
    font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;
    text-decoration:none;border:1px solid transparent;cursor:pointer;
    font-family:inherit;
    background:linear-gradient(135deg,#5b5bd6,#0ea5e9);color:#ffffff;
    box-shadow:0 12px 26px rgba(91,91,214,.32);
    transition:transform .22s ease,box-shadow .22s ease,opacity .25s ease;
  }
  .float-btn:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(91,91,214,.4)}
  .float-top{
    background:#ffffff;color:#3a4459;border-color:#dfe3ef;
    box-shadow:0 10px 24px rgba(20,26,43,.14);
    opacity:0;pointer-events:none;
  }
  .float-top.show{opacity:1;pointer-events:auto}

  /* reveal */
  .reveal{
    opacity:0;transform:translateY(20px);
    transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1);
  }
  .reveal.is-visible{opacity:1;transform:translateY(0)}

  /* ---------- responsive ---------- */
  @media (max-width:1080px){
    .cap-grid,.net-grid,.wiki-grid,.help-grid{grid-template-columns:repeat(2,1fr)}
    .svc-grid,.sol-grid,.review-grid{grid-template-columns:repeat(2,1fr)}
    .steps{grid-template-columns:repeat(3,1fr)}
    .proc-grid{grid-template-columns:repeat(2,1fr)}
    .case-grid.small{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:980px){
    .nav-links{
      position:absolute;left:0;right:0;top:100%;
      display:none;flex-direction:column;align-items:stretch;
      background:#ffffff;border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      box-shadow:0 18px 32px rgba(20,26,43,.10);
      padding:10px 20px 16px;
    }
    .nav-links.open{display:flex}
    .nav-links a{padding:12px 10px;border-radius:10px;font-size:15px}
    .nav-toggle{display:inline-flex}
    .nav-actions .btn-nav{display:none}
    .hero-inner{grid-template-columns:1fr;gap:36px}
    .hero-panel{max-width:520px;margin:0 auto;width:100%}
    .about-lead{grid-template-columns:1fr}
    .score-panel{grid-template-columns:1fr}
    .match-grid{grid-template-columns:1fr}
    .partner-box{grid-template-columns:1fr;padding:34px 26px}
    .contact-grid{grid-template-columns:1fr}
    .footer-top{grid-template-columns:1fr;gap:26px}
  }
  @media (max-width:760px){
    .section{padding:48px 0}
    .hero{padding:46px 0 42px}
    .metric-row{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:36px}
    .cap-grid,.net-grid,.wiki-grid,.help-grid,.svc-grid,.sol-grid,.review-grid,.steps,.proc-grid{grid-template-columns:1fr}
    .case-grid{grid-template-columns:1fr}
    .case-grid.small{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .contact-list{grid-template-columns:1fr;padding:22px}
    .score-notes ul{grid-template-columns:1fr}
    .hero-actions{gap:12px}
    .hero-actions .btn{width:100%}
    .footer-bottom{flex-direction:column;justify-content:flex-start}
    .article-item{flex-direction:column;align-items:flex-start;gap:6px}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .hero-panel{animation:none}
    .reveal{opacity:1;transform:none;transition:none}
    *{transition-duration:.01ms !important}
  }