:root{
      --bg0:#fff;
      --bg1:#fff6f5;
      --bg2:#f6f7ff;
      --text:#1f2430;
      --muted:#5a6376;
      --muted2:#7b849a;
      --line:rgba(20,24,35,.10);
      --card:#ffffff;
      --shadow: 0 14px 40px rgba(21,26,40,.10);
      --shadow2: 0 10px 26px rgba(21,26,40,.10);
      --shadow3: 0 6px 16px rgba(21,26,40,.10);
      --gradA: linear-gradient(135deg, #ff2d77 0%, #ff7a00 34%, #6a5cff 100%);
      --gradB: linear-gradient(135deg, #23c9ff 0%, #6a5cff 45%, #ff2d77 100%);
      --gradC: radial-gradient(1200px 600px at 20% 0%, rgba(255,45,119,.18), transparent 55%),
               radial-gradient(900px 520px at 90% 10%, rgba(106,92,255,.18), transparent 50%),
               radial-gradient(700px 420px at 60% 80%, rgba(35,201,255,.14), transparent 55%);
      --accent:#ff2d77;
      --accent2:#6a5cff;
      --ok:#0ea56a;
      --warn:#ff8a00;
      --focus: rgba(255,45,119,.25);
      --radius: 18px;
      --radius2: 14px;
      --radius3: 12px;
      --container: 1120px;
    }

    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC","Hiragino Sans GB","Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
      color:var(--text);
      background:
        var(--gradC),
        linear-gradient(180deg, #ffffff 0%, #fff7f6 35%, #fbfcff 100%);
      overflow-x:hidden;
    }

    a{ color:inherit; text-decoration:none; }
    a:hover{ text-decoration:none; }
    img{ display:block; max-width:100%; }

    .container{
      width: min(var(--container), calc(100% - 32px));
      margin: 0 auto;
    }

    .skip{
      position:absolute;
      left:-9999px;
      top:auto;
      width:1px;
      height:1px;
      overflow:hidden;
    }
    .skip:focus{
      left:16px; top:16px; width:auto; height:auto;
      background:#0b0f19; color:#fff; padding:10px 12px; border-radius:10px; z-index:9999;
    }

    .topbar-wrap{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter: blur(10px);
      background: rgba(255,255,255,.68);
      border-bottom: 1px solid rgba(20,24,35,.08);
    }
    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding: 12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width: 220px;
    }
    .brand img{
      width:46px;
      height:46px;
      border-radius: 14px;
      box-shadow: 0 10px 24px rgba(255,45,119,.18);
      background: #fff;
      border: 1px solid rgba(20,24,35,.08);
      object-fit:contain;
    }
    .brand-title{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }
    .brand-title strong{
      font-size: 14.5px;
      letter-spacing:.2px;
    }
    .brand-title span{
      font-size: 12px;
      color:var(--muted);
      margin-top:4px;
    }

    .nav{
      display:flex;
      align-items:center;
      gap:16px;
      flex-wrap:nowrap;
      justify-content:flex-end;
    }
    .nav a{
      font-size:13px;
      color: rgba(31,36,48,.86);
      padding:8px 10px;
      border-radius: 12px;
      transition: transform .15s ease, background .15s ease, color .15s ease;
      white-space:nowrap;
    }
    .nav a:hover{
      background: rgba(255,45,119,.08);
      color: rgba(31,36,48,1);
      transform: translateY(-1px);
    }

    .nav-cta{
      display:flex;
      align-items:center;
      gap:10px;
      margin-left: 6px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding: 11px 14px;
      border-radius: 14px;
      border: 1px solid rgba(20,24,35,.10);
      background: #fff;
      color: rgba(31,36,48,.95);
      font-weight: 650;
      font-size: 13px;
      box-shadow: 0 10px 28px rgba(21,26,40,.06);
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
      cursor:pointer;
      user-select:none;
    }
    .btn:hover{
      transform: translateY(-1px);
      box-shadow: 0 16px 38px rgba(21,26,40,.10);
      border-color: rgba(255,45,119,.35);
      background: rgba(255,255,255,.96);
    }
    .btn:active{ transform: translateY(0); box-shadow: 0 10px 26px rgba(21,26,40,.09); }
    .btn:focus{ outline:none; box-shadow: 0 0 0 4px var(--focus), 0 14px 40px rgba(21,26,40,.10); }

    .btn-primary{
      border-color: rgba(255,45,119,.35);
      background: linear-gradient(180deg, rgba(255,45,119,.10), rgba(255,45,119,.04));
      position:relative;
      overflow:hidden;
    }
    .btn-primary::before{
      content:"";
      position:absolute; inset:-2px;
      background: var(--gradA);
      opacity:.18;
      filter: blur(10px);
      pointer-events:none;
    }
    .btn-primary .btn-ic{
      width:18px; height:18px; border-radius: 6px;
      background: rgba(255,45,119,.12);
      border:1px solid rgba(255,45,119,.22);
      display:inline-flex; align-items:center; justify-content:center;
    }
    .btn-primary .btn-ic svg{ width:12px; height:12px; }
    .btn-accent{
      border-color: rgba(106,92,255,.35);
      background: linear-gradient(180deg, rgba(106,92,255,.12), rgba(106,92,255,.04));
    }
    .btn-accent .btn-ic{
      width:18px; height:18px; border-radius:6px;
      background: rgba(106,92,255,.12);
      border:1px solid rgba(106,92,255,.22);
      display:inline-flex; align-items:center; justify-content:center;
    }

    .burger{
      display:none;
      width:42px; height:42px;
      border-radius: 14px;
      border: 1px solid rgba(20,24,35,.10);
      background:#fff;
      box-shadow: 0 10px 26px rgba(21,26,40,.06);
      cursor:pointer;
      align-items:center;
      justify-content:center;
      transition: transform .15s ease, box-shadow .15s ease;
    }
    .burger:active{ transform: translateY(1px); }
    .burger svg{ width:18px; height:18px; }
    .mobile-drawer{
      display:none;
    }

    .hero{
      padding: 28px 0 18px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 18px;
      align-items: stretch;
    }
    .hero-card{
      border-radius: calc(var(--radius) + 6px);
      background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58)),
        radial-gradient(900px 520px at 18% 10%, rgba(255,45,119,.22), transparent 55%),
        radial-gradient(760px 420px at 88% 18%, rgba(106,92,255,.20), transparent 52%),
        radial-gradient(520px 340px at 40% 98%, rgba(35,201,255,.16), transparent 52%);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: var(--shadow);
      padding: 26px 22px;
      position:relative;
      overflow:hidden;
    }
    .hero-card::after{
      content:"";
      position:absolute;
      right:-160px; top:-160px;
      width: 420px; height: 420px;
      background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.65), rgba(255,255,255,0) 55%);
      transform: rotate(25deg);
      opacity:.7;
      pointer-events:none;
    }

    .pill-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom: 14px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.65);
      box-shadow: 0 10px 26px rgba(21,26,40,.05);
      color: rgba(31,36,48,.92);
      font-size: 12.5px;
      font-weight: 650;
    }
    .pill .dot{
      width:10px; height:10px; border-radius: 999px;
      background: var(--gradA);
      box-shadow: 0 0 0 4px rgba(255,45,119,.12);
    }

    h1{
      margin: 0 0 10px;
      font-size: clamp(22px, 3.2vw, 36px);
      letter-spacing: .2px;
      line-height: 1.18;
    }
    .lead{
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 14.5px;
      line-height: 1.75;
      max-width: 62ch;
    }

    .hero-actions{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:12px;
      margin-bottom: 18px;
    }
    .btn-ghost{
      background: rgba(255,255,255,.7);
      border: 1px solid rgba(20,24,35,.10);
    }
    .btn-ghost:hover{ background: rgba(255,255,255,.92); }

    .micro-list{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-top: 2px;
    }
    .micro-item{
      display:flex;
      flex-direction:column;
      gap:6px;
      padding: 10px 12px;
      border-radius: 16px;
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(20,24,35,.08);
      min-width: 150px;
    }
    .micro-item strong{
      font-size: 14px;
      letter-spacing:.2px;
    }
    .micro-item span{
      font-size: 12.5px;
      color: var(--muted);
      line-height:1.4;
    }

    .hero-side{
      border-radius: calc(var(--radius) + 6px);
      border: 1px solid rgba(20,24,35,.10);
      background:
        linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.52));
      box-shadow: var(--shadow2);
      padding: 18px 16px;
      display:flex;
      flex-direction:column;
      gap:12px;
      overflow:hidden;
      position:relative;
    }
    .hero-side::before{
      content:"";
      position:absolute; inset:-1px;
      background: radial-gradient(620px 320px at 80% 0%, rgba(106,92,255,.22), transparent 55%),
                  radial-gradient(520px 260px at 10% 25%, rgba(255,45,119,.18), transparent 55%);
      opacity:.7;
      pointer-events:none;
    }

    .side-title{
      position:relative;
      z-index:1;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .side-title h2{
      margin:0;
      font-size: 14.5px;
      letter-spacing:.2px;
    }
    .spark{
      width:38px; height:38px;
      border-radius: 14px;
      background: rgba(255,45,119,.12);
      border:1px solid rgba(255,45,119,.22);
      display:flex; align-items:center; justify-content:center;
      box-shadow: 0 14px 28px rgba(255,45,119,.12);
      position:relative; z-index:1;
    }
    .spark svg{ width:18px; height:18px; }

    .data-grid{
      position:relative; z-index:1;
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
      margin-top: 2px;
    }
    .data-card{
      border-radius: 16px;
      background: rgba(255,255,255,.64);
      border: 1px solid rgba(20,24,35,.08);
      padding: 12px 12px;
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .data-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 16px 30px rgba(21,26,40,.10);
    }
    .data-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom: 8px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background: rgba(255,45,119,.10);
      border: 1px solid rgba(255,45,119,.22);
      font-size:12px;
      color: rgba(31,36,48,.92);
      font-weight: 700;
      white-space:nowrap;
    }
    .tag.alt{
      background: rgba(106,92,255,.10);
      border-color: rgba(106,92,255,.22);
    }
    .data-value{
      font-size: 20px;
      font-weight: 860;
      letter-spacing: .2px;
    }
    .data-sub{
      font-size: 12.5px;
      color: var(--muted);
      line-height:1.45;
    }

    .section{
      padding: 28px 0;
    }
    .section-tight{
      padding: 18px 0;
    }

    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom: 14px;
    }
    .section-head h2{
      margin:0;
      font-size: 20px;
      letter-spacing:.2px;
    }
    .section-head p{
      margin:0;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.6;
      max-width: 60ch;
    }

    .cards-3{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }
    .cards-2{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }
    .card{
      border-radius: var(--radius);
      background: rgba(255,255,255,.70);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: 0 10px 28px rgba(21,26,40,.06);
      padding: 16px 16px;
      position:relative;
      overflow:hidden;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .card:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 44px rgba(21,26,40,.12);
      border-color: rgba(255,45,119,.28);
    }
    .card h3{
      margin: 10px 0 8px;
      font-size: 15.5px;
      letter-spacing:.2px;
    }
    .card p{
      margin:0;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.7;
    }

    .icon{
      width:44px; height:44px;
      border-radius: 16px;
      border: 1px solid rgba(20,24,35,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.52));
      display:flex; align-items:center; justify-content:center;
      box-shadow: 0 14px 30px rgba(21,26,40,.06);
    }
    .icon svg{ width:20px; height:20px; }

    .steps{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }
    .step{
      padding: 16px 14px;
      border-radius: var(--radius);
      background: rgba(255,255,255,.68);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: 0 10px 26px rgba(21,26,40,.06);
      position:relative;
      overflow:hidden;
    }
    .step::before{
      content:"";
      position:absolute;
      inset:-1px;
      background: radial-gradient(520px 240px at 20% 0%, rgba(255,45,119,.18), transparent 60%),
                  radial-gradient(420px 220px at 90% 10%, rgba(106,92,255,.16), transparent 55%);
      opacity:.6;
      pointer-events:none;
    }
    .step-inner{ position:relative; z-index:1; }
    .step-num{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 7px 10px;
      border-radius: 999px;
      background: rgba(255,45,119,.10);
      border: 1px solid rgba(255,45,119,.22);
      font-weight: 850;
      font-size: 12px;
    }
    .step:nth-child(2) .step-num{ background: rgba(106,92,255,.10); border-color: rgba(106,92,255,.22); }
    .step:nth-child(3) .step-num{ background: rgba(35,201,255,.10); border-color: rgba(35,201,255,.22); }
    .step:nth-child(4) .step-num{ background: rgba(255,138,0,.10); border-color: rgba(255,138,0,.22); }
    .step h3{ margin: 10px 0 8px; font-size: 15px; }
    .step p{ margin:0; color: var(--muted); font-size: 13.2px; line-height:1.7; }

    .compare-wrap{
      border-radius: calc(var(--radius) + 6px);
      border: 1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.68);
      box-shadow: var(--shadow2);
      overflow:hidden;
    }
    .compare-head{
      padding: 14px 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      border-bottom: 1px solid rgba(20,24,35,.08);
      background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.58));
    }
    .stars{
      display:flex; align-items:center; gap:8px; flex-wrap:wrap;
    }
    .star-row{
      display:flex; gap:4px; align-items:center;
    }
    .star svg{ width:16px; height:16px; }
    .score{
      font-size: 13px;
      color: rgba(31,36,48,.9);
      padding: 6px 10px;
      border-radius: 999px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.6);
      font-weight: 800;
    }

    .compare-table{
      width:100%;
      border-collapse: collapse;
      font-size: 13.5px;
      color: rgba(31,36,48,.95);
      min-width: 720px;
    }
    .compare-table th, .compare-table td{
      border-bottom: 1px solid rgba(20,24,35,.08);
      padding: 12px 12px;
      text-align:left;
      vertical-align:top;
    }
    .compare-table th{
      background: rgba(255,255,255,.6);
      font-weight: 900;
      color: rgba(31,36,48,.95);
    }
    .cell-bad{ color: var(--muted); }
    .cell-good{
      display:flex; align-items:flex-start; gap:10px;
    }
    .check{
      width:18px; height:18px;
      border-radius: 7px;
      background: rgba(14,165,106,.12);
      border:1px solid rgba(14,165,106,.26);
      display:flex; align-items:center; justify-content:center;
      flex: 0 0 auto;
      margin-top:1px;
    }
    .check svg{ width:12px; height:12px; }
    .tick{
      font-weight: 750;
    }

    .grid-media{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:stretch;
    }
    .media-card{
      border-radius: var(--radius);
      background: rgba(255,255,255,.70);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: 0 10px 28px rgba(21,26,40,.06);
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }
    .media-top{
      padding: 16px 16px 10px;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .media-top h3{ margin:0; font-size: 15.5px; }
    .media-top p{ margin: 6px 0 0; color: var(--muted); font-size: 13.5px; line-height:1.7; }
    .media-img{
      padding: 0 14px 14px;
    }
    .media-img .frame{
      border-radius: 16px;
      border:1px solid rgba(20,24,35,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.55));
      overflow:hidden;
      box-shadow: 0 18px 44px rgba(21,26,40,.08);
    }
    .frame img{
      width:100%;
      height:auto;
      object-fit:contain;
    }
    .media-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      padding: 0 16px 16px;
      margin-top:auto;
    }

    .filter-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin: 8px 0 12px;
    }
    .chips{
      display:flex; gap:10px; flex-wrap:wrap;
    }
    .chip{
      padding: 9px 12px;
      border-radius: 999px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.68);
      font-weight: 780;
      font-size: 12.5px;
      color: rgba(31,36,48,.92);
      cursor:pointer;
      transition: transform .16s ease, background .16s ease, border-color .16s ease;
      user-select:none;
    }
    .chip:hover{ transform: translateY(-1px); border-color: rgba(255,45,119,.30); }
    .chip[aria-pressed="true"]{
      background: rgba(255,45,119,.10);
      border-color: rgba(255,45,119,.35);
    }

    .case-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }
    .case-card{
      border-radius: var(--radius);
      background: rgba(255,255,255,.70);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: 0 10px 26px rgba(21,26,40,.06);
      overflow:hidden;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .case-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 44px rgba(21,26,40,.12);
      border-color: rgba(106,92,255,.28);
    }
    .case-img{
      padding: 12px 12px 0;
    }
    .case-img .frame{
      border-radius: 16px;
      border:1px solid rgba(20,24,35,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.56));
      overflow:hidden;
    }
    .case-img img{ width:100%; height:auto; object-fit:cover; }
    .case-body{
      padding: 12px 14px 14px;
    }
    .case-body .meta{
      display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding: 6px 10px;
      border-radius: 999px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.68);
      font-size: 12px;
      color: rgba(31,36,48,.92);
      font-weight: 750;
    }
    .badge.pink{ border-color: rgba(255,45,119,.28); background: rgba(255,45,119,.08); }
    .badge.purple{ border-color: rgba(106,92,255,.28); background: rgba(106,92,255,.08); }
    .badge.blue{ border-color: rgba(35,201,255,.28); background: rgba(35,201,255,.08); }
    .case-body h3{
      margin: 0 0 8px;
      font-size: 15.5px;
      letter-spacing:.2px;
    }
    .case-body p{
      margin:0;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.7;
      min-height: 56px;
    }
    .case-cta{
      margin-top: 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .link-quiet{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-weight: 820;
      font-size: 13px;
      color: rgba(31,36,48,.92);
      padding: 9px 10px;
      border-radius: 12px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.65);
      transition: transform .16s ease, border-color .16s ease, background .16s ease;
    }
    .link-quiet:hover{
      transform: translateY(-1px);
      border-color: rgba(255,45,119,.32);
      background: rgba(255,255,255,.92);
    }
    .link-quiet svg{ width:16px; height:16px; }

    .timeline{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:start;
    }
    .timeline-card{
      border-radius: var(--radius);
      background: rgba(255,255,255,.70);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: 0 10px 26px rgba(21,26,40,.06);
      padding: 16px 16px;
    }
    .timeline-card h3{ margin: 0 0 10px; font-size: 15.5px; }
    .timeline-list{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .titem{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding: 10px 10px;
      border-radius: 16px;
      border:1px solid rgba(20,24,35,.08);
      background: rgba(255,255,255,.62);
    }
    .ticon{
      width:34px; height:34px;
      border-radius: 14px;
      border:1px solid rgba(20,24,35,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.55));
      display:flex; align-items:center; justify-content:center;
      flex: 0 0 auto;
      margin-top:1px;
    }
    .ticon svg{ width:16px; height:16px; }
    .titem strong{ font-size: 13.5px; }
    .titem span{
      display:block;
      color: var(--muted);
      font-size: 13px;
      margin-top: 4px;
      line-height:1.55;
    }

    .accordion{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    details.acc{
      border-radius: var(--radius);
      border: 1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 10px 26px rgba(21,26,40,.06);
      padding: 0 12px;
      overflow:hidden;
      transition: border-color .16s ease, box-shadow .16s ease;
    }
    details.acc[open]{
      border-color: rgba(255,45,119,.30);
      box-shadow: 0 18px 44px rgba(21,26,40,.12);
    }
    details.acc summary{
      list-style:none;
      cursor:pointer;
      padding: 14px 4px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-weight: 900;
      color: rgba(31,36,48,.95);
      font-size: 14px;
    }
    details.acc summary::-webkit-details-marker{ display:none; }
    .sum-left{
      display:flex; align-items:center; gap:12px;
    }
    .qmark{
      width:34px; height:34px; border-radius: 14px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,45,119,.08);
      display:flex; align-items:center; justify-content:center;
      flex: 0 0 auto;
    }
    details.acc:nth-of-type(even) .qmark{
      background: rgba(106,92,255,.08);
    }
    .qmark svg{ width:16px; height:16px; }
    .caret{
      width:36px; height:36px;
      border-radius: 14px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.62);
      display:flex; align-items:center; justify-content:center;
      transition: transform .18s ease;
      flex: 0 0 auto;
    }
    details.acc[open] .caret{ transform: rotate(180deg); }
    .acc-body{
      padding: 0 4px 14px 4px;
      color: var(--muted);
      font-size: 13.8px;
      line-height:1.8;
    }

    .review-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }
    .review{
      border-radius: var(--radius);
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: 0 10px 26px rgba(21,26,40,.06);
      padding: 16px 16px;
      position:relative;
      overflow:hidden;
    }
    .review::before{
      content:"";
      position:absolute;
      right:-120px; top:-120px;
      width: 300px; height: 300px;
      background: radial-gradient(circle at 30% 30%, rgba(255,45,119,.20), transparent 58%);
      opacity:.7;
      pointer-events:none;
    }
    .review .rinner{ position:relative; z-index:1; }
    .review-top{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      margin-bottom: 12px;
    }
    .avatar{
      width:40px; height:40px;
      border-radius: 16px;
      border:1px solid rgba(20,24,35,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.55));
      display:flex; align-items:center; justify-content:center;
      font-weight: 950;
      letter-spacing:.2px;
      color: rgba(31,36,48,.92);
    }
    .rname{
      display:flex; flex-direction:column; gap:4px;
    }
    .rname strong{ font-size: 13.8px; }
    .rname span{ font-size: 12.6px; color: var(--muted); }
    .review p{
      margin:0;
      color: var(--muted);
      font-size: 13.7px;
      line-height:1.8;
      min-height: 126px;
    }

    .form-card{
      border-radius: calc(var(--radius) + 6px);
      background: rgba(255,255,255,.70);
      border: 1px solid rgba(20,24,35,.10);
      box-shadow: var(--shadow2);
      padding: 16px 16px;
      overflow:hidden;
      position:relative;
    }
    .form-card::before{
      content:"";
      position:absolute; inset:-1px;
      background: radial-gradient(820px 360px at 15% 0%, rgba(255,45,119,.18), transparent 55%),
                  radial-gradient(720px 320px at 95% 10%, rgba(106,92,255,.18), transparent 55%),
                  radial-gradient(620px 280px at 60% 100%, rgba(35,201,255,.12), transparent 58%);
      opacity:.85;
      pointer-events:none;
    }
    .form-inner{ position:relative; z-index:1; }
    form{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-top: 10px;
    }
    .field-full{ grid-column: 1 / -1; }
    label{
      font-size: 12.5px;
      color: rgba(31,36,48,.9);
      font-weight: 820;
      display:block;
      margin-bottom: 8px;
    }
    input, select, textarea{
      width:100%;
      padding: 12px 12px;
      border-radius: 14px;
      border:1px solid rgba(20,24,35,.12);
      background: rgba(255,255,255,.80);
      color: rgba(31,36,48,.95);
      font-size: 13.5px;
      outline:none;
      transition: box-shadow .16s ease, border-color .16s ease, transform .16s ease;
    }
    textarea{ min-height: 110px; resize: vertical; }
    input:focus, select:focus, textarea:focus{
      border-color: rgba(255,45,119,.40);
      box-shadow: 0 0 0 4px rgba(255,45,119,.18);
    }
    .form-actions{
      grid-column: 1 / -1;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-top: 2px;
    }
    .fineprint{
      color: var(--muted2);
      font-size: 12.5px;
      line-height:1.55;
      max-width: 52ch;
    }

    .footer{
      margin-top: 16px;
      padding: 22px 0 26px;
      background: linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.58));
      border-top: 1px solid rgba(20,24,35,.08);
    }
    .footer-inner{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 14px;
      align-items:start;
    }
    .footer-left p{
      margin: 10px 0 0;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.8;
    }
    .footer-right{
      display:flex;
      flex-direction:column;
      gap:12px;
      align-items:flex-start;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .footer-links a{
      padding: 9px 10px;
      border-radius: 12px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.70);
      font-weight: 850;
      font-size: 13px;
      color: rgba(31,36,48,.92);
      transition: transform .16s ease, border-color .16s ease;
    }
    .footer-links a:hover{
      transform: translateY(-1px);
      border-color: rgba(106,92,255,.32);
    }
    .copyright{
      margin-top: 14px;
      color: rgba(31,36,48,.68);
      font-size: 12.5px;
      line-height:1.6;
    }

    .float-cs{
      position:fixed;
      right: 14px;
      bottom: 14px;
      z-index:60;
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:flex-end;
    }
    .cs-card{
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:flex-end;
      padding: 12px 12px;
      border-radius: 18px;
      border:1px solid rgba(20,24,35,.12);
      background: rgba(255,255,255,.82);
      box-shadow: 0 16px 44px rgba(21,26,40,.16);
      backdrop-filter: blur(10px);
      max-width: 240px;
      transform-origin: right bottom;
      animation: popIn .55s ease both;
    }
    @keyframes popIn{
      from{ opacity:0; transform: translateY(10px) scale(.98); }
      to{ opacity:1; transform: translateY(0) scale(1); }
    }
    .cs-top{
      display:flex;
      align-items:center;
      gap:10px;
      justify-content:flex-end;
      width:100%;
    }
    .cs-top strong{
      font-size: 13.5px;
      letter-spacing:.2px;
    }
    .cs-close{
      width:34px; height:34px;
      border-radius: 14px;
      border:1px solid rgba(20,24,35,.10);
      background: rgba(255,255,255,.7);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer;
      transition: transform .16s ease;
    }
    .cs-close:hover{ transform: translateY(-1px); }
    .cs-close svg{ width:16px; height:16px; }
    .cs-qr{
      width: 92px;
      height: 92px;
      border-radius: 18px;
      border:1px solid rgba(20,24,35,.10);
      background: #fff;
      overflow:hidden;
    }
    .cs-qr img{
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .cs-actions{
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
      justify-content:flex-end;
      width:100%;
    }
    .cs-actions a{
      flex: 1 1 auto;
      min-width: 110px;
    }

    .progress-top{
      position:fixed;
      left:0; top:0;
      width: 100%;
      height: 3px;
      background: rgba(255,255,255,.0);
      z-index:80;
      pointer-events:none;
    }
    .progress-bar{
      height:3px;
      width:0%;
      background: var(--gradA);
      box-shadow: 0 0 0 1px rgba(255,45,119,.18);
      transition: width .08s linear;
    }

    .reveal{
      opacity:0;
      transform: translateY(10px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .reveal.in{
      opacity:1;
      transform: translateY(0);
    }

    @media (max-width: 980px){
      .hero-grid{ grid-template-columns: 1fr; }
      .hero-side{ order:2; }
      .cards-3{ grid-template-columns: 1fr; }
      .cards-2{ grid-template-columns: 1fr; }
      .steps{ grid-template-columns: repeat(2, 1fr); }
      .case-grid{ grid-template-columns: 1fr; }
      .review-grid{ grid-template-columns: 1fr; }
      .timeline{ grid-template-columns: 1fr; }
      .grid-media{ grid-template-columns: 1fr; }
      .footer-inner{ grid-template-columns: 1fr; }
      form{ grid-template-columns: 1fr; }
      .field-full{ grid-column:auto; }
      .nav{ display:none; }
      .burger{ display:flex; }
      .mobile-drawer{
        display:block;
      }
      .drawer-panel{
        position: fixed;
        inset: 0;
        background: rgba(8,12,22,.40);
        z-index: 90;
        display:none;
        align-items:flex-start;
        justify-content:flex-end;
        padding: 12px;
      }
      .drawer-panel[aria-hidden="false"]{ display:flex; }
      .drawer{
        width: min(420px, calc(100% - 8px));
        border-radius: 22px;
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(255,255,255,.92);
        box-shadow: 0 22px 70px rgba(0,0,0,.28);
        overflow:hidden;
      }
      .drawer-top{
        display:flex; align-items:center; justify-content:space-between; gap:12px;
        padding: 14px 14px;
        border-bottom: 1px solid rgba(20,24,35,.10);
      }
      .drawer-top strong{ font-size: 14.5px; }
      .drawer-close{
        width:42px; height:42px;
        border-radius: 16px;
        border:1px solid rgba(20,24,35,.10);
        background:#fff;
        cursor:pointer;
        display:flex; align-items:center; justify-content:center;
      }
      .drawer-close svg{ width:18px; height:18px; }
      .drawer-links{
        padding: 12px 12px 16px;
        display:flex;
        flex-direction:column;
        gap:10px;
      }
      .drawer-links a{
        padding: 12px 12px;
        border-radius: 16px;
        border:1px solid rgba(20,24,35,.10);
        background: rgba(255,255,255,.72);
        font-weight: 850;
        font-size: 13.5px;
      }
      .drawer-cta{
        padding: 0 12px 16px;
        display:flex;
        gap:10px;
        flex-wrap:wrap;
      }
    }

    @media (prefers-reduced-motion: reduce){
      html{ scroll-behavior:auto; }
      .reveal{ transition:none; }
      .cs-card{ animation:none; }
      .btn, .card, .case-card, .data-card, .chip{ transition:none; }
    }