:root{
      --bg:#fffaf5;
      --panel:#ffffff;
      --panel-2:#fff4e8;
      --text:#1f2937;
      --muted:#5b6472;
      --brand:#ff6b7a;
      --brand-2:#ff9f43;
      --brand-3:#7c8cff;
      --line:#eadfd3;
      --shadow:0 18px 40px rgba(54, 43, 31, .09);
      --radius:22px;
      --radius-sm:16px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(255,107,122,.10), transparent 28%),
        radial-gradient(circle at top right, rgba(124,140,255,.10), transparent 24%),
        linear-gradient(180deg, #fffdfb 0%, #fff8f1 100%);
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
    header{position:sticky;top:0;z-index:60;background:rgba(255,250,245,.88);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid rgba(234,223,211,.75)}
    .topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
    .brand{display:flex;align-items:center;gap:12px;min-width:0}
    .brand img{width:44px;height:44px;object-fit:contain}
    .brand strong{display:block;font-size:18px;line-height:1.1}
    .brand span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
    .nav-wrap{display:flex;align-items:center;gap:14px}
    nav ul{display:flex;flex-wrap:wrap;gap:10px 12px;list-style:none;margin:0;padding:0;align-items:center;justify-content:flex-end}
    nav a{font-size:13px;color:#3a4454;padding:8px 10px;border-radius:999px;transition:.2s ease}
    nav a:hover{background:#fff1ea;color:#d94d5d}
    .nav-cta{display:flex;align-items:center;gap:10px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;transition:.22s ease;white-space:nowrap}
    .btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 14px 28px rgba(255,107,122,.24)}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(255,107,122,.28)}
    .btn-ghost{background:#fff;color:#d94d5d;border:1px solid #ffd4d8}
    .btn-ghost:hover{background:#fff3f5;transform:translateY(-1px)}
    .menu-toggle{display:none;background:#fff;border:1px solid #eadfd3;border-radius:14px;padding:10px 12px;cursor:pointer}
    .menu-toggle span{display:block;width:20px;height:2px;background:#384152;margin:4px 0;border-radius:2px}
    .hero{padding:42px 0 18px}
    .hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:stretch}
    .hero-card{background:linear-gradient(180deg,#fff 0%,#fffaf6 100%);border:1px solid #f0e2d6;border-radius:28px;box-shadow:var(--shadow);padding:30px;position:relative;overflow:hidden}
    .hero-card::before,.hero-card::after{content:"";position:absolute;border-radius:999px;filter:blur(2px);opacity:.9;pointer-events:none}
    .hero-card::before{width:220px;height:220px;background:radial-gradient(circle, rgba(255,107,122,.18), transparent 70%);right:-70px;top:-60px}
    .hero-card::after{width:180px;height:180px;background:radial-gradient(circle, rgba(124,140,255,.16), transparent 70%);right:26px;bottom:-62px}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff3ec;color:#d55c4a;border:1px solid #ffd9c7;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}
    h1{margin:16px 0 14px;font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.02em}
    .lead{margin:0;color:var(--muted);font-size:16px;line-height:1.8;max-width:64ch}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
    .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
    .stat{background:rgba(255,255,255,.82);border:1px solid #f0e2d6;border-radius:20px;padding:16px}
    .stat b{display:block;font-size:22px;color:#20304a}
    .stat span{display:block;margin-top:6px;font-size:13px;color:var(--muted);line-height:1.5}
    .hero-side{display:grid;gap:16px}
    .info-panel{background:linear-gradient(180deg,#ffffff 0%,#fff7f1 100%);border:1px solid #f0e2d6;border-radius:28px;padding:22px;box-shadow:var(--shadow)}
    .info-panel h2,.section h2{margin:0 0 12px;font-size:24px;line-height:1.2}
    .tag-cloud{display:flex;flex-wrap:wrap;gap:10px}
    .tag{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #f0e2d6;color:#465061;font-size:13px}
    .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .section{padding:22px 0}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
    .section p.sub{margin:0;color:var(--muted);line-height:1.7;max-width:72ch}
    .card{background:var(--panel);border:1px solid #f0e2d6;border-radius:var(--radius);box-shadow:var(--shadow)}
    .card.pad{padding:22px}
    .feature{padding:20px}
    .feature h3{margin:0 0 8px;font-size:18px}
    .feature p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}
    .feature .icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe3e7,#fff0df);margin-bottom:14px;font-weight:800;color:#d34c59}
    .workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .step{padding:20px;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fff9f2 100%);border:1px solid #f0e2d6}
    .step em{display:inline-block;font-style:normal;font-weight:800;color:#d34c59;background:#fff0f1;padding:6px 10px;border-radius:999px;margin-bottom:12px}
    .step h3{margin:0 0 8px;font-size:17px}
    .step p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}
    .two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .table-wrap{overflow-x:auto;border-radius:22px}
    table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
    th,td{padding:14px 14px;border-bottom:1px solid #f0e2d6;text-align:left;vertical-align:top}
    th{background:#fff6ef;color:#334155;font-size:14px}
    td{font-size:14px;color:#354052;line-height:1.7}
    .badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
    .badge.good{background:#ecfbf2;color:#137a46}
    .badge.warn{background:#fff4e5;color:#b85a00}
    .badge.brand{background:#fff0f2;color:#cb4051}
    .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .quote{padding:20px}
    .quote p{margin:0;color:#364152;line-height:1.8}
    .quote footer{margin-top:14px;color:var(--muted);font-size:13px;background:none;border:0;padding:0}
    details{background:#fff;border:1px solid #f0e2d6;border-radius:18px;padding:16px 18px;box-shadow:var(--shadow)}
    details+details{margin-top:12px}
    summary{cursor:pointer;font-weight:700;list-style:none}
    summary::-webkit-details-marker{display:none}
    details p{margin:12px 0 0;color:var(--muted);line-height:1.8}
    .article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .article{padding:20px}
    .article .meta{font-size:12px;color:#8a6b5b;margin-bottom:8px}
    .article h3{margin:0 0 10px;font-size:17px;line-height:1.45}
    .article p{margin:0;color:var(--muted);line-height:1.75;font-size:14px}
    .form-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:16px}
    form{display:grid;gap:12px}
    label{font-size:13px;font-weight:700;color:#334155}
    input,select,textarea{
      width:100%;border:1px solid #e9ddcf;background:#fff;border-radius:14px;padding:12px 14px;font:inherit;color:var(--text);
      outline:none;transition:.2s ease
    }
    input:focus,select:focus,textarea:focus{border-color:#ff9f43;box-shadow:0 0 0 4px rgba(255,159,67,.14)}
    textarea{min-height:118px;resize:vertical}
    .form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
    .contact-list{display:grid;gap:12px}
    .contact-item{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:18px;background:#fff8f2;border:1px solid #f0e2d6}
    .contact-item b{display:block;margin-bottom:4px}
    .floating{
      position:fixed;right:16px;bottom:16px;z-index:70;display:grid;gap:10px
    }
    .float-btn{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 16px 28px rgba(255,107,122,.22)}
    .float-btn.secondary{background:#fff;color:#d34c59;border:1px solid #f0e2d6}
    footer.site-footer{margin-top:18px;padding:22px 0 28px;border-top:1px solid #eadfd3;background:#fffaf6;color:#334155}
    .footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
    .footer-grid h3{margin:0 0 10px;font-size:16px}
    .footer-grid p,.footer-grid a{color:#445064;line-height:1.8;font-size:14px}
    .footer-links{display:flex;flex-wrap:wrap;gap:10px 12px}
    .footer-links a{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #eadfd3}
    .copyright{margin-top:18px;padding-top:14px;border-top:1px solid #efe1d3;color:#637083;font-size:13px;line-height:1.8}
    .images-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .images-row img,.figure img{width:100%;border-radius:18px;border:1px solid #f0e2d6;background:#fff}
    .figure{padding:14px}
    .figure .cap{padding:12px 4px 2px;color:var(--muted);font-size:13px;line-height:1.7}
    .mini-list{display:grid;gap:10px}
    .mini-list .item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #f0e2d6}
    .scroll-top{position:fixed;right:16px;bottom:78px}
    .menu-panel{display:none}
    .split-bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
    .split-bullets .bullet{padding:14px;border-radius:16px;background:#fff;border:1px solid #f0e2d6}
    .bullet b{display:block;margin-bottom:6px}
    .bullet p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
    .rating-box{display:grid;gap:12px}
    .rating-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#fff1f3,#fff7ea);border:1px solid #f1ddd3}
    .stars{color:#f59e0b;font-size:20px;letter-spacing:2px}
    .timeline{display:grid;gap:12px}
    .timeline .row{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:start;padding:14px;border-radius:16px;background:#fff;border:1px solid #f0e2d6}
    .timeline .row b{color:#d34c59}
    .anchor-note{font-size:12px;color:#8b6f5e}
    .servnet{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .servnet .node{padding:18px;border-radius:20px;background:#fff;border:1px solid #f0e2d6}
    .servnet h3{margin:0 0 8px;font-size:17px}
    .servnet p{margin:0;color:var(--muted);line-height:1.75;font-size:14px}
    .mobile-only{display:none}
    .desktop-only{display:block}
    .collapse-nav{display:flex;align-items:center;gap:10px}
    .section-divider{height:1px;background:linear-gradient(90deg,transparent,#eadfd3,transparent);margin:16px 0}
    .scroll-reveal{opacity:0;transform:translateY(18px);transition:.65s ease}
    .scroll-reveal.in{opacity:1;transform:none}
    @media (max-width: 1080px){
      .hero-grid,.form-grid,.footer-grid,.two-col{grid-template-columns:1fr}
      .grid-4,.workflow,.quote-grid,.article-list,.servnet{grid-template-columns:repeat(2,1fr)}
      .hero-stats{grid-template-columns:1fr}
      .desktop-only{display:none}
      .menu-toggle{display:inline-grid}
      .menu-panel{display:none; padding:0 0 14px}
      .menu-panel.open{display:block}
      nav ul{justify-content:flex-start}
      .nav-wrap{flex-direction:column;align-items:stretch;width:100%}
      .topbar{align-items:flex-start;flex-wrap:wrap}
    }
    @media (max-width: 640px){
      .container{width:min(var(--max), calc(100% - 22px))}
      .hero{padding-top:24px}
      .hero-card,.info-panel,.card.pad{padding:18px}
      h1{font-size:28px}
      .grid-4,.workflow,.quote-grid,.article-list,.servnet,.split-bullets,.images-row{grid-template-columns:1fr}
      .section-head{flex-direction:column;align-items:flex-start}
      .menu-panel.open nav ul{flex-direction:column;align-items:flex-start}
      .menu-panel.open .nav-cta{margin-top:12px;flex-direction:column;align-items:stretch}
      .mobile-only{display:block}
    }