*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
body{margin:0;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;background:#07040f;color:#ece8fa;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
radial-gradient(900px 620px at 8% -6%,rgba(255,45,143,.20),transparent 62%),
radial-gradient(820px 560px at 92% 4%,rgba(124,58,237,.22),transparent 64%),
radial-gradient(720px 520px at 50% 102%,rgba(168,85,247,.15),transparent 70%),
linear-gradient(180deg,#07040f 0%,#0a0618 46%,#08050f 100%);}
img{max-width:100%;}
a{color:#ff9ed0;text-decoration:none;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}
.site-header{position:sticky;top:0;z-index:70;background:rgba(9,5,20,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(168,85,247,.22);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;position:relative;}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;letter-spacing:.02em;flex:0 0 auto;}
.brand-logo{display:block;width:34px;flex:0 0 34px;}
.brand-logo img{display:block;border-radius:8px;}
.nav-links{display:flex;align-items:center;justify-content:center;gap:0;list-style:none;margin:0;padding:0;flex:1 1 auto;}
.nav-links li{list-style:none;}
.nav-links a{display:block;padding:8px 10px;font-size:13.5px;color:#c6bde3;border-radius:8px;transition:color .25s,background .25s;white-space:nowrap;}
.nav-links a:hover{color:#fff;background:rgba(255,45,143,.14);}
.only-mobile{display:none;}
.nav-cta{flex:0 0 auto;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;font-size:15px;font-weight:600;border:0;cursor:pointer;font-family:inherit;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;}
.btn-primary{background:linear-gradient(135deg,#ff2d8f,#a855f7);color:#fff;box-shadow:0 14px 30px -14px rgba(255,45,143,.85);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(255,45,143,.95);}
.btn-ghost{background:rgba(255,255,255,.05);color:#f1ecff;border:1px solid rgba(168,85,247,.45);}
.btn-ghost:hover{border-color:#ff2d8f;color:#fff;transform:translateY(-2px);}
.btn-sm{padding:9px 18px;font-size:13.5px;}
.nav-toggle{display:none;width:42px;height:38px;border-radius:10px;border:1px solid rgba(168,85,247,.4);background:rgba(255,255,255,.04);cursor:pointer;padding:9px 10px;flex-direction:column;justify-content:space-between;}
.nav-toggle span{display:block;height:2px;border-radius:2px;background:#ffb8e0;}
.hero{position:relative;padding:74px 0 58px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:
linear-gradient(rgba(168,85,247,.10) 1px,transparent 1px) 0 0/58px 58px,
linear-gradient(90deg,rgba(168,85,247,.10) 1px,transparent 1px) 0 0/58px 58px;
mask-image:radial-gradient(120% 90% at 50% 0,#000 0%,rgba(0,0,0,.35) 55%,transparent 88%);
-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 0%,rgba(0,0,0,.35) 55%,transparent 88%);}
.hero-inner{position:relative;z-index:1;}
.eyebrow{display:inline-block;font-size:12.5px;letter-spacing:.1em;color:#ff9ed0;padding:5px 14px;border:1px solid rgba(255,45,143,.38);border-radius:999px;background:rgba(255,45,143,.10);margin-bottom:18px;}
.hero h1{margin:0 0 18px;font-size:clamp(29px,5vw,50px);line-height:1.24;color:#fff;letter-spacing:-.01em;font-weight:800;}
.hero h1 em{font-style:normal;color:#ff5fae;}
.hero p.lead{margin:0;max-width:760px;color:#b7aedb;font-size:clamp(14.5px,1.7vw,17px);}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px;}
.tag{font-size:12.5px;padding:6px 13px;border-radius:999px;border:1px solid rgba(168,85,247,.32);color:#cbbff0;background:rgba(168,85,247,.10);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;}
.stat{position:relative;padding:20px 18px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(168,85,247,.24);transition:transform .3s,border-color .3s;}
.stat:hover{transform:translateY(-4px);border-color:rgba(255,45,143,.55);}
.stat strong{display:block;font-size:clamp(21px,2.6vw,28px);color:#fff;font-weight:800;line-height:1.3;}
.stat span{display:block;font-size:12.8px;color:#a79fc4;margin-top:4px;}
.section{padding:64px 0;position:relative;}
.section-head{max-width:780px;margin-bottom:34px;}
h2{font-size:clamp(22px,3vw,31px);line-height:1.36;margin:0 0 12px;color:#fff;font-weight:800;letter-spacing:-.01em;}
h3{font-size:17px;margin:0 0 8px;color:#fff;font-weight:700;}
.section-head p{margin:0;color:#a79fc4;font-size:15px;}
.grid{display:grid;gap:18px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.auto-grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));}
.card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid rgba(168,85,247,.22);border-radius:16px;padding:22px;transition:transform .3s,border-color .3s,box-shadow .3s;height:100%;}
.card:hover{transform:translateY(-4px);border-color:rgba(255,45,143,.5);box-shadow:0 20px 42px -22px rgba(255,45,143,.6);}
.card p{margin:0;color:#a79fc4;font-size:14.3px;line-height:1.75;}
.card .mini{display:inline-block;margin-top:12px;font-size:12px;color:#ff9ed0;border:1px solid rgba(255,45,143,.35);border-radius:999px;padding:3px 10px;background:rgba(255,45,143,.08);}
.about-text p{color:#b3aad3;font-size:15px;margin:0 0 14px;}
.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0 0;padding:0;list-style:none;}
.checklist li{position:relative;padding-left:24px;color:#ddd6f2;font-size:14.4px;}
.checklist li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:3px;background:linear-gradient(135deg,#ff2d8f,#a855f7);}
.banner-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;align-items:start;}
.banner-row img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid rgba(168,85,247,.26);}
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;align-items:start;}
.shot{margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(168,85,247,.26);background:rgba(255,255,255,.03);}
.shot img{display:block;width:100%;height:auto;}
.shot figcaption{padding:10px 14px;font-size:13px;color:#a79fc4;border-top:1px solid rgba(168,85,247,.18);}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.step{padding:20px 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(168,85,247,.22);transition:transform .3s,border-color .3s;}
.step:hover{transform:translateY(-4px);border-color:rgba(255,45,143,.5);}
.step-no{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#ff2d8f,#7c3aed);color:#fff;font-size:13.5px;font-weight:700;margin-bottom:10px;}
.step h3{font-size:15.5px;}
.step p{font-size:13.4px;color:#a79fc4;margin:0;}
.table-wrap{overflow-x:auto;border:1px solid rgba(168,85,247,.24);border-radius:16px;background:rgba(255,255,255,.03);}
table{width:100%;border-collapse:collapse;min-width:660px;}
th,td{padding:14px 16px;text-align:left;font-size:14.2px;color:#ddd6f2;border-bottom:1px solid rgba(168,85,247,.15);vertical-align:top;}
th{background:rgba(255,45,143,.10);color:#fff;font-weight:700;white-space:nowrap;}
tbody tr:last-child td{border-bottom:0;}
td.best{color:#ffd3ea;font-weight:600;background:rgba(255,45,143,.07);}
.rating{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:24px;border-radius:16px;background:linear-gradient(120deg,rgba(255,45,143,.20),rgba(109,40,217,.20));border:1px solid rgba(255,45,143,.38);margin-bottom:22px;}
.rating .score{font-size:40px;font-weight:800;color:#fff;line-height:1;}
.rating .score small{font-size:15px;color:#d9c9ef;font-weight:500;}
.stars{color:#ffd166;font-size:19px;letter-spacing:3px;}
.rating .rate-label{font-size:13.4px;color:#e2d6f5;}
.faq-list{display:grid;gap:12px;}
.faq-item{border:1px solid rgba(168,85,247,.24);border-radius:12px;background:rgba(255,255,255,.035);overflow:hidden;transition:border-color .25s;}
.faq-item:hover{border-color:rgba(255,45,143,.45);}
.faq-item summary{cursor:pointer;padding:16px 18px;font-weight:600;color:#f3eeff;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:15px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:#ff7cc0;font-size:20px;line-height:1;transition:transform .25s;}
.faq-item details[open] summary::after{content:"−";}
.faq-a{margin:0;padding:0 18px 16px;color:#a79fc4;font-size:14.2px;}
.review{padding:22px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(168,85,247,.22);transition:transform .3s,border-color .3s;height:100%;}
.review:hover{transform:translateY(-4px);border-color:rgba(255,45,143,.5);}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff2d8f,#7c3aed);color:#fff;font-weight:700;font-size:15px;}
.review-name{font-size:14.5px;color:#fff;font-weight:700;line-height:1.4;}
.review-role{font-size:12.4px;color:#a79fc4;}
.review p{margin:0;font-size:14.2px;color:#cdc5e6;line-height:1.78;}
.panel{padding:24px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(168,85,247,.24);}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.field{display:flex;flex-direction:column;}
.field.full{grid-column:1 / -1;}
label{font-size:13.4px;color:#c9c1e4;margin-bottom:7px;}
input,select,textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(168,85,247,.3);background:#0d0820;color:#f3eefc;font-size:14.5px;font-family:inherit;transition:border-color .25s,box-shadow .25s;}
input::placeholder,textarea::placeholder{color:#7e7599;}
input:focus,select:focus,textarea:focus{outline:none;border-color:#ff2d8f;box-shadow:0 0 0 3px rgba(255,45,143,.18);}
textarea{min-height:112px;resize:vertical;}
.form-note{margin:14px 0 0;font-size:12.8px;color:#8f86ab;}
.news-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.news-list li a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border-radius:12px;border:1px solid rgba(168,85,247,.22);background:rgba(255,255,255,.035);color:#e8e2f8;font-size:14.6px;transition:transform .25s,border-color .25s,background .25s;}
.news-list li a:hover{transform:translateX(4px);border-color:rgba(255,45,143,.5);background:rgba(255,45,143,.08);}
.news-list .arrow{color:#ff7cc0;font-size:15px;}
.link-cloud{display:flex;flex-wrap:wrap;gap:10px;}
.link-cloud a{font-size:13.2px;padding:7px 14px;border-radius:10px;border:1px solid rgba(168,85,247,.28);background:rgba(255,255,255,.035);color:#ddd6f2;transition:color .25s,border-color .25s,transform .25s;}
.link-cloud a:hover{color:#fff;border-color:#ff2d8f;transform:translateY(-2px);}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start;}
.info-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.info-list li{display:flex;gap:12px;align-items:flex-start;font-size:14.3px;color:#cdc5e6;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(168,85,247,.18);}
.info-list b{color:#fff;font-weight:600;flex:0 0 76px;}
.qr{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(168,85,247,.24);}
.qr img{display:block;width:170px;height:auto;border-radius:10px;background:#fff;padding:6px;}
.qr span{font-size:13px;color:#a79fc4;}
.friend-links{padding:36px 0 44px;border-top:1px solid rgba(168,85,247,.16);}
.friend-links h2{font-size:16px;margin:0 0 14px;color:#cdc5e6;font-weight:600;}
.site-footer{background:#08061a;border-top:1px solid rgba(168,85,247,.24);padding:38px 0 26px;color:#a79fc4;}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:24px;align-items:start;}
.site-footer h3{font-size:15px;color:#fff;margin:0 0 12px;}
.site-footer p{font-size:13.6px;color:#a79fc4;margin:0 0 10px;line-height:1.8;}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#fff;font-weight:700;font-size:16px;}
.footer-logo{width:32px;flex:0 0 32px;}
.footer-col a{display:block;font-size:13.6px;color:#b9b0d6;padding:4px 0;transition:color .25s;}
.footer-col a:hover{color:#ff9ed0;}
.copyright{margin-top:26px;padding-top:16px;border-top:1px solid rgba(168,85,247,.16);font-size:12.6px;color:#8a81a8;text-align:center;}
.float-tools{position:fixed;right:16px;bottom:18px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.float-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,45,143,.45);background:linear-gradient(135deg,#ff2d8f,#7c3aed);color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 12px 26px -10px rgba(255,45,143,.9);transition:transform .25s,opacity .25s;}
.float-btn:hover{transform:translateY(-3px);}
.float-panel{display:none;width:222px;padding:14px;border-radius:14px;background:#120c26;border:1px solid rgba(168,85,247,.35);box-shadow:0 22px 44px rgba(0,0,0,.6);}
.float-panel.open{display:block;}
.float-panel img{display:block;width:100%;height:auto;border-radius:10px;background:#fff;padding:6px;margin-bottom:10px;}
.float-panel p{margin:0 0 6px;font-size:12.8px;color:#cdc5e6;line-height:1.7;}
#backTop{opacity:0;visibility:hidden;}
#backTop.show{opacity:1;visibility:visible;}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.js .reveal.in{opacity:1;transform:none;}
@media (max-width:1000px){
  .nav-toggle{display:flex;}
  .nav-cta{display:none;}
  .nav-links{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);flex-direction:column;align-items:stretch;gap:0;background:#100a22;border:1px solid rgba(168,85,247,.3);border-radius:14px;padding:10px;box-shadow:0 24px 48px rgba(0,0,0,.6);}
  .nav-links.open{display:flex;}
  .nav-links a{padding:11px 14px;font-size:14.5px;}
  .only-mobile{display:block;}
  .only-mobile a{color:#ff9ed0;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .g3,.auto-grid{grid-template-columns:repeat(2,1fr);}
  .timeline{grid-template-columns:repeat(2,1fr);}
  .banner-row,.shot-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .section{padding:48px 0;}
  .hero{padding:52px 0 42px;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .g2,.g3,.auto-grid,.timeline,.banner-row,.shot-grid{grid-template-columns:1fr;}
  .checklist{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-actions .btn{flex:1 1 auto;}
  .float-tools{right:12px;bottom:12px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .js .reveal{opacity:1;transform:none;transition:none;}
  .card:hover,.stat:hover,.step:hover,.review:hover,.news-list li a:hover,.link-cloud a:hover,.btn:hover{transform:none;}
}