:root{
      --bg: #fff3f5;
      --bg2:#fdecef;
      --card:#ffffff;
      --text:#1f2328;
      --muted:#5a616d;
      --muted2:#7a828f;
      --line: rgba(31,35,40,.10);
      --shadow: 0 18px 45px rgba(17,24,39,.08);
      --shadow2: 0 10px 28px rgba(244,63,94,.12);
      --pink:#ff4f85;
      --pink2:#ff7aa2;
      --accent:#1e2a3a;
      --accent2:#0f172a;
      --btn:#1f2937;
      --btnText:#fff;
      --focus:#ff4f85;
      --chipBg: rgba(255,79,133,.10);
      --chipText:#b10b3a;
      --good:#0f766e;
      --goodBg: rgba(20,184,166,.12);
      --warn:#b45309;
      --warnBg: rgba(245,158,11,.14);
      --radius: 18px;
      --radius2: 14px;
      --container: 1120px;
    }
    *{ box-sizing:border-box; }
    body{
      margin:0;
      font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, "Noto Sans", "Noto Sans SC", sans-serif;
      color:var(--text);
      background:
        radial-gradient(1100px 600px at 18% -10%, rgba(255,79,133,.22), rgba(255,79,133,0) 60%),
        radial-gradient(900px 500px at 88% 0%, rgba(255,122,162,.20), rgba(255,122,162,0) 55%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg2) 60%, #fff 100%);
      overflow-x:hidden;
    }
    a{ color:inherit; }
    .skip{
      position:absolute; left:10px; top:-60px;
      background:var(--btn); color:#fff;
      padding:10px 12px; border-radius:12px;
      z-index:9999;
      transition: top .2s ease;
      text-decoration:none;
    }
    .skip:focus{ top:10px; outline:2px solid var(--focus); outline-offset:2px; }

    .container{
      width:100%;
      max-width:var(--container);
      margin:0 auto;
      padding:0 18px;
    }

    header{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter:saturate(1.2) blur(10px);
      background: rgba(255,243,245,.72);
      border-bottom: 1px solid rgba(31,35,40,.06);
    }
    .navRow{
      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;
    }
    .brandMark{
      width:40px; height:40px;
      border-radius: 14px;
      display:grid; place-items:center;
      background: linear-gradient(135deg, rgba(255,79,133,.18), rgba(255,79,133,.04));
      border:1px solid rgba(255,79,133,.22);
      box-shadow: 0 10px 25px rgba(255,79,133,.12);
      font-weight:800;
      color: #a40c37;
      letter-spacing:.5px;
    }
    .brandText{
      display:flex; flex-direction:column; line-height:1.1;
    }
    .brandText strong{
      font-size:14px;
      letter-spacing:.2px;
    }
    .brandText span{
      font-size:12px;
      color:var(--muted2);
      margin-top:4px;
      white-space:nowrap;
    }

    nav .menu{
      display:flex; align-items:center; gap:16px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .navLink{
      font-size:13px;
      color: rgba(31,35,40,.86);
      text-decoration:none;
      padding:8px 10px;
      border-radius: 12px;
      border:1px solid transparent;
      transition: background .2s ease, border-color .2s ease, transform .2s ease;
    }
    .navLink:hover{
      background: rgba(255,255,255,.55);
      border-color: rgba(31,35,40,.10);
      transform: translateY(-1px);
    }

    .navCTA{
      display:flex; align-items:center; gap:10px;
    }
    .btn{
      border:none;
      border-radius: 14px;
      padding:10px 14px;
      background: var(--btn);
      color: var(--btnText);
      font-weight:700;
      font-size:13px;
      cursor:pointer;
      box-shadow: 0 14px 26px rgba(15,23,42,.14);
      transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
      text-decoration:none;
      display:inline-flex; align-items:center; gap:10px;
      white-space:nowrap;
    }
    .btn:hover{
      transform: translateY(-1px);
      box-shadow: 0 18px 40px rgba(15,23,42,.18);
      filter: brightness(1.02);
    }
    .btn:active{ transform: translateY(0px) scale(.99); }
    .btn:focus{ outline:2px solid var(--focus); outline-offset:2px; }

    .btnGhost{
      background: rgba(255,255,255,.62);
      color: var(--accent2);
      border: 1px solid rgba(31,35,40,.10);
      box-shadow: 0 10px 22px rgba(17,24,39,.08);
    }

    .mobileToggle{
      display:none;
      border:1px solid rgba(31,35,40,.12);
      background: rgba(255,255,255,.62);
      border-radius: 14px;
      padding:10px 12px;
      cursor:pointer;
      font-weight:800;
      color: var(--accent2);
    }

    .mobilePanel{
      display:none;
      padding: 0 0 14px;
    }
    .mobilePanel .menu{
      display:flex; flex-direction:column;
      gap:8px;
    }

    .hero{
      padding: 28px 0 12px;
      position:relative;
    }
    .heroGrid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:18px;
      align-items:stretch;
    }
    .heroCard{
      border-radius: var(--radius);
      background:
        linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.68)),
        radial-gradient(900px 320px at 10% 0%, rgba(255,79,133,.22), rgba(255,79,133,0) 62%),
        radial-gradient(700px 260px at 95% 20%, rgba(255,122,162,.20), rgba(255,122,162,0) 60%);
      border: 1px solid rgba(255,79,133,.18);
      box-shadow: var(--shadow);
      padding: 26px 22px;
      overflow:hidden;
      position:relative;
    }
    .heroCard::after{
      content:"";
      position:absolute;
      inset:-2px;
      background:
        radial-gradient(500px 200px at 20% 0%, rgba(255,79,133,.18), rgba(255,79,133,0) 60%),
        radial-gradient(430px 180px at 90% 30%, rgba(255,122,162,.16), rgba(255,122,162,0) 62%);
      pointer-events:none;
      opacity:.9;
    }
    .heroInner{
      position:relative;
      z-index:2;
      display:flex;
      flex-direction:column;
      gap:14px;
      min-height: 320px;
    }
    .badgeRow{
      display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    }
    .badge{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius: 999px;
      background: rgba(255,79,133,.10);
      border: 1px solid rgba(255,79,133,.18);
      color: var(--chipText);
      font-weight:800;
      font-size:12px;
      letter-spacing:.2px;
    }
    .badgeDot{
      width:10px; height:10px; border-radius:50%;
      background: var(--pink);
      box-shadow: 0 0 0 4px rgba(255,79,133,.18);
    }
    .heroTitle{
      margin:0;
      font-size: 34px;
      line-height:1.12;
      letter-spacing:-.5px;
    }
    .heroSub{
      margin:0;
      color: var(--muted);
      font-size: 14px;
      line-height:1.75;
      max-width: 60ch;
    }
    .heroActions{
      display:flex; align-items:center; gap:12px; flex-wrap:wrap;
      margin-top:auto;
      padding-top: 6px;
    }
    .linkInline{
      display:inline-flex; align-items:center; gap:10px;
      padding:10px 12px;
      border-radius: 14px;
      border:1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.62);
      text-decoration:none;
      font-weight:800;
      font-size:13px;
      color: var(--accent2);
      transition: transform .15s ease, border-color .15s ease;
    }
    .linkInline:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.30);
    }
    .arrow{
      width:26px; height:26px; border-radius:10px;
      display:grid; place-items:center;
      background: rgba(255,79,133,.10);
      border:1px solid rgba(255,79,133,.18);
      color:#a40c37;
      font-size:14px;
      flex:0 0 auto;
    }

    .sideCard{
      border-radius: var(--radius);
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(31,35,40,.10);
      box-shadow: var(--shadow2);
      padding: 18px 16px;
      display:flex;
      flex-direction:column;
      gap:12px;
      position:relative;
      overflow:hidden;
    }
    .sideCard::before{
      content:"";
      position:absolute;
      width: 240px; height: 240px;
      right:-120px; top:-120px;
      background: radial-gradient(circle at 30% 30%, rgba(255,79,133,.26), rgba(255,79,133,0) 62%);
      pointer-events:none;
    }
    .sideTop{
      position:relative;
      z-index:2;
      display:flex; flex-direction:column; gap:8px;
    }
    .sideTop h2{
      margin:0;
      font-size:16px;
      letter-spacing:-.2px;
    }
    .sideTop p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }

    .contactList{
      position:relative;
      z-index:2;
      display:grid;
      gap:10px;
      margin-top:2px;
    }
    .miniRow{
      display:flex; gap:10px; align-items:flex-start;
      padding:10px 10px;
      border-radius: 14px;
      border:1px solid rgba(31,35,40,.08);
      background: rgba(255,255,255,.72);
      transition: transform .15s ease, border-color .15s ease;
    }
    .miniRow:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.25);
    }
    .ico{
      width:34px; height:34px;
      border-radius: 14px;
      display:grid; place-items:center;
      border:1px solid rgba(255,79,133,.20);
      background: rgba(255,79,133,.10);
      color:#a40c37;
      flex:0 0 auto;
      font-weight:900;
    }
    .miniRow strong{
      font-size:13px;
      display:block;
      margin-bottom:4px;
      letter-spacing:.1px;
    }
    .miniRow span{
      font-size:12.5px;
      color:var(--muted);
      line-height:1.55;
    }
    .mapLink{
      text-decoration:none;
      color:#0b4dd6;
      font-weight:800;
    }
    .mapLink:hover{ text-decoration:underline; }

    main{ padding: 10px 0 36px; }

    .section{
      padding: 22px 0;
    }
    .sectionHeader{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:14px;
      margin-bottom: 14px;
    }
    .sectionHeader h2{
      margin:0;
      font-size: 20px;
      letter-spacing:-.3px;
    }
    .sectionHeader p{
      margin:0;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.6;
      max-width: 58ch;
      text-wrap:balance;
    }

    .cards3{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .card{
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(31,35,40,.10);
      border-radius: var(--radius);
      padding: 16px 14px;
      box-shadow: 0 10px 26px rgba(17,24,39,.06);
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .card:hover{
      transform: translateY(-2px);
      border-color: rgba(255,79,133,.26);
      box-shadow: 0 18px 46px rgba(255,79,133,.10);
    }
    .cardTop{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
    }
    .cardTitle{
      margin:0;
      font-size:15px;
      letter-spacing:-.2px;
    }
    .chip{
      display:inline-flex; align-items:center; gap:8px;
      padding:7px 10px;
      border-radius: 999px;
      border:1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.70);
      color: rgba(31,35,40,.86);
      font-weight:900;
      font-size:12px;
      white-space:nowrap;
    }
    .card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
    }
    .card ul{
      margin:0;
      padding-left: 18px;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
    }
    .card li{ margin: 6px 0; }

    .split{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items:start;
    }

    .steps{
      display:grid;
      gap: 10px;
    }
    .step{
      display:flex; gap:12px; align-items:flex-start;
      padding: 14px 12px;
      border-radius: var(--radius2);
      border:1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.74);
      transition: transform .18s ease, border-color .18s ease;
    }
    .step:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.25);
    }
    .num{
      width:34px; height:34px;
      border-radius: 14px;
      background: rgba(255,79,133,.12);
      border:1px solid rgba(255,79,133,.20);
      color:#a40c37;
      display:grid; place-items:center;
      font-weight:1000;
      flex:0 0 auto;
      margin-top:2px;
    }
    .step strong{
      display:block;
      font-size:13.5px;
      margin-bottom:6px;
      letter-spacing:-.1px;
    }
    .step span{
      display:block;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }

    .solutionPanel{
      border-radius: var(--radius);
      padding: 18px 16px;
      border: 1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.70);
      box-shadow: 0 12px 30px rgba(17,24,39,.06);
      overflow:hidden;
      position:relative;
    }
    .solutionPanel::after{
      content:"";
      position:absolute;
      left:-120px; top:-120px;
      width: 320px; height: 320px;
      background: radial-gradient(circle at 35% 35%, rgba(255,79,133,.20), rgba(255,79,133,0) 60%);
      pointer-events:none;
    }
    .solutionInner{ position:relative; z-index:2; display:grid; gap:12px; }
    .pillRow{
      display:flex; flex-wrap:wrap; gap:10px;
    }
    .pill{
      display:inline-flex; align-items:center; gap:10px;
      padding: 10px 12px;
      border-radius: 16px;
      border:1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.72);
      min-width: 190px;
      flex: 1 1 190px;
    }
    .pillIcon{
      width:36px; height:36px;
      border-radius: 16px;
      display:grid; place-items:center;
      background: rgba(255,79,133,.10);
      border: 1px solid rgba(255,79,133,.18);
      color:#a40c37;
      font-weight:1000;
      flex: 0 0 auto;
    }
    .pillText strong{
      display:block;
      font-size:13.5px;
      margin-bottom:4px;
      letter-spacing:-.1px;
    }
    .pillText span{
      display:block;
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }

    .faqGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items:start;
    }
    details{
      background: rgba(255,255,255,.76);
      border: 1px solid rgba(31,35,40,.10);
      border-radius: var(--radius);
      padding: 12px 12px;
      box-shadow: 0 10px 26px rgba(17,24,39,.06);
      transition: transform .18s ease, border-color .18s ease;
    }
    details:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.24);
    }
    summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      font-weight:900;
      font-size:14px;
      letter-spacing:-.15px;
      padding: 6px 4px;
    }
    summary::-webkit-details-marker{ display:none; }
    .caret{
      width:34px; height:34px;
      border-radius: 14px;
      background: rgba(255,79,133,.10);
      border:1px solid rgba(255,79,133,.18);
      display:grid; place-items:center;
      color:#a40c37;
      flex:0 0 auto;
      font-weight:1000;
      transition: transform .18s ease;
      margin-top:-2px;
    }
    details[open] .caret{ transform: rotate(180deg); }
    .faqBody{
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
      padding: 4px 6px 10px;
    }
    .faqBody strong{ color: rgba(31,35,40,.92); }

    .articleNav{
      display:flex; gap:10px; flex-wrap:wrap; margin-top:6px;
    }
    .anchor{
      text-decoration:none;
      border-radius: 999px;
      padding: 9px 12px;
      border:1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.62);
      color: rgba(31,35,40,.88);
      font-weight:900;
      font-size:13px;
      transition: transform .15s ease, border-color .15s ease;
    }
    .anchor:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.28);
    }

    .guideGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .guideCard{
      border-radius: var(--radius);
      border: 1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.74);
      box-shadow: 0 12px 30px rgba(17,24,39,.06);
      padding: 16px 14px;
      overflow:hidden;
      position:relative;
    }
    .guideCard::before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        radial-gradient(500px 240px at 10% 0%, rgba(255,79,133,.18), rgba(255,79,133,0) 62%);
      pointer-events:none;
      opacity:.9;
    }
    .guideInner{ position:relative; z-index:2; display:flex; flex-direction:column; gap:10px; }
    .guideInner h3{
      margin:0;
      font-size:15px;
      letter-spacing:-.15px;
    }
    .guideInner p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
    }
    .guideList{
      margin:0;
      padding-left: 18px;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
    }
    .guideList li{ margin: 6px 0; }

    .innerLinks{
      display:flex; gap:10px; flex-wrap:wrap;
      margin-top:2px;
    }
    .tagLink{
      text-decoration:none;
      border-radius: 14px;
      padding: 10px 12px;
      border: 1px solid rgba(31,35,40,.10);
      background: rgba(255,255,255,.64);
      font-weight:900;
      font-size:13px;
      color: rgba(31,35,40,.90);
      transition: transform .15s ease, border-color .15s ease;
    }
    .tagLink:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.28);
    }

    .imageStrip{
      margin-top: 10px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items:stretch;
    }
    figure{
      margin:0;
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(31,35,40,.10);
      border-radius: var(--radius);
      overflow:hidden;
      box-shadow: 0 12px 30px rgba(17,24,39,.06);
      display:flex; flex-direction:column;
      transition: transform .18s ease, border-color .18s ease;
    }
    figure:hover{
      transform: translateY(-2px);
      border-color: rgba(255,79,133,.25);
    }
    .imgWrap{
      padding: 12px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:
        radial-gradient(520px 180px at 30% 0%, rgba(255,79,133,.14), rgba(255,79,133,0) 62%);
    }
    img{
      width:100%;
      height:auto;
      max-width: 430px;
      object-fit: contain;
      border-radius: 14px;
      background: rgba(255,255,255,.7);
      border:1px solid rgba(31,35,40,.08);
    }
    figcaption{
      padding: 0 14px 14px;
      color: var(--muted);
      font-size: 12.5px;
      line-height:1.6;
    }

    .footer{
      background: #fff;
      border-top: 1px solid rgba(31,35,40,.08);
      margin-top: 8px;
    }
    .footerInner{
      padding: 18px 0 22px;
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 14px;
      align-items:start;
    }
    .footerCard{
      border-radius: var(--radius);
      background: rgba(255,255,255,.84);
      border: 1px solid rgba(31,35,40,.10);
      padding: 14px 14px;
      box-shadow: 0 12px 30px rgba(17,24,39,.06);
    }
    .footerCard h2{
      margin:0 0 8px;
      font-size:15px;
      letter-spacing:-.15px;
    }
    .footerCard p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .footerLinks{
      display:flex; flex-direction:column; gap:10px;
    }
    .footerLinks a{
      text-decoration:none;
      color:#0b4dd6;
      font-weight:900;
      font-size:13px;
      padding: 10px 12px;
      border: 1px solid rgba(31,35,40,.10);
      border-radius: 14px;
      background: rgba(255,255,255,.74);
      transition: transform .15s ease, border-color .15s ease;
    }
    .footerLinks a:hover{
      transform: translateY(-1px);
      border-color: rgba(255,79,133,.28);
      text-decoration:underline;
    }
    .copyright{
      margin-top: 12px;
      color: rgba(31,35,40,.62);
      font-size:12.5px;
      text-align:center;
    }

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

    @media (max-width: 980px){
      .heroGrid{ grid-template-columns: 1fr; }
      .heroInner{ min-height: unset; }
      .cards3{ grid-template-columns: 1fr; }
      .split{ grid-template-columns: 1fr; }
      .faqGrid{ grid-template-columns: 1fr; }
      .guideGrid{ grid-template-columns: 1fr; }
      .imageStrip{ grid-template-columns: 1fr; }
      .footerInner{ grid-template-columns: 1fr; }
      .brand{ min-width: unset; }
    }
    @media (max-width: 760px){
      nav .menu, .navCTA .btnGhost{ display:none; }
      .mobileToggle{ display:inline-flex; align-items:center; gap:10px; }
      .mobilePanel.show{ display:block; }
      .navCTA .btn{ padding:10px 12px; }
      .heroTitle{ font-size: 28px; }
    }