:root{
      --bg:#fff8fb;
      --bg-2:#fff0f5;
      --card:#ffffff;
      --text:#252233;
      --muted:#675d73;
      --line:#eed9e3;
      --brand:#d61f6a;
      --brand-2:#ff4a8a;
      --brand-3:#8c2dff;
      --soft:#fff3f7;
      --shadow:0 18px 50px rgba(198, 34, 93, .12);
      --shadow-2:0 12px 30px rgba(90, 30, 78, .10);
      --radius:22px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      background:
        radial-gradient(circle at 10% 10%, rgba(255,74,138,.10), transparent 24%),
        radial-gradient(circle at 90% 0%, rgba(140,45,255,.10), transparent 26%),
        linear-gradient(180deg, #fffafd 0%, var(--bg) 45%, #fff 100%);
      color:var(--text);
      line-height:1.65;
      overflow-x:hidden;
    }
    a{color:var(--brand); text-decoration:none}
    a:hover{color:#b71857}
    img{display:block; max-width:100%}
    .site-shell{
      position:relative;
      isolation:isolate;
    }
    .site-shell::before,
    .site-shell::after{
      content:"";
      position:fixed;
      width:340px;
      height:340px;
      border-radius:50%;
      z-index:-1;
      filter:blur(10px);
      opacity:.12;
      pointer-events:none;
    }
    .site-shell::before{background:radial-gradient(circle, #ff4a8a 0%, transparent 70%); top:8%; left:-110px;}
    .site-shell::after{background:radial-gradient(circle, #8c2dff 0%, transparent 70%); top:28%; right:-120px;}
    .container{
      width:min(var(--max), calc(100% - 32px));
      margin:0 auto;
    }
    header{
      position:sticky;
      top:0;
      z-index:40;
      backdrop-filter:blur(16px);
      background:rgba(255,248,251,.82);
      border-bottom:1px solid rgba(238,217,227,.8);
    }
    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }
    .brand .ai-page-logo{
      width:42px;
      height:42px;
      object-fit:contain;
      border-radius:12px;
      background:#fff;
      border:1px solid var(--line);
      padding:4px;
      box-shadow:0 8px 24px rgba(214,31,106,.10);
      flex:0 0 auto;
    }
    .brand-text{min-width:0}
    .brand-text strong{
      display:block;
      font-size:1rem;
      letter-spacing:.5px;
    }
    .brand-text span{
      display:block;
      font-size:.82rem;
      color:var(--muted);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .nav-toggle{
      display:none;
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      width:44px;
      height:44px;
      border-radius:14px;
      box-shadow:0 8px 18px rgba(214,31,106,.08);
      align-items:center;
      justify-content:center;
    }
    nav{
      display:flex;
      align-items:center;
      gap:14px;
    }
    .nav-links{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:10px;
    }
    .nav-links a{
      color:var(--text);
      font-size:.92rem;
      padding:8px 12px;
      border-radius:999px;
      transition:.2s ease;
    }
    .nav-links a:hover{
      background:var(--soft);
      color:var(--brand);
      transform:translateY(-1px);
    }
    .nav-cta{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:11px 16px;
      border-radius:999px;
      color:#fff;
      font-weight:700;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      box-shadow:0 14px 28px rgba(214,31,106,.24);
      white-space:nowrap;
    }
    .nav-cta:hover{color:#fff; transform:translateY(-1px)}
    main{padding:22px 0 10px}
    .hero{
      position:relative;
      padding:30px 0 14px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.35fr .85fr;
      gap:22px;
      align-items:stretch;
    }
    .hero-panel{
      position:relative;
      background:
        linear-gradient(135deg, rgba(214,31,106,.98), rgba(140,45,255,.92));
      color:#fff;
      border-radius:32px;
      padding:34px;
      overflow:hidden;
      box-shadow:0 24px 60px rgba(140,45,255,.18);
    }
    .hero-panel::before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.18), transparent 18%),
        radial-gradient(circle at 85% 25%, rgba(255,255,255,.12), transparent 16%),
        radial-gradient(circle at 55% 72%, rgba(255,255,255,.10), transparent 20%);
      pointer-events:none;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.16);
      font-size:.88rem;
      margin-bottom:18px;
    }
    h1{
      margin:0 0 14px;
      font-size:clamp(2rem, 4vw, 3.6rem);
      line-height:1.08;
      letter-spacing:-.03em;
      position:relative;
      z-index:1;
    }
    .hero-panel p{
      margin:0 0 22px;
      max-width:56ch;
      font-size:1.02rem;
      color:rgba(255,255,255,.9);
      position:relative;
      z-index:1;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      position:relative;
      z-index:1;
      margin-bottom:24px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:0 18px;
      border-radius:14px;
      border:1px solid transparent;
      font-weight:700;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
      cursor:pointer;
    }
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{
      background:#fff;
      color:var(--brand);
      box-shadow:0 12px 26px rgba(0,0,0,.12);
    }
    .btn-ghost{
      background:rgba(255,255,255,.12);
      color:#fff;
      border-color:rgba(255,255,255,.22);
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      position:relative;
      z-index:1;
    }
    .chip{
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
      font-size:.88rem;
    }
    .hero-side{
      display:grid;
      gap:16px;
    }
    .mini-card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(238,217,227,.85);
      border-radius:24px;
      padding:20px;
      box-shadow:var(--shadow-2);
    }
    .mini-card h2{
      font-size:1.08rem;
      margin:0 0 10px;
    }
    .mini-card p,.mini-card li{color:var(--muted)}
    .mini-stats{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:14px;
    }
    .stat{
      background:linear-gradient(180deg, #fff, #fff7fb);
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px;
    }
    .stat strong{
      display:block;
      font-size:1.4rem;
      color:var(--brand);
      line-height:1.1;
    }
    .stat span{font-size:.86rem;color:var(--muted)}
    section{
      padding:18px 0;
    }
    .section-title{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:16px;
    }
    .section-title h2{
      margin:0;
      font-size:1.6rem;
      line-height:1.2;
    }
    .section-title p{
      margin:0;
      color:var(--muted);
      max-width:68ch;
      font-size:.98rem;
    }
    .grid-4,.grid-3,.grid-2{
      display:grid;
      gap:16px;
    }
    .grid-4{grid-template-columns:repeat(4,1fr)}
    .grid-3{grid-template-columns:repeat(3,1fr)}
    .grid-2{grid-template-columns:repeat(2,1fr)}
    .card{
      background:rgba(255,255,255,.92);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:20px;
      box-shadow:var(--shadow-2);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .card:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow);
      border-color:#f0bfd0;
    }
    .card h3{
      margin:0 0 10px;
      font-size:1.08rem;
    }
    .card p, .card li, td, th, label, input, select, textarea{
      font-size:.95rem;
    }
    .muted{color:var(--muted)}
    .icon-badge{
      width:44px;
      height:44px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, rgba(214,31,106,.12), rgba(140,45,255,.12));
      color:var(--brand);
      margin-bottom:14px;
      font-weight:800;
    }
    .list-clean{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .list-clean li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--text);
    }
    .list-clean li::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      margin-top:.52em;
      flex:0 0 auto;
    }
    .tag-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .tag-cloud span{
      padding:8px 12px;
      border-radius:999px;
      background:#fff;
      border:1px solid var(--line);
      color:#4b4158;
      box-shadow:0 8px 18px rgba(214,31,106,.06);
    }
    .timeline{
      display:grid;
      gap:12px;
      position:relative;
    }
    .timeline-item{
      display:grid;
      grid-template-columns:88px 1fr;
      gap:14px;
      align-items:start;
      padding:14px 0;
      border-bottom:1px dashed var(--line);
    }
    .timeline-item:last-child{border-bottom:none}
    .timeline-item .step{
      font-weight:800;
      color:var(--brand);
    }
    .comparison{
      overflow-x:auto;
      border-radius:20px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow-2);
    }
    table{
      width:100%;
      border-collapse:collapse;
      min-width:860px;
    }
    th,td{
      padding:15px 14px;
      border-bottom:1px solid #f3e6ec;
      text-align:left;
      vertical-align:top;
    }
    th{
      background:linear-gradient(180deg,#fff7fb,#fff);
      color:#4c2a3e;
      font-weight:800;
    }
    tbody tr:hover{background:#fffafc}
    .rating{
      display:flex;
      gap:6px;
      align-items:center;
      flex-wrap:wrap;
    }
    .star{
      color:#ffb400;
      font-size:1.1rem;
    }
    .score{
      color:var(--brand);
      font-weight:800;
    }
    .quote{
      position:relative;
      padding-left:18px;
    }
    .quote::before{
      content:"“";
      position:absolute;
      left:0;
      top:-6px;
      color:var(--brand);
      font-size:2.2rem;
      line-height:1;
    }
    .faq{
      display:grid;
      gap:12px;
    }
    details{
      background:rgba(255,255,255,.95);
      border:1px solid var(--line);
      border-radius:18px;
      box-shadow:var(--shadow-2);
      overflow:hidden;
    }
    summary{
      cursor:pointer;
      list-style:none;
      padding:16px 18px;
      font-weight:700;
      color:var(--text);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    summary::-webkit-details-marker{display:none}
    summary::after{
      content:"+";
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--soft);
      color:var(--brand);
      flex:0 0 auto;
      font-size:1.05rem;
    }
    details[open] summary::after{content:"–"}
    details .answer{
      padding:0 18px 16px;
      color:var(--muted);
    }
    .article-list{
      display:grid;
      gap:12px;
    }
    .article{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      padding:16px 18px;
      border-radius:18px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow-2);
    }
    .article strong{display:block; margin-bottom:6px}
    .article span{color:var(--muted); font-size:.92rem}
    .form-wrap{
      background:linear-gradient(180deg,#fff,#fff8fb);
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:22px;
    }
    form{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .field{display:grid; gap:8px}
    .field.full{grid-column:1/-1}
    input,select,textarea{
      width:100%;
      border:1px solid #e8d6df;
      background:#fff;
      color:var(--text);
      border-radius:14px;
      padding:13px 14px;
      outline:none;
      transition:border-color .2s ease, box-shadow .2s ease;
    }
    input:focus,select:focus,textarea:focus{
      border-color:#f08ab0;
      box-shadow:0 0 0 4px rgba(214,31,106,.10);
    }
    textarea{min-height:126px; resize:vertical}
    .submit-row{
      grid-column:1/-1;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      justify-content:space-between;
      margin-top:4px;
    }
    .submit-row p{margin:0;color:var(--muted);font-size:.92rem}
    .submit-btn{
      border:none;
      color:#fff;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      box-shadow:0 14px 28px rgba(214,31,106,.24);
    }
    footer{
      margin-top:14px;
      background:#fff;
      border-top:1px solid var(--line);
      color:var(--text);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:18px;
      padding:22px 0;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px 12px;
    }
    .footer-links a{
      color:var(--text);
      padding:7px 10px;
      border-radius:10px;
      background:#fff7fb;
      border:1px solid var(--line);
    }
    .footer-links a:hover{color:var(--brand)}
    .bottom-note{
      border-top:1px solid #f4e8ee;
      padding:14px 0 18px;
      color:#6f6478;
      font-size:.92rem;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:space-between;
      align-items:center;
    }
    .floating{
      position:fixed;
      right:16px;
      bottom:16px;
      z-index:50;
      display:grid;
      gap:10px;
    }
    .float-btn{
      width:52px;
      height:52px;
      border-radius:18px;
      border:none;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      color:#fff;
      box-shadow:0 18px 32px rgba(214,31,106,.28);
      cursor:pointer;
      font-size:1.15rem;
    }
    .float-panel{
      width:min(300px, calc(100vw - 32px));
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      box-shadow:var(--shadow);
      padding:16px;
      display:none;
    }
    .floating.open .float-panel{display:block}
    .float-panel img{
      width:100%;
      border-radius:16px;
      border:1px solid var(--line);
    }
    .float-panel .contact-line{
      display:grid;
      gap:6px;
      margin-top:12px;
      color:var(--muted);
      font-size:.92rem;
    }
    .reveal{
      opacity:0;
      transform:translateY(14px);
      transition:opacity .55s ease, transform .55s ease;
    }
    .reveal.visible{
      opacity:1;
      transform:none;
    }
    .breadcrumb{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      color:var(--muted);
      margin-top:14px;
      font-size:.92rem;
    }
    .breadcrumb a{color:var(--muted)}
    .section-band{
      background:linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,245,250,.82));
      border-top:1px solid rgba(238,217,227,.7);
      border-bottom:1px solid rgba(238,217,227,.7);
    }
    .image-strip{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
    .image-strip img{
      width:100%;
      aspect-ratio:16/9;
      object-fit:cover;
      border-radius:22px;
      border:1px solid var(--line);
      box-shadow:var(--shadow-2);
      background:#fff;
    }
    .support-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }
    .support-card{
      background:linear-gradient(180deg,#fff,#fff9fc);
      border:1px solid var(--line);
      border-radius:22px;
      padding:18px;
      box-shadow:var(--shadow-2);
    }
    .support-card strong{display:block; margin-bottom:8px}
    .center-note{
      text-align:center;
      color:var(--muted);
      margin-top:10px;
      font-size:.92rem;
    }
    @media (max-width: 1024px){
      .hero-grid,.grid-4,.grid-3,.grid-2,.footer-grid,.support-grid{
        grid-template-columns:1fr;
      }
      .hero-panel{padding:28px}
    }
    @media (max-width: 860px){
      .nav-toggle{display:inline-flex}
      nav{
        position:absolute;
        left:0;
        right:0;
        top:100%;
        background:rgba(255,248,251,.98);
        border-bottom:1px solid var(--line);
        padding:14px 16px 18px;
        display:none;
        box-shadow:0 18px 40px rgba(214,31,106,.10);
      }
      nav.open{display:block}
      .nav-links{display:grid; grid-template-columns:repeat(2,1fr)}
      .nav-cta{width:100%; justify-content:center; margin-top:12px}
      form{grid-template-columns:1fr}
      .submit-row{justify-content:flex-start}
      .image-strip{grid-template-columns:1fr}
      .timeline-item{grid-template-columns:1fr}
      .section-title{flex-direction:column; align-items:flex-start}
    }
    @media (max-width: 520px){
      .container{width:min(var(--max), calc(100% - 24px))}
      .hero-panel{padding:22px; border-radius:24px}
      .hero-panel p{font-size:.98rem}
      .mini-stats{grid-template-columns:1fr}
      .article{flex-direction:column}
      .nav-links{grid-template-columns:1fr}
      .brand-text span{display:none}
    }